Commit graph

5 commits

Author SHA1 Message Date
004b63f51c Add CLAUDE.md with build and architecture guidance
Documents the dcat issue workflow rule, bun commands, and the
non-obvious invariants future agents need: dist/ is the single source
of truth for what ships, the Firefox 142 floor and no-gecko.update_url
constraint for AMO-listed distribution, the pinned qrcode-generator
SHA and UTF-8 override, and the popup error-path conventions.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 17:02:48 +02:00
1f82d7f0d3 v0.1.2: rebrand to Naiv-QR, target AMO-listed distribution v0.1.2
Pre-AMO rename. The extension is now "Naiv-QR" everywhere it surfaces
to users (toolbar tooltip, popup title, icon aria-label, README,
package.json). Distribution target is AMO-listed, so the manifest no
longer declares gecko.update_url — Firefox handles auto-updates from
AMO directly for listed extensions, and the field is in fact rejected
by Mozilla's validator outside self-distribution mode.

- manifest.json: name → "Naiv-QR"; gecko.id → naiv-qr@addons.naiv.no;
  remove update_url.
- package.json: name → "naiv-qr"; drop --self-hosted from lint script
  now that we're back to Mozilla-hosted validation.
- popup/popup.html: <title> updated.
- icons/icon.svg: aria-label updated.
- README: retitled, removed Self-distribution section, updated
  Publishing-to-AMO section to spell out the listed-distribution flow.

Build artifact is now web-ext-artifacts/naiv-qr-<ver>.zip (web-ext
derives the filename from manifest.name).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 16:51:54 +02:00
dfebf75052 v0.1.1: change gecko.id to share-as-qr@addons.naiv.no, bump version v0.1.1
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>
2026-05-11 16:39:49 +02:00
e953a55571 Document the extension and add MIT LICENSE v0.1.0
User-verified that v0.1.0 works in Firefox. Closing out the work with
the documentation the AMO reviewer (and future-me) will want:

- LICENSE: MIT, 2026. Matches the vendored qrcode-generator's license.
- package.json: add license + author fields.
- README: add "What you see" UX section, supported-versions rationale,
  ASCII build-flow diagram, AMO publishing notes, permissions table.
- popup/popup.js: top-of-file block documenting the popup lifecycle and
  the dataflow from active-tab URL to rendered QR.
- scripts/build.mjs: top-of-file block explaining why dist/ is the
  single source of truth for what ships.

Closes dogcat epic firefox-share-as-qr-35mw and all 5 child tasks
(see .dogcats/issues.jsonl).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 16:12:34 +02:00
8fa1809d9d Initial commit: Share-as-QR Firefox extension with bun build
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>
2026-05-11 16:04:22 +02:00