Skip to content

chore(deps-dev): bump fast-uri from 3.1.0 to 3.1.2#4

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/fast-uri-3.1.2
Open

chore(deps-dev): bump fast-uri from 3.1.0 to 3.1.2#4
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/fast-uri-3.1.2

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github May 9, 2026

Copy link
Copy Markdown

Bumps fast-uri from 3.1.0 to 3.1.2.

Release notes

Sourced from fast-uri's releases.

v3.1.2

⚠️ Security Release

What's Changed

Full Changelog: fastify/fast-uri@v3.1.1...v3.1.2

v3.1.1

⚠️ Security Release

What's Changed

New Contributors

Full Changelog: fastify/fast-uri@v3.1.0...v3.1.1

Commits
  • 919dd8e Bumped v3.1.2
  • c65ba57 fixup: linting
  • 6c86c17 Merge commit from fork
  • a95158a Handle malformed fragment decoding without throwing (#171)
  • cea547c Bumped v3.1.1
  • 876ce79 Merge commit from fork
  • dcdf690 ci: add lock-threads workflow (#169)
  • c860e65 build(deps-dev): bump neostandard from 0.12.2 to 0.13.0 (#167)
  • 9b4c6dc build(deps): bump fastify/workflows/.github/workflows/plugins-ci.yml (#166)
  • 85d09a9 build(deps): bump fastify/workflows/.github/workflows/plugins-ci-package-mana...
  • Additional commits viewable in compare view

Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.0 to 3.1.2.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](fastify/fast-uri@v3.1.0...v3.1.2)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels May 9, 2026
jeswr added a commit that referenced this pull request Jun 21, 2026
…-inject, cache best-effort, byte purge, HEAD body

roborev (codex) found 5 real issues unit tests missed on feat/phase-1-shared-replica.
All fixed, with adversarial tests.

High #1 — global-fetch over-divert broke non-pod web traffic. The inject diverted
EVERY cross-origin http(s) fetch into the gated path, so an app's calls to third-party
APIs/CDNs were DENIED (403) as unauthenticated. Decision (option b — keep the inject
DUMB, the SW the boundary): the inject routes everything but marks the request
`autoDivert: true`; the SW NATIVE-PASSES-THROUGH (plain unauthenticated fetch, no token,
no replica) for any non-ALLOW gate decision instead of a 403, so normal web traffic is
never broken and access can never widen (a native fetch carries no credential). The
credential/replica path is taken ONLY on an explicit gate ALLOW (known pod origin from a
granted requesting origin). An explicit window.solid.fetch (autoDivert false) keeps the
403. Applied at every SW exit: gate deny, forbidden/opaque origin, and no-session.

Medium #2 — double injection. inject.js was BOTH manifest-declared and dynamically
registered → could run twice and throw on the configurable:false defineProperty. Removed
the manifest MAIN-world declaration (dynamic registerContentScripts is now the single
path) AND added a `window.__solidInjected`/`'solid' in window` idempotency guard so a
double-run is an inert no-op regardless.

Medium #3 — a non-cacheable 2xx (206 / Vary:*) broke the request when cache.put
rejected. Caching is now best-effort: cache.put + metadata write are wrapped in try/catch,
the live response is cloned up-front and returned regardless of persist failure.

Medium #4 (privacy) — the null-WebID logout purge cleared metadata but left CacheStorage
bytes. Added cache-key enumeration (ReplicaByteCache.keys(), defaulting to cache.keys());
the null purge now deletes all replica byte entries, so bytes + metadata + nonces are all
gone on an unknown-prior logout/reset.

Low #5 — HEAD returned a body (the cached GET body on a 304, or a pod's stray HEAD body).
A HEAD response is now body-stripped on every served path (304 cache hit, live egress) in
the replica and in the SW relay.

Tests: +23 cases across replica/SW + a new test/inject.test.ts (8 cases, fresh-JSDOM-per-
test, no new dep — local test/jsdom.d.ts ambient). Gate green: lint + typecheck + 262
tests + build.

Model: claude-opus-4-8
Provenance: Opus 4.8 (Fable unavailable) — re-review/upgrade candidate
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants