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

supabase / supabase-flutter / 27911656760
85%

Build:
DEFAULT BRANCH: main
Ran 21 Jun 2026 05:14PM UTC
Jobs 8
Files 78
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

21 Jun 2026 05:13PM UTC coverage: 85.171%. Remained the same
27911656760

push

github

web-flow
chore(supabase_lints): enable avoid-unnecessary-nullable return-type & parameters (#1429)

Stacked on #1427.

## What

Enables `avoid-unnecessary-nullable-return-type` and
`avoid-unnecessary-nullable-parameters`. Per the v3 split in #1428, this
PR only does the **non-breaking** fixes; genuinely breaking changes stay
deferred to v3.

### Fixed (9 sites, all non-breaking / internal)
- `storage_client` `_parseMediaType` -> returns non-null `MediaType`
(`MediaType.parse` never returns null).
- `supabase_flutter` `_widgetsBindingInstance` -> non-null
`WidgetsBinding`; the two callers drop the now-redundant `?.` (modern
Flutter's `WidgetsBinding.instance` is non-null).
- `supabase` `_initSupabaseAuthClient` -> `required bool
autoRefreshToken` (the sole caller always passes
`AuthClientOptions.autoRefreshToken`, a non-null `bool`).
- `supabase` + `supabase_flutter` `platform_io.dart`: `condPlatform` /
`condPlatformVersion` / `condRuntimeVersion` -> non-null. The IO
implementation never returns null; the conditional-import stub stays
nullable (web can be null), and the public `Constants.platform` is
unchanged (`String?`).

### Inline ignores (2 — nullability is required, not unnecessary)
- `supabase_flutter` `local_storage_stub.accessToken`: the throw-stub
must keep `String?` to match the web implementation
(`localStorage.getItem` is nullable).
- `postgrest` `_copyWithType`'s `headers` parameter: relies on `null`
(the default) to fall back to `?? _headers`; making it non-null would
change behavior.

## Verification
- `dcm analyze packages` -> no issues found (including no
unused-ignores).
- `dart analyze` clean (lib + test) across packages; `flutter analyze
--fatal-warnings` clean.
- Tests: supabase 83 pass, supabase_flutter 49 pass. (One mock-server
stream test flaked on a 30s timeout once, passed on re-run; the
platform-metadata test exercising the `platform_io` change passes.)

## Note
The genuinely breaking nullable-related changes are tracked in #1428
(ad... (continued)

10 of 10 new or added lines in 4 files covered. (100.0%)

4078 of 4788 relevant lines covered (85.17%)

3.49 hits per line

Jobs
ID Job ID Ran Files Coverage
1 storage_client - 27911656760.1 21 Jun 2026 05:16PM UTC 5
93.01
GitHub Action Run
2 functions_client - 27911656760.2 21 Jun 2026 05:14PM UTC 2
97.1
GitHub Action Run
3 yet_another_json_isolate - 27911656760.3 21 Jun 2026 05:14PM UTC 1
79.03
GitHub Action Run
4 supabase - 27911656760.4 21 Jun 2026 05:15PM UTC 15
82.1
GitHub Action Run
5 supabase_flutter - 27911656760.5 21 Jun 2026 05:16PM UTC 9
77.0
GitHub Action Run
6 postgrest - 27911656760.6 21 Jun 2026 05:16PM UTC 9
83.76
GitHub Action Run
7 gotrue - 27911656760.7 21 Jun 2026 05:17PM UTC 26
83.53
GitHub Action Run
8 realtime_client - 27911656760.8 21 Jun 2026 05:17PM UTC 11
88.15
GitHub Action Run
Source Files on build 27911656760
  • Tree
  • List 78
  • Changed 6
  • Source Changed 6
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27911656760
  • 6b753616 on github
  • Prev Build on main (#27911371337)
  • Next Build on main (#27912358077)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc