• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / supabase-flutter / 36609100064
93%

Build:
DEFAULT BRANCH: main
Ran 29 Sep 2026 06:03PM UTC
Jobs 11
Files 171
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 Sep 2026 06:01PM UTC coverage: 91.228% (-0.006%) from 91.234%
36609100064

push

github

web-flow
fix(supabase_flutter): don't throw on deep links with malformed percent-encoding (#1898)

## What kind of change does this PR introduce?

Bug fix.

## What is the current behavior?

`SupabaseAuth._defaultIsAuthCallbackDeeplink` decodes every query and
fragment value with `uri.queryParameters` and `Uri.splitQueryString`.
Both throw `FormatException` when a value isn't valid percent-encoded
UTF-8, for example `myapp://callback/?code=%FF`. The check runs at the
top of `_handleDeeplink`, outside its `try` block, and the
incoming-links listener calls it with `unawaited`, so the error surfaces
as an uncaught async error for any deep link the app receives.

## What is the new behavior?

The default check reads only the parameter names, so a malformed value
can't make it throw. A link that carries one of the auth parameter names
is passed to `getSessionFromUrl`, and any failure there is reported by
the existing `try` block. Other links are ignored, as before. Behavior
for well-formed links is unchanged.

## Additional context

`test/deep_link_test.dart` has a new group that delivers three malformed
links (`?code=%FF`, `#access_token=%FF`, `#/route%C3`) through the
mocked app link channel. Each test fails on the previous code with an
uncaught `FormatException` and passes now. The rest of the
`supabase_flutter` test suite passes.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Malformed percent-encoded UTF-8 in authentication links is now handled
safely. Invalid links are ignored rather than triggering authentication
requests or creating a session.
* When session details are requested directly from a malformed callback
URL, a clear authentication error is returned.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Lukas Klingsbo <lukas.klingsbo@gmail.com>

19 of 19 new or added lines in 2 files covered. (100.0%)

1 existing line in 1 file now uncovered.

8798 of 9644 relevant lines covered (91.23%)

4.94 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
87.84
-0.09% packages/supabase_auth/lib/src/auth_client.dart
Jobs
ID Job ID Ran Files Coverage
3 postgrest - 36609100064.3 29 Sep 2026 06:08PM UTC 28
94.17
GitHub Action Run
4 supabase_flutter - 36609100064.4 29 Sep 2026 06:03PM UTC 14
78.61
GitHub Action Run
5 iceberg - 36609100064.5 29 Sep 2026 06:03PM UTC 6
68.52
GitHub Action Run
6 supabase_realtime - 36609100064.6 29 Sep 2026 06:06PM UTC 13
90.66
GitHub Action Run
7 supabase_functions - 36609100064.7 29 Sep 2026 06:03PM UTC 4
96.0
GitHub Action Run
8 supabase_auth - 36609100064.8 29 Sep 2026 06:06PM UTC 32
92.07
GitHub Action Run
9 supabase_storage - 36609100064.9 29 Sep 2026 06:05PM UTC 9
97.83
GitHub Action Run
10 supabase_typegen - 36609100064.10 29 Sep 2026 06:05PM UTC 24
95.57
GitHub Action Run
11 supabase - 36609100064.11 29 Sep 2026 06:06PM UTC 18
93.71
GitHub Action Run
8 supabase_common - 35998092270.8 24 Sep 2026 12:18PM UTC 22
87.5
GitHub Action Run
2 yet_another_json_isolate - 35608843571.2 21 Sep 2026 01:58PM UTC 1
98.44
GitHub Action Run
Source Files on build 36609100064
  • Tree
  • List 171
  • Changed 4
  • Source Changed 4
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #36609100064
  • ed23dea2 on github
  • Prev Build on main (#36606520173)
  • Next Build on main (#36693820421)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc