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

medplum / medplum / 30318418909
92%
main: 92%

Build:
Build:
LAST BUILD BRANCH: noah/storybook-package
DEFAULT BRANCH: main
Ran 28 Jul 2026 01:16AM UTC
Jobs 1
Files 847
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

28 Jul 2026 12:48AM UTC coverage: 91.982%. Remained the same
30318418909

push

github

web-flow
fix(core): keep UUID values whole when parsing _filter expressions (#9977)

* fix(core): keep UUID values whole when parsing _filter expressions

A `_filter` value that starts with digits followed by "-" was tokenized as a
date literal, so a UUID whose first group is all digits (about 2.3% of random
UUIDs) was truncated at the first letter: `12345678-1234-4123-8123-123456789abc`
became `12345678-1234-4`. The filter parser then silently discarded the leftover
tokens, dropping the rest of the expression.

On the server this made `getSubscriptions` search for the nil UUID project
instead of `_project eq <projectId> or _project pr false`, so no subscription
matched at all -- not the server-scoped one and not the project-scoped one. That
is the intermittent failure in the "Server-scoped subscription fires across
projects when enabled" test: it depended on the randomly generated project
UUID. Reproduced at ~2.5% of iterations before this change, 0 of 800 after.

Only take the dateTime path when the token actually looks like a date, and
otherwise fall back to the string handling already used when digits are followed
by a letter. `dateTimeLiterals` is enabled only by the `_filter` tokenizer.

Signed-off-by: Derrick Farris <derrick@medplum.com>

* fix(core): end unquoted _filter values at token boundaries

Two problems with unquoted values that begin with digits, such as UUIDs:

The fallback that handles them consumed characters up to the next space, so a
value at the end of a nested expression swallowed the closing parenthesis:
`(_id eq 6783655a-6431-4baa-9243-914efcd984da)` failed to parse at all. Consume
up to the first character that cannot be part of a token instead, per the
tokenizer's own `symbolRegex` -- whitespace, ")" and "]" for `_filter`.

`parseFilterParameter` also returned whatever it managed to parse and discarded
the remaining tokens. That is what made the truncated UUID in the previous commit
silently search for the wrong thing rather than re... (continued)

22640 of 25721 branches covered (88.02%)

Branch coverage included in aggregate %.

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

40191 of 42587 relevant lines covered (94.37%)

12255.61 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30318418909.1 28 Jul 2026 01:16AM UTC 847
91.98
GitHub Action Run
Source Files on build 30318418909
  • Tree
  • List 847
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30318418909
  • bc948f56 on github
  • Prev Build on gh-readonly-queue/main/pr-9872-783d190e3c48c778b8ceed0c12491c1b641eb5ad (#30318366797)
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