feat: add home screen long-press shortcuts via expo-quick-actions#6001
feat: add home screen long-press shortcuts via expo-quick-actions#6001
Conversation
Help users about to uninstall Edge recover their accounts: add a warning shortcut linking to the "save 2FA & credentials before uninstalling" support article, and a direct "Contact Support" link. Use expo-quick-actions so titles/subtitles flow through lstrings and Crowdin instead of duplicating translations across 12 locales of InfoPlist.strings and values-*/strings.xml. Shortcuts are registered dynamically in JS, which means they only appear after the first app launch post-install — acceptable since the audience is established users considering uninstall, not fresh installs. The `import 'expo-modules-core'` side effect in index.ts is non- obvious but required: expo-quick-actions reads globalThis.expo.modules.ExpoQuickActions at module-evaluation time, and that global is installed lazily by expo-modules-core's NativeModule/SharedObject/EventEmitter module imports. Without one of those evaluating first the global stays empty and every expo-quick-actions call silently no-ops, including setItems, so the shortcuts never appear.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 4bec8ad. Configure here.
| }), | ||
| params: { url: CONTACT_SUPPORT_URL } | ||
| } | ||
| ]).catch(showError) |
There was a problem hiding this comment.
Shorthand .catch(showError) loses stack traces
Low Severity
Both .catch(showError) calls (on QuickActions.setItems(…) and Linking.openURL(url)) use the shorthand form that loses the calling-site stack trace. The project convention (and other service files like Services.tsx and ContactsLoader.ts) consistently use .catch((error: unknown) => showError(error)) instead. This violates the preserve-stack-traces rule.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 4bec8ad. Configure here.


Help users about to uninstall Edge recover their accounts: add a warning shortcut linking to the "save 2FA & credentials before uninstalling" support article, and a direct "Contact Support" link.
Use expo-quick-actions so titles/subtitles flow through lstrings and Crowdin instead of duplicating translations across 12 locales of InfoPlist.strings and values-*/strings.xml. Shortcuts are registered dynamically in JS, which means they only appear after the first app launch post-install — acceptable since the audience is established users considering uninstall, not fresh installs.
The
import 'expo-modules-core'side effect in index.ts is non- obvious but required: expo-quick-actions readsglobalThis.expo.modules.ExpoQuickActions at module-evaluation time, and that global is installed lazily by expo-modules-core's NativeModule/SharedObject/EventEmitter module imports. Without one of those evaluating first the global stays empty and every expo-quick-actions call silently no-ops, including setItems, so the shortcuts never appear.
CHANGELOG
Does this branch warrant an entry to the CHANGELOG?
Dependencies
noneRequirements
If you have made any visual changes to the GUI. Make sure you have:
Note
Medium Risk
Moderate risk due to new native module dependency (
expo-quick-actions) and iOS pod changes, plus startup-side-effect initialization inindex.tsthat could impact app boot if misconfigured.Overview⚠️ Save 2FA First!" and "Contact Support") that open Edge support URLs.
Adds home screen long-press quick actions via
expo-quick-actions, registering two shortcuts ("Wires a new
QuickActionsManagerintoAppto set items on startup and handle shortcut activation, and adds anexpo-modules-coreside-effect import inindex.tsto ensure the module registry is initialized.Updates iOS pods (
ExpoQuickActions),package.json, lockfiles, localized strings, and theCHANGELOGentry to reflect the new shortcuts.Reviewed by Cursor Bugbot for commit 4bec8ad. Bugbot is set up for automated code reviews on this repo. Configure here.