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

supabase / supabase-flutter / 32020042508
89%

Build:
DEFAULT BRANCH: main
Ran 17 Aug 2026 10:25AM UTC
Jobs 9
Files 104
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

17 Aug 2026 10:24AM UTC coverage: 88.28%. Remained the same
32020042508

push

github

web-flow
feat(functions)!: make FunctionException a sealed class (#1723)

## Description

Makes `FunctionException` a `sealed class` in
`packages/functions_client/lib/src/types.dart` so consumers can perform
compile-time checked exhaustive `switch` expressions over all Edge
Function failure modes:
- `FunctionsFetchException`: Network/transport error before reaching the
Edge Function.
- `FunctionsApiException` (formerly `FunctionsHttpException`, renamed in
#1712): Edge Function returned a non-2xx status code.
- `FunctionsRelayException`: Error returned by the Supabase relay
(`x-relay-error`).

Example:
```dart
try {
  await supabase.functions.invoke('hello');
} on FunctionException catch (error) {
  final message = switch (error) {
    FunctionsFetchException() => 'Network failure',
    FunctionsRelayException() => 'Relay error',
    FunctionsApiException()   => 'Function returned ${error.statusCode}',
  };
}
```

## Breaking Changes

`sealed` implies `abstract`, which means:
- External packages can no longer directly instantiate a bare
`FunctionException` (e.g. in tests/mocks) or subclass/implement it.
- Consumers should instantiate/match on one of the concrete subtypes
instead (`FunctionsFetchException`, `FunctionsApiException`,
`FunctionsRelayException`).

Documented in `MIGRATION.md`.

## Verification

- `melos analyze`: 0 issues across all 20 packages
- `melos format`: 0 files changed
- Unit tests: `functions_client` (51 tests) and `supabase` tests all
pass

Closes #1550

5747 of 6510 relevant lines covered (88.28%)

4.14 hits per line

Jobs
ID Job ID Ran Files Coverage
7 supabase - 32020042508.7 17 Aug 2026 10:29AM UTC 13
87.19
GitHub Action Run
8 supabase_flutter - 32020042508.8 17 Aug 2026 10:26AM UTC 10
81.87
GitHub Action Run
9 supabase_functions - 32020042508.9 17 Aug 2026 10:25AM UTC 3
97.75
GitHub Action Run
2 postgrest - 32019233882.2 17 Aug 2026 10:19AM UTC 10
85.46
GitHub Action Run
1 realtime_client - 32019233882.1 17 Aug 2026 10:19AM UTC 11
90.59
GitHub Action Run
9 storage_client - 32019233882.9 17 Aug 2026 10:19AM UTC 13
85.03
GitHub Action Run
3 supabase_common - 32019233882.3 17 Aug 2026 10:16AM UTC 16
99.48
GitHub Action Run
8 yet_another_json_isolate - 32019233882.8 17 Aug 2026 10:16AM UTC 1
94.44
GitHub Action Run
7 supabase_auth - 32019233882.7 17 Aug 2026 10:20AM UTC 27
89.75
GitHub Action Run
Source Files on build 32020042508
  • Tree
  • List 104
  • Changed 4
  • Source Changed 4
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #32020042508
  • cb128aaa on github
  • Prev Build on main (#32019233882)
  • Next Build on main (#32027545722)
  • 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