Skip to content

chore(deps): bump fast-uri from 3.1.4 to 3.1.5 - #2

Merged
Mikhus merged 1 commit into
masterfrom
dependabot/npm_and_yarn/fast-uri-3.1.5
Aug 3, 2026
Merged

chore(deps): bump fast-uri from 3.1.4 to 3.1.5#2
Mikhus merged 1 commit into
masterfrom
dependabot/npm_and_yarn/fast-uri-3.1.5

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 3, 2026

Copy link
Copy Markdown
Contributor

Bumps fast-uri from 3.1.4 to 3.1.5.

Release notes

Sourced from fast-uri's releases.

v3.1.5

⚠️ Security Warning

Fix for GHSA-7p8r-x3mc-p8w7

Full Changelog: fastify/fast-uri@v3.1.4...v3.1.5

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually 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.

Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.4 to 3.1.5.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](fastify/fast-uri@v3.1.4...v3.1.5)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.5
  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 Aug 3, 2026
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying imqueue-org with  Cloudflare Pages  Cloudflare Pages

Latest commit: 656e5cc
Status: ✅  Deploy successful!
Preview URL: https://6a8dacb1.imqueue-org.pages.dev
Branch Preview URL: https://dependabot-npm-and-yarn-fast.imqueue-org.pages.dev

View logs

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying imqueue-com with  Cloudflare Pages  Cloudflare Pages

Latest commit: 656e5cc
Status: ✅  Deploy successful!
Preview URL: https://4941f019.imqueue-com.pages.dev
Branch Preview URL: https://dependabot-npm-and-yarn-fast.imqueue-com.pages.dev

View logs

@Mikhus
Mikhus merged commit dadc6d0 into master Aug 3, 2026
4 checks passed
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/fast-uri-3.1.5 branch August 3, 2026 20:00
Mikhus added a commit that referenced this pull request Aug 5, 2026
The corpus is built from the markdown mirrors, and the mirrors carry `# Title` plus a
Source/Published/Author block and nothing else — front matter is not in them by design. So
the two most deliberately curated relevance signals on this site were absent from its own
search: `description` was ignored in favour of each page's first paragraph, and `keywords`
was unused entirely. 186 curated phrases across 29 posts, 140 of which appear nowhere in
the indexed text.

The consequence, measured as the rank of the page each phrase was WRITTEN for:

  handle traffic spikes microservices   absent of 32  ->  #1
  nodejs backpressure microservices     absent of 32  ->  #5
  overload resilience                   absent        ->  #1
  message queue throughput              #32 of 134    ->  #3
  nodejs job queue                      #36 of 93     ->  #3
  imqueue benchmark                     #2 of 140     ->  #1

Weighted at 300 — BELOW emphasis — and scored on coverage alone: no density, no position,
no phrase bonus. A keyword list is a handful of comma-separated phrases, so
occurrences-per-token sits near 1.0 for anything that matches at all, and density would
rank by brevity while rewarding padding; order in a comma list means nothing, so position
would be noise.

That placement is the point rather than caution for its own sake. Google has ignored
<meta name="keywords"> since 2009 and Bing treats a stuffed one as a spam signal — because
neither can trust the author. A first-party index can: the author is the site. What does
not change is that a self-declared list is cheap to pad, so it sits under the signals that
cost something to fake, and check:search-ranking asserts "safeDelivery" still ranks the
symbol first — the failure mode meta keywords earned its reputation for is an identifier
query returning articles that merely list the identifier.

Plumbed through a build intermediate: src/search-frontmatter.11ty.js emits url ->
{description, keywords} and the generator reads it and DELETES it, so it never ships. A
template rather than a front-matter parse because mapping a source file back to its URL
means re-deriving permalink resolution, which Eleventy owns and which this repo has already
been bitten by duplicating; `item.url` cannot drift from what Eleventy published. Keyword
text also feeds the vocabulary, so inflections in a keyword list get lemmas like any other
word.

Tier 1 grows 65.2 -> 67.5 KB gz on org, 0.9 -> 1.1 on com.

One defect worth recording: the new record was first named `entry`, inside a loop whose
variable is the directory entry. Shadowing it in the same block is a temporal-dead-zone
error reported at the line ABOVE, which reads as readdir having failed.
Mikhus added a commit that referenced this pull request Aug 5, 2026
Element order is now URL > keywords > title > header > emphasis > body.

The URL leads because a path is two to four words and a human chose every one —
the argument that makes a title strong, applied to something terser. But only for
the words it ADDS. A blog slug is generated from the title, so
/blog/imqueue-vs-moleculer/ matching "imqueue" is the title matching twice; at the
top weight that would quietly mean "titles count double" and demote every other
element to pay for it. So urlScore splits: a term in the path AND the title is an
echo worth less than the title it repeats (110), a term in the path and NOT in the
title takes the top weight (480). /mcp/installation/ is titled "Add the MCP server
to Claude, Cursor & VS Code" — "installation" exists nowhere on that page but its
path, which is the case worth leading with.

The reported symptom had nothing to do with weight, though. urlScore required a
query term to EQUAL a path segment, so "installation mcp" ranked that page #1 and
"install mcp" could not find it at all — one element doing exact string equality
while every other element in the ranker matches substrings. A term is now credited
when it equals a segment, is its lemma, or is a prefix of it from 5 characters up.

keywords moves from 300 to 450, above title. At that weight the difference between
"one of my declared phrases IS what you typed" and "your words appear somewhere in
my list" is the whole value of the element, and without it the promotion did real
damage: four blog comparison pages whose lists merely contain "imqueue" pushed the
home page's own "What @imqueue is" heading from #1 to #9. A declared phrase now
takes the full 450, word overlap takes 270 — near where the element sat before.

/intro/ replaces / as the expected #1 for "what is imqueue", and it is a decision
rather than a drift: /intro/ declares that literal phrase in its keywords and its
title answers the question in a sentence. The home page is #2. The failure that
case was written for is guarded by the stopword and bagScore checks, not by which
of those two pages comes first.

covers() now sees the path for exactly the records urlScore will score, and not
for the API records it returns 0 on. Yesterday's bug was a floor rejecting what
the scorer would have ranked first; crediting a path the scorer ignores is the
same bug mirrored.

  how to install mcp     #5 -> #1
  install mcp            absent from the top -> #1
  what is imqueue        /intro/ #1, / #2 (was / #1, /intro/ #2)
  imqueue vs moleculer   its own article still #1 — no slug double count

Also fixes a stale comment: the keywords element claimed to sit "BELOW emphasis
deliberately" while its value was 300 and emphasis was 200.

Full suite green on both editions; six new ranking checks.
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.

1 participant