Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
All notable changes are documented here. Releases follow [SemVer](https://semver.org).
Image tags published to Docker Hub (`krippler52/starr`) and GHCR (`ghcr.io/krippler/starr`).

## [Unreleased]
## [1.3.0] — 2026-07-16

### Added
- **Rearrangeable dashboard** — the main panels (Connection, Repair Log, Operations, Trends, Backups, Schedules, Notifications) are now drag-to-rearrange cards. Hover a panel header to reveal a grip handle and drag it to reorder or move it between columns. On wide screens the panels flow into 2–3 responsive columns (single column on narrow/mobile, identical to before); each width remembers its own arrangement, saved per-browser in `localStorage` (same mechanism as the existing panel collapse-state). A **Reset layout** button restores the default. The live run status (shutdown warning, progress bar, result tiles) stays in a fixed strip above the grid so it never moves mid-repair. Purely a frontend enhancement — no API or backend changes.
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ docker run -d \
-v /mnt/user/appdata:/appdata:rw \
-v /mnt/user/appdata/starr/backups:/backups \
-v /var/run/docker.sock:/var/run/docker.sock \
krippler52/starr:1.2.10
krippler52/starr:1.3.0
```

**That's it for the host side.** Open the dashboard, paste each app's API key, click **Save Credentials**, and Starr remembers it for scheduled runs and reloads. URLs / DB paths / container names are auto-discovered from Docker.
Expand All @@ -72,7 +72,7 @@ docker run -d \

| Tag | Use |
|---|---|
| `1.2.10` | exact version — recommended pin for production |
| `1.3.0` | exact version — recommended pin for production |
| `1.2` / `1` | floating minor / major |
| `latest` | newest **released version** (updated on every version tag) |
| `edge` | tip of `main` — newest merged code, for testing ahead of a release |
Expand Down
2 changes: 1 addition & 1 deletion app/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -879,7 +879,7 @@ def _repair_worker(cfg: dict) -> None:
_job.history = []
_job.result = None

emit("SYS", f"Starr DB Repair v1.2.10 – job started for {cfg['app'].upper()}", "sys")
emit("SYS", f"Starr DB Repair v1.3.0 – job started for {cfg['app'].upper()}", "sys")
emit("SYS", f"Dry run: {cfg.get('dry_run', False)}", "sys")

db_path = None
Expand Down
4 changes: 2 additions & 2 deletions app/templates/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -438,7 +438,7 @@ <h2 class="gate-title">STARR DB REPAIR</h2>
</div>
<div>
<h1 id="appTitle">STARR DB REPAIR</h1>
<p id="appSub">Database Diagnostic &amp; Recovery — v1.2.10</p>
<p id="appSub">Database Diagnostic &amp; Recovery — v1.3.0</p>
</div>
</div>
<div class="header-right">
Expand Down Expand Up @@ -1633,7 +1633,7 @@ <h1 id="appTitle">STARR DB REPAIR</h1>

// Header text
document.getElementById('appTitle').textContent = cfg.name + ' DB REPAIR';
document.getElementById('appSub').textContent = cfg.sub + ' — v1.2.10';
document.getElementById('appSub').textContent = cfg.sub + ' — v1.3.0';
document.getElementById('logoSvg').innerHTML = cfg.icon;
document.getElementById('termTitle').textContent = cfg.name + ' REPAIR LOG';

Expand Down
Loading