Skip to content

🥅 app: handle and suppress expected errors#795

Merged
cruzdanilo merged 3 commits intomainfrom
catch
Feb 18, 2026
Merged

🥅 app: handle and suppress expected errors#795
cruzdanilo merged 3 commits intomainfrom
catch

Conversation

@cruzdanilo
Copy link
Member

@cruzdanilo cruzdanilo commented Feb 17, 2026


Open with Devin

Summary by CodeRabbit

  • Bug Fixes
    • Improved biometric authentication handling: clearer prompt when biometrics must be enabled and longer notification duration.
    • Ensured biometric checks occur before passkey fallback to prevent incorrect fallbacks.
    • Refined network error detection and classification, including suppression of expected network errors to reduce noise.
    • Updated cancellation messaging and shorter notification duration for generic authentication cancellations.

@changeset-bot
Copy link

changeset-bot bot commented Feb 17, 2026

🦋 Changeset detected

Latest commit: 1efacfa

The changes in this PR will be included in the next version bump.

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@gemini-code-assist
Copy link

Summary of Changes

Hello @cruzdanilo, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request refines the application's error handling capabilities, focusing on improving the user experience by intelligently classifying and suppressing expected errors. It specifically targets biometric authentication failures and various network connectivity issues, ensuring that users receive more precise feedback and that internal error reporting remains focused on actionable problems.

Highlights

  • Enhanced Biometric Error Handling: Improved the detection and handling of biometric-related errors during passkey authentication, specifically for cases where biometrics are not enabled or a pending request exists.
  • Network Error Classification: Introduced a new mechanism to classify various network errors (offline, timeout, TLS, lost connection) for more granular error reporting and suppression.
  • Suppression of Expected Errors: Expanded the logic to suppress expected network errors and certain passkey-related errors from being reported, leading to cleaner error logs and a better user experience.
  • Refactored Authentication Error Toasts: Adjusted the order and content of toast notifications for authentication errors, providing more specific feedback to users regarding biometric requirements versus general authentication cancellations.
Changelog
  • @exactly/mobile
    • handle biometric check before passkey fallback
    • fingerprint network errors
    • suppress expected network errors
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@coderabbitai
Copy link

coderabbitai bot commented Feb 17, 2026

No actionable comments were generated in the recent review. 🎉


Walkthrough

Adds three changeset entries and updates mobile error handling: introduces network-aware error classification/fingerprinting and a dedicated biometric error branch that changes toast messages/durations for biometric vs. generic authentication cancellations.

Changes

Cohort / File(s) Summary
Changeset Declarations
​.changeset/bright-dogs-handle.md, ​.changeset/bright-foxes-glow.md, ​.changeset/loose-geckos-change.md
Adds three patch-level changeset files for @exactly/mobile documenting biometric/passkey and network-related error handling updates.
Error classification & fingerprinting
src/utils/reportError.ts
Adds networkTypes and classifyNetwork(); extends classify logic to derive network- or biometric-based fingerprints and to mark network-related errors as expected; includes "Biometrics must be enabled" as a passkey biometric indicator. Review regexes, fingerprint precedence, and telemetry impact.
Biometric / auth error handling
src/utils/useAuth.ts
Reorders handleError branches: detects biometric errors first (error code ERR_BIOMETRIC or message contains "Biometrics must be enabled") and shows a longer biometric toast; generic auth cancellation handled separately with shorter toast. Verify UX/duration and side-effects of branch swap.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • dieguezguille
  • franm91
🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title '🥅 app: handle and suppress expected errors' is related to the changeset but uses an emoji and generic phrasing that doesn't clearly indicate the specific changes (biometric checks, network error classification, or passkey fallback handling).

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch catch

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sentry
Copy link

sentry bot commented Feb 17, 2026

Sentry Issue: EXA-1BZ

@sentry
Copy link

sentry bot commented Feb 17, 2026

Sentry Issue: EXA-1FC

chatgpt-codex-connector[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

gemini-code-assist[bot]

This comment was marked as resolved.

@sentry
Copy link

sentry bot commented Feb 17, 2026

Codecov Report

❌ Patch coverage is 70.37037% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 69.21%. Comparing base (017fa68) to head (1efacfa).
⚠️ Report is 3 commits behind head on main.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
src/utils/useAuth.ts 0.00% 6 Missing ⚠️
src/utils/reportError.ts 90.47% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #795      +/-   ##
==========================================
- Coverage   69.73%   69.21%   -0.53%     
==========================================
  Files         208      208              
  Lines        7455     7090     -365     
  Branches     2382     2255     -127     
==========================================
- Hits         5199     4907     -292     
+ Misses       2040     1999      -41     
+ Partials      216      184      -32     
Flag Coverage Δ
e2e 69.16% <70.37%> (+1.95%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

coderabbitai[bot]

This comment was marked as resolved.

chatgpt-codex-connector[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

@cruzdanilo cruzdanilo merged commit 1efacfa into main Feb 18, 2026
14 of 15 checks passed
@cruzdanilo cruzdanilo deleted the catch branch February 18, 2026 01:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant