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

supabase / supabase-swift / 32382559617
87%

Build:
DEFAULT BRANCH: main
Ran 20 Aug 2026 02:53PM UTC
Jobs 1
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

20 Aug 2026 02:50PM UTC coverage: 87.109% (+0.007%) from 87.102%
32382559617

push

github

web-flow
refactor(storage)!: make Storage client types stateless structs (#1246)

* refactor(storage)!: make Storage client types stateless structs

StorageApi, StorageBucketApi, StorageFileApi, and SupabaseStorageClient
convert from a LockIsolated-backed class hierarchy to immutable structs
composing a StorageApi value, mirroring the prior FunctionsClient
conversion (#1233). setHeader on StorageApi and StorageFileApi is now
non-mutating and returns a new instance instead of mutating in place.

Bucket-management operations move from the deleted StorageBucketApi
class into a SupabaseStorageClient extension in
SupabaseStorageClient+Buckets.swift.

* fix(storage): restore public configuration access on SupabaseStorageClient/StorageFileApi

The stateless-struct refactor made SupabaseStorageClient.configuration and
StorageFileApi.configuration unreachable without @testable import, an extra
undocumented breaking change beyond the refactor's scope since configuration
was public on the original class hierarchy. Add forwarding computed
properties on both types and drop the now-unnecessary .api. test workarounds.

* fix(storage): restore SupabaseStorageClient.setHeader

The composition-based refactor dropped setHeader(_:forKey:) from
SupabaseStorageClient, which previously inherited it transitively
through StorageBucketApi -> StorageApi. Restore it as a public,
non-mutating method forwarding to the held StorageApi, matching the
same pattern already used for the restored configuration property.

* refactor(supabase): stop memoizing SupabaseClient.storage

* docs: add V3_MIGRATION.md entry for Storage stateless-struct refactor

* docs(storage): explain Why for the stateless-struct refactor

Add a concrete "Why" to the V3_MIGRATION.md struct-conversion section:
the old SupabaseStorageClient.from(_:) built each StorageFileApi from
the immutable configuration alone, never the live header state
setHeader(_:forKey:) mutated, so a header set via setHeader silently
never reached... (continued)

86 of 87 new or added lines in 5 files covered. (98.85%)

9062 of 10403 relevant lines covered (87.11%)

162.5 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
88.89
6.54% Sources/Storage/SupabaseStorage.swift
Jobs
ID Job ID Ran Files Coverage
1 32382559617.1 20 Aug 2026 02:53PM UTC 104
87.11
GitHub Action Run
Source Files on build 32382559617
  • Tree
  • List 104
  • Changed 5
  • Source Changed 5
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #32382559617
  • 1dac92df on github
  • Prev Build on main (#32359048881)
  • Next Build on main (#32405314288)
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