From 5aaec61af56b5417fa0a0bbd699fe879843a7092 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 17 Jul 2026 04:04:07 +0000 Subject: [PATCH] Collapse empty dashboard columns to fill width (1.3.2) After dragging every card out of a column (e.g. consolidating a 3-column layout to 2), the empty column still reserved its flex share of the width, leaving dead space on wide screens. `.dash-col:empty` now collapses so the populated columns expand to fill the page. Reset layout restores the default multi-column spread. Verified in a headless browser at 1940px: emptied column collapses, remaining two columns fill ~99% of the dashboard width. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_013ffp2b19PUmzEU1fxpnURA --- CHANGELOG.md | 5 +++++ README.md | 4 ++-- app/server.py | 2 +- app/templates/index.html | 8 ++++++-- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f58e9a..127d3cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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.2] — 2026-07-17 + +### Fixed +- **Empty dashboard columns left dead space** — after dragging every card out of a column (e.g. consolidating a 3-column layout down to 2), the now-empty column still reserved its share of the width, leaving a blank gap on wide screens. Empty columns now collapse so the populated columns expand to fill the page. (Reset layout restores the default multi-column spread.) + ## [1.3.1] — 2026-07-17 ### Fixed diff --git a/README.md b/README.md index 5b1fba6..c0a26a0 100644 --- a/README.md +++ b/README.md @@ -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.1 + krippler52/starr:1.3.2 ``` **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. @@ -72,7 +72,7 @@ docker run -d \ | Tag | Use | |---|---| -| `1.3.1` | exact version — recommended pin for production | +| `1.3.2` | 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 | diff --git a/app/server.py b/app/server.py index e39a4f3..a6d85a3 100644 --- a/app/server.py +++ b/app/server.py @@ -879,7 +879,7 @@ def _repair_worker(cfg: dict) -> None: _job.history = [] _job.result = None - emit("SYS", f"Starr DB Repair v1.3.1 – job started for {cfg['app'].upper()}", "sys") + emit("SYS", f"Starr DB Repair v1.3.2 – job started for {cfg['app'].upper()}", "sys") emit("SYS", f"Dry run: {cfg.get('dry_run', False)}", "sys") db_path = None diff --git a/app/templates/index.html b/app/templates/index.html index 8d2c224..154152e 100644 --- a/app/templates/index.html +++ b/app/templates/index.html @@ -127,6 +127,10 @@ /* ── Rearrangeable dashboard (drag cards between responsive columns) ─────────── */ .dashboard { display: flex; align-items: flex-start; 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 + the page. (Reset layout restores the default multi-column spread.) */ +.dash-col:empty { display: none; } /* Cards keep their own styling; the column's flex-gap replaces per-card margin. */ .dash-col > .dash-card { margin-bottom: 14px; } .dash-card { position: relative; } @@ -443,7 +447,7 @@

STARR DB REPAIR

STARR DB REPAIR

-

Database Diagnostic & Recovery — v1.3.1

+

Database Diagnostic & Recovery — v1.3.2

@@ -1638,7 +1642,7 @@

STARR DB REPAIR

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