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

supabase / supabase-flutter / 27912358077
85%

Build:
DEFAULT BRANCH: main
Ran 21 Jun 2026 05:42PM 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:41PM UTC coverage: 85.174% (+0.003%) from 85.171%
27912358077

push

github

web-flow
chore(supabase_lints): enable prefer-correct-json-casts (#1430)

Stacked on #1429.

## What

Enables `prefer-correct-json-casts`, which warns that casting a decoded
value directly to a concrete generic type (e.g. `as List<Presence>`, `as
Map<String, String>`) can throw at runtime. The fix follows the rule's
recommendation: cast through a non-generic type first, then narrow the
elements.

- `functions_client`: `body as Map<String, String>?` -> `(body as
Map?)?.cast<String, String>()`
- `realtime_client` presence payloads
(`RealtimePresenceJoinPayload`/`LeavePayload.fromJson`):
`json['newPresences'] as List<Presence>` -> `(json['newPresences'] as
List).cast()` (the element type is inferred from the constructor
parameter, so no explicit `<Presence>` to keep
`avoid-inferrable-type-arguments` happy).

## Behavior-preserving

These are not bug fixes, just safer casts:
- The presence lists are built client-side as `List<Presence>` (via
`RealtimePresence._transformState`; `state` is `Map<String,
List<Presence>>`), so the original cast worked at runtime; `.cast()`
preserves that.
- The functions `body` is asserted to be a `Map<String, String>` (or
null) just above.

## Verification
- `dcm analyze packages` -> no issues found.
- `dart analyze` clean (lib + test) for functions_client and
realtime_client.
- Tests: functions_client 36 pass, realtime_client
(channel/socket/mock/transformers) 101 pass.

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

4079 of 4789 relevant lines covered (85.17%)

3.49 hits per line

Jobs
ID Job ID Ran Files Coverage
1 yet_another_json_isolate - 27912358077.1 21 Jun 2026 05:42PM UTC 1
79.03
GitHub Action Run
2 postgrest - 27912358077.2 21 Jun 2026 05:44PM UTC 9
83.76
GitHub Action Run
3 realtime_client - 27912358077.3 21 Jun 2026 05:45PM UTC 11
88.15
GitHub Action Run
4 gotrue - 27912358077.4 21 Jun 2026 05:45PM UTC 26
83.53
GitHub Action Run
5 functions_client - 27912358077.5 21 Jun 2026 05:42PM UTC 2
97.14
GitHub Action Run
6 storage_client - 27912358077.6 21 Jun 2026 05:44PM UTC 5
93.01
GitHub Action Run
7 supabase_flutter - 27912358077.7 21 Jun 2026 05:44PM UTC 9
77.0
GitHub Action Run
8 supabase - 27912358077.8 21 Jun 2026 05:43PM UTC 15
82.1
GitHub Action Run
Source Files on build 27912358077
  • Tree
  • List 78
  • Changed 2
  • Source Changed 2
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27912358077
  • ad755725 on github
  • Prev Build on main (#27911656760)
  • Next Build on main (#27912627757)
  • 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