Skip to content

fix(mobile): iOS trash now removes a persisted environment - #16

Draft
macodev00 wants to merge 16 commits into
mainfrom
cursor/fix-ios-environment-trash-27ef
Draft

macodev00 wants to merge 16 commits into
mainfrom
cursor/fix-ios-environment-trash-27ef

Conversation

@macodev00

@macodev00 macodev00 commented Sep 20, 2026 •

Copy link
Copy Markdown
Owner

The iOS Environments trash control did nothing for a saved direct environment. Settings is a nested form sheet, so Alert.alert never presented, and a missed list lookup swallowed the tap. A Keychain catalog write failure could also leave the row looking gone until relaunch.

Trash now always presents an in-tree confirm (FullWindowOverlay on iOS, even without a list label), removes the catalog target on confirm, and shows an error while keeping the row if SecureStore persist fails.

The confirm overlay root is VoiceOver-modal (accessibilityViewIsModal) and the two-finger Z escape gesture cancels, so destructive confirm cannot leak focus to controls behind it.

This is a fork-only branch for pingdotgg#12012. It is not opened against upstream.

Author: macodev00. Model: Cursor Grok 4.6. Harness: Cursor Cloud.

Open in Web Open in Cursor 

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L labels Sep 22, 2026
@cursor
cursor Bot force-pushed the cursor/fix-ios-environment-trash-27ef branch from 183173c to 31ec14e Compare September 22, 2026 06:40
@cursor

cursor Bot commented Sep 22, 2026

Copy link
Copy Markdown

@coderabbitai review

callmemorgan and others added 16 commits September 28, 2026 18:10
…ncy improvement (pingdotgg#13884)

Co-authored-by: GPT-6 Astra <noreply@openai.com>
… account registration (pingdotgg#14127)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Adds claude-sonnet-5-5 to the Claude catalog (reuses the sonnet-5 profile, requires Claude Code 2.1.284) and features it in currentModels. Sonnet 5 stays current.
…ingdotgg#13927)

Co-authored-by: UtkarshUsername <putkarsh184@gmail.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
…ingdotgg#8673)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
…tion (pingdotgg#13463)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>
… before submission (pingdotgg#12003)

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
…tgg#14103)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
…dotgg#14007)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Settings → Environments is a nested form sheet, so Alert.alert never
presented the remove confirm. Always show an in-tree confirm, surface
Keychain persist failures, and keep the catalog row if the write fails.

Co-authored-by: maco <macodev00@users.noreply.github.com>
CodeRabbit docstring coverage on the touched functions was 30%. Add
one-line TSDoc on each helper, hook, and dialog callback in the diff.

Co-authored-by: maco <macodev00@users.noreply.github.com>
FullWindowOverlay does not mark the confirm as modal, so VoiceOver can
reach controls behind a destructive dialog. Set accessibilityViewIsModal
and dismiss on the VoiceOver escape gesture.

Co-authored-by: maco <macodev00@users.noreply.github.com>
FullWindowOverlay's native container is a sibling of the React root, so
accessibilityViewIsModal on the dialog View cannot hide Settings. Mark
the overlay container modal and dismiss on the VoiceOver escape gesture.

Co-authored-by: maco <macodev00@users.noreply.github.com>
@cursor
cursor Bot force-pushed the cursor/fix-ios-environment-trash-27ef branch from 31ec14e to 8bb5037 Compare September 29, 2026 06:26
@github-actions github-actions Bot added size:XXL and removed size:L labels Sep 29, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.