feat(ios): show app and environment versions - #5790
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
1a884f1 to
96b9e47
Compare
96b9e47 to
106e970
Compare
ApprovabilityVerdict: Approved dfbd649 This PR adds display-only version information (app version, environment version) to the settings screen. Changes are additive: new formatting helper, optional model fields, and UI rows. No behavior changes - data is only displayed, not used for gating. Includes comprehensive tests. You can customize Macroscope's approvability policy. Learn more. |
4cb3307 to
497f54f
Compare
|
Rebuilt this feature as one clean commit on the current Theo SwiftUI base. It now shows separate app and environment version rows, prefers the live server-config version over stale pairing metadata, preserves that value across partial config updates, and leaves one shared formatter for the changelog PR to reuse. Verification: 5 focused tests and all 227 native tests passed; final direct Claude Opus 5 high review exited 0 with no actionable findings. GitHub CI is rerunning on the refreshed head. |
106e970 to
dfbd649
Compare
Dismissing prior approval to re-evaluate dfbd649
What changed
Not connectedandUnknownfallbacks.FeatureEnvironmentsnapshot.This is the narrow display-only version of the idea. It does not implement source comparison or changelog links, refresh descriptors, add network or persistence lifecycles, change Info.plist, or modify install scripts. It should not be treated as closing a broader source-comparison proposal without maintainer agreement.
Base:
pingdotgg/t3code:t3code/rebuild-mobile-app-swiftate55c7ffd1.Reviewed head:
106e970770f2c875c32ddc02d148f37ae984591d.Why
The two versions make client/server mismatch reports diagnosable from one screen using data the app already has.
UI evidence
Exact rebased head, paired to a disposable loopback environment:
The screen shows app version
0.1.0 (19)and the active environment descriptor version.Verification
T3CodeTests/SettingsVersionMetadataTests: 2 focused tests passed.0.1.0 (19)and the paired environment version.git diff --check: passed; rebase preserved the feature patch exactly.Checklist
Built with GPT-5.6 Sol in the Codex harness.
Note
Low Risk
Display-only UI and snapshot plumbing with no auth, networking, or persistence lifecycle changes.
Overview
Adds App version and Environment version rows under Settings → About so client/server mismatch can be diagnosed from one screen.
App version comes from bundle marketing version and build via new
SettingsAboutMetadatahelpers (with? (?)and unreplaced Xcode placeholders treated as unknown). Environment version uses the active environment’sserverVersionon the feature snapshot, shown only when connection state is connected; otherwise Not connected, or Unknown when connected but no version is available.ServerConfigSnapshotnow optionally carriesenvironment(includingserverVersion) through decode/encode and partial config updates;mapEnvironmentresolves version from cached server config with fallback to the paired environment descriptor.FeatureEnvironmentgains optionalserverVersion. Tests cover snapshot decoding, legacy fallback, and label formatting.Reviewed by Cursor Bugbot for commit dfbd649. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Show app and environment version in iOS Settings About section
version (build)) and "Environment version" (derived from server config or shows "Not connected"/"Unknown").SettingsAboutMetadatawith formatting helpers that normalize version strings and handle missing or placeholder values like$(...).ServerConfigSnapshotwith an optionalenvironment: EnvironmentDescriptor?field and aserverVersion(fallingBackTo:)helper to resolve the version from the server payload or a paired descriptor fallback.serverVersionthroughFeatureEnvironmentand ensures config event handlers inNativeFeatureClientcarry the environment descriptor forward on.providerStatusesand.settingsUpdatedevents.Macroscope summarized dfbd649.