Show public release version and GitHub link

This commit is contained in:
Jage9
2026-03-08 22:14:19 -04:00
parent 135c8ccd82
commit 7b180e6d27
5 changed files with 29 additions and 5 deletions

View File

@@ -38,7 +38,7 @@
- Runtime/protocol behavior changes: update `docs/runtime-flow.md` and/or `docs/protocol-notes.md`. - Runtime/protocol behavior changes: update `docs/runtime-flow.md` and/or `docs/protocol-notes.md`.
## Versioning & Configuration ## Versioning & Configuration
- Bump `client/public/version.js` on every user-visible change using `YYYY.MM.DD Rn`. - Bump `client/public/version.js` on every user-visible change using release version + revision metadata (`CHGRID_RELEASE_VERSION`, `CHGRID_BUILD_REVISION`, and derived `CHGRID_WEB_VERSION`, for example `0.1.0` + `R340`).
- Commit each completed logical change; include the version bump in that same commit when client behavior changes. - Commit each completed logical change; include the version bump in that same commit when client behavior changes.
- Docs-only changes do not require a version bump unless explicitly requested. - Docs-only changes do not require a version bump unless explicitly requested.
- Do not duplicate version constants elsewhere in client code. - Do not duplicate version constants elsewhere in client code.

View File

@@ -70,6 +70,9 @@
<footer id="appFooter"> <footer id="appFooter">
<small id="appVersion">Another AI experiment with Jage. Version</small> <small id="appVersion">Another AI experiment with Jage. Version</small>
<small id="appGithubLinkWrap">
<a id="appGithubLink" href="https://www.github.com/jage9/chat_grid">Chat Grid on Github</a>
</small>
<section id="updatesSection" class="updates-section"> <section id="updatesSection" class="updates-section">
<h2>Latest Updates</h2> <h2>Latest Updates</h2>
<button id="updatesToggle" type="button" aria-expanded="false" aria-controls="updatesPanel"> <button id="updatesToggle" type="button" aria-expanded="false" aria-controls="updatesPanel">

View File

@@ -1,5 +1,6 @@
// Maintainer-controlled web client version. // Maintainer-controlled web client version metadata.
// Format: YYYY.MM.DD Rn (example: 2026.02.20 R2) window.CHGRID_RELEASE_VERSION = "0.1.0";
window.CHGRID_WEB_VERSION = "2026.03.08 R339"; window.CHGRID_BUILD_REVISION = "R340";
window.CHGRID_WEB_VERSION = `${window.CHGRID_RELEASE_VERSION} ${window.CHGRID_BUILD_REVISION}`;
// Optional display timezone for timestamps. Falls back to America/Detroit if unset/invalid. // Optional display timezone for timestamps. Falls back to America/Detroit if unset/invalid.
window.CHGRID_TIME_ZONE = "America/Detroit"; window.CHGRID_TIME_ZONE = "America/Detroit";

View File

@@ -91,6 +91,8 @@ const AUTH_POLICY_STORAGE_KEY = 'chgridAuthPolicy';
declare global { declare global {
interface Window { interface Window {
CHGRID_RELEASE_VERSION?: string;
CHGRID_BUILD_REVISION?: string;
CHGRID_WEB_VERSION?: string; CHGRID_WEB_VERSION?: string;
} }
} }
@@ -210,7 +212,12 @@ function announceMenuEntry(title: string, firstOption: string): void {
audio.sfxUiBlip(); audio.sfxUiBlip();
} }
const APP_VERSION = String(window.CHGRID_WEB_VERSION ?? '').trim(); const APP_RELEASE_VERSION = String(window.CHGRID_RELEASE_VERSION ?? '').trim();
const APP_BUILD_REVISION = String(window.CHGRID_BUILD_REVISION ?? '').trim();
const APP_VERSION = String(
window.CHGRID_WEB_VERSION ??
[APP_RELEASE_VERSION, APP_BUILD_REVISION].filter((value) => value.length > 0).join(' ')
).trim();
dom.appVersion.textContent = APP_VERSION dom.appVersion.textContent = APP_VERSION
? `Another AI experiment with Jage. Version ${APP_VERSION}` ? `Another AI experiment with Jage. Version ${APP_VERSION}`
: 'Another AI experiment with Jage. Version unknown'; : 'Another AI experiment with Jage. Version unknown';

View File

@@ -27,9 +27,22 @@ body {
#appVersion { #appVersion {
display: block; display: block;
color: #94a3b8; color: #94a3b8;
margin-bottom: 0.2rem;
}
#appGithubLinkWrap {
display: block;
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
} }
#appGithubLink {
color: #93c5fd;
}
#appGithubLink:visited {
color: #bfdbfe;
}
#appFooter { #appFooter {
margin-top: 0.5rem; margin-top: 0.5rem;
} }