feat(ui): show only the version in the left menu, linked to status (PMS-712) #462

Merged
longjacksonle merged 1 commit from feat/PMS-712-version-only-footer into main 2026-08-02 23:11:33 +02:00

PMS-712: show only the version in the left menu, linked to status

The left-menu footer showed version - commit - build date. Trim it to the version alone and link it to System Status, which is the agreed home for the build detail.

Version correctness checked first (acceptance 1)

The ticket flagged that sibling products (MAPPS-200, YOTUN-34/32/36) found the displayed version was often wrong, not just verbose, so trimming could hide a defect. Confirmed this is not the case here: the footer version comes from CARGO_PKG_VERSION via APP_GIT_TAG (build.rs), which is the MAPPS-200 fix - it reflects the built release the moment a release commit exists and does not wait for the post-merge vX.Y.Z git tag. So the rendered version is correct; nothing to fix or file first.

Change

VersionFooter (src/components/layout.rs) now renders v{VERSION} as a Link to Route::SystemStatus {}, dropping the commit hash and build date from the footer (and the tooltip that duplicated them - rejected by the ticket as a second home). The link target is a compile-checked route.

No metadata lost (acceptance 4/5)

The build detail already lives on the status page: src/pages/system_status.rs renders Version, Commit, Built for both the client build (baked in by build.rs) and the API build (GET /api/v1/version). The footer's three values are all there, so the move drops nothing.

Rendered on every page (acceptance 6)

VersionFooter is a shared component in the layout footer, rendered in each sidebar variant AppLayout provides (expanded rail, mobile drawer), so the link is present on every page the menu renders on. It is hidden only in the icon-only collapsed strip (unchanged - the label wraps illegibly at that width).

Verification

cargo check --target wasm32-unknown-unknown, clippy -D warnings (wasm), and fmt --check all pass. Behaviour is a visual trim + an in-SPA route link; the route target is type-checked so a broken link would not compile.

## PMS-712: show only the version in the left menu, linked to status The left-menu footer showed `version - commit - build date`. Trim it to the version alone and link it to System Status, which is the agreed home for the build detail. ### Version correctness checked first (acceptance 1) The ticket flagged that sibling products (MAPPS-200, YOTUN-34/32/36) found the displayed version was often *wrong*, not just verbose, so trimming could hide a defect. Confirmed this is not the case here: the footer version comes from `CARGO_PKG_VERSION` via `APP_GIT_TAG` (`build.rs`), which is the MAPPS-200 fix - it reflects the built release the moment a release commit exists and does not wait for the post-merge `vX.Y.Z` git tag. So the rendered version is correct; nothing to fix or file first. ### Change `VersionFooter` (`src/components/layout.rs`) now renders `v{VERSION}` as a `Link` to `Route::SystemStatus {}`, dropping the commit hash and build date from the footer (and the tooltip that duplicated them - rejected by the ticket as a second home). The link target is a compile-checked route. ### No metadata lost (acceptance 4/5) The build detail already lives on the status page: `src/pages/system_status.rs` renders **Version, Commit, Built** for both the client build (baked in by `build.rs`) and the API build (`GET /api/v1/version`). The footer's three values are all there, so the move drops nothing. ### Rendered on every page (acceptance 6) `VersionFooter` is a shared component in the layout footer, rendered in each sidebar variant `AppLayout` provides (expanded rail, mobile drawer), so the link is present on every page the menu renders on. It is hidden only in the icon-only collapsed strip (unchanged - the label wraps illegibly at that width). ### Verification `cargo check --target wasm32-unknown-unknown`, `clippy -D warnings` (wasm), and `fmt --check` all pass. Behaviour is a visual trim + an in-SPA route link; the route target is type-checked so a broken link would not compile.
feat(ui): show only the version in the left menu, linked to status (PMS-712)
All checks were successful
Check / fmt + clippy + tests (pull_request) Successful in 2m35s
Create release / Create release from merged PR (pull_request) Has been skipped
e8c4327e2e
The footer version indicator carried the commit hash and build date next to the version. Per David's standup call, the version number is the part useful to a general user (and the fastest way to confirm which build someone is on when they report a problem); the build detail belongs on the system status page, its agreed single home.

Reduce the footer to the version alone and make it a Link to Route::SystemStatus. No build metadata is lost: the status page already renders Version, Commit and Built for both the client and the API build (src/pages/system_status.rs), so the hash and date simply have their one home there rather than being duplicated into the cramped footer (or a footer tooltip, which the ticket rejected for the same reason). The displayed version is already correct - it is sourced from CARGO_PKG_VERSION via APP_GIT_TAG (the MAPPS-200 fix), so it reflects the built release without waiting for the post-merge git tag - so there was no version-identity defect to fix first. VersionFooter is a shared layout-footer component, so the link renders on every page AppLayout wraps.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9DhtRyWubFuzzKohE3JBt
longjacksonle scheduled this pull request to auto merge when all checks succeed 2026-08-02 23:10:22 +02:00
longjacksonle deleted branch feat/PMS-712-version-only-footer 2026-08-02 23:11:33 +02:00
Sign in to join this conversation.
No reviewers
No labels
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
psa-systems/mokosh-apps!462
No description provided.