Skip to content

docs: Add Firefox Add-on support to homepage showcase#2208

Merged
aklinker1 merged 16 commits intowxt-dev:mainfrom
shadoath:sb/feat/firefox-submissions
Apr 13, 2026
Merged

docs: Add Firefox Add-on support to homepage showcase#2208
aklinker1 merged 16 commits intowxt-dev:mainfrom
shadoath:sb/feat/firefox-submissions

Conversation

@shadoath
Copy link
Copy Markdown
Contributor

@shadoath shadoath commented Mar 23, 2026

Summary

  • Add optional firefoxSlug to extension entries (Chrome-only, Firefox-only, or both)
  • Fetch Chrome and Firefox data in a single GraphQL request using the unified Extension type
  • Combine user counts into one number per card, with store links (Chrome, Firefox) in the footer

Screenshot

Screenshot 2026-04-12 at 8 33 58 AM

Allow extension entries to include a firefoxSlug alongside the Chrome ID,
rendering a "Firefox" badge that links to addons.mozilla.org.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@shadoath shadoath requested a review from aklinker1 as a code owner March 23, 2026 17:19
@netlify
Copy link
Copy Markdown

netlify bot commented Mar 23, 2026

Deploy Preview for creative-fairy-df92c4 ready!

Name Link
🔨 Latest commit a87ef07
🔍 Latest deploy log https://app.netlify.com/projects/creative-fairy-df92c4/deploys/69dc6eddb208e50008208eaf
😎 Deploy Preview https://deploy-preview-2208--creative-fairy-df92c4.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@InvictusNavarchus
Copy link
Copy Markdown
Contributor

I support the idea, since I also publish on Firefox Addons, but having Firefox URL optional while Chrome Extension URL required is still biased toward Chrome Extensions. What if you only publish the extension(s) on Firefox? You can't showcase it, then.

Due to smaller user base of Firefox, it actually serves as a great real testing ground with real users before finally deploying it to Chrome. So some people, including me, may publish it there first.

@shadoath
Copy link
Copy Markdown
Contributor Author

I'll make that update. Also going to scrap the extensions that are already there and add the firefox slug if I can find it.

@shadoath
Copy link
Copy Markdown
Contributor Author

Only used "K" and not "m" to give the number some weight, when it was 2,000k, it seemed more impressive than 2m. Also, this change helped the stats sit on a single line, making the display cleaner.

@shadoath
Copy link
Copy Markdown
Contributor Author

shadoath commented Apr 9, 2026

@aklinker1 what do you think about firefox addition?

@aklinker1
Copy link
Copy Markdown
Member

Reviewing this soon! Firefox is my daily driver, so I'm down to add this for sure.

@InvictusNavarchus
Copy link
Copy Markdown
Contributor

Only used "K" and not "m" to give the number some weight, when it was 2,000k, it seemed more impressive than 2m. Also, this change helped the stats sit on a single line, making the display cleaner.

Using the same logic, we can push it further by not doing any unit conversion at all, and let the raw count speak for itself (e.g., 200.000 users). This is currently the case for both Firefox Addons and Chrome Web Store. I'd suggest keeping it that way.

Also, this is an entirely a separate change unrelated to the main topic of this PR. I think it's better to propose this in a different PR

@aklinker1
Copy link
Copy Markdown
Member

aklinker1 commented Apr 11, 2026

If we want to shorten the numbers, we should use num.toLocaleString(undefined, { notation: "compact"}) and follow the locale's display preference. For me, that's 12345671.2M. I'm good with that or the full number. If we have room, I'd probably prefer the full number.

Maybe we combine the firefox and chrome stats into a single number and just add links to each of the stores? That would simplify the UI a bit and give us more room to show the full number.

Edit: Chrome reports a weekly user count vs Firefox's daily user count. The current PR ignores that, which is fine. It would also be fine to ignore the units when adding the two numbers together.

Copy link
Copy Markdown
Member

@aklinker1 aklinker1 left a comment

Choose a reason for hiding this comment

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

If you merge with main, the failing checks will pass and your PR will be deployed to preview.

Only real concern is around simplifying the data fetching by combining the firefox and chrome requests into a single graphql call. Then the whole UI could be simplified by combining the results into a single list of standardized objects before rendering them.

We should probably also add support for Edge, but I need to add that to the graphql API first as well. But ideally, this PR adds support for any number of extension stores in a generic way.

Comment thread docs/.vitepress/composables/useFirefoxAddonDetails.ts Outdated
Comment thread docs/.vitepress/components/UsingWxtSection.vue Outdated
shadoath and others added 3 commits April 11, 2026 23:28
Combine Chrome and Firefox data fetching into one GraphQL request using
the unified Extension type from queue.wxt.dev (v0.4.4). This addresses
PR review feedback:

- Delete useFirefoxAddonDetails.ts (separate Mozilla REST API calls)
- Update useListExtensionDetails.ts to query both chromeExtensions and
  firefoxAddons via a shared ExtensionData fragment
- Combine user counts into a single number per extension card
- Remove link from extension name; store links (Chrome, Firefox) now
  appear only in the footer row
- Use full locale-formatted numbers instead of custom K notation
- Generic stores array supports future store additions (e.g. Edge)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Re-add link on extension name (defaults to Chrome, falls back to Firefox)
- Fix Firefox data lookup by extracting slug from storeUrl since the
  GraphQL API returns numeric IDs, not slugs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@shadoath shadoath changed the title docs: Add optional Firefox Add-on links to homepage showcase docs: Add Firefox Add-on support to homepage showcase Apr 12, 2026
@shadoath
Copy link
Copy Markdown
Contributor Author

@InvictusNavarchus & @aklinker1. I took your comments into consideration and pushed up the simplified new version.

Let me know what you both think.

@shadoath shadoath requested a review from aklinker1 April 12, 2026 12:42
- Remove unused chromeToFirefox map
- Inline sort score instead of sortKey + strip pattern

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@shadoath
Copy link
Copy Markdown
Contributor Author

@aklinker1 can we add the Firefox slug field to the Extension type query?

@codecov
Copy link
Copy Markdown

codecov bot commented Apr 12, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.54%. Comparing base (99fc685) to head (a87ef07).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2208      +/-   ##
==========================================
+ Coverage   79.35%   79.54%   +0.18%     
==========================================
  Files         130      130              
  Lines        3798     3798              
  Branches      854      854              
==========================================
+ Hits         3014     3021       +7     
+ Misses        699      693       -6     
+ Partials       85       84       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Apr 12, 2026

Open in StackBlitz

@wxt-dev/analytics

npm i https://pkg.pr.new/@wxt-dev/analytics@2208

@wxt-dev/auto-icons

npm i https://pkg.pr.new/@wxt-dev/auto-icons@2208

@wxt-dev/browser

npm i https://pkg.pr.new/@wxt-dev/browser@2208

@wxt-dev/i18n

npm i https://pkg.pr.new/@wxt-dev/i18n@2208

@wxt-dev/is-background

npm i https://pkg.pr.new/@wxt-dev/is-background@2208

@wxt-dev/module-react

npm i https://pkg.pr.new/@wxt-dev/module-react@2208

@wxt-dev/module-solid

npm i https://pkg.pr.new/@wxt-dev/module-solid@2208

@wxt-dev/module-svelte

npm i https://pkg.pr.new/@wxt-dev/module-svelte@2208

@wxt-dev/module-vue

npm i https://pkg.pr.new/@wxt-dev/module-vue@2208

@wxt-dev/runner

npm i https://pkg.pr.new/@wxt-dev/runner@2208

@wxt-dev/storage

npm i https://pkg.pr.new/@wxt-dev/storage@2208

@wxt-dev/unocss

npm i https://pkg.pr.new/@wxt-dev/unocss@2208

@wxt-dev/webextension-polyfill

npm i https://pkg.pr.new/@wxt-dev/webextension-polyfill@2208

wxt

npm i https://pkg.pr.new/wxt@2208

commit: a87ef07

@aklinker1
Copy link
Copy Markdown
Member

Nice, much simpler, looks great too!

@aklinker1 can we add the Firefox slug field to the Extension type query?

Sure, I can add that!

@aklinker1
Copy link
Copy Markdown
Member

aklinker1 commented Apr 12, 2026

@shadoath
Copy link
Copy Markdown
Contributor Author

shadoath commented Apr 12, 2026 via email

Comment thread docs/.vitepress/components/UsingWxtSection.vue Outdated
shadoath and others added 5 commits April 12, 2026 15:44
Use the new `slug` field from the GraphQL API to key Firefox results
instead of parsing it from storeUrl with a regex.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The slug field is on FirefoxAddon type only, not the shared Extension
type. Move it out of the ExtensionData fragment and query it inline
on firefoxAddons.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@aklinker1
Copy link
Copy Markdown
Member

Sweet, gonna merge, then move the list to a YML file outside the vue component lol. It's gotten quite large.

@aklinker1 aklinker1 enabled auto-merge (squash) April 13, 2026 04:02
@aklinker1
Copy link
Copy Markdown
Member

aklinker1 commented Apr 13, 2026

Having problems with github actions... one sec...

@aklinker1 aklinker1 merged commit 3205802 into wxt-dev:main Apr 13, 2026
18 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

Thanks for helping make WXT better!

aklinker1 added a commit that referenced this pull request Apr 13, 2026
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Aaron <aaronklinker1@gmail.com>
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.

3 participants