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

supabase / supabase-flutter / 28287837914
86%

Build:
DEFAULT BRANCH: main
Ran 27 Jun 2026 11:29AM UTC
Jobs 8
Files 80
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

27 Jun 2026 11:28AM UTC coverage: 85.649% (+0.009%) from 85.64%
28287837914

push

github

web-flow
fix(postgrest): escape quotes and backslashes in list filter values (#1481)

## What

List filter values are now backslash-escaped before being quoted, so
values containing `"` or `\` produce well-formed PostgREST filters
instead of malformed ones.

## Why

`_cleanFilterArray` quoted each non-numeric element without escaping:

```dart
return filter.map((s) => '"$s"').join(',');
```

So `inFilter('name', ['a"b'])` generated `in.("a"b")`. PostgREST treats
the inner `"` as the end of the quoted element, so the filter is
mis-parsed and the query silently returns wrong results (or errors). The
same helper backs list `eq`/`neq`, `contains`/`containedBy`/`overlaps`,
`not`, and rpc array arguments, so all of them are affected.

The fix escapes `\` and `"` within each element, matching
PostgREST/PostgreSQL array-literal quoting:

```dart
final escaped = '$s'.replaceAll(r'\', r'\\').replaceAll('"', r'\"');
return '"$escaped"';
```

## Not a breaking change

Values without `"` or `\` are unaffected — the escaping is a no-op for
them, so existing valid filters generate identical query strings. Only
values that are currently broken change.

## Tests

Added `packages/postgrest/test/filter_escape_test.dart`:
`inFilter('name', [r'a"b\c'])` with a capturing mock client, asserting
the generated query is `in.("a\"b\\c")`. Without the fix it's the
malformed `in.("a"b\c")`.

4 of 4 new or added lines in 1 file covered. (100.0%)

4124 of 4815 relevant lines covered (85.65%)

3.72 hits per line

Jobs
ID Job ID Ran Files Coverage
6 postgrest - 28287837914.6 27 Jun 2026 11:31AM UTC 9
84.38
GitHub Action Run
7 supabase_flutter - 28287837914.7 27 Jun 2026 11:30AM UTC 11
77.99
GitHub Action Run
8 supabase - 28287837914.8 27 Jun 2026 11:29AM UTC 15
81.99
GitHub Action Run
4 functions_client - 27986095786.4 22 Jun 2026 09:45PM UTC 2
97.14
GitHub Action Run
7 yet_another_json_isolate - 27986095786.7 22 Jun 2026 09:45PM UTC 1
79.03
GitHub Action Run
8 gotrue - 28245085940.8 26 Jun 2026 02:42PM UTC 26
84.31
GitHub Action Run
6 realtime_client - 28254051980.6 26 Jun 2026 05:25PM UTC 11
88.56
GitHub Action Run
5 storage_client - 28160249676.5 25 Jun 2026 09:26AM UTC 5
92.97
GitHub Action Run
Source Files on build 28287837914
  • Tree
  • List 80
  • Changed 4
  • Source Changed 4
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28287837914
  • 66e4d139 on github
  • Prev Build on main (#28278469437)
  • 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