Skip to content

Phase 2: Pin Version section, Hide, Settings, source links, pushpin icon#8

Merged
StrandedTurtle merged 1 commit into
mainfrom
claude/phase2-pin-hide-settings
Jun 25, 2026
Merged

Phase 2: Pin Version section, Hide, Settings, source links, pushpin icon#8
StrandedTurtle merged 1 commit into
mainfrom
claude/phase2-pin-hide-settings

Conversation

@StrandedTurtle

Copy link
Copy Markdown
Owner

Second phase of the self-contained rework, plus the two UI asks from testing.

Your requests

  • Pushpin icon instead of the star, with clearer "Pin Version" labels.
  • Source/changelog link on each card — reads the image's org.opencontainers.image.source (fallback .url) label and renders a Changelog link (GitHub → /releases) or Source link.
  • Fixed the error message you hit: it now derives the suggested same-path mount from the compose file's own location (/opt/stacks/minecraft/compose.yaml → suggest /opt/stacks:/opt/stacks), instead of echoing a possibly-wrong STACKS_DIR.

Planned Phase 2

  • Pin Version → pinned containers move into a collapsible "Pinned versions" section at the bottom of the dashboard (shown regardless of the updates-only filter), still manually updatable.
  • Hide containers → new hidden table + POST/DELETE /api/hide(/:name) + GET /api/hidden. A Hide button on each card; hidden ones are excluded from the dashboard and restorable from Settings.
  • Settings store → new settings table + GET/PUT /api/settings (typed/validated settings.js). New Settings Behaviour section: default view (updates-only/all) + check-on-open toggle. The dashboard reads these on open.

Also

  • More accurate mount banner: per-container composeFileMissing flag (server fs.existsSync) replaces the coarser STACKS_DIR-based /api/diagnostics.

Test plan

  • cd server && node --test → 66/66 (added settings + hidden + isHidden tests)
  • cd client && npm run build → clean
  • Server boots with the new tables (smoke-tested)
  • Host: pin moves a container to the bottom section; Hide + Settings-restore works; the card links open the right changelog/repo

Next

Phase 3 — scheduled background checks + Discord notify. Phase 4 — fetched changelog notes (this PR adds the link; Phase 4 adds the in-app "what's changed" panel).


Generated by Claude Code

- Pin Version: pushpin icon (was a star), clearer labels; pinned
  containers move into a collapsible "Pinned versions" section at the
  bottom of the dashboard, shown regardless of filter.
- Hide containers: new hidden table + /api/hide(/:name) + /api/hidden;
  hidden containers are excluded from the dashboard and restorable from a
  new Settings section. Each card gets a Hide button.
- Settings store: new settings table + GET/PUT /api/settings (defaultFilter,
  autoCheckOnOpen), with a typed/validated settings.js layer. The dashboard
  reads these on open; a new Settings "Behaviour" section edits them.
- Per-card source/changelog link: capture org.opencontainers.image.source
  (fallback .url) from the image and render a "Changelog"/"Source" link
  (GitHub repos point at /releases).
- Better mount diagnostics: per-container composeFileMissing flag drives an
  accurate dashboard banner (replaces the coarser STACKS_DIR-based
  /api/diagnostics), and the compose-not-found update error now suggests the
  correct same-path mount derived from the compose file's own location.

Server tests 66/66; client builds clean.
@StrandedTurtle StrandedTurtle merged commit d529ac3 into main Jun 25, 2026
4 checks passed
@StrandedTurtle StrandedTurtle deleted the claude/phase2-pin-hide-settings branch June 26, 2026 09:53
@StrandedTurtle StrandedTurtle restored the claude/phase2-pin-hide-settings branch June 26, 2026 09:53
@StrandedTurtle StrandedTurtle deleted the claude/phase2-pin-hide-settings branch June 26, 2026 09:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant