Repository navigation
Add consent-based DM-to-thread conversion - #2950
Open
lucas-rosen1 wants to merge 6 commits into
Open
lucas-rosen1 wants to merge 6 commits into
lucas-rosen1 wants to merge 6 commits into
Conversation
Co-authored-by: Codex <noreply@openai.com> Signed-off-by: Lucas Rosen <lrosen@squareup.com>
Grant the main window the moved-message commands, cover native IPC custody and receipt recovery, and resolve the destination name before approval. Use the existing direct-reply format for copies directly under the new root. Co-authored-by: Codex <noreply@openai.com> Signed-off-by: Lucas Rosen <lrosen@squareup.com>
lucas-rosen1
force-pushed
the
lrosen/dm-to-thread
branch
from
November 7, 2026 19:11
7d1bd42 to
ae4088d
Compare
Display an Originally sent caption on each copy, including grouped and nested messages, using the existing local date and clock formatting. Co-authored-by: Codex <noreply@openai.com> Signed-off-by: Lucas Rosen <lrosen@squareup.com>
Use fixed whole-DM or message-based ranges, show the exact starting message to approvers, explain unavailable submission, retain edited attachment metadata, and exclude prior conversion notices. Reject thread replies as starting points and cover repeat consent. Co-authored-by: Codex <noreply@openai.com> Signed-off-by: Lucas Rosen <lrosen@squareup.com>
Co-authored-by: Codex <noreply@openai.com> Signed-off-by: Lucas Rosen <lrosen@squareup.com>
Validate the signed starting timestamp before requests and approvals. Preserve committed scope when its starting message is subsequently deleted. Co-authored-by: Codex <noreply@openai.com> Signed-off-by: Lucas Rosen <lrosen@squareup.com>
lucas-rosen1
marked this pull request as ready for review
November 9, 2026 22:37
Contributor
|
🤖 Could we hold the DM-to-thread conversion flow until after the Nov 10 event? The new actions and consent flow add a core experience outside the current UI/UX frost. New UX follows the external-plugin policy; design can revisit the approach after the event. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bring an existing private DM into a channel thread after every participant approves. The source DM remains intact; the copies preserve authors, original timestamps, current edits, attachments and reply structure.
Demo
Watch the feature walkthrough — whole and partial conversion, original timestamps and nested replies, decline/cancel, attachments, and repeat conversion. Recorded in the actual browser app with disposable accounts against a local Rust relay; this is browser evidence, not native acceptance.
Behavior
Validation
983ad2ff63915cce88b697a36f803b289391a916, integrated with upstream4b7188c. All mandatory commit/push gates passed: TypeScript, 563 related unit-test files with one worker (28m 38s), design types/guards, workspace Clippy and machine GitHub policy. The focused plan/consent/coordinator/dialog selection also passed all 22 tests.Remaining before ready
Implementation and acceptance steps: docs/dm-to-thread.md.