Repository navigation
fix(web): leaving the home page while the app loads no longer bounces you to a new draft - #18672
Merged
shivamhwp merged 2 commits intoOct 13, 2026
Merged
Conversation
… you to a new draft The home page opens a draft for the latest project once threads load. It stays mounted while a navigation away from "/" is still loading, but the router already points at the new page, so the draft step's own "did the route change?" guard saw no change and replaced the page the user picked. Tapping "Get the beta app" in the Nightly popup during startup hit this: Settings opened, then the app jumped to a new draft. Only start the draft while the router is still on "/". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a small, self-contained fix to prevent startup draft creation from overriding navigation away from the home page. Existing home-page behavior remains unchanged when the user stays on You can add or adjust custom eligibility rules. Learn more. |
aorwall
added a commit
to aorwall/t3code
that referenced
this pull request
Oct 13, 2026
Merges upstream `pingdotgg/t3code` `5070a83a32` (48 commits, base `e688034b5f`) into the fork. It does not stack on another PR. ## Merge - 240 of 240 upstream-range files landed. Fork delta: 775 files. - One conflict: `apps/web/src/routeTree.gen.ts`, regenerated for upstream's new `/_chat/new` route. The other 18 files both sides touched auto-merged: `duplicate-adds` and `resolution-check` are clean, and every delta guard holds. - `pnpm-lock.yaml` was re-derived by install, and `verify --only lockfile` passes. - Sweep: `promptLinks/HostedPromptLinkLanding.tsx` renders only in the `hosted-static` auth state, which Moatless never reaches. Taken as upstream's. - Unsupported methods: ADD 0, DROP 0. ## Verification `verify.mjs` passes duplicate-adds, tripwires, resolution-check, unsupported-methods, lockfile, fmt, lint, typecheck and build. `test` fails only on files that fail alone and failed the same way on the last three merges, because of the sandbox: shared `AgentScope` (`oom_score_adj` is 935 here), server `ServerBrowserPage` (no Playwright browser), `AcpAdapterV2`, `OrchestratorReplayFixtures`, and provider-opencode `OpenCodeServerLedger`. ## Usable as-is - Prompt links (pingdotgg#18454): `/new?prompt=…`, `ThreadLinkPrompt` on thread routes, and copy-prompt-link from messages and the command palette. Choosing a project and placing the prompt work against Moatless. - Terminal colors (pingdotgg#17168), context meter rounding (pingdotgg#17539), stable button text (pingdotgg#18866), setup wizards follow themes (pingdotgg#18725), Git actions follow the selected thread (pingdotgg#18862), dropped threads attach to pending answers (pingdotgg#18789), the compact merge-button second click (pingdotgg#18878), a numeric `q` on pull requests (pingdotgg#18666), the home-page bounce fix (pingdotgg#18672), running terminals shown in the sidebar (pingdotgg#18740), and computer-use titles (pingdotgg#18865). - Mobile and desktop fixes (theme contrast, settings rows, the PR action bar, image caching, the iOS 27.2 black screen, Hyprland, updater diagnostics). - "Update everything" sidebar pill (pingdotgg#18053): inert against Moatless, which advertises no `serverSelfUpdate` or `versionAdvisory`. ## Unsupported in Moatless / needs implementation - Prompt-link "clone this repository" (`NewThreadLinkView.cloneRepository`): needs `projectClone.start` and the `projectCloneTracking` capability. It refuses with a message today. Added to gaps.md under *Project and repository management*. - Renaming built-in models (pingdotgg#18840): saves through `server.updateSettings` (custom model entry with a built-in slug). It stays behind `FEATURES.providerConfiguration`, under the existing settings gap. - Provider secret settings (pingdotgg#18505, `secretSetting` and `isSecretSetting` in contracts): stored on the host, so they fall under the same settings gap. ## Backend behavior to consider reproducing in Moatless Recorded in gaps.md under *Runtime fixes upstream made to its own server*: - A confirmed Claude subagent outcome settles that task and its child work (pingdotgg#18778, the new `subagent` target on `thread.background-work.settle`). - Claude thinking before a tool call stays a collapsed Thought (pingdotgg#18887). - Codex title and branch-name generation no longer starts the user's MCP servers (pingdotgg#17058). - The event store resyncs a thread holding an event type from a newer build (pingdotgg#15937, `isKnownOrchestrationV2EventType`). - A migration id clash stops startup with a clear error (pingdotgg#15925). - Cached branch PR lookups start no git process (pingdotgg#17063). - PR head commits are reported for Forgejo, GitLab and Bitbucket (pingdotgg#18463, pingdotgg#18608, pingdotgg#18402), and PR bases resolve to branch names (pingdotgg#18754). 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- Moatless task: https://moatless.soaplabstest.com/tasks/dcd13b46-6495-4b1d-af7c-03da83644d11
github-actions Bot
added a commit
to omarcresp/t3code-flake
that referenced
this pull request
Oct 13, 2026
## 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
github-actions Bot
added a commit
to davidvanderklay/t3code-flake
that referenced
this pull request
Oct 13, 2026
## 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
adampeterhiggins
added a commit
to adampeterhiggins/t3code
that referenced
this pull request
Oct 13, 2026
* 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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
If you leave the home page while the app is still loading, the app can pull you back to a new draft thread a moment later.
A user hit this through the Nightly "Get the beta app" popup. The popup shows during startup. Tapping it opened Settings → General, then the app jumped to a new draft, so the button seemed to go nowhere. Any navigation away from the home page during startup can hit this, not just the popup.
Closes: no issue filed. Reported by a Nightly user on X.
Change
On startup the home page waits for threads to load, then opens a draft for your latest project. The router switches to the new address as soon as you navigate, but the home page stays on screen until the next page finishes loading. If threads finish loading inside that gap, the home page starts the draft.
useNewThreadHandlerremembers the address at that moment, which is already Settings. Its "did the route change?" check then compares Settings to Settings, sees no change, and replaces Settings with the draft.The home page now starts the draft only if the router is still on
/. One file:apps/web/src/routes/_chat.index.tsx.Scope and approval
A small fix for an obvious bug: the app overrides a navigation the user just chose. It touches one check in one route and changes nothing else.
Verification
Web dev server set up as Nightly, phone-size Chromium window (390×844), CPU slowed 6×, real data copied into the worktree. A yellow label at the bottom shows the current URL. The test taps "Get the beta app" 0.8 s after the popup appears.
To make the timing repeatable, the recording holds back the Settings → General page code for 5 s, like a slow network. Without that delay I caught the same jump unaided on the dev server, with a stack trace pointing at
useHandleNewThread.ts, but it only happens some of the time./draft/…Router log, same setup, two runs each way:
tap→/settings/general#nightly-mobile-beta→/draft/…about 1.5–2 s later, in both runs.tap→/settings/general#nightly-mobile-beta→/settings/generalonce the scroll lands, in both runs.Also checked:
apps/web.exhaustive-effect-dependencieswarning onstartState.retryRequestwas already there.Not checked:
Claude Opus 5.5 via Claude Code, running in T3 Code.
🤖 Generated with Claude Code