Repository navigation
Edit sent messages with encrypted revision history - #51
Merged
Merged
Conversation
fireplacechat-com
previously approved these changes
Nov 10, 2026
Apply author-only edits through the existing ratchet, enforce sending limits, preserve history and reactions, and provide edit composition, cancellation, history and direct quote navigation. Co-authored-by: Codex <noreply@openai.com>
Clear only consumed ordinary text and its reply target; preserve a concurrently opened edit and cover the interaction. Co-authored-by: Codex <noreply@openai.com>
Include reproducible render hashes, protocol/rules test results and AI assistance disclosure. Co-authored-by: Codex <noreply@openai.com>
fireplacechat-com
dismissed
their stale review
November 10, 2026 04:57
The merge-base changed after approval.
fireplacechat-com
force-pushed
the
feat/sent-message-editing
branch
from
November 10, 2026 04:57
3123549 to
6529052
Compare
fireplacechat-com
enabled stacked auto-merge
November 10, 2026 05:02
fireplacechat-com
approved these changes
Nov 10, 2026
This was referenced Nov 10, 2026
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.
Why
People need to correct a sent message while keeping its original context and visible edit history for both participants.
What changed
Add menu/double-tap editing, a separate edit draft, themed checkmark submission, cancellation restoring the ordinary draft, an Edited label and a version-history sheet. Enforce author ownership, ten revisions and the 24-hour sending window. Preserve reactions and quotes, resolve linked-device ordering, and make local/remote deletion dominate every version. Unknown publish outcomes require explicit recovery and never retry automatically.
Edits are encrypted v3 control payloads through the existing double ratchet and device-copy path. No key construction, server fields, rules or dependencies changed. Decision 0022 explains delayed delivery, concurrent revisions, compatibility and deletion limits. Older clients cannot apply edits.
Quote taps now locate lazy rows within the full conversation. A finishing ordinary send clears its own draft while preserving any independently opened edit.
How it was checked
See the review report for fresh-checkout format/analyze, the full test suite, isolated timing tests, rules tests and deterministic render hashes. Tests exercise real encryption with fake Firestore, linked devices, invalid authors/limits, ordering, encrypted reload, deletion, unknown outcomes, keyboard/gesture interaction and concurrent drafts. No physical-device testing. Stacked on the quoted-reply draft; screenshots show the final stack.
AI assistance
OpenAI Codex wrote the implementation, tests and review material. Human review, physical-device acceptance and CLA confirmation remain pending. No merge or deployment.