Disable context menu during pending delete-for-all window#1430
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d2e2c86864
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…fining delete guard logic
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f742206961
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Codex Review: Didn't find any major issues. Keep them coming! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
What Changed
This PR reuses the existing 15-second delete-for-all guard to temporarily disable context menu actions for any message while a delete-for-all request is pending.
ChatModal.isMessageInDeleteForAllGuardcentralizes the existing recent delete-for-all target check.Fixed Flow
Why
The short-term fix intentionally avoids adding pending transaction metadata or a longer delete lifecycle. It protects the common immediate race where a user deletes a message for everyone and quickly tries to interact with the same still-rendered message. Offline menu state remains a separate source of disabled state, so syncing the delete-for-all guard does not re-enable network-dependent actions while offline.
Validation
node --check app.jsgit diff --checkCloses #1407