Use the git commit hash as the app version

- Spec header, status pill and footer now document '<env> @ <hash>'
  instead of invented release numbers
- Backend settings expose GIT_COMMIT_HASH / APP_ENV / APP_VERSION,
  mirroring the original app
- Frontend bakes the short hash in at build time and shows it in the
  top bar
This commit is contained in:
2026-09-17 08:12:54 -05:00
parent 3f353307cf
commit 3c66629ed2
5 changed files with 51 additions and 6 deletions
+3 -3
View File
@@ -1,6 +1,6 @@
# DESIGN.md — J621 Frontend Design System & Architecture Specification
> **Version:** 1.4.2-stable
> **Version:** the git commit hash of the build (e.g. `3f35330`)
> **Theme Foundation:** Catppuccin Mocha + e621 Authentic Taxonomy Architecture
> **Target Platform:** Desktop-first, fully responsive self-hosted home-server media web application (the library is a watched folder on disk, not a NAS appliance)
> **Reference Design System:** `Mocha Archive Terminal` (`{{DATA:DESIGN_SYSTEM:DESIGN_SYSTEM_3}}`)
@@ -79,12 +79,12 @@ All tag chips, counters, and sidebar taxonomy badges strictly adhere to e621's e
- **Top App Bar (`#11111b`, height: 56px):**
- Left: Brand mark `J621` badge (`#cba6f7`) followed by the **storage line** — the path of the watched folder that J621 indexes (e.g. `/mnt/media/library`). J621 is folder-based: this is just a path on disk, not a NAS/appliance indicator.
- Center: Nav pills: `Library`, `Online`, `Pools`, `Followed`, `Upload`, `Duplicates`, and `Stats [STAFF]`.
- Right: System status pill with real backend values, never hardcoded: environment (`DEV`/`PROD`), the actual host OS, page generation time, and the total e621 API request time for that page load — e.g. `ENV: PROD · LINUX · 18ms (e621: 4ms)`. Followed by the user avatar.
- Right: System status pill with real backend values, never hardcoded: environment (`DEV`/`PROD`), git commit hash, the actual host OS, page generation time, and the total e621 API request time for that page load — e.g. `ENV: PROD · a1b2c3d · LINUX · 18ms (e621: 4ms)`. Followed by the user avatar.
- **Global Footer Status Strip (`#11111b`, height: 32px):**
- The strip placement is a proposal; its values are real and drawn from the existing stats data.
- Left: the watched folder path — `📁 Local Storage: /mnt/media/library`.
- Center: `⚡ Active Workers: N running | Queue: M pending` — the count of active optimization/ingest jobs and queued downloads (the original app surfaced this on its stats page; the footer simply keeps it visible).
- Right: the build actually running — `J621 <version>` / commit hash.
- Right: the running build — `<env> @ <git commit hash>` (e.g. `dev @ 3f35330`), matching the original app.
- **Collapsible Sidebar (Behavior):**
- **Closed by default** across all gallery and viewer views to prioritize screen real estate.
- Toggled via `☰` button or quick keyboard shortcut (`Ctrl+B` or `⌘B`).