Move the extension ID off the dev-placeholder .local TLD onto the
naiv.no domain so it's stable for any future AMO submission. AMO locks
the ID for the lifetime of a listing, so this needs to happen before
the first listed upload — not after.
No code or behaviour changes. Lint and package both still clean
(0 errors / 0 warnings, ~12 KB zip).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
MV3 WebExtension that turns the active tab's URL into a scannable QR
code via a toolbar popup. The popup runs locally — no network requests.
Build pipeline: `bun build` bundles popup.js + the vendored
kazuhikoarase/qrcode-generator (MIT, pinned to 83b7e8f) into a single
~23 KB minified ESM file under dist/. web-ext operates on dist/, so
the packaged zip contains only what actually ships (~28 KB).
Scripts:
- bun run build — bundle + copy assets into dist/
- bun run lint — build + web-ext lint (0 errors / 0 warnings)
- bun run package — build + produce a signable .zip
- bun run start — build + launch Firefox with the extension loaded
Tracks dogcat epic firefox-share-as-qr-35mw and its 5 child tasks
(scaffold, vendor lib, popup UI, icons, README).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>