Skip to content

feat(mobile): show build number with version in settings - #7697

Merged
brow merged 3 commits into
mainfrom
codex/mobile-settings-build-number
Sep 17, 2026
Merged

brow merged 3 commits into
mainfrom
codex/mobile-settings-build-number

Conversation

@brow

@brow brow commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Mobile Settings now identifies the installed build as e.g. v0.16.0 (432) rather than just v0.16.0. If the platform supplies no build number, the footer keeps the existing version-only display.

Before After
Marketing version only Version and native build number
Before: v0.16.0 After: v0.16.0 (432)

Signed-off-by: Tom Brow <tomb@block.xyz>
Signed-off-by: Tom Brow <tomb@block.xyz>
@github-actions

github-actions Bot commented Sep 16, 2026

Copy link
Copy Markdown

🔐 Codex Security Review

Note: This is an automated, security-focused review generated by Codex.
Use it as a supplement to human review; false positives are possible.

Scope

  • Exact PR diff: 6dfd145cde4bf0d45091de1cc5e6c7e3462d5703...d82feb7b28d91d3022d4ef78e80a9c689dbd0d52
  • Model: gpt-5.6-sol

💡 Click "edited" above to see earlier reviews for this PR.


Review Summary

Overall Risk: NONE

No concrete security, correctness, or reliability issues were found in the authorized PR range.

Findings

No concrete security, correctness, or reliability findings were identified.

Notes

  • Review used read-only static inspection; tests and builds were not executed as requested.

Generated by Codex Security Review |
Requested by: @brow |
Workflow run

@brow

brow commented Sep 16, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@brow

brow commented Sep 16, 2026

Copy link
Copy Markdown
Contributor Author

@builderbot review

brow added a commit that referenced this pull request Sep 16, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 16, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-17T02:19:50.860901Z d82feb7 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@brow

brow commented Sep 16, 2026

Copy link
Copy Markdown
Contributor Author

@buzz-security-review ea0b9c3

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. More of your lovely PRs please.

Reviewed commit: ea0b9c321e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@github-actions github-actions Bot added the codex-security-review-current The posted Codex security review matches its recorded range. label Sep 16, 2026
@brow brow changed the title fix(mobile): show build number in settings feat(mobile): show build number in settings Sep 17, 2026
@brow brow changed the title feat(mobile): show build number in settings feat(mobile): show build number with version in settings Sep 17, 2026
Signed-off-by: Tom Brow <tomb@block.xyz>
@github-actions github-actions Bot removed the codex-security-review-current The posted Codex security review matches its recorded range. label Sep 17, 2026
@brow
brow marked this pull request as ready for review September 17, 2026 02:16
@brow
brow requested a review from a team as a code owner September 17, 2026 02:16
@brow

brow commented Sep 17, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@brow

brow commented Sep 17, 2026

Copy link
Copy Markdown
Contributor Author

@builderbot review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 🚀

Reviewed commit: d82feb7b28

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@brow

brow commented Sep 17, 2026

Copy link
Copy Markdown
Contributor Author

@buzz-security-review d82feb7

@github-actions github-actions Bot added the codex-security-review-current The posted Codex security review matches its recorded range. label Sep 17, 2026

@jedwards27 jedwards27 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:bot: Jude’s code review agent — APPROVE

Reviewed exact head d82feb7b28d91d3022d4ef78e80a9c689dbd0d52 against base 6dfd145cde4bf0d45091de1cc5e6c7e3462d5703.

No unresolved author-actionable defect found.

  • mobile/lib/features/settings/settings_page.dart:70-71,227-252 reads package metadata once for the mounted page, leaves Settings usable while it resolves, renders v<version> (<build>), and retains version-only fallback for an empty build number.
  • mobile/test/features/settings/settings_page_test.dart:18-76 covers normal, empty, and 10-digit build numbers at 2× text scale; mobile/test/features/settings/settings_page_loading_test.dart:13-68 covers pending-to-complete metadata through the production method-channel seam. Independent mutation checks made the build-number assertions fail before restoration.
  • crates/buzz-relay/src/handlers/event.rs:1522-1534,1667-1679 is test-fixture compatibility only; the changed handler subset passed 24 tests with 4 ignored.
  • The longer footer remains centered, noninteractive text with one semantics owner and no added focus target or styling/contrast change.

Exact-head validation on clean trees: full just mobile-test passed (2,236 passed / 4 skipped, plus 3 push-unconfigured tests); focused changed settings tests passed (15); cargo test -p buzz-relay handlers::event::tests:: -- --nocapture passed (24 / 4 ignored); git diff --check passed. Mobile, Rust, PostgreSQL, security, macOS, Windows, and build CI gates are green.

Non-blocking confidence gaps: no independent installed iOS/Android artifact or VoiceOver/TalkBack observation. Full local buzz-relay testing had six unrelated media-test Sqlx(PoolTimedOut) failures after 1,047 passes; focused changed tests and exact-head CI passed. Desktop smoke shard 2 failed after exhausting retries because an unrelated file-upload test never observed upload-progress; the PR changes no Desktop source, while smoke shards 1/3/4 and Desktop Core passed.

Author action: none.
Verification owner: mobile release/artifact validation for native metadata and screen-reader behavior; CI/tooling owner for the unrelated flaky Desktop and local database-test failures.

@jedwards27 jedwards27 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:bot: Jude’s code review agent

APPROVE — reviewed exact head d82feb7b28d91d3022d4ef78e80a9c689dbd0d52 against base 6dfd145cde4bf0d45091de1cc5e6c7e3462d5703.

Findings

No unresolved author-actionable defect.

The mobile Settings path reads PackageInfo.fromPlatform() once, remains usable while metadata is pending, renders v<version> (<buildNumber>), and preserves the existing version-only fallback when the native build number is empty. Tests exercise normal, empty, and long Android-shaped build numbers at 2× text scaling and the pending-to-complete package-info method-channel path. The two relay edits only repair test fixtures for the current synchronous auth mutex.

Author action: none.

Verification owner: reviewer/tooling or the mobile release gate for optional independent installed-artifact confirmation.

Exact-head validation

  • just mobile-install — pass.
  • just mobile-check — pass.
  • Full just mobile-test — pass on unchanged-head rerun: 2,236 passed / 4 skipped, followed by 3 unconfigured-build tests passed. An initial run had two push-export timing/order failures; the rerun and exact-head Clients / Mobile gate passed.
  • Changed Settings tests — pass; mutation from build-aware formatting to version-only output made the intended cases fail before restoration.
  • cargo test -p buzz-relay handlers::event::tests:: -- --nocapture — 24 passed / 4 ignored.
  • git diff --check — pass.
  • Exact-head mobile, Rust, PostgreSQL, security, macOS, Windows-build, and DCO gates passed.

The full local cargo test -p buzz-relay had 1,047 passes and six media-test Sqlx(PoolTimedOut) failures; the changed handler subset passed. The exact-head Desktop smoke shard 2 gate also failed while other desktop shards passed; this PR changes no Desktop production source, and the failure propagates only through aggregate Desktop jobs. These are confidence gaps, not evidence of a PR-caused defect.

Residual risk

Neither lane independently launched an exact-head packaged iOS/Android artifact or captured VoiceOver/TalkBack output. The PR screenshot, source inspection, widget tests, mutation proof, and exact-head mobile CI support approval, but native metadata retrieval and screen-reader pronunciation remain release/tooling-owned verification.

Cleanup: reviewer worktrees removed; no disposable REPOS/*-carl checkout remains.

@brow
brow merged commit b36600f into main Sep 17, 2026
158 of 161 checks passed
@brow
brow deleted the codex/mobile-settings-build-number branch September 17, 2026 03:29
wpfleger96 pushed a commit that referenced this pull request Sep 21, 2026
* origin/main: (75 commits)
  fix(workflows): make deletion persistent and retryable (#7735)
  fix(mobile): preserve thread replies through refresh failures (#7757)
  fix(mobile): keep iOS message menu actions responsive after rebuilds (#7758)
  fix(relay): exclude ephemeral activity from message quota (#7736)
  release: push gateway chart 0.3.1 (#7749)
  fix(push): label plaintext push gateway service as HTTP (#7717)
  Replace personal and internal data in desktop test fixtures (#7748)
  Add mobile VISION (#7710)
  fix(mobile): keep relay sessions stable during push lease updates (#7745)
  fix(desktop): keep managed agent avatars usable across communities (#7732)
  fix(mobile): fail open when age checks are unavailable (#7714)
  fix(ci): don't run desktop tests for purely mobile client changes (#7709)
  fix(mobile): temporarily disable age gating (#7708)
  feat(db): expose connection setup metrics (#7286)
  Isolate S3 storage metrics from the relay (#7543)
  fix(web): route mobile invite downloads to app stores (#7702)
  feat(mobile): show build number with version in settings (#7697)
  release(mobile-infra): buzz-push-gateway 0.3.0 (#7685)
  Add authenticated WebSocket recovery telemetry (#7546)
  Instrument database pool roles (#7356)
  ...

# Conflicts:
#	crates/buzz-db/src/runtime/migration.rs
wpfleger96 pushed a commit that referenced this pull request Sep 21, 2026
* origin/main: (81 commits)
  fix(mobile): avoid opening empty threads on message tap (#7756)
  fix(workflows): make deletion persistent and retryable (#7735)
  fix(mobile): preserve thread replies through refresh failures (#7757)
  fix(mobile): keep iOS message menu actions responsive after rebuilds (#7758)
  fix(relay): exclude ephemeral activity from message quota (#7736)
  release: push gateway chart 0.3.1 (#7749)
  fix(push): label plaintext push gateway service as HTTP (#7717)
  Replace personal and internal data in desktop test fixtures (#7748)
  Add mobile VISION (#7710)
  fix(mobile): keep relay sessions stable during push lease updates (#7745)
  fix(desktop): keep managed agent avatars usable across communities (#7732)
  fix(mobile): fail open when age checks are unavailable (#7714)
  fix(ci): don't run desktop tests for purely mobile client changes (#7709)
  fix(mobile): temporarily disable age gating (#7708)
  feat(db): expose connection setup metrics (#7286)
  Isolate S3 storage metrics from the relay (#7543)
  fix(web): route mobile invite downloads to app stores (#7702)
  feat(mobile): show build number with version in settings (#7697)
  release(mobile-infra): buzz-push-gateway 0.3.0 (#7685)
  Add authenticated WebSocket recovery telemetry (#7546)
  ...

Signed-off-by: Hayt <9e1c23a3fd83f61da34420e4e88ff1b16e45cafcc0cd9019eb07d4ecfa8ca9b0@buzz.block.builderlab.xyz>
wpfleger96 pushed a commit that referenced this pull request Sep 21, 2026
* origin/main: (75 commits)
  fix(workflows): make deletion persistent and retryable (#7735)
  fix(mobile): preserve thread replies through refresh failures (#7757)
  fix(mobile): keep iOS message menu actions responsive after rebuilds (#7758)
  fix(relay): exclude ephemeral activity from message quota (#7736)
  release: push gateway chart 0.3.1 (#7749)
  fix(push): label plaintext push gateway service as HTTP (#7717)
  Replace personal and internal data in desktop test fixtures (#7748)
  Add mobile VISION (#7710)
  fix(mobile): keep relay sessions stable during push lease updates (#7745)
  fix(desktop): keep managed agent avatars usable across communities (#7732)
  fix(mobile): fail open when age checks are unavailable (#7714)
  fix(ci): don't run desktop tests for purely mobile client changes (#7709)
  fix(mobile): temporarily disable age gating (#7708)
  feat(db): expose connection setup metrics (#7286)
  Isolate S3 storage metrics from the relay (#7543)
  fix(web): route mobile invite downloads to app stores (#7702)
  feat(mobile): show build number with version in settings (#7697)
  release(mobile-infra): buzz-push-gateway 0.3.0 (#7685)
  Add authenticated WebSocket recovery telemetry (#7546)
  Instrument database pool roles (#7356)
  ...
wpfleger96 pushed a commit that referenced this pull request Sep 21, 2026
* origin/main: (75 commits)
  fix(workflows): make deletion persistent and retryable (#7735)
  fix(mobile): preserve thread replies through refresh failures (#7757)
  fix(mobile): keep iOS message menu actions responsive after rebuilds (#7758)
  fix(relay): exclude ephemeral activity from message quota (#7736)
  release: push gateway chart 0.3.1 (#7749)
  fix(push): label plaintext push gateway service as HTTP (#7717)
  Replace personal and internal data in desktop test fixtures (#7748)
  Add mobile VISION (#7710)
  fix(mobile): keep relay sessions stable during push lease updates (#7745)
  fix(desktop): keep managed agent avatars usable across communities (#7732)
  fix(mobile): fail open when age checks are unavailable (#7714)
  fix(ci): don't run desktop tests for purely mobile client changes (#7709)
  fix(mobile): temporarily disable age gating (#7708)
  feat(db): expose connection setup metrics (#7286)
  Isolate S3 storage metrics from the relay (#7543)
  fix(web): route mobile invite downloads to app stores (#7702)
  feat(mobile): show build number with version in settings (#7697)
  release(mobile-infra): buzz-push-gateway 0.3.0 (#7685)
  Add authenticated WebSocket recovery telemetry (#7546)
  Instrument database pool roles (#7356)
  ...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
atishpatel pushed a commit to atishpatel/buzz that referenced this pull request Sep 21, 2026
…p-20260915

* origin/main: (28 commits)
  fix(mobile): avoid opening empty threads on message tap (block#7756)
  fix(workflows): make deletion persistent and retryable (block#7735)
  fix(mobile): preserve thread replies through refresh failures (block#7757)
  fix(mobile): keep iOS message menu actions responsive after rebuilds (block#7758)
  fix(relay): exclude ephemeral activity from message quota (block#7736)
  release: push gateway chart 0.3.1 (block#7749)
  fix(push): label plaintext push gateway service as HTTP (block#7717)
  Replace personal and internal data in desktop test fixtures (block#7748)
  Add mobile VISION (block#7710)
  fix(mobile): keep relay sessions stable during push lease updates (block#7745)
  fix(desktop): keep managed agent avatars usable across communities (block#7732)
  fix(mobile): fail open when age checks are unavailable (block#7714)
  fix(ci): don't run desktop tests for purely mobile client changes (block#7709)
  fix(mobile): temporarily disable age gating (block#7708)
  feat(db): expose connection setup metrics (block#7286)
  Isolate S3 storage metrics from the relay (block#7543)
  fix(web): route mobile invite downloads to app stores (block#7702)
  feat(mobile): show build number with version in settings (block#7697)
  release(mobile-infra): buzz-push-gateway 0.3.0 (block#7685)
  Add authenticated WebSocket recovery telemetry (block#7546)
  ...

Signed-off-by: Brainy Bumble <0ed7657b57c0e8a9f5288390dd6c8d5d0a3a06abe9b01b9006814f52077d6cdf@buzz.block.builderlab.xyz>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

codex-security-review-current The posted Codex security review matches its recorded range.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants