feat(mobile): unarchive from the archived-thread row menu - #5658
feat(mobile): unarchive from the archived-thread row menu#5658sideeffffect wants to merge 1 commit into
Conversation
Archived rows only exposed Unarchive/Delete via swipe. Give them the same long-press context menu the active thread rows have, so both actions are reachable without discovering the swipe gesture. - Add an ARCHIVED_ROW_MENU_ACTIONS menu ([Unarchive, Delete]) wired through ControlPillMenu with shouldOpenOnLongPress, reusing the row's existing onUnarchive/onDelete handlers. - The row content becomes a Pressable so ControlPillMenu's onLongPress injection works on Android (iOS hosts the native context menu directly). Swipe actions are unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ApprovabilityVerdict: Approved 49846ab This PR adds a long-press context menu to archived thread rows, providing an alternative to swipe gestures for triggering existing unarchive/delete actions. The change is self-contained to one screen, uses existing components, and doesn't modify business logic. You can customize Macroscope's approvability policy. Learn more. |
|
Note 🤖 GPT-5.6 Sol responding on behalf of Theo Closing this PR after an automated pass over open pull requests. Mobile archived-thread rows already provide restore actions. |
What changed
Archived-thread rows previously exposed Unarchive / Delete only via a left swipe. This gives them the same long-press context menu the active thread rows already have, so both actions are discoverable without knowing the swipe gesture.
Why
The archive screen's only affordance for restoring or deleting a thread was a swipe, which isn't discoverable. Active thread rows have long offered a long-press menu; this brings archived rows to parity.
How
ARCHIVED_ROW_MENU_ACTIONS([Unarchive, Delete]) and wire it through the sharedControlPillMenuwithshouldOpenOnLongPress, reusing the row's existingonUnarchive/onDeletehandlers.PressablesoControlPillMenu'sonLongPressinjection works on Android (iOS hosts the native context menu directly). The existing swipe actions are unchanged.No server, contract, or shared-runtime changes.
Scope
Split out per request. Sibling PRs: Rename (#5648) and Regenerate title.
Testing
tsc --noEmit,vp fmt --check,vp lint: cleanScreenshots
No Android device/emulator available here for before/after images (per
CONTRIBUTING.md) — happy to add. The change adds a long-press menu (Unarchive / Delete) to rows on the Archived screen; the diff is mostly reindentation from the added wrapper.🤖 Generated with Claude Code
Note
Low Risk
Mobile-only UI parity in the archive list; no API or data-layer changes, and delete/unarchive still use existing callbacks.
Overview
Archived threads on ArchivedThreadsScreen now match active list rows: long-press opens Unarchive and Delete via
ControlPillMenuwithshouldOpenOnLongPress, reusing the same handlers as swipe actions.Row content is wrapped in a
Pressableso Android can receive the menu’s injectedonLongPress; left-swipe unarchive/delete behavior is unchanged.Reviewed by Cursor Bugbot for commit 49846ab. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add unarchive option to archived thread row long-press context menu
Wraps
ArchivedThreadRowin aControlPillMenuthat appears on long-press, offering 'Unarchive' and 'Delete' actions. Selecting an action invokes the existingonUnarchiveoronDeletehandlers. Regular tap behavior and swipe actions are unchanged.Macroscope summarized 49846ab.