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

supabase / supabase-flutter / 32033193174
89%

Build:
DEFAULT BRANCH: main
Ran 17 Aug 2026 01:08PM UTC
Jobs 9
Files 106
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 01:05PM UTC coverage: 88.247% (-0.03%) from 88.28%
32033193174

push

github

web-flow
feat(storage)!: return the file id from upload and update methods (#1730)

## What kind of change does this PR introduce?

Feature (breaking change, part of v3, #1278).

Closes #1274

## What is the current behavior?

`upload`, `uploadBinary`, `update`, `updateBinary`, `uploadToSignedUrl`
and `uploadBinaryToSignedUrl` return a plain `String` key, so the id of
the created object is discarded even though the storage server has been
returning it since
[supabase/storage#332](https://github.com/supabase/storage/pull/332).

## What is the new behavior?

All six methods return an `UploadResponse` with:

- `id`: the identifier of the stored object (`null` for signed URL
uploads, where the server does not report it)
- `path`: the path of the object within the bucket
- `fullPath`: the path prefixed with the bucket id

This matches the `{ id, path, fullPath }` shape supabase-js returns from
its upload methods.

## Additional context

- The upload and update methods now normalize the object path the same
way the signed URL uploads already did (leading, trailing and duplicate
slashes are removed), matching supabase-js.
- The new `UploadResponse` symbols are registered in
`sdk-compliance.yaml`; the symbol, drift and schema checks pass locally.
- Unit tests and the storage integration suite pass against the local
stack, including a new assertion that the real server returns the id.

67 of 71 new or added lines in 3 files covered. (94.37%)

5759 of 6526 relevant lines covered (88.25%)

4.13 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
94.39
-1.76% packages/supabase_storage/lib/src/fetch.dart
2
98.74
-1.26% packages/supabase_storage/lib/src/types.dart
Jobs
ID Job ID Ran Files Coverage
7 supabase_flutter - 32033193174.7 17 Aug 2026 01:08PM UTC 10
81.87
GitHub Action Run
8 supabase - 32033193174.8 17 Aug 2026 01:11PM UTC 13
87.19
GitHub Action Run
9 supabase_storage - 32033193174.9 17 Aug 2026 01:09PM UTC 13
84.92
GitHub Action Run
6 supabase_common - 32029108065.6 17 Aug 2026 12:18PM UTC 16
99.48
GitHub Action Run
5 postgrest - 32029108065.5 17 Aug 2026 12:20PM UTC 10
85.46
GitHub Action Run
2 yet_another_json_isolate - 32029108065.2 17 Aug 2026 12:18PM UTC 1
94.44
GitHub Action Run
9 supabase_auth - 32032620092.9 17 Aug 2026 01:03PM UTC 28
89.75
GitHub Action Run
4 supabase_functions - 32032620092.4 17 Aug 2026 01:00PM UTC 3
97.75
GitHub Action Run
8 supabase_realtime - 32032620092.8 17 Aug 2026 01:03PM UTC 12
90.59
GitHub Action Run
Source Files on build 32033193174
  • Tree
  • List 106
  • Changed 11
  • Source Changed 11
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #32033193174
  • 39ccfca3 on github
  • Prev Build on main (#32032620092)
  • Next Build on main (#32034091672)
  • 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