Repository navigation
fix(web): startup My Work decision runs where a cold start actually lands - #463
Conversation
…ly lands `/` is bridged to the Team home (/t3team) in the _chat beforeLoad, so the startup gate from #441/#448 on the index route never mounted. The home used an older rule instead: open My Work whenever any Jira project exists, data or not. The gate now wraps the Team home. The shell's first mount claims the session's one decision, and the gate probes at most once, so returning home never redirects. A reload on /t3team counts as a cold start. The gate reuses the shell's backend instead of creating its own. The dead index-route wrap and the old any-work-project rule are removed. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: dae68e6633
ℹ️ 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".
| <T3TeamStartupMyWorkGate | ||
| eligible={startupEligible && selectedProjectId === null && !reopenInitialSetup} | ||
| > |
There was a problem hiding this comment.
Run the cold-start probe before honoring the default selection
On a returning session where t3team:projects is already in localStorage, useProjectStore initializes selectedProjectId to the first stored project, so this condition prevents the new gate from probing at all (or the preceding homeProject branch returns first for a work project). Consequently the advertised cold-start behavior only works while project hydration begins from an empty local cache, while normal returning users still land on the old home/dashboard behavior. Because startupEligible remains cached as true and the gate remains unclaimed, deleting that initially selected work project later in the same mount can also trigger the supposedly cold-start-only redirect. The gate should consume/run the startup decision before applying this synthetic default selection, or distinguish it from an explicit user selection.
AGENTS.md reference: AGENTS.md:L236-L236
Useful? React with 👍 / 👎.
Thread transfer impact
This comment will update automatically after the next completed run. |
Opening the app on
/never ran the startup gate from #441/#448: the_chatroute'sbeforeLoadbridges/to the Team home (/t3team) before the index route renders. The home applied an older rule instead (open My Work whenever any Jira project exists), so a user with a Jira project but no data — e.g. an expired Jira session — landed on My Work's "Sign in to Jira", and the loading animation never showed.Fix
T3TeamStartupMyWorkGatenow wraps the Team home (AppMainContent, no route view, no selected project) instead of the unreachable index route. It uses the shell's backend rather than building its own.useStartupLandingEligibleclaims the session's one decision on the shell's first mount, and the gate probes at most once per session, so going back home (after Settings, a project dashboard, or leaving My Work) never redirects./t3teamcounts as a cold start, same as/.opensAllProjectsMyWorkHome.Verification
/→/t3teamshowed "Loading My Work" for about 100 ms, then the normal home. Before the fix it opened My Work "Sign in to Jira"./settings→ back to/stays on the home.vp test runfor the gate render test, startup-landing logic,AppMainContent, and My Work cold start: 28/28 passed. Web typecheck is clean, and the additive guard passes./t3team/my-work" path live without the user's Jira session. The decision logic for it is unchanged and covered by the unit tests.Claude Opus 5.5 via Claude Code (T3 Code).
🤖 Generated with Claude Code