Skip to content

feat(web): open project settings from thread menus - #8925

Merged
maria-rcks merged 4 commits into
pingdotgg:mainfrom
SunkenInTime:t3code/thread-context-settings
Sep 1, 2026
Merged

maria-rcks merged 4 commits into
pingdotgg:mainfrom
SunkenInTime:t3code/thread-context-settings

Conversation

@SunkenInTime

@SunkenInTime SunkenInTime commented Aug 31, 2026 •

Copy link
Copy Markdown
Contributor

What Changed

  • Adds a Project settings action to thread context menus in the current and legacy sidebars.
  • Keeps the thread-title action menu consistent and resolves grouped projects to the correct settings route.
  • Adds the browser-fallback settings icon and menu-order coverage.

Why

Opening project settings from a thread currently requires finding its project separately in the sidebar. The thread already identifies its project, so the context menu can navigate there directly.

UI Changes

Before

Thread menu before

After

Thread menu with Project settings

Destination

Project settings page

Testing

  • pnpm fmt
  • pnpm lint
  • pnpm typecheck
  • pnpm --filter @t3tools/web test -- src/components/threadActionMenu.logic.test.ts (3,033 tests passed)

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes (not applicable: no animation; the destination screenshot shows the navigation result)

Made with GPT-5.6-Sol in T3 Code using the Codex harness.


Note

Low Risk
Navigation-only UI wiring with existing project-key resolution; wrong settings page would be the main failure mode if grouping keys were stale.

Overview
Adds a Project settings action to thread context and action menus so users can jump straight to the project settings page from a thread.

The new item is defined in threadActionMenu.logic (after Copy, before Archive) with a settings icon in the context-menu fallback. Choosing it navigates to /projects/$projectKey, closes the mobile sidebar when needed, and is wired in the main sidebar, legacy sidebar, and useThreadActionMenu (chat header). Grouped sidebar projects resolve the correct logical projectKey via projectGroupsRef and the physical-to-logical map; legacy sidebar uses the row’s project.projectKey.

Tests cover menu ordering and presence when lifecycle capabilities are disabled.

Reviewed by Cursor Bugbot for commit 450fa8b. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Add 'Project settings' item to thread context and action menus

  • Adds a project-settings entry to the thread action menu, positioned after 'Copy' and before 'Archive', with a settings icon in the fallback context menu
  • Selecting the item navigates to /projects/$projectKey from the sidebar, legacy sidebar, and chat header thread action menu; the sidebar closes on mobile when applicable
  • The useThreadActionMenu hook resolves the logical project key via a physical-to-logical project map that respects current grouping settings, falling back to derivation when the map lacks an entry
  • Risk: useThreadActionMenu relies on a new projectGroupsRef in Sidebar.tsx to avoid stale closures; if the ref is not kept in sync, the wrong project group may be selected

Macroscope summarized 450fa8b.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M 30-99 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants