Repository navigation
feat(web): open My Work at startup when it has items - #441
Conversation
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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: 9e272a8dc2
ℹ️ 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".
| return ( | ||
| <T3TeamStartupMyWorkGate> | ||
| <IndexDraftLanding /> | ||
| </T3TeamStartupMyWorkGate> | ||
| ); |
There was a problem hiding this comment.
Mount the startup gate on the reachable startup route
On a cold load of /, this component is never reached: the parent /_chat route calls translateUpstreamPath and throws redirects in _chat.tsx:212-224, while that bridge maps / directly to /t3team in t3team-upstreamRouteBridge.ts:134-136 before child route components mount. Consequently the gate never probes or navigates, so the advertised startup behavior remains unchanged; mount this decision before that redirect or on the /t3team route.
AGENTS.md reference: AGENTS.md:L23-L24
Useful? React with 👍 / 👎.
…rk-when-data-exists-6a385915 # Conflicts: # apps/web/src/t3team/t3team-AllProjectsMyWorkView.tsx
Thread transfer impact
This comment will update automatically after the next completed run. |
…ly lands (#463) `/` 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: Phil J <philip.jonientz@nexplore.ch> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Opening the app always dropped you into a draft thread, even when My Work had something waiting for you.
Now a cold start on
/opens My Work (replace navigation) when at least one project is bound to Jira and My Work would show at least one item. Otherwise the existing draft-thread / add-project landing is unchanged.How
t3team-startupLanding.logic.tsholds the pure decision (decideStartupLanding,deriveStartupMyWorkProbe), unit-tested. It reuses My Work's own rules rather than a copy:selectBoundProjects, moved out ofAllProjectsMyWorkViewintot3team-allProjectsMyWorkProjects.tsso the index route doesn't import the whole view;buildDigestPlan(graph).sections(the digest's own "Nothing needs you" test); for the hierarchy/board lenses they are the graph's tickets;resolveProjectDashboardMyWorkState, the same call My Work uses.T3TeamStartupMyWorkGatewrapsIndexDraftLanding. It renders nothing while it decides, so the draft landing never flashes. It mountsuseMyWorkDigestGraph({ scope: "all" })with the same inputs as My Work, so after the redirect My Work paints from the digest cache without fetching again./from My Work, is never pushed back to My Work._chat.index.tsxgets a three-line wrap and is added to the additive-guard whitelist. Sidebar nav ordering is untouched.Verification
vp test runon the new logic tests (9) plus the existing all-projects My Work tests: pass. Covered: no Jira project, Jira project but no items, items present (digest and board lenses), slow load past the deadline, failed/retrying/session-expired digest, ineligible landing, and the once-per-session guard. Cold-start URL detection is also covered for web and desktop.apps/webtypecheck: pass. Lint on the changed files: no new warnings (one existing warning inIndexDraftLanding).t3team-additive-guard: pass.🤖 Generated with Claude Code — Claude Opus 5.5 in T3 Code