Skip to content

feat(chat): drag sidebar threads into the composer - #12251

Closed
Bil0000 wants to merge 11 commits into
pingdotgg:t3code/codex-turn-mappingfrom
Bil0000:drag-threads-into-composer
Closed

Bil0000 wants to merge 11 commits into
pingdotgg:t3code/codex-turn-mappingfrom
Bil0000:drag-threads-into-composer

Conversation

@Bil0000

@Bil0000 Bil0000 commented Sep 17, 2026 •

Copy link
Copy Markdown
Contributor

Stacked on #2829 (t3code/codex-turn-mapping).

Drag sidebar threads into the composer to discuss their work in a new conversation. Active, settled, and snoozed threads become links you can open or remove. Multiple selected threads can be dropped together, and drafts keep the links across navigation and reloads.

The prompt carries small thread references. The agent uses t3_thread_read to fetch history as needed, with paging for long messages and their saved context. Explicit user references allow reading across projects on the same server; they do not grant cross-project write access. Drops from another server are rejected. Web and desktop share the drag flow; mobile can open saved thread links.

Verified with 318 focused tests, scoped web/server/mobile type checks, and targeted lint (existing warnings remain). Browser checks covered multiple threads, duplicates, cancellation, draft persistence, source status, and narrow/wide layouts. A live Codex turn read an attached thread and returned its test facts, which were absent from the new prompt. The demo uses isolated test data and shows sending three threads, keeping all three chips in the sent message, opening each source, and the agent reading the context. Sent chips were also verified after reload and at a narrow viewport.

CI repairs use the cleanup service layer at startup, remove an unused helper, and align checkpoint tests with the current feed and conversation-only rollback behavior. Import and timing issues in test fixtures are fixed; replay waits use arrival signals with bounded failure and cleanup. File-restore safety remains unchanged. The affected suites and full CI on 96ecf2f822 pass.

t3-thread-context-sent-demo.mp4

Model: GPT-6. Harness: Codex.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Sep 17, 2026
Comment thread apps/web/src/components/Sidebar.tsx
@macroscopeapp

macroscopeapp Bot commented Sep 17, 2026 •

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This change introduces a cross-cutting thread-context workflow across the web composer, sidebar, shared link handling, mobile navigation, and server MCP data access. Because it adds new user-facing behavior and permits explicitly attached threads from other projects to be read, its runtime and data-access implications warrant human review.

You can add or adjust custom eligibility rules. Learn more.

@Bil0000

Bil0000 commented Sep 17, 2026 •

Copy link
Copy Markdown
Contributor Author

Latest head: 96ecf2f.

CI is green: Check, Test, all three server test shards, Rust, Release Smoke, and native checks passed. Macroscope correctness and Effect service conventions passed. No unresolved review threads remain. GitHub reports CLEAN and MERGEABLE; the PR is still open and has not been merged.

The inherited export, mobile checkpoint, rollback, and import failures are fixed. The Git truncation fixture avoids same-size rewrites, and replay gate release uses an arrival signal with bounded failure and cleanup. Focused tests, typechecks, lint, and formatting passed. The sent-thread demo remains in the PR body.

Macroscope still requires human approval because this feature adds cross-project thread-history access. That is the remaining review gate.

Comment thread apps/server/src/storageCleanup.ts Outdated
@macroscopeapp

This comment has been minimized.

Comment thread apps/server/src/storageCleanup.ts
@macroscopeapp

macroscopeapp Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Effect Service Conventions found one blocking issue in apps/server/src/storageCleanup.ts: the service-owned make constructor was made private instead of remaining part of the canonical public service boundary. An inline review comment contains the suggested fix.

Posted via Macroscope — Effect Service Conventions

@macroscopeapp

This comment has been minimized.

Comment thread apps/server/src/orchestration-v2/testkit/OrchestratorScenario.ts
@macroscopeapp

This comment has been minimized.

@juliusmarminge

Copy link
Copy Markdown
Member

Closing in favor of #12296, which lands thread attachment as a thread kind on the existing inline context-record system (typed record, provider envelope, live titles, @ picker on web and mobile, sidebar drag) instead of a parallel t3-thread:// link format. Thanks for the push on the feature.

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.

2 participants