Skip to content

Prevent duplicate project workspace roots#3829

Merged
juliusmarminge merged 8 commits into
mainfrom
t3code/duplicate-connections
Jul 16, 2026
Merged

Prevent duplicate project workspace roots#3829
juliusmarminge merged 8 commits into
mainfrom
t3code/duplicate-connections

Conversation

@juliusmarminge

@juliusmarminge juliusmarminge commented Jul 9, 2026

Copy link
Copy Markdown
Member

Summary

  • Add normalization and de-duplication for project workspace roots so repeated connection records do not create duplicate project entries.
  • Update mobile connection storage and related flows to preserve a single canonical root per project.
  • Carry the mobile routing/config cleanup needed by the duplicate-connection work.

Testing

  • vp check
  • vp run typecheck
  • vp run lint:mobile
  • vp test

Note

Medium Risk
Orchestration now rejects create/update commands that collide on workspace roots after normalization, which can break clients that relied on duplicate roots; sidebar dedup only affects display of stale duplicates.

Overview
Prevents two active projects from sharing the same normalized workspace root on project.create and project.meta.update via a new requireActiveProjectWorkspaceRootAbsent invariant, using shared path helpers (normalizeProjectPathForDispatch / normalizeProjectPathForComparison) moved into @t3tools/shared/path (including trailing-slash and Windows canonicalization).

Collapses duplicate project rows in the sidebar when the same environment + physical path appears more than once: one winner per physical key (primary environment, then updatedAt, then id), applied before logical grouping and in buildPhysicalToLogicalProjectKeyMap (now takes primaryEnvironmentId).

Cursor adapter interrupt test now cancels the pending approval with respondToRequest(..., "cancel") before interruptTurn and no longer expects a session/cancel ACP log entry.

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

Note

Prevent duplicate project workspace roots across active projects

  • Adds a requireActiveProjectWorkspaceRootAbsent invariant in commandInvariants.ts that normalizes workspace roots and rejects project.create and project.meta.update commands when another active project already uses the same root.
  • Extracts shared path normalization helpers (normalizeProjectPathForDispatch, normalizeProjectPathForComparison) into packages/shared/src/path.ts, replacing duplicated implementations in the client runtime.
  • Adds deduplication logic in sidebarProjectGrouping.ts via collectProjectWinnersByPhysicalKey, which selects a single project per physical key by preferring the primary environment, then recency, then project id as a tiebreaker.
  • Sidebar snapshots and the physical-to-logical key map now exclude stale duplicate rows, affecting group membership counts and representative ids.
  • Behavioral Change: project.create and project.meta.update will now fail (with an invariant error citing the conflicting project id and path) if the normalized workspace root matches an existing active project.

Macroscope summarized 3f749f5.

- Reject create and metadata updates that reuse an active workspace root
- Deduplicate stale sidebar project rows by physical project key
@coderabbitai

coderabbitai Bot commented Jul 9, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 172bbdf3-d02e-47e5-9751-d11babbcfaa4

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/duplicate-connections

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XL 500-999 changed lines (additions + deletions). labels Jul 9, 2026
Comment thread apps/server/src/orchestration/commandInvariants.ts
Comment thread apps/web/src/sidebarProjectGrouping.ts Outdated
Co-authored-by: codex <codex@users.noreply.github.com>
@github-actions github-actions Bot added size:M 30-99 changed lines (additions + deletions). and removed size:XL 500-999 changed lines (additions + deletions). labels Jul 9, 2026
@macroscopeapp

macroscopeapp Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved

This is a straightforward bug fix that adds validation to prevent duplicate project workspace roots and deduplication logic for sidebar display. Changes are self-contained with comprehensive tests, and involve no schema or security implications.

You can customize Macroscope's approvability policy. Learn more.

Comment thread apps/server/src/orchestration/commandInvariants.ts
Comment thread apps/web/src/sidebarProjectGrouping.ts Outdated
Co-authored-by: codex <codex@users.noreply.github.com>
@github-actions github-actions Bot added size:L 100-499 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels Jul 16, 2026
Comment thread apps/web/src/sidebarProjectGrouping.ts
Co-authored-by: codex <codex@users.noreply.github.com>
Comment thread apps/web/src/sidebarProjectGrouping.ts
Co-authored-by: codex <codex@users.noreply.github.com>
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Jul 16, 2026
Co-authored-by: codex <codex@users.noreply.github.com>
@macroscopeapp
macroscopeapp Bot dismissed their stale review July 16, 2026 08:10

Dismissing prior approval to re-evaluate 26e4ce9

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is ON, but a cloud agent failed to start.

Reviewed by Cursor Bugbot for commit 26e4ce9. Configure here.

Comment thread apps/server/src/provider/Layers/CursorAdapter.test.ts
juliusmarminge and others added 2 commits July 16, 2026 10:18
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
@juliusmarminge
juliusmarminge merged commit d114e27 into main Jul 16, 2026
16 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/duplicate-connections branch July 16, 2026 08:39
aaditagrawal pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 16, 2026
Cherry-pick of upstream d114e27 (Prevent duplicate project workspace
roots). Adds requireActiveProjectWorkspaceRootAbsent invariant to the
decider, normalizeProjectPathForComparison/normalizeProjectPathForDispatch
moved to packages/shared/src/path.ts, and sidebar project-grouping
dedupe-by-physical-key logic (prefers the primary environment's member,
then freshest updatedAt/createdAt, then highest id).

apps/server/src/provider/Layers/CursorAdapter.test.ts is intentionally
left unchanged: upstream's hunk there fixes an unrelated ACP-stdio
session/cancel test behavior that has no equivalent in the fork's
SDK-based Cursor adapter test harness, and is unrelated to the
workspace-root invariant this commit otherwise ports.

Co-authored-by: codex <codex@users.noreply.github.com>
aaditagrawal pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 16, 2026
Cherry-pick of upstream d114e27 (Prevent duplicate project workspace
roots). Adds requireActiveProjectWorkspaceRootAbsent invariant to the
decider, normalizeProjectPathForComparison/normalizeProjectPathForDispatch
moved to packages/shared/src/path.ts, and sidebar project-grouping
dedupe-by-physical-key logic (prefers the primary environment's member,
then freshest updatedAt/createdAt, then highest id).

apps/server/src/provider/Layers/CursorAdapter.test.ts is intentionally
left unchanged: upstream's hunk there fixes an unrelated ACP-stdio
session/cancel test behavior that has no equivalent in the fork's
SDK-based Cursor adapter test harness, and is unrelated to the
workspace-root invariant this commit otherwise ports.

Co-authored-by: codex <codex@users.noreply.github.com>
aaditagrawal pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 16, 2026
Cherry-pick of upstream d114e27 (Prevent duplicate project workspace
roots). Adds requireActiveProjectWorkspaceRootAbsent invariant to the
decider, normalizeProjectPathForComparison/normalizeProjectPathForDispatch
moved to packages/shared/src/path.ts, and sidebar project-grouping
dedupe-by-physical-key logic (prefers the primary environment's member,
then freshest updatedAt/createdAt, then highest id).

apps/server/src/provider/Layers/CursorAdapter.test.ts is intentionally
left unchanged: upstream's hunk there fixes an unrelated ACP-stdio
session/cancel test behavior that has no equivalent in the fork's
SDK-based Cursor adapter test harness, and is unrelated to the
workspace-root invariant this commit otherwise ports.

Co-authored-by: codex <codex@users.noreply.github.com>
aaditagrawal pushed a commit to aaditagrawal/t3code that referenced this pull request Jul 16, 2026
Cherry-pick of upstream d114e27 (Prevent duplicate project workspace
roots). Adds requireActiveProjectWorkspaceRootAbsent invariant to the
decider, normalizeProjectPathForComparison/normalizeProjectPathForDispatch
moved to packages/shared/src/path.ts, and sidebar project-grouping
dedupe-by-physical-key logic (prefers the primary environment's member,
then freshest updatedAt/createdAt, then highest id).

apps/server/src/provider/Layers/CursorAdapter.test.ts is intentionally
left unchanged: upstream's hunk there fixes an unrelated ACP-stdio
session/cancel test behavior that has no equivalent in the fork's
SDK-based Cursor adapter test harness, and is unrelated to the
workspace-root invariant this commit otherwise ports.

Co-authored-by: codex <codex@users.noreply.github.com>
aaditagrawal added a commit to aaditagrawal/t3code that referenced this pull request Jul 16, 2026
sync: port duplicate workspace roots guard and record July 16 upstream ancestry (pingdotgg#3829)
adamfgr pushed a commit to agriffiths-bots/t3code that referenced this pull request Jul 17, 2026
* [codex] Fix onboarding connection status (pingdotgg#4001)

Co-authored-by: codex <codex@users.noreply.github.com>

* Isolate native diff highlight grammar state (pingdotgg#4029)

* Fix macOS fullscreen titlebar spacing (pingdotgg#4019)

* Prevent duplicate project workspace roots (pingdotgg#3829)

Co-authored-by: codex <codex@users.noreply.github.com>

* Normalize over-indented markdown list items (pingdotgg#4020)

Co-authored-by: codex <codex@users.noreply.github.com>

* Resolve localhost preview URLs for remote environments (pingdotgg#4011)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): Send composer images in upload wire format (pingdotgg#4035)

* Fix iOS terminal Enter input encoding (pingdotgg#4043)

* Add native mobile share target support (pingdotgg#4021)

Co-authored-by: codex <codex@users.noreply.github.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
tarik02 added a commit to tarik02/t3code that referenced this pull request Jul 18, 2026
* Use client-side fallbacks for missing project favicons (pingdotgg#3959)

* Skip stale working-task notifications (pingdotgg#3961)

* Prepare Android beta branding and review diff UI (pingdotgg#3967)

* perf(web): duty-cycle status animations and remove fixed noise overlay (pingdotgg#3978)

* fix(docs): correct CI task-runner commands in ci.md (pingdotgg#3990)

* fix(docs): repair broken source links in architecture overview (pingdotgg#3991)

* fix(docs): replace stale codething-mvp absolute paths with repo-relative links (pingdotgg#3992)

* docs: Add T3 Code Legal Docs (pingdotgg#3972)

Co-authored-by: codex <codex@users.noreply.github.com>

* Fix Legal modal header crash (pingdotgg#4000)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Fix onboarding connection status (pingdotgg#4001)

Co-authored-by: codex <codex@users.noreply.github.com>

* Isolate native diff highlight grammar state (pingdotgg#4029)

* Fix macOS fullscreen titlebar spacing (pingdotgg#4019)

* Prevent duplicate project workspace roots (pingdotgg#3829)

Co-authored-by: codex <codex@users.noreply.github.com>

* Normalize over-indented markdown list items (pingdotgg#4020)

Co-authored-by: codex <codex@users.noreply.github.com>

* Resolve localhost preview URLs for remote environments (pingdotgg#4011)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): Send composer images in upload wire format (pingdotgg#4035)

* Fix iOS terminal Enter input encoding (pingdotgg#4043)

* Add native mobile share target support (pingdotgg#4021)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Expand real-route app store screenshot harness (pingdotgg#4014)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(server): use CLAUDE_CONFIG_DIR instead of HOME for Claude instanc… (pingdotgg#4017)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* Fix dropped events during initial thread snapshot (pingdotgg#4079)

* feat: show nightly update changelog tooltip (pingdotgg#3832)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* fix(git): treat selected commit paths literally (pingdotgg#3998)

* fix(server): stabilize non-repository Git diagnostics (pingdotgg#4077)

* Refresh app icons across release variants (pingdotgg#4080)

Co-authored-by: codex <codex@users.noreply.github.com>

* Update marketing GitHub star count (pingdotgg#4088)

* fix(marketing): correct Cursor icon color (pingdotgg#4090)

* Normalize protocol-relative remote host input as https (pingdotgg#3971)

* fix(cursor): default binary path to cursor-agent (avoid path conflict w/ grok) (pingdotgg#4094)

* Fix documented task-runner commands (bun run -> vp) (pingdotgg#3965)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Allow preview panel to grow on wide displays (pingdotgg#4044)

* fix: prevent initial right-click from selecting a context menu item (pingdotgg#3877)

* Fix duplicate keybinding rule when replacing with an existing rule (pingdotgg#3969)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): image upload crashed dispatchCommand with a stack overflow (pingdotgg#3952)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Remove unused code parameter from describePreviewError (pingdotgg#3970)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>

* [codex] prevent ACP assistant ID collisions after restarts (pingdotgg#3932)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): inset Windows desktop scrollbars from resize edge (pingdotgg#4097)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>

* [codex] fix mobile composer Enter behavior (pingdotgg#3930)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* feat(server): include runtime model and effort in Codex developer instructions (pingdotgg#3948)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(ux): spamming cmd + , no longer stack opening settings (pingdotgg#2757)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(terminal): strip AppImage runtime env from spawned terminals (pingdotgg#3108)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(server): thread cwd through Claude capability probe (pingdotgg#2048) (pingdotgg#2124)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* [codex] fix: guard invalid web timestamps (pingdotgg#3515)

Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* [codex] fix: tolerate invalid latest user message timestamps (pingdotgg#3521)

Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* [codex] Fix provider update checks restore defaults (pingdotgg#3531)

Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): skip undecodable provider runtime rows when listing sessions (pingdotgg#3951)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* Share MCP OAuth locks across Codex shadow homes (pingdotgg#4104)

* Preserve T3 Code identity in macOS development launcher (pingdotgg#4102)

* fix(web): increase contrast of question option descriptions (pingdotgg#3867)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Kriday Dave <technocratix902@gmail.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Dimitar Stoykov <mitkostoikov1988@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Hugo Vizcaino Santana <42343504+HugoVizcainoSantana@users.noreply.github.com>
Co-authored-by: Eric Tsai <52527831+EricTsai83@users.noreply.github.com>
Co-authored-by: Manuel De Ceglie <80224270+AmoonPod@users.noreply.github.com>
Co-authored-by: BunnyGamezsc <146652788+BunnyGamezsc@users.noreply.github.com>
Co-authored-by: Olivier Melcher <olivier.melcher@gmail.com>
Co-authored-by: Fazal Kadivar <fazalkadivar7@gmail.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Maxwell Young <maxtheyoung@gmail.com>
Co-authored-by: Yukun Shan <92423096+nateEc@users.noreply.github.com>
Co-authored-by: James <105842516+jamesx0416@users.noreply.github.com>
Co-authored-by: Leonel Rivas <herial_vi@icloud.com>
Co-authored-by: Matt Van Horn <mvanhorn@users.noreply.github.com>
Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com>
Co-authored-by: Codex <codex@openai.com>
Co-authored-by: xxashxx-svg <xxanshxx9@gmail.com>
DanielGGordon added a commit to DanielGGordon/t3code that referenced this pull request Jul 24, 2026
* Use rounded depth logo for production splash screen (pingdotgg#3780)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

* fix(release): stage pnpm 11 allowBuilds for desktop installs (pingdotgg#3781)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

* Upgrade Clerk toolchain to latest versions (pingdotgg#3785)

* fix(release): bump electron-builder so pnpm 11 deduped deps land in the asar (pingdotgg#3790)

* Fix desktop native optional dependency packaging (pingdotgg#3816)

* [codex] Upgrade Clerk stack (pingdotgg#3821)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Preserve worktree metadata during branch sync (pingdotgg#3822)

Co-authored-by: codex <codex@users.noreply.github.com>

* feat(client): persist offline environment data and mobile preferences (pingdotgg#3795)

Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Label max and ultra reasoning (pingdotgg#3824)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): embed fonts and render project favicons reliably (pingdotgg#3823)

Co-authored-by: codex <codex@users.noreply.github.com>

* Show compact PR number badges in mobile thread rows (pingdotgg#3827)

Co-authored-by: codex <codex@users.noreply.github.com>

* Expose mobile PR indicator labels to accessibility (pingdotgg#3828)

Co-authored-by: codex <codex@users.noreply.github.com>

* Fix truncated chat error alert layout (pingdotgg#3899)

* fix(marketing): show platform-appropriate commit shortcut on the website (pingdotgg#3644)

* [codex] Add Android mobile support (pingdotgg#3579)

Co-authored-by: Horus Lugo <horusgoul@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Ben Davis <45952064+bmdavis419@users.noreply.github.com>
Co-authored-by: Alex <me@pixp.cc>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>

* Use client-side fallbacks for missing project favicons (pingdotgg#3959)

* Skip stale working-task notifications (pingdotgg#3961)

* Prepare Android beta branding and review diff UI (pingdotgg#3967)

* perf(web): duty-cycle status animations and remove fixed noise overlay (pingdotgg#3978)

* fix(docs): correct CI task-runner commands in ci.md (pingdotgg#3990)

* fix(docs): repair broken source links in architecture overview (pingdotgg#3991)

* fix(docs): replace stale codething-mvp absolute paths with repo-relative links (pingdotgg#3992)

* docs: Add T3 Code Legal Docs (pingdotgg#3972)

Co-authored-by: codex <codex@users.noreply.github.com>

* Fix Legal modal header crash (pingdotgg#4000)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Fix onboarding connection status (pingdotgg#4001)

Co-authored-by: codex <codex@users.noreply.github.com>

* Isolate native diff highlight grammar state (pingdotgg#4029)

* Fix macOS fullscreen titlebar spacing (pingdotgg#4019)

* Prevent duplicate project workspace roots (pingdotgg#3829)

Co-authored-by: codex <codex@users.noreply.github.com>

* Normalize over-indented markdown list items (pingdotgg#4020)

Co-authored-by: codex <codex@users.noreply.github.com>

* Resolve localhost preview URLs for remote environments (pingdotgg#4011)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): Send composer images in upload wire format (pingdotgg#4035)

* Fix iOS terminal Enter input encoding (pingdotgg#4043)

* Add native mobile share target support (pingdotgg#4021)

Co-authored-by: codex <codex@users.noreply.github.com>

* [codex] Expand real-route app store screenshot harness (pingdotgg#4014)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(server): use CLAUDE_CONFIG_DIR instead of HOME for Claude instanc… (pingdotgg#4017)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* Fix dropped events during initial thread snapshot (pingdotgg#4079)

* feat: show nightly update changelog tooltip (pingdotgg#3832)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* fix(git): treat selected commit paths literally (pingdotgg#3998)

* fix(server): stabilize non-repository Git diagnostics (pingdotgg#4077)

* Refresh app icons across release variants (pingdotgg#4080)

Co-authored-by: codex <codex@users.noreply.github.com>

* Update marketing GitHub star count (pingdotgg#4088)

* fix(marketing): correct Cursor icon color (pingdotgg#4090)

* Normalize protocol-relative remote host input as https (pingdotgg#3971)

* fix(cursor): default binary path to cursor-agent (avoid path conflict w/ grok) (pingdotgg#4094)

* Fix documented task-runner commands (bun run -> vp) (pingdotgg#3965)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Allow preview panel to grow on wide displays (pingdotgg#4044)

* fix: prevent initial right-click from selecting a context menu item (pingdotgg#3877)

* Fix duplicate keybinding rule when replacing with an existing rule (pingdotgg#3969)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): image upload crashed dispatchCommand with a stack overflow (pingdotgg#3952)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Remove unused code parameter from describePreviewError (pingdotgg#3970)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>

* [codex] prevent ACP assistant ID collisions after restarts (pingdotgg#3932)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): inset Windows desktop scrollbars from resize edge (pingdotgg#4097)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>

* [codex] fix mobile composer Enter behavior (pingdotgg#3930)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* feat(server): include runtime model and effort in Codex developer instructions (pingdotgg#3948)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(ux): spamming cmd + , no longer stack opening settings (pingdotgg#2757)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(terminal): strip AppImage runtime env from spawned terminals (pingdotgg#3108)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(server): thread cwd through Claude capability probe (pingdotgg#2048) (pingdotgg#2124)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* [codex] fix: guard invalid web timestamps (pingdotgg#3515)

Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* [codex] fix: tolerate invalid latest user message timestamps (pingdotgg#3521)

Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* [codex] Fix provider update checks restore defaults (pingdotgg#3531)

Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(server): skip undecodable provider runtime rows when listing sessions (pingdotgg#3951)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* Share MCP OAuth locks across Codex shadow homes (pingdotgg#4104)

* Preserve T3 Code identity in macOS development launcher (pingdotgg#4102)

* fix(web): increase contrast of question option descriptions (pingdotgg#3867)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* feat: draft hero landing on the index route (pingdotgg#4055)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>

* feat: file explorer mention actions and zoom-aware context menus (pingdotgg#4054)

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): avoid duplicate mention text on paste

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(mobile): restore iOS home screen branding (pingdotgg#4025)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* perf(client): defer active thread cache writes (pingdotgg#4006)

* Default diffs to working changes (pingdotgg#3974)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Add Grok to marketing site provider list (pingdotgg#3484)

* Fix reopening existing Diff tab (pingdotgg#3973)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Fix sending messages during active turns (pingdotgg#3919)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* [codex] Route OpenCode missing-session errors through Effect (pingdotgg#3608)

Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* [fix/feat:ui] Show default option badge (pingdotgg#3232)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* [fix/feat:ui] Preserve open-in editor brand colors (pingdotgg#3225)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(web): handle macOS Home and End in composer (pingdotgg#2508)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Allow failed remote environments to be removed (pingdotgg#4084)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* [codex] canonicalize client timestamps (pingdotgg#4112)

* [fix/feat:ui] Make selected menu checks blue (pingdotgg#3234)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* fix(desktop): Validate WSL node version against engine range after probe success (pingdotgg#3621)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Refresh splash screen and favicon branding (pingdotgg#4120)

* Add terminal selection copy action (pingdotgg#2904)

* Add isolated app testing workflow (pingdotgg#4121)

Co-authored-by: codex <codex@users.noreply.github.com>

* feat(web): themed sidebar header art for nightly and dev builds (pingdotgg#4130)

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>

* feat: add headless `t3 connect` setup for SSH hosts (pingdotgg#3749)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* Refine T3 Connect authorization surfaces (pingdotgg#4159)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix: increase OpenCode server startup timeout from 5s to 30s (pingdotgg#4132)

* fix(shared): delete unused agentAwareness phase predicates (pingdotgg#4134)

* fix(mobile): Stabilize native stack option updates (pingdotgg#4037)

Co-authored-by: codex <codex@users.noreply.github.com>

* Make test-t3-app skill discoverable by Claude Code (pingdotgg#4162)

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>

* fix(web): improve dev sidebar backdrop contrast & remove version pills (pingdotgg#4166)

* Fix draft banner stack overlap (pingdotgg#4164)

Co-authored-by: codex <codex@users.noreply.github.com>

* Add portable mobile app testing guidance (pingdotgg#4165)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(client): use lightweight connection probe (pingdotgg#4137)

* fix(server): resolve Claude SDK executable path on Windows npm installs (pingdotgg#3740)

* Fix project action preview settings persistence (pingdotgg#3842)

* fix(desktop): allow clipboard writes in the preview browser (pingdotgg#3889)

* fix(web): handle sidebar shortcut before editors (pingdotgg#3921)

* fix(server): recognize Bedrock-backed Claude as authenticated (pingdotgg#3931)

* Fix incorrect pluralization of “entry” (pingdotgg#3933)

* feat(server): title background-task work-log rows with the task name (pingdotgg#3751)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix: delegate OpenCode session titles to provider (pingdotgg#3720)

* Archive selected threads from the context menu (pingdotgg#3895)

* fix(cli): support force removing projects (pingdotgg#3922)

* fix: allow sidebar to be shrunk when wider than viewport (pingdotgg#2456)

Co-authored-by: Shoaib Ansari <shoaibansari@Shoaibs-Mac-mini.local>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(codex): show web search query and url in tool call details (pingdotgg#2093)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Add Codex launch arguments setting (pingdotgg#2892)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: root <root@localhost.localdomain>

* [orchestration] Clear stale active turn when session becomes inactive (pingdotgg#3159)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Regenerate Codex reset credit protocol bindings (pingdotgg#4173)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(preview): preserve direct localhost navigation (pingdotgg#3939)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* Synchronize mobile threads with authoritative shell snapshots (pingdotgg#4163)

Co-authored-by: codex <codex@users.noreply.github.com>

* Gate iOS glass layout on native support (pingdotgg#4032)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(opencode): resume the OpenCode session on follow-ups instead of starting an empty one (pingdotgg#3617)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(server): use CLI for OpenCode health check instead of spawning server (pingdotgg#4153)

* fix(web): scope timeline minimap hover target to the side gutter (pingdotgg#3869)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* [codex] show complete approval details (pingdotgg#4111)

* fix(web): paint text selection over composer chips (pingdotgg#4139)

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>

* [codex] preserve custom model slugs (pingdotgg#4168)

* fix(web): preview workspace images in the file panel (pingdotgg#3996)

Co-authored-by: Rhiz3K <rhiz3k@protonmail.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* feat(web): drag files from the explorer into the chat composer (pingdotgg#4140)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>

* fix(desktop): preserve main window bounds (pingdotgg#3851)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>

* perf(orchestration): speed up new-chat propagation and offline catch-up (pingdotgg#4177)

Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Finale: upgrade changed files card to fix various UI issues (pingdotgg#4113)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* Pass CLI OAuth config to hosted web deploy (pingdotgg#4186)

Co-authored-by: codex <codex@users.noreply.github.com>

* fix(web): always show environment chip for remote projects (pingdotgg#4217)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(web): keep composer editable while disconnected (pingdotgg#4241)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix: better defaults — Claude 1M context, Codex gpt-5.6, worktrees from origin main (pingdotgg#4240)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* fix(claude): handle all SDK stream messages; stop spurious work-log warning rows (pingdotgg#4244)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

---------

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Rowan <rowan@cardow.co>
Co-authored-by: Patricio Gómez Meneses <107218376+Prgm-code@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@mac.lan>
Co-authored-by: Jake Leventhal <jakeleventhal@me.com>
Co-authored-by: Vedank Purohit <VedankPurohit2@gmail.com>
Co-authored-by: Horus Lugo <horusgoul@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Ben Davis <45952064+bmdavis419@users.noreply.github.com>
Co-authored-by: Alex <me@pixp.cc>
Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Kriday Dave <technocratix902@gmail.com>
Co-authored-by: Ishan <ishansachu1@gmail.com>
Co-authored-by: Dimitar Stoykov <mitkostoikov1988@gmail.com>
Co-authored-by: Hugo Vizcaino Santana <42343504+HugoVizcainoSantana@users.noreply.github.com>
Co-authored-by: Eric Tsai <52527831+EricTsai83@users.noreply.github.com>
Co-authored-by: Manuel De Ceglie <80224270+AmoonPod@users.noreply.github.com>
Co-authored-by: BunnyGamezsc <146652788+BunnyGamezsc@users.noreply.github.com>
Co-authored-by: Olivier Melcher <olivier.melcher@gmail.com>
Co-authored-by: Fazal Kadivar <fazalkadivar7@gmail.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Maxwell Young <maxtheyoung@gmail.com>
Co-authored-by: Yukun Shan <92423096+nateEc@users.noreply.github.com>
Co-authored-by: James <105842516+jamesx0416@users.noreply.github.com>
Co-authored-by: Leonel Rivas <herial_vi@icloud.com>
Co-authored-by: Matt Van Horn <mvanhorn@users.noreply.github.com>
Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com>
Co-authored-by: Codex <codex@openai.com>
Co-authored-by: xxashxx-svg <xxanshxx9@gmail.com>
Co-authored-by: Yordis Prieto <yordis.prieto@gmail.com>
Co-authored-by: Chris Michael Guzman <67719167+Chrrxs@users.noreply.github.com>
Co-authored-by: Aditya Mer <101453576+Aditya190803@users.noreply.github.com>
Co-authored-by: ss <69873514+sandersonstabo@users.noreply.github.com>
Co-authored-by: Guilherme Vieira <46866023+GuilhermeVieiraDev@users.noreply.github.com>
Co-authored-by: Noah Zepner <noah@zepner.dev>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: Taras <Taras.Fomin@gmail.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: eeinarsson <128746408+eeinarsson@users.noreply.github.com>
Co-authored-by: David Whatley <nsxdavid@gmail.com>
Co-authored-by: coach007 <6238600+keeperxy@users.noreply.github.com>
Co-authored-by: Carlos Rico-Ospina <carlosricojr@gmail.com>
Co-authored-by: Andrew Barnes <bortstheboat@gmail.com>
Co-authored-by: Pieter van Zyl <20579513+PieterVanZyl-Dev@users.noreply.github.com>
Co-authored-by: mel <mcmelon@nodiumhosting.com>
Co-authored-by: Tristan Knight <tris203@gmail.com>
Co-authored-by: Christoph Herzog <a.github@omega-id.com>
Co-authored-by: Shoaib <shoaib050326@gmail.com>
Co-authored-by: Shoaib Ansari <shoaibansari@Shoaibs-Mac-mini.local>
Co-authored-by: root <root@localhost.localdomain>
Co-authored-by: Andrew Forster <76947376+Andrew-Forster@users.noreply.github.com>
Co-authored-by: Vadym Kotai <vdmkotai@gmail.com>
Co-authored-by: Rhiz3K <33246262+Rhiz3K@users.noreply.github.com>
Co-authored-by: Rhiz3K <rhiz3k@protonmail.com>
Co-authored-by: Anirudh Coontoor <me@anirudhs.net>
Co-authored-by: Rusiru Sadathana <rusirusadathana@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 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.

1 participant