You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the native SwiftUI thread list, both the swipe action and row menu call deleteThread immediately. A stray destructive action permanently removes the thread without a confirmation step.
This is particularly risky beside reversible lifecycle actions such as Settle, Archive, Snooze, and Unpin.
Proposed behavior
Route every thread-list Delete entry point through one confirmation alert.
Name the thread in the alert when its title is available.
Keep Cancel as the default action and Delete as a destructive action.
Perform the existing deletion only after explicit confirmation.
Do not change archive, settle, snooze, pin, or server deletion semantics.
Scope
The existing owner is apps/swift-ios/Features/Workspace/WorkspaceView.swift; no protocol or server change is required.
Acceptance
Swipe/menu Delete opens a confirmation instead of deleting immediately.
Cancel leaves the thread untouched.
Confirm invokes deletion for the intended thread exactly once.
This discussion was converted from issue #6106 on August 15, 2026 10:02.
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Problem
In the native SwiftUI thread list, both the swipe action and row menu call
deleteThreadimmediately. A stray destructive action permanently removes the thread without a confirmation step.This is particularly risky beside reversible lifecycle actions such as Settle, Archive, Snooze, and Unpin.
Proposed behavior
Scope
The existing owner is
apps/swift-ios/Features/Workspace/WorkspaceView.swift; no protocol or server change is required.Acceptance
All reactions