Summary
Show each app artifact's version, Git commit, and build date in its About screen across iOS, Android, macOS, and the Control UI.
Problem to solve
About screens expose inconsistent build identity today. Users and maintainers can usually find a version, but they cannot reliably identify the exact source revision and artifact build date when reporting a problem or comparing installations across platforms.
Proposed solution
Embed the full source commit and an ISO-8601 UTC build timestamp before signing or bundling each artifact. Present Version, Commit, and Built as one responsive three-cell strip; show a 12-character commit and localized date while retaining the full values for copy/tooltips. Add Settings > System > About to the Control UI, and keep Gateway version separate because it identifies a different artifact.
Release artifacts must receive explicit metadata from their build pipeline. Local development builds may use Git/current-time fallbacks or show unavailable values. The UI must reflow rather than truncate at narrow widths or accessibility text sizes.
Alternatives considered
- Showing only the existing version/build number does not identify the source revision.
- Using the Git commit date would be reproducible but would not honestly describe when the artifact was built.
- Reading Git at runtime fails in signed mobile apps and container images and reports the checkout rather than the artifact.
- Extending the Gateway protocol would conflate local app and server identity and is unnecessary for this feature.
Impact
Affected: users and maintainers troubleshooting iOS, Android, macOS, and web installations.
Severity: low day-to-day, high diagnostic value when builds diverge or a release is rebuilt.
Frequency: every support report or comparison that needs exact artifact provenance.
Consequence: fewer back-and-forth questions and reliable mapping from an installed app to source and build time.
Evidence/examples
macOS already embeds a Git commit and timestamp during packaging, which provides a working precedent. iOS has an existing generated xcconfig/Info.plist seam, Android already generates BuildConfig, and Vite already derives a commit-based Control UI cache identifier. The missing work is a consistent contract, release-pipeline propagation, and user-facing presentation.
Summary
Show each app artifact's version, Git commit, and build date in its About screen across iOS, Android, macOS, and the Control UI.
Problem to solve
About screens expose inconsistent build identity today. Users and maintainers can usually find a version, but they cannot reliably identify the exact source revision and artifact build date when reporting a problem or comparing installations across platforms.
Proposed solution
Embed the full source commit and an ISO-8601 UTC build timestamp before signing or bundling each artifact. Present Version, Commit, and Built as one responsive three-cell strip; show a 12-character commit and localized date while retaining the full values for copy/tooltips. Add Settings > System > About to the Control UI, and keep Gateway version separate because it identifies a different artifact.
Release artifacts must receive explicit metadata from their build pipeline. Local development builds may use Git/current-time fallbacks or show unavailable values. The UI must reflow rather than truncate at narrow widths or accessibility text sizes.
Alternatives considered
Impact
Affected: users and maintainers troubleshooting iOS, Android, macOS, and web installations.
Severity: low day-to-day, high diagnostic value when builds diverge or a release is rebuilt.
Frequency: every support report or comparison that needs exact artifact provenance.
Consequence: fewer back-and-forth questions and reliable mapping from an installed app to source and build time.
Evidence/examples
macOS already embeds a Git commit and timestamp during packaging, which provides a working precedent. iOS has an existing generated xcconfig/Info.plist seam, Android already generates BuildConfig, and Vite already derives a commit-based Control UI cache identifier. The missing work is a consistent contract, release-pipeline propagation, and user-facing presentation.