Skip to content

refactor(mobile): keep review reset hashing private - #10048

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/cleanup-mobile-private-review-reset-hash
Sep 5, 2026
Merged

refactor(mobile): keep review reset hashing private#10048
juliusmarminge merged 1 commit into
mainfrom
t3code/cleanup-mobile-private-review-reset-hash

Conversation

@juliusmarminge

@juliusmarminge juliusmarminge commented Sep 5, 2026

Copy link
Copy Markdown
Member

The native review reset hash was exported and re-exported only for tests of its string format. Those assertions did not verify token invalidation when diff content changes.

Keep the hash private and remove its unused hook re-export. Test reset-key changes through the live builder for same-length content changes, different row counts, and cleared diffs. The hash algorithm and key representation are unchanged.

Verification: 7 focused reset-key and native-view tests passed before, 6 after. Mobile typecheck, targeted lint/format, and diff checks passed. No visual change.

Model: gpt-6 astra. Harness: Codex in T3 Code.

Note

Make hashReviewDiffKey private in reviewDiffBridgeKeys module

Removes hashReviewDiffKey from the public API by dropping its export and the re-export in useNativeReviewDiffBridge.ts. The function itself stays unchanged. Tests in reviewDiffBridgeKeys.test.ts no longer import or test the hash directly; instead they verify that buildNativeReviewTokensResetKey returns a different key when diff contents, row count, or a null diff change.

Macroscope summarized bb9fe60.

@cursor

cursor Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Bugbot is paused — on-demand spend limit reached

Bugbot uses usage-based billing for this team and has hit its on-demand spend limit.

A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Sep 5, 2026
@macroscopeapp

macroscopeapp Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at bb9fe60

Macroscope's review found this PR approvable — This small refactor makes the review-diff hashing helper private while preserving reset-key computation and the public builder used by the hook. The remaining changes are test-only, and no in-repository consumers or production behavior are affected.

You can add or adjust custom eligibility rules. Learn more.

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.6 KiB 13.5 KiB −54 B (−0.4%) 15.1 KiB
Codex Thread snapshot wire 7.0 KiB 7.0 KiB +2 B (+0.0%) 7.3 KiB
Codex Live turn WebSocket wire 6.6 KiB 6.5 KiB −56 B (−0.8%) 7.8 KiB
Codex Live turn WebSocket decoded 57.1 KiB 57.0 KiB −88 B (−0.2%) 66.4 KiB
Codex Live turn messages 10 8 −2 (−20.0%) 21
Claude Total thread wire 13.6 KiB 13.6 KiB +12 B (+0.1%) 15.1 KiB
Claude Thread snapshot wire 7.0 KiB 7.0 KiB −13 B (−0.2%) 7.3 KiB
Claude Live turn WebSocket wire 6.5 KiB 6.6 KiB +25 B (+0.4%) 7.8 KiB
Claude Live turn WebSocket decoded 57.8 KiB 57.9 KiB +44 B (+0.1%) 66.4 KiB
Claude Live turn messages 9 10 +1 (+11.1%) 21

Baseline: c059d09 · PR result: bb9fe60 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 113.8 KiB
  • Claude decoded thread snapshot: 114.5 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@juliusmarminge
juliusmarminge merged commit c2aff91 into main Sep 5, 2026
23 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/cleanup-mobile-private-review-reset-hash branch September 5, 2026 08:30
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 5, 2026
## What's Changed
* chore: configure Knip workspace audits by @juliusmarminge in pingdotgg/t3code#9958
* refactor(web): prune unused UI and provider code by @juliusmarminge in pingdotgg/t3code#9959
* chore(mobile): remove obsolete widget wiring script by @juliusmarminge in pingdotgg/t3code#9960
* chore: remove redundant root tooling dependencies by @juliusmarminge in pingdotgg/t3code#9961
* ci: reject unused files and dependencies with Knip by @juliusmarminge in pingdotgg/t3code#9962
* test(contracts): keep driver default lookup private by @juliusmarminge in pingdotgg/t3code#9968
* test(server): remove Azure permissions constant snapshot by @juliusmarminge in pingdotgg/t3code#9973
* refactor(shared): remove unused viewport formatters by @juliusmarminge in pingdotgg/t3code#9970
* refactor(mobile): remove unused provider option summary by @juliusmarminge in pingdotgg/t3code#9971
* refactor(client-runtime): remove unused connection phase message by @juliusmarminge in pingdotgg/t3code#9972
* refactor(mobile): remove unused layout calculations by @juliusmarminge in pingdotgg/t3code#9974
* refactor(client-runtime): remove unused file position predicate by @juliusmarminge in pingdotgg/t3code#9976
* refactor(mobile): remove unused font size steppers by @juliusmarminge in pingdotgg/t3code#9975
* test(server): cover thread lookup through command invariants by @juliusmarminge in pingdotgg/t3code#9978
* test(server): remove provider equality wrapper fixture by @juliusmarminge in pingdotgg/t3code#9979
* test(server): assert the dispatched welcome thread model by @juliusmarminge in pingdotgg/t3code#9980
* refactor(desktop): remove unused keyring remediation text by @juliusmarminge in pingdotgg/t3code#9981
* refactor(desktop): remove test-only Electron error predicates by @juliusmarminge in pingdotgg/t3code#9982
* refactor(web): remove unused pull request state label by @juliusmarminge in pingdotgg/t3code#9984
* perf(web): keep timeline row reuse engaged while text streams by @juliusmarminge in pingdotgg/t3code#9909
* fix(web): reset markdown widgets when the previewed file changes by @juliusmarminge in pingdotgg/t3code#9910
* fix(mobile): keep highlighting review diffs after a long line by @juliusmarminge in pingdotgg/t3code#9911
* fix(marketing): align the endorsement carousel with its heading by @juliusmarminge in pingdotgg/t3code#9912
* fix(client): keep warm thread resumes live instead of flashing sync by @juliusmarminge in pingdotgg/t3code#9913
* test(server): remove authorization prompt snapshots by @juliusmarminge in pingdotgg/t3code#9985
* test(server): remove static OAuth page snapshots by @juliusmarminge in pingdotgg/t3code#9986
* test(server): remove provider label identity assertion by @juliusmarminge in pingdotgg/t3code#9987
* test(server): consolidate agent activity opt-in coverage by @juliusmarminge in pingdotgg/t3code#9988
* refactor(shared): remove unused preview URL predicate by @juliusmarminge in pingdotgg/t3code#9989
* refactor(shared): remove unused mention path serializer by @juliusmarminge in pingdotgg/t3code#9990
* refactor(shared): remove retired PATH capture parser by @juliusmarminge in pingdotgg/t3code#9991
* refactor(client-runtime): remove unused subagent selectors by @juliusmarminge in pingdotgg/t3code#9992
* refactor(web): test the live usage column builder by @juliusmarminge in pingdotgg/t3code#9993
* refactor(web): remove unused aspect ratio reconciler by @juliusmarminge in pingdotgg/t3code#9994
* refactor(web): remove obsolete cloud listing helpers by @juliusmarminge in pingdotgg/t3code#9995
* test(web): remove composer control style snapshots by @juliusmarminge in pingdotgg/t3code#9996
* test(web): keep the preview profile label helper private by @juliusmarminge in pingdotgg/t3code#9997
* test(server): cover raw OpenCode deltas through the adapter by @juliusmarminge in pingdotgg/t3code#9977
* refactor(web): remove obsolete pull request link opener by @juliusmarminge in pingdotgg/t3code#9983
* test(relay): keep the stage slug helper private by @juliusmarminge in pingdotgg/t3code#9998
* refactor(mobile): keep project selection helper private by @juliusmarminge in pingdotgg/t3code#9999
* refactor(mobile): keep review default ID helper private by @juliusmarminge in pingdotgg/t3code#10000
* refactor(mobile): remove unused native style constants by @juliusmarminge in pingdotgg/t3code#10001
* refactor(mobile): test terminal palettes through public theme API by @juliusmarminge in pingdotgg/t3code#10002
* refactor(mobile): remove unused file tree walkers by @juliusmarminge in pingdotgg/t3code#10003
* refactor(shared): keep persisted settings helpers private by @juliusmarminge in pingdotgg/t3code#10004
* test(mobile): remove mocked UUID shape assertions by @juliusmarminge in pingdotgg/t3code#10006
* refactor(mobile): test final connection status presentation by @juliusmarminge in pingdotgg/t3code#10007
* test(web): keep pull request menu items private by @juliusmarminge in pingdotgg/t3code#10016
* refactor(shared): test favicon selection through public API by @juliusmarminge in pingdotgg/t3code#10005
* refactor(server): remove test-only pricing normalizer by @juliusmarminge in pingdotgg/t3code#10017
* refactor(web): remove unused desktop update visibility helper by @juliusmarminge in pingdotgg/t3code#10014
* refactor(web): remove obsolete provider update helpers by @juliusmarminge in pingdotgg/t3code#10015
* refactor(web): remove unused terminal context preview formatter by @juliusmarminge in pingdotgg/t3code#10009
* refactor(web): test environment-scoped draft promotion by @juliusmarminge in pingdotgg/t3code#10010
* fix(web): retain wrapped row heights during edits by @juliusmarminge in pingdotgg/t3code#10018
* refactor(shared): remove unused Clerk hostname predicate by @juliusmarminge in pingdotgg/t3code#10008
* refactor(tailscale): keep package internals private by @juliusmarminge in pingdotgg/t3code#10011
* ci: reject unused tailscale exports with Knip by @juliusmarminge in pingdotgg/t3code#10012
* fix(web): keep chat media at a stable size while it loads by @juliusmarminge in pingdotgg/t3code#9938
* refactor(server): keep manifest age parsing private by @juliusmarminge in pingdotgg/t3code#10028
* refactor(mobile): remove unused awareness relay URL normalizer by @juliusmarminge in pingdotgg/t3code#10029
* refactor(server): remove unused startup heartbeat launcher by @juliusmarminge in pingdotgg/t3code#10030
* refactor(shared): keep search ranking comparator private by @juliusmarminge in pingdotgg/t3code#10031
* refactor(server): keep telemetry identity errors private by @juliusmarminge in pingdotgg/t3code#10032
* refactor(mobile): test composer persistence through the live decoder by @juliusmarminge in pingdotgg/t3code#10033
* refactor(web): remove unused sidebar selectors by @juliusmarminge in pingdotgg/t3code#10034
* refactor(server): keep Cursor fallback models private by @juliusmarminge in pingdotgg/t3code#10038
* refactor(web): remove unused xterm link range helpers by @juliusmarminge in pingdotgg/t3code#10040
* refactor(mobile): remove obsolete review list builder by @juliusmarminge in pingdotgg/t3code#10039
* test(server): remove duplicate VCS error constructor checks by @juliusmarminge in pingdotgg/t3code#10042
* refactor(mobile): keep appearance calculations private by @juliusmarminge in pingdotgg/t3code#10043
* refactor(web): remove unused sidebar menu action by @juliusmarminge in pingdotgg/t3code#10044
* refactor(web): test live Ghostty link resolution directly by @juliusmarminge in pingdotgg/t3code#10041
* test(server): exercise Codex prompts through public assembly by @juliusmarminge in pingdotgg/t3code#10045
* refactor(shared): remove unused elapsed-time adapter by @juliusmarminge in pingdotgg/t3code#10046
* refactor(web): remove unused preview thread reset helper by @juliusmarminge in pingdotgg/t3code#10049
* refactor(desktop): remove test-only error predicates by @juliusmarminge in pingdotgg/t3code#10047
* refactor(mobile): keep review reset hashing private by @juliusmarminge in pingdotgg/t3code#10048
* test(web): remove AppRoot element order snapshot by @juliusmarminge in pingdotgg/t3code#10052
* refactor(codex): keep app-server client internals private by @juliusmarminge in pingdotgg/t3code#10035
* ci: reject unused Codex client exports with Knip by @juliusmarminge in pingdotgg/t3code#10036
* refactor(server): simplify native telemetry error internals by @juliusmarminge in pingdotgg/t3code#10057
* refactor(mobile): remove write-only terminal font cache by @juliusmarminge in pingdotgg/t3code#10058
* refactor(web): remove obsolete HSL theme generator by @juliusmarminge in pingdotgg/t3code#10061
* refactor(mobile): remove obsolete native diff token stream by @juliusmarminge in pingdotgg/t3code#10062
* test(server): remove title prompt editorial snapshots by @juliusmarminge in pingdotgg/t3code#10063
* test(server): remove repeated runtime prompt interpolation cases by @juliusmarminge in pingdotgg/t3code#10059
* refactor(web): observe preview tests through the live registry by @juliusmarminge in pingdotgg/t3code#10064
* test(server): remove keybinding default assignment snapshot by @juliusmarminge in pingdotgg/t3code#10065
* refactor(mobile): remove obsolete whole-file review highlighters by @juliusmarminge in pingdotgg/t3code#10067
* test(server): cover CLI runner detection through command suggestions by @juliusmarminge in pingdotgg/t3code#10066
* refactor(mobile): remove unused cloud relay URL normalizer by @juliusmarminge in pingdotgg/t3code#10068
* refactor(web): test live keybinding resolvers directly by @juliusmarminge in pingdotgg/t3code#10069
* test(server): cover Grok skill parsing through discovery by @juliusmarminge in pingdotgg/t3code#10070
* test(web): remove mocked diff view prop snapshot by @juliusmarminge in pingdotgg/t3code#10073
* test(web): remove mocked annotation options snapshot by @juliusmarminge in pingdotgg/t3code#10074
* refactor(web): keep pending action labels private by @juliusmarminge in pingdotgg/t3code#10075
* refactor(mobile): remove unused cloud pending-status mapper by @juliusmarminge in pingdotgg/t3code#10071
* refactor(web): remove unused model picker hint helpers by @juliusmarminge in pingdotgg/t3code#10072
* fix(server): resume checkpointing after git init by @Yash-Singh1 in pingdotgg/t3code#10078
* feat(web): first-run welcome wizard with agent setup and project import by @t3dotgg in pingdotgg/t3code#5362


**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260905.1285...v0.0.39-nightly.20260905.1286

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260905.1286
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 0-9 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant