Skip to content

fix: ScriptLoadingIndicator style binding typo#801

Closed
harlan-zw wants to merge 4 commits into
mainfrom
fix/loading-indicator-style-binding
Closed

fix: ScriptLoadingIndicator style binding typo#801
harlan-zw wants to merge 4 commits into
mainfrom
fix/loading-indicator-style-binding

Conversation

@harlan-zw
Copy link
Copy Markdown
Collaborator

@harlan-zw harlan-zw commented May 27, 2026

🔗 Linked issue

Related to a11y audit follow-up from #798

❓ Type of change

  • 📖 Documentation
  • 🐞 Bug fix
  • 👌 Enhancement
  • ✨ New feature
  • 🧹 Chore
  • ⚠️ Breaking change

📚 Description

ScriptLoadingIndicator used :styles="styles" instead of :style="styles". :styles is not a Vue directive, so the computed width/height was silently dropped and the size prop was a no-op. One-character fix.

harlan-zw added 2 commits May 27, 2026 15:25
The script stats pages on scripts.nuxt.com count active hardware
fingerprinting APIs (X Pixel: 4, Clarity: 5), but the first-party
guide and v1 release notes were citing the wider entropy-weighted
set (9 and 10). Use the stats-page numbers so both pages agree.
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 27, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
scripts-playground Ready Ready Preview, Comment May 27, 2026 7:22am

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented May 27, 2026

Open in StackBlitz

npm i https://pkg.pr.new/@nuxt/scripts@801

commit: e074b42

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 27, 2026

Review Change Stack

📝 Walkthrough

Walkthrough

This PR makes three focused updates: it revises fingerprinting API metrics in two documentation files (guide and release notes), reducing stated counts for X Pixel and Microsoft Clarity intrusions, and it fixes an invalid Vue template binding in ScriptLoadingIndicator by correcting :styles to :style.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'fix: ScriptLoadingIndicator style binding typo' accurately describes the primary change: fixing a Vue attribute binding error in ScriptLoadingIndicator.vue.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The PR description clearly and directly relates to the primary changeset - fixing a Vue directive typo in ScriptLoadingIndicator.vue.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/loading-indicator-style-binding

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
docs/content/docs/5.releases/1.v1.md (1)

14-14: ⚠️ Potential issue | 🟡 Minor

Same metric revision concern applies here.

The fingerprinting API counts match the changes in first-party.md (X Pixel 4 APIs, Microsoft Clarity 5 APIs), maintaining consistency across documentation. However, the same verification concern applies: please confirm these reduced metrics are accurate before release.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/content/docs/5.releases/1.v1.md` at line 14, The document's
fingerprinting API counts need verification and potential update: review the
sentence that states "X Pixel accesses 4 browser fingerprinting APIs (including
`navigator.getBattery()`), sets 5 tracking cookies, and makes requests to 3
separate domains" and the clause "Microsoft Clarity reads 5 fingerprinting APIs"
in 1.v1.md, confirm the reduced API counts against the source data used for
first-party.md, and if they are inaccurate update those numeric values (and any
parenthetical examples like `navigator.getBattery()`) to match the verified
counts so the documentation is consistent.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/content/docs/1.guides/2.first-party.md`:
- Line 8: Update the two occurrences of the fingerprinting API counts (the X
Pixel “4 browser fingerprinting APIs” and Microsoft Clarity “5 fingerprinting
APIs”) to include direct sources: add an inline reference/link to the
::script-stats section of the X Pixel script doc (x-pixel.md) next to the X
Pixel claim, and add a link to the corresponding Microsoft Clarity script page
or the specific e2e proxy snapshot(s) that enumerate accessed APIs next to the
Clarity claim; apply these source links in both the first-party guide and the v1
release note so readers can trace the exact measurement.

---

Duplicate comments:
In `@docs/content/docs/5.releases/1.v1.md`:
- Line 14: The document's fingerprinting API counts need verification and
potential update: review the sentence that states "X Pixel accesses 4 browser
fingerprinting APIs (including `navigator.getBattery()`), sets 5 tracking
cookies, and makes requests to 3 separate domains" and the clause "Microsoft
Clarity reads 5 fingerprinting APIs" in 1.v1.md, confirm the reduced API counts
against the source data used for first-party.md, and if they are inaccurate
update those numeric values (and any parenthetical examples like
`navigator.getBattery()`) to match the verified counts so the documentation is
consistent.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8f337c35-0eb0-4ec6-a4a4-3cc227041e7b

📥 Commits

Reviewing files that changed from the base of the PR and between af97164 and f6f4a13.

📒 Files selected for processing (3)
  • docs/content/docs/1.guides/2.first-party.md
  • docs/content/docs/5.releases/1.v1.md
  • packages/script/src/runtime/components/ScriptLoadingIndicator.vue

## The Problem

Every third-party script your site loads connects your users directly to external servers. Each request shares the user's IP address, and many scripts go further: the X Pixel accesses 9 browser fingerprinting APIs (including `navigator.getBattery()`{lang="ts"}), sets 5 tracking cookies (`muc_ads`, `guest_id_marketing`, `guest_id_ads`, `personalization_id`, `guest_id`), and phones home to 3 separate domains. Microsoft Clarity reads 10 fingerprinting APIs across 3 domains. Even Google Analytics at 154 KB sends data that can be correlated across sites.
Every third-party script your site loads connects your users directly to external servers. Each request shares the user's IP address, and many scripts go further: the X Pixel accesses 4 browser fingerprinting APIs (including `navigator.getBattery()`{lang="ts"}), sets 5 tracking cookies (`muc_ads`, `guest_id_marketing`, `guest_id_ads`, `personalization_id`, `guest_id`), and phones home to 3 separate domains. Microsoft Clarity reads 5 fingerprinting APIs across 3 domains. Even Google Analytics at 154 KB sends data that can be correlated across sites.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Check for any related test data, measurements, or references to these metrics

# Search for fingerprinting metric references and any test/measurement data
rg -n -C2 'fingerprinting.*API|getBattery|X Pixel|Microsoft Clarity' --type=md

# Look for any measurement scripts or test results
fd -e json -e yml -e yaml -e ts -e js | rg -i 'test|measure|fingerprint' | head -20

Repository: nuxt/scripts

Length of output: 6509


Add a source for the updated fingerprinting API counts (X Pixel=4, Microsoft Clarity=5).

The “4 browser fingerprinting APIs” (X Pixel) and “5 fingerprinting APIs” (Microsoft Clarity) claims in docs/content/docs/1.guides/2.first-party.md also appear in docs/content/docs/5.releases/1.v1.md, but there’s no link to the underlying measurement/derivation. Point to where these exact counts are computed (e.g., the ::script-stats on docs/content/scripts/x-pixel.md and the corresponding Microsoft Clarity script page, or the specific e2e proxy snapshot(s) that enumerate the accessed APIs).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/content/docs/1.guides/2.first-party.md` at line 8, Update the two
occurrences of the fingerprinting API counts (the X Pixel “4 browser
fingerprinting APIs” and Microsoft Clarity “5 fingerprinting APIs”) to include
direct sources: add an inline reference/link to the ::script-stats section of
the X Pixel script doc (x-pixel.md) next to the X Pixel claim, and add a link to
the corresponding Microsoft Clarity script page or the specific e2e proxy
snapshot(s) that enumerate accessed APIs next to the Clarity claim; apply these
source links in both the first-party guide and the v1 release note so readers
can trace the exact measurement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant