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
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@
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`).

## [1.3.4] — 2026-07-17

### Fixed
- **Couldn't drag a card into a shorter column** — dashboard columns were only as tall as their content, so the empty space beneath a short column (e.g. one with a single card) wasn't part of any column and rejected drops. With two columns of very different heights this made cards from the tall column impossible to move into the short one. Columns now stretch to the full dashboard height, so their entire width is a valid drop target. The while-dragging "+" drop-rail for creating a new column was also widened (48→60px) for easier targeting.

## [1.3.3] — 2026-07-17

### Added
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.3.3
krippler52/starr:1.3.4
```

**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.3.3` | exact version — recommended pin for production |
| `1.3.4` | 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.3.3 – job started for {cfg['app'].upper()}", "sys")
emit("SYS", f"Starr DB Repair v1.3.4 – job started for {cfg['app'].upper()}", "sys")
emit("SYS", f"Dry run: {cfg.get('dry_run', False)}", "sys")

db_path = None
Expand Down
13 changes: 9 additions & 4 deletions app/templates/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,12 @@
.panel { background: var(--panel); border: 1px solid var(--border); border-radius: var(--radius); margin-bottom: 14px; overflow: hidden; }

/* ── Rearrangeable dashboard (drag cards between responsive columns) ─────────── */
.dashboard { display: flex; align-items: flex-start; gap: 14px; }
/* align-items: stretch (not flex-start) so every column spans the full dashboard
height. Otherwise a short column (e.g. one card) is only as tall as its content
and the empty space beneath it isn't part of any column — so you can't drop a
card into the lower area of a short column, which made cards impossible to move
into a shorter neighbour. */
.dashboard { display: flex; align-items: stretch; gap: 14px; }
.dash-col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; }
/* If you drag every card out of a column, don't leave its share of the width as
dead space — collapse the empty column so the populated ones expand to fill
Expand All @@ -138,7 +143,7 @@
collapses it back. The rail stretches full height so it's an easy drop target. */
.dashboard.dnd-active .dash-col:empty {
display: flex; align-items: center; justify-content: center;
flex: 0 0 48px; min-width: 48px; align-self: stretch; min-height: 60px;
flex: 0 0 60px; min-width: 60px; align-self: stretch; min-height: 60px;
outline: 2px dashed var(--border); outline-offset: -3px; border-radius: var(--radius);
background: rgba(255,255,255,.02);
}
Expand Down Expand Up @@ -462,7 +467,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.3.3</p>
<p id="appSub">Database Diagnostic &amp; Recovery — v1.3.4</p>
</div>
</div>
<div class="header-right">
Expand Down Expand Up @@ -1657,7 +1662,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.3.3';
document.getElementById('appSub').textContent = cfg.sub + ' — v1.3.4';
document.getElementById('logoSvg').innerHTML = cfg.icon;
document.getElementById('termTitle').textContent = cfg.name + ' REPAIR LOG';

Expand Down
Loading