-
Notifications
You must be signed in to change notification settings - Fork 68
Add camera-permission-denied handling to the access-scanner screen #233
Copy link
Copy link
Open
Labels
GrantFox OSSGrantFox Open Source Sponsorship program tagGrantFox Open Source Sponsorship program tagMaybe RewardedIssue may qualify for a reward upon successful completion per campaign rulesIssue may qualify for a reward upon successful completion per campaign rulesOfficial Campaign | FWC26Official FWC26 campaign issue — eligible for campaign scoring and rewardsOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsUI/UXUser interface or user experience improvements and design workUser interface or user experience improvements and design workbugConfirmed defect or incorrect behavior that needs to be fixedConfirmed defect or incorrect behavior that needs to be fixedintermediateIntermediate difficulty tasks requiring solid experience and some contextIntermediate difficulty tasks requiring solid experience and some context
Description
Activity
Metadata
Metadata
Assignees
Labels
GrantFox OSSGrantFox Open Source Sponsorship program tagGrantFox Open Source Sponsorship program tagMaybe RewardedIssue may qualify for a reward upon successful completion per campaign rulesIssue may qualify for a reward upon successful completion per campaign rulesOfficial Campaign | FWC26Official FWC26 campaign issue — eligible for campaign scoring and rewardsOfficial FWC26 campaign issue — eligible for campaign scoring and rewardsUI/UXUser interface or user experience improvements and design workUser interface or user experience improvements and design workbugConfirmed defect or incorrect behavior that needs to be fixedConfirmed defect or incorrect behavior that needs to be fixedintermediateIntermediate difficulty tasks requiring solid experience and some contextIntermediate difficulty tasks requiring solid experience and some context
Difficulty: Intermediate
Type: bug
Background
app/access-scanner.tsximplements the QR code scanner screen usingexpo-camera, which requires runtime camera permission on both iOS and Android.Problem
It's not clear the scanner screen handles the case where the user denies camera permission (or has previously denied it at the OS level) — a bare
expo-cameraintegration without explicit handling typically shows a blank/broken preview instead of clear guidance.Expected outcome
When camera permission is denied,
access-scanner.tsxshows a clear explanation of why the permission is needed, a button to re-prompt (if the OS allows re-prompting) or deep-link to the device's app settings (if permanently denied), and a way to navigate back without being stuck on a broken screen.Suggested implementation
expo-camera's permission hook to check current status (granted,denied,undetermined) on screen focus.undetermined, prompt for permission with a short rationale beforehand.denied(especially permanently denied on iOS), show a message with a button linking to system settings (Linking.openSettings()).Acceptance criteria
Likely affected files/directories
app/access-scanner.tsx