On the releases page there is a sidebar that needs a better design. #35

Closed
opened 2026-09-04 16:29:49 +00:00 by crueber · 4 comments
Owner

image

Here is the design that it is currently. Right now it looks pretty bare bones. Make it look better. Make sure you check when it has something in it too.

![image](/attachments/d16265d2-7293-4b24-a1c7-083614c17a80) Here is the design that it is currently. Right now it looks pretty bare bones. Make it look better. Make sure you check when it has something in it too.
5.9 KiB
Author
Owner

Starting work on fix/issue-35 (branch fix/issue-35 from origin/main, scratch worktree — main worktree left untouched). Plan: redesign the Latest sidebar as a latest-release card (tag, name, date, badges, key assets with download links, link to release) + shared Empty callout when none; main list untouched, no backend changes.

Starting work on fix/issue-35 (branch fix/issue-35 from origin/main, scratch worktree — main worktree left untouched). Plan: redesign the Latest sidebar as a latest-release card (tag, name, date, badges, key assets with download links, link to release) + shared Empty callout when none; main list untouched, no backend changes.
Author
Owner

Fixed by #47 (branch fix/issue-35) — Latest sidebar is now a release card (tag/badges/date/key asset downloads/detail links) or the shared Empty callout when none; verified empty + with-releases in both themes, zero JS errors. No backend changes; note: latest prereleases/drafts never reach the panel because the page calls latest without include_prereleases (badges kept for correctness).

Fixed by https://git.packden.us/crueber/walhub/pulls/47 (branch fix/issue-35) — Latest sidebar is now a release card (tag/badges/date/key asset downloads/detail links) or the shared Empty callout when none; verified empty + with-releases in both themes, zero JS errors. No backend changes; note: latest prereleases/drafts never reach the panel because the page calls latest without include_prereleases (badges kept for correctness).
Author
Owner

Review of PR #47 (775fefa, fix/issue-35) — latest-release panel redesign. Verified in scratch worktree /tmp/pr47 (since removed): full node suite 206/206 pass (incl. 5 new keyAssets cases), vite+esbuild bundle build clean. Findings, all checked, no blocking issues:

  • Panel composition (Releases.jsx:107-186): tag router-link, ReleaseBadges (draft/prerelease), name (hidden when empty), Published time with dateTime=ISO, first-3 asset links with fmtBytes sizes, +N-more and view-release detail links. Matches spec.
  • Loading vs empty (Releases.jsx:108-109): getLatest() starts undefined -> 'loading latest…' role=status; 404 maps to null -> compact Empty; non-404 errors stay on loading + tray error. No flash of wrong state. Main list untouched.
  • Empty compact (Empty.jsx:44, ui.css:89-92): classList merge only adds .empty-state-compact when compact is truthy; pulls/checks/issues call sites pass no compact prop -> unaffected.
  • keyAssets (lib/releases.js:15-19): first-limit shown + remainder extra; null/non-array -> empty; non-positive/non-finite -> all extra; fractional floors. 5 unit tests pin this (releases-panel.test.js).
  • Download links (Releases.jsx:160-168): plain (not router A) to repoClient.releaseAssetUrl + download attr + title tooltip — correct, same-origin static bytes.
  • No backend change needed — confirmed: internal/releases/http.go latestRelease serves wireRelease with full assets array, and 404-on-empty is already mapped client-side.
  • No new deps (solid-js, @solidjs/router, relative imports only); Tailwind @apply in existing ui.css layer. Dark+light via emerald-700/dark:emerald-400, muted, zinc borders — matches palette.
  • Keyboard/focus: all links are native anchors / router links under the global :focus-visible ring; no extra tab stops.
  • Doc decision (12_web_ui.md): accurate — describes card contents, keyAssets helper, loading status, compact Empty, and the no-backend-change rationale.

No fixes required. Recommendation: ready to merge.

Review of PR #47 (775fefa, fix/issue-35) — latest-release panel redesign. Verified in scratch worktree /tmp/pr47 (since removed): full node suite 206/206 pass (incl. 5 new keyAssets cases), vite+esbuild bundle build clean. Findings, all checked, no blocking issues: - Panel composition (Releases.jsx:107-186): tag router-link, ReleaseBadges (draft/prerelease), name (hidden when empty), Published time with dateTime=ISO, first-3 asset links with fmtBytes sizes, +N-more and view-release detail links. Matches spec. - Loading vs empty (Releases.jsx:108-109): getLatest() starts undefined -> 'loading latest…' role=status; 404 maps to null -> compact Empty; non-404 errors stay on loading + tray error. No flash of wrong state. Main list untouched. - Empty compact (Empty.jsx:44, ui.css:89-92): classList merge only adds .empty-state-compact when compact is truthy; pulls/checks/issues call sites pass no compact prop -> unaffected. - keyAssets (lib/releases.js:15-19): first-limit shown + remainder extra; null/non-array -> empty; non-positive/non-finite -> all extra; fractional floors. 5 unit tests pin this (releases-panel.test.js). - Download links (Releases.jsx:160-168): plain <a> (not router A) to repoClient.releaseAssetUrl + download attr + title tooltip — correct, same-origin static bytes. - No backend change needed — confirmed: internal/releases/http.go latestRelease serves wireRelease with full assets array, and 404-on-empty is already mapped client-side. - No new deps (solid-js, @solidjs/router, relative imports only); Tailwind @apply in existing ui.css layer. Dark+light via emerald-700/dark:emerald-400, muted, zinc borders — matches palette. - Keyboard/focus: all links are native anchors / router links under the global :focus-visible ring; no extra tab stops. - Doc decision (12_web_ui.md): accurate — describes card contents, keyAssets helper, loading status, compact Empty, and the no-backend-change rationale. No fixes required. Recommendation: ready to merge.
Author
Owner

Fixed by PR #47 (review clean; 206/206 node tests), merged. Closing.

Fixed by PR #47 (review clean; 206/206 node tests), merged. Closing.
crueber added this to the v1 milestone 2026-09-10 22:20:52 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
crueber/walhub#35
No description provided.