Woodstock Docs
Proposals

Edit and delete your message

Fix a message you sent, or take it back — every screen and edge case for sign-off before it's built, with the product and UX questions still open. CHAT-1.

Proposal — not built yet. CHAT-1 · spec docs/domains/chat/message-actions/v1-correct-or-withdraw-your-message.md · decisions: log 0231. The rulings behind it (R1–R30) are settled. Every UX/product question below is answered. Content is fictional. Frames tagged exists show wording the app already uses.

Today the Edit and Delete entries in a message's menu say "Coming soon". This proposal makes them real for your own messages: Edit fixes the text in place and marks it edited; Delete takes the message back — its text and any attached files — and leaves a Message deleted line where it was, for everyone in the channel. There's no time limit. Admin removal and forwarding come later.

Main cases

A1Open the actions — desktopHover your own message → toolbar → More. Edit and Delete stop being “Coming soon”.
P
Ploy10:42
Invoice from Siam Paper is ฿12,400 — due Friday
☺↩⋯
➦ Forward SOON
⧉ Create thread SOON
✎ Edit
🗑 Delete
Only on a confirmed message you wrote. Someone else's or an agent's message shows no Edit/Delete (E11).
A2Open the actions — phoneLong-press your message → the existing action sheet.
# finance
P
Ploy10:42
Invoice from Siam Paper is ฿12,400 — due Friday
☺ Add reaction
↩ Reply
➦ Forward · soon
✎ Edit
🗑 Delete
Same actions, same order as desktop. No new entry point (0231/R4).
A3Edit in the composer — phoneThe message stays visible. Its text moves into the familiar composer.
# finance
P
Ploy10:42
Invoice from Siam Paper is ฿12,400 — due Friday
Editing message×
+Invoice from Siam Paper is ฿14,200 — due Friday➤
The composer opens with the message text and the keyboard. Editing message makes the mode clear; × cancels and returns the text unchanged. Send saves. Emoji and typing remain available; file controls are unavailable because an edit is text-only. An unsent draft is kept and returns after Save or Cancel (R2, R26, R30).
A4EditedEveryone sees the new text live, marked “edited”.
P
Ploy10:42· edited
Invoice from Siam Paper is ฿14,200 — due Friday
👍 2
Shows that it changed, never what it was (no history). Reactions stay. “edited” follows the time; it does not show an edit time.
A5Delete — confirmAlways asks first. Names the files that go with it.

Delete this message?

Everyone in #finance will see “Message deleted”. The attached file is removed too.

Signed quote attached
PDFsiam-paper-quote.pdf
CancelDelete
Text-only message: same dialog without the file line. Delete always asks first in v1.
A6Deleted — placeholderStays in place for everyone, after reload too. No actions, no reactions.
S
Somchai10:40
Who has the Siam Paper quote?
P
Ploy10:42
⊘ Message deleted
S
Somchai10:45
ok thanks
The placeholder keeps the author's name and time, so the conversation remains readable.

Edge cases

E1Reply to a deleted messageThe reply stays; its quote can't show the original.
S
Somchai10:46
↩ Message deleted
Paid it this morning
The same “Message deleted” wording appears everywhere the withdrawn message would have been quoted.
E2Reply to an edited messageThe quote follows the current text.
S
Somchai10:50
↩ Ploy Invoice from Siam Paper is ฿14,200 — due Friday
Approved ✅
A reply written before the edit now quotes the new wording. Accepted in Slack/Discord.
E3Edit didn't saveEditor stays open with your text; nothing claims success.
P
Ploy10:42
Invoice from Siam Paper is ฿14,200 — due Friday
Couldn't save your edit. Check your connection and try again.
CancelTry again
Spec M6.
E4Delete didn't go throughMessage stays exactly as it was.
P
Ploy10:42
Invoice from Siam Paper is ฿12,400 — due Friday
Couldn't delete the message. Try again
Spec M6.
E5Removal accepted; files finish in the backgroundText is gone. A temporary file move failure never puts work back on the author.
P
Ploy10:42
⊘ Message deleted
Everyone sees the same placeholder. Woodstock records any unfinished file move and keeps retrying it privately until recovery storage holds the file (R27).
E6Emptying the textA text-only message can't be saved empty.
P
Ploy10:42
CancelSaveTo remove the message, delete it instead.
A message with files may save empty text (the files remain), and a file-only message can gain a caption.
E7Adding an @mention in an editThe mention shows, but nobody is notified or woken (R3/R17).
P
Ploy10:42· edited
Invoice is ฿14,200 @Somchai @Snoopy can you file it?
Somchai gets no push; Snoopy doesn't run. The editor adds no warning.
E8An agent already answeredEditing the trigger doesn't rerun or change the agent's reply (R11).
P
Ploy10:42· edited
@Snoopy file: quote is ฿14,200
S
SnoopyAgent10:43
Filed the Siam Paper quote at ฿12,400 on Suppliers › Siam Paper.
The reply can disagree with the edited text. The edited mark on the trigger is the only signal in v1.
E9Deleted while an agent is workingThe agent's reply still arrives, attached to a placeholder.
P
Ploy10:42
⊘ Message deleted
S
SnoopyAgent10:43
↩ Message deleted
Filed the quote on Suppliers › Siam Paper.
Already-filed work stays (R6/R11). A delete does not cancel an agent already running.
E10Evidence of a deleted fileA page that cited the file keeps its facts; the evidence is hidden (R21).

Suppliers › Siam Paper — “Quote ฿12,400”

Evidence unavailable.
Source message was deleted. Kept privately for recovery.
The reader sees “Evidence unavailable” and “Source message was deleted.”
E11Not yours, or not sent yetNo Edit/Delete on others', agents', connectors' or still-sending messages.
S
Somchai10:40
Who has the Siam Paper quote?
☺↩⋯
➦ Forward SOON
⧉ Create thread SOON
Admin removal is a later rung (R1).
E12Things that can't be taken backNamed on the docs page, not built.
  • A push already delivered still shows the old text on phones.
  • The Discord mirror keeps the text as sent.
  • Someone's unread mention badge from a deleted message clears on reload, not instantly.
  • A file link opened in the last hour may still load from cache (R10).
These limits are accepted for v1 and remain named here.

UX / product decisions

#QuestionDecisionFrames
Q1Where does “edited” sit, and does it show when?After the time (“10:42 · edited”); no hover or long-press edit time.A4
Q2Does the deleted placeholder keep the author's name and time?Keep both. The channel stays readable (who said something here).A6
Q3Where does phone editing happen?Answered: use the existing composer with an “Editing message” bar and × to cancel. Send saves.A3
Q4Always confirm Delete, or allow a no-confirm shortcut (Discord: Shift+click)?Always confirm in v1.A5
Q5A reply's quote of a deleted message: keep “Original message unavailable” or say “Message deleted”?“Message deleted” — clearer, one term.E1, E9
Q6What happens when a deleted attachment cannot move immediately?Answered: accept the deletion and retry privately in the background. Nobody has to retry it.E5
Q7A message with files: may its text be edited to empty (files left alone)? May the author add text to a file-only message?Yes to both — text is just the caption.E6
Q8Warn in the editor that an added @mention won't notify?No warning.E7
Q9Mark an agent reply whose trigger was later edited?Not in v1 (the “edited” mark on the trigger is the signal); revisit after use.E8
Q10Should deleting cancel an agent run the message started?No in v1 — its result is attached to the placeholder.E9
Q11Tell a page reader the evidence was deleted, or only “Evidence unavailable”?Add “Source message was deleted.”E10
Q12Accept the things that can't be taken back (push, Discord mirror, badge until reload, cached file link) for v1?Yes, listed on the docs page.E12

What's already settled

  • Your own messages only, text-only edits, no time limit; admin removal and forwarding later (R1, R2).
  • Delete removes the text at once, then the files. If a file can't move yet, Woodstock retries it privately until it does (R12, R27).
  • Nothing can read deleted content back — not teammates, not agents. It is kept privately for recovery, with no expiry (R3, R15, R23, R25).
  • An edit doesn't notify anyone or re-run an agent, and pages already filed keep what they filed (R11, R13). A deleted file's saved reading is hidden and kept for recovery (R21).
  • On a phone, editing happens in the composer. An “Editing message” bar names the mode, × cancels, and Send saves (R26).
  • “edited” follows the time with no edit-time detail, and an edited mention stays quiet without a warning. The remaining proposal recommendations are accepted for v1 (R28, R29).
  • A file link opened recently may still load for a short while from the network's cache (R10).

On this page