Repository navigation
fix(mobile): pull requests load from another environment when theirs is offline - #18698
Conversation
…is offline A pull request opened from an environment that is now offline stayed on its cached copy, even when another connected environment holds the same repository. The detail screen now moves to a connected copy of the repository, and the list prefers a connected environment's row over an offline one's for a shared PR. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
| (project) => | ||
| project.environmentId !== target.environmentId && | ||
| connectedEnvironmentIds.has(project.environmentId) && | ||
| project.repositoryIdentity?.canonicalKey.toLowerCase() === key, |
There was a problem hiding this comment.
🟠 High pull-requests/pullRequestEnvironmentFallback.ts:30
A connected Forgejo checkout on a non-default HTTP port is never selected, so the pull request detail screen stays offline despite an available copy. The route host forge.example:3000 is compared directly with the canonical key forge.example/team/repo, which omits the port; match using the project's provider-aware host and repository instead.
🚀 Reply "fix it for me" or copy this AI Prompt for your agent:
In file @apps/mobile/src/features/pull-requests/pullRequestEnvironmentFallback.ts around line 30:
A connected Forgejo checkout on a non-default HTTP port is never selected, so the pull request detail screen stays offline despite an available copy. The route host `forge.example:3000` is compared directly with the canonical key `forge.example/team/repo`, which omits the port; match using the project's provider-aware host and repository instead.
ApprovabilityVerdict: Would Approve Macroscope's review found this PR approvable — This is a localized mobile bug fix with focused runtime changes and targeted tests for selecting connected pull-request data. A concrete high-severity finding remains around Forgejo repositories using non-default HTTP ports, which independently blocks clean approval until addressed. Not approved because:
Adjust the Minimum Blocking Severity for this repo — including turning it Off — in Settings. You can add or adjust custom eligibility rules. Learn more. |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 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.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
## What's Changed * fix(server): apply confirmed Claude subagent outcomes by @Yash-Singh1 in pingdotgg/t3code#18778 * fix(mobile): Browser page no longer logs a duplicate key warning by @tris203 in pingdotgg/t3code#18776 * fix(web): a numeric q in the pull requests URL no longer crashes the page by @ScottN-PV in pingdotgg/t3code#18666 * fix(client): T3 Connect clients reconnect once a new tunnel is ready by @shivamhwp in pingdotgg/t3code#16554 * fix(web): leaving the home page while the app loads no longer bounces you to a new draft by @shivamhwp in pingdotgg/t3code#18672 * fix(mobile): attachment images no longer re-download on every reconnect by @shivamhwp in pingdotgg/t3code#18824 * fix(server): a migration id clash stops startup with a clear error instead of crash-looping by @shivamhwp in pingdotgg/t3code#15925 * fix(server): a thread with an event type from a newer build can still resync after a downgrade by @shivamhwp in pingdotgg/t3code#15937 * fix(server): Codex titles and branch names no longer start the user's MCP servers by @brycedbjork in pingdotgg/t3code#17058 * fix(server): Claude thinking before a tool call stays a collapsed Thought by @maria-rcks in pingdotgg/t3code#18887 * perf(server): cached branch PR lookups no longer start git processes by @SunkenInTime in pingdotgg/t3code#17063 * fix(web): compact merge buttons show when they need a second click by @TonybynMp4 in pingdotgg/t3code#18878 * fix(mobile): pull requests load from another environment when theirs is offline by @juliusmarminge in pingdotgg/t3code#18698 * perf(web): collect active tool calls without array shifts by @saphid in pingdotgg/t3code#18853 * fix(web): center the pace icon on the limit card's "left" label by @akash3444 in pingdotgg/t3code#18580 * fix(web): update everything includes npm-installed servers again by @ScottN-PV in pingdotgg/t3code#18709 * fix(server): review guides find Bitbucket heads reported by short hash by @ahilles107 in pingdotgg/t3code#18900 * fix(web): scheduled task model picker no longer shifts the dialog by @flamboh in pingdotgg/t3code#18940 * fix(ci): CodeRabbit reviews no longer request changes by @Yash-Singh1 in pingdotgg/t3code#18954 ## New Contributors * @brycedbjork made their first contribution in pingdotgg/t3code#17058 **Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261013.3042...v0.0.46-nightly.20261013.3053 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261013.3053
## What's Changed * fix(server): apply confirmed Claude subagent outcomes by @Yash-Singh1 in pingdotgg/t3code#18778 * fix(mobile): Browser page no longer logs a duplicate key warning by @tris203 in pingdotgg/t3code#18776 * fix(web): a numeric q in the pull requests URL no longer crashes the page by @ScottN-PV in pingdotgg/t3code#18666 * fix(client): T3 Connect clients reconnect once a new tunnel is ready by @shivamhwp in pingdotgg/t3code#16554 * fix(web): leaving the home page while the app loads no longer bounces you to a new draft by @shivamhwp in pingdotgg/t3code#18672 * fix(mobile): attachment images no longer re-download on every reconnect by @shivamhwp in pingdotgg/t3code#18824 * fix(server): a migration id clash stops startup with a clear error instead of crash-looping by @shivamhwp in pingdotgg/t3code#15925 * fix(server): a thread with an event type from a newer build can still resync after a downgrade by @shivamhwp in pingdotgg/t3code#15937 * fix(server): Codex titles and branch names no longer start the user's MCP servers by @brycedbjork in pingdotgg/t3code#17058 * fix(server): Claude thinking before a tool call stays a collapsed Thought by @maria-rcks in pingdotgg/t3code#18887 * perf(server): cached branch PR lookups no longer start git processes by @SunkenInTime in pingdotgg/t3code#17063 * fix(web): compact merge buttons show when they need a second click by @TonybynMp4 in pingdotgg/t3code#18878 * fix(mobile): pull requests load from another environment when theirs is offline by @juliusmarminge in pingdotgg/t3code#18698 * perf(web): collect active tool calls without array shifts by @saphid in pingdotgg/t3code#18853 * fix(web): center the pace icon on the limit card's "left" label by @akash3444 in pingdotgg/t3code#18580 * fix(web): update everything includes npm-installed servers again by @ScottN-PV in pingdotgg/t3code#18709 * fix(server): review guides find Bitbucket heads reported by short hash by @ahilles107 in pingdotgg/t3code#18900 * fix(web): scheduled task model picker no longer shifts the dialog by @flamboh in pingdotgg/t3code#18940 * fix(ci): CodeRabbit reviews no longer request changes by @Yash-Singh1 in pingdotgg/t3code#18954 ## New Contributors * @brycedbjork made their first contribution in pingdotgg/t3code#17058 **Full Changelog**: pingdotgg/t3code@v0.0.46-nightly.20261013.3042...v0.0.46-nightly.20261013.3053 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.46-nightly.20261013.3053
* fix(gitlab): merge request details report their head commit (pingdotgg#18608) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * feat(server): rename built-in models from settings (pingdotgg#18840) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): Git actions follow the selected thread (pingdotgg#18862) * fix(desktop): preserve updater failure causes in diagnostics (pingdotgg#18864) * fix(web): attach dropped threads to pending answers (pingdotgg#18789) * fix(web): keep button text stable during press scaling (pingdotgg#18866) * fix(bitbucket): preserve PR head commits for review guides (pingdotgg#18402) * fix(server): return null for unresolved optional commands (pingdotgg#18871) * fix: show computer-use action titles and align app icons (pingdotgg#18865) * fix(server): apply confirmed Claude subagent outcomes (pingdotgg#18778) * fix(mobile): Browser page no longer logs a duplicate key warning (pingdotgg#18776) * fix(web): a numeric q in the pull requests URL no longer crashes the page (pingdotgg#18666) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(client): T3 Connect clients reconnect once a new tunnel is ready (pingdotgg#16554) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * fix(web): leaving the home page while the app loads no longer bounces you to a new draft (pingdotgg#18672) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): attachment images no longer re-download on every reconnect (pingdotgg#18824) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): a migration id clash stops startup with a clear error instead of crash-looping (pingdotgg#15925) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: PR Batch Tester <agent@local.test> * fix(server): a thread with an event type from a newer build can still resync after a downgrade (pingdotgg#15937) Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> Co-authored-by: PR Batch Tester <agent@local.test> * fix(server): Codex titles and branch names no longer start the user's MCP servers (pingdotgg#17058) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Yash Singh <saiansh2525@gmail.com> * fix(server): Claude thinking before a tool call stays a collapsed Thought (pingdotgg#18887) Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> * perf(server): cached branch PR lookups no longer start git processes (pingdotgg#17063) * fix(web): compact merge buttons show when they need a second click (pingdotgg#18878) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(mobile): pull requests load from another environment when theirs is offline (pingdotgg#18698) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * perf(web): collect active tool calls without array shifts (pingdotgg#18853) Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> * fix(web): center the pace icon on the limit card's "left" label (pingdotgg#18580) * fix(web): update everything includes npm-installed servers again (pingdotgg#18709) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(server): review guides find Bitbucket heads reported by short hash (pingdotgg#18900) Co-authored-by: Pawel Mikolajczuk <pmikolajczuk@atlassian.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): scheduled task model picker no longer shifts the dialog (pingdotgg#18940) * fix(ci): CodeRabbit reviews no longer request changes (pingdotgg#18954) --------- Co-authored-by: Scott Norteman <snorteman@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Theo Browne <me@t3.gg> Co-authored-by: Yash Singh <saiansh2525@gmail.com> Co-authored-by: Paweł Mikołajczuk <pawel@mikolajczuk.in> Co-authored-by: Tristan Knight <admin@snappeh.com> Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com> Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Bryce Bjork <brycedbjork@gmail.com> Co-authored-by: maria <maria@kuuro.net> Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> Co-authored-by: Dara Adedeji <76637177+SunkenInTime@users.noreply.github.com> Co-authored-by: Antony <97451137+TonybynMp4@users.noreply.github.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: Alex Southwell <saphid@gmail.com> Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: GPT-6.1 Sol <noreply@openai.com> Co-authored-by: Akash Moradiya <64416825+akash3444@users.noreply.github.com> Co-authored-by: Pawel Mikolajczuk <pmikolajczuk@atlassian.com> Co-authored-by: oliver <97427849+flamboh@users.noreply.github.com>
When the environment a pull request was opened from goes offline, mobile kept showing that environment's cached copy and never sent a request. This happened even when another connected environment had the same repository with working GitHub auth. The GitHub routing setting didn't help, because it only reroutes requests that leave a connected environment.
Fix
environmentId/projectIdthere. The files, reviewers and review screens opened from it follow the new params.Limits
Verification
vp test run src/features/pull-requests/pullRequestEnvironmentFallback.test.ts src/features/pull-requests/pullRequestList.test.tspasses.tsc-rs --noEmitpasses.Done with Claude Opus 5.5 in Claude Code.
🤖 Generated with Claude Code