feat(web,mobile): start triage from Settings, not just the command palette#27299

draft2
main
GitHub fork: t3/triaging-settings
opened8d agobyOoliver
View on GitHubTwo-way sync enabledPR last imported 6d ago

Note

🤖 Claude Opus 5.5 on behalf of Oliver

#22753 added "Triage an issue" to the command palette, but you could only find it there. Settings had no way in, so if you went looking for help in Settings, you found nothing. On mobile, a triage draft also looked like any other new thread ("What should we work on?"), so nothing told you that you were in triage.

Now Settings has it on web and mobile, and mobile triage drafts look like web's.

  • Web: Settings → Maintenance → Diagnostics has a "Triage an issue" row with a Start triage button. It runs on the machines picked in the Settings environment filter, preferring the primary. If none of them supports triage, the button is disabled and the row says to update T3 Code or run npx t3 triage.
  • Mobile: the Maintenance page has a "Troubleshooting" section with the same row. It names the machine ("On "), like the mobile palette does, and it hides when no picked machine supports triage.
  • Mobile triage hero: a triage draft says "What went wrong?" with the machine name and server version, matching web. It leaves out web's npx t3 triage line.
  • Settings search finds the row on both ("triage", "bug", "issue", "report").

Both Settings rows reuse the palette's useStartTriage and pickTriageEnvironment. isTriagePrompt moved into contracts, next to TRIAGE_PROMPT_FILE_NAME, so web and mobile share it. Mobile gets a ladybug → Tabler IconBug mapping for Android.

Validation

  • vp run check:changed passes.
  • Checked in the real web app: Start triage opens the No project triage draft with the playbook linked. No turn was sent.
  • Checked on the iOS simulator: the Troubleshooting row names the machine, and tapping it opens the triage draft with the new hero. Not captured on Android: the Android emulator would not start through the device tooling. The Android-only part is the IconBug mapping, which typechecks.

Settings → Maintenance → Diagnostics with the new Triage an issue row

https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/ca00e32ac8f28639/start-triage.mp4

iOS Settings → Maintenance with the new Troubleshooting row

iOS triage draft with the What went wrong? hero

https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/3be219a2cee02e30/t3-triage-after.mp4

Made with Claude Opus 5.5 in Claude Code (via T3 Code). Evidence captured by GPT-6.1 Sol in Codex.

Checks

1 failing · 21 successful · 13 skipped
Some checks failed

Failing1

ffb4dda

Added 2 commits

  • feat(web,mobile): start triage from Settingscf743a0
  • feat(mobile): triage drafts show a What went wrong? heroffb4dda

Note

Written by gpt-6.1-sol on behalf of Maria

dry-run draft, no action taken.

closure is warranted under the verification rule. The new web/mobile Settings triage entry and mobile hero have after captures and recordings, but no before captures showing the same Settings and mobile draft states.

Add matching before/after screenshots for the web and mobile Settings entries and the mobile triage draft hero; keep the existing real-client interaction recordings.

Note

Written by claude-opus-5-5 on behalf of Maria

Reopening. An automated triage pass closed this by mistake; the closing comment above does not apply. Sorry for the noise.