Document the extension and add MIT LICENSE
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>
This commit is contained in:
parent
8fa1809d9d
commit
e953a55571
6 changed files with 156 additions and 20 deletions
|
|
@ -28,3 +28,15 @@
|
|||
{"record_type":"event","dcat_version":"0.12.1","event_type":"updated","issue_id":"firefox-share-as-qr-13gn","timestamp":"2026-05-11T15:45:47.981639+02:00","by":"olemd@glemt.net","changes":{"status":{"old":"in_progress","new":"in_review"}},"title":"Add extension icons"}
|
||||
{"record_type":"issue","dcat_version":"0.12.1","namespace":"firefox-share-as-qr","id":"2slq","title":"README and packaging instructions","description":"Write a short README with:\n- What the extension does (one paragraph + screenshot placeholder)\n- Install for development: about:debugging → 'Load Temporary Add-on' → pick manifest.json\n- Packaging: 'bunx web-ext build' produces a signable .zip (web-ext is the standard Mozilla tool; bunx avoids global install)\n- License and attribution for vendored QR library\n- Privacy note: the extension makes no network requests","status":"in_review","priority":2,"issue_type":"task","owner":"olemd@glemt.net","parent":"firefox-share-as-qr-35mw","labels":[],"external_ref":null,"design":null,"acceptance":"- README.md explains install + dev workflow\n- Attribution for qrcode-generator present","notes":null,"closed_reason":null,"created_at":"2026-05-11T14:57:21.849005+02:00","created_by":"olemd@glemt.net","updated_at":"2026-05-11T15:45:48.234906+02:00","updated_by":"olemd@glemt.net","closed_at":null,"closed_by":null,"deleted_at":null,"deleted_by":null,"deleted_reason":null,"original_type":null,"comments":[],"duplicate_of":null,"snoozed_until":null,"metadata":{}}
|
||||
{"record_type":"event","dcat_version":"0.12.1","event_type":"updated","issue_id":"firefox-share-as-qr-2slq","timestamp":"2026-05-11T15:45:48.234906+02:00","by":"olemd@glemt.net","changes":{"status":{"old":"open","new":"in_review"}},"title":"README and packaging instructions"}
|
||||
{"record_type":"issue","dcat_version":"0.12.1","namespace":"firefox-share-as-qr","id":"2mpm","title":"Scaffold MV3 manifest and project layout","description":"Create the WebExtension manifest.json (MV3) with:\n- name, version, description, manifest_version: 3\n- browser_specific_settings.gecko.id and strict_min_version (>= 109.0)\n- action with default_popup, default_title, default_icon\n- icons (16/32/48/96/128)\n- no host_permissions; tabs activeTab is enough\n\nAlso lay out the directory: popup/ for the popup HTML/CSS/JS, icons/, vendor/ for third-party JS, LICENSE, README.","status":"closed","priority":1,"issue_type":"task","owner":"olemd@glemt.net","parent":"firefox-share-as-qr-35mw","labels":[],"external_ref":null,"design":null,"acceptance":"- manifest.json validates (web-ext lint passes)\n- about:debugging → Load Temporary Add-on succeeds without warnings\n- Toolbar icon appears","notes":null,"closed_reason":"Manifest + project layout verified working in Firefox","created_at":"2026-05-11T14:56:56.711635+02:00","created_by":"olemd@glemt.net","updated_at":"2026-05-11T16:11:53.470093+02:00","updated_by":"olemd@glemt.net","closed_at":"2026-05-11T16:11:53.470093+02:00","closed_by":"olemd@glemt.net","deleted_at":null,"deleted_by":null,"deleted_reason":null,"original_type":null,"comments":[],"duplicate_of":null,"snoozed_until":null,"metadata":{}}
|
||||
{"record_type":"event","dcat_version":"0.12.1","event_type":"closed","issue_id":"firefox-share-as-qr-2mpm","timestamp":"2026-05-11T16:11:53.470093+02:00","by":"olemd@glemt.net","changes":{"status":{"old":"in_review","new":"closed"}},"title":"Scaffold MV3 manifest and project layout"}
|
||||
{"record_type":"issue","dcat_version":"0.12.1","namespace":"firefox-share-as-qr","id":"2u7w","title":"Vendor qrcode-generator library and add attribution","description":"Vendor kazuhikoarase's qrcode-generator (MIT) into vendor/qrcode.js as a single self-contained file. Add the MIT LICENSE text in vendor/LICENSE.qrcode-generator. Reference upstream version/commit in a comment header for traceability.\n\nUpstream: https://github.com/kazuhikoarase/qrcode-generator (MIT)","status":"closed","priority":1,"issue_type":"task","owner":"olemd@glemt.net","parent":"firefox-share-as-qr-35mw","labels":[],"external_ref":null,"design":null,"acceptance":"- vendor/qrcode.js present and standalone (no imports)\n- vendor/LICENSE.qrcode-generator present\n- Top-of-file comment notes upstream and version","notes":null,"closed_reason":"qrcode-generator vendored, MIT LICENSE shipped, attribution in README","created_at":"2026-05-11T14:57:04.087305+02:00","created_by":"olemd@glemt.net","updated_at":"2026-05-11T16:11:53.735058+02:00","updated_by":"olemd@glemt.net","closed_at":"2026-05-11T16:11:53.735058+02:00","closed_by":"olemd@glemt.net","deleted_at":null,"deleted_by":null,"deleted_reason":null,"original_type":null,"comments":[],"duplicate_of":null,"snoozed_until":null,"metadata":{}}
|
||||
{"record_type":"event","dcat_version":"0.12.1","event_type":"closed","issue_id":"firefox-share-as-qr-2u7w","timestamp":"2026-05-11T16:11:53.735058+02:00","by":"olemd@glemt.net","changes":{"status":{"old":"in_review","new":"closed"}},"title":"Vendor qrcode-generator library and add attribution"}
|
||||
{"record_type":"issue","dcat_version":"0.12.1","namespace":"firefox-share-as-qr","id":"4ph7","title":"Build popup UI and wire QR rendering","description":"Implement popup/popup.html + popup/popup.css + popup/popup.js:\n- Query active tab URL via browser.tabs.query({active: true, currentWindow: true})\n- Render QR using vendored qrcode-generator into an <img> (data: URL via canvas) or SVG\n- Show the URL underneath (truncated/elided) and a Copy button\n- Handle long URLs gracefully (auto-bump QR error correction / version)\n- Handle privileged pages (about:, view-source:) by showing a friendly message\n- Respect prefers-color-scheme (light/dark)","status":"closed","priority":1,"issue_type":"task","owner":"olemd@glemt.net","parent":"firefox-share-as-qr-35mw","labels":[],"external_ref":null,"design":null,"acceptance":"- Opening the popup on https://example.com shows a scannable QR\n- Long URLs (e.g. >1kB) still render or show a clear error\n- about:* page shows 'cannot share this page' message\n- Copy URL button copies to clipboard\n- Layout works at 360px popup width and is keyboard-accessible","notes":null,"closed_reason":"Popup renders QR for active tab, privileged-URL guard works, Copy URL works","created_at":"2026-05-11T14:57:10.501759+02:00","created_by":"olemd@glemt.net","updated_at":"2026-05-11T16:11:53.958105+02:00","updated_by":"olemd@glemt.net","closed_at":"2026-05-11T16:11:53.958105+02:00","closed_by":"olemd@glemt.net","deleted_at":null,"deleted_by":null,"deleted_reason":null,"original_type":null,"comments":[],"duplicate_of":null,"snoozed_until":null,"metadata":{}}
|
||||
{"record_type":"event","dcat_version":"0.12.1","event_type":"closed","issue_id":"firefox-share-as-qr-4ph7","timestamp":"2026-05-11T16:11:53.958105+02:00","by":"olemd@glemt.net","changes":{"status":{"old":"in_review","new":"closed"}},"title":"Build popup UI and wire QR rendering"}
|
||||
{"record_type":"issue","dcat_version":"0.12.1","namespace":"firefox-share-as-qr","id":"13gn","title":"Add extension icons","description":"Provide icons at 16, 32, 48, 96, 128 px (PNG). For MVP, a simple QR-glyph or 'QR' badge is fine. Source SVG should live in icons/source.svg; PNGs generated from it.\n\nIf image generation isn't possible in the agent environment, commit a placeholder PNG plus the SVG source and note in the README that icons are TODO.","status":"closed","priority":2,"issue_type":"task","owner":"olemd@glemt.net","parent":"firefox-share-as-qr-35mw","labels":[],"external_ref":null,"design":null,"acceptance":"- icons/icon-{16,32,48,96,128}.png exist\n- manifest references them\n- about:debugging shows the icon, not the default puzzle piece","notes":null,"closed_reason":"Single SVG icon used at all sizes; toolbar icon shows correctly","created_at":"2026-05-11T14:57:16.085120+02:00","created_by":"olemd@glemt.net","updated_at":"2026-05-11T16:11:54.256960+02:00","updated_by":"olemd@glemt.net","closed_at":"2026-05-11T16:11:54.256960+02:00","closed_by":"olemd@glemt.net","deleted_at":null,"deleted_by":null,"deleted_reason":null,"original_type":null,"comments":[],"duplicate_of":null,"snoozed_until":null,"metadata":{}}
|
||||
{"record_type":"event","dcat_version":"0.12.1","event_type":"closed","issue_id":"firefox-share-as-qr-13gn","timestamp":"2026-05-11T16:11:54.256960+02:00","by":"olemd@glemt.net","changes":{"status":{"old":"in_review","new":"closed"}},"title":"Add extension icons"}
|
||||
{"record_type":"issue","dcat_version":"0.12.1","namespace":"firefox-share-as-qr","id":"2slq","title":"README and packaging instructions","description":"Write a short README with:\n- What the extension does (one paragraph + screenshot placeholder)\n- Install for development: about:debugging → 'Load Temporary Add-on' → pick manifest.json\n- Packaging: 'bunx web-ext build' produces a signable .zip (web-ext is the standard Mozilla tool; bunx avoids global install)\n- License and attribution for vendored QR library\n- Privacy note: the extension makes no network requests","status":"closed","priority":2,"issue_type":"task","owner":"olemd@glemt.net","parent":"firefox-share-as-qr-35mw","labels":[],"external_ref":null,"design":null,"acceptance":"- README.md explains install + dev workflow\n- Attribution for qrcode-generator present","notes":null,"closed_reason":"README documents install, build, package, AMO, privacy, layout; LICENSE added","created_at":"2026-05-11T14:57:21.849005+02:00","created_by":"olemd@glemt.net","updated_at":"2026-05-11T16:11:54.491199+02:00","updated_by":"olemd@glemt.net","closed_at":"2026-05-11T16:11:54.491199+02:00","closed_by":"olemd@glemt.net","deleted_at":null,"deleted_by":null,"deleted_reason":null,"original_type":null,"comments":[],"duplicate_of":null,"snoozed_until":null,"metadata":{}}
|
||||
{"record_type":"event","dcat_version":"0.12.1","event_type":"closed","issue_id":"firefox-share-as-qr-2slq","timestamp":"2026-05-11T16:11:54.491199+02:00","by":"olemd@glemt.net","changes":{"status":{"old":"in_review","new":"closed"}},"title":"README and packaging instructions"}
|
||||
{"record_type":"issue","dcat_version":"0.12.1","namespace":"firefox-share-as-qr","id":"35mw","title":"Build Firefox QR share extension","description":"Firefox WebExtension (MV3) that adds a toolbar button. Clicking the button opens a popup that renders a QR code of the current tab's URL so the user can quickly share the page to a phone/another device.\n\nConstraints:\n- Manifest v3, Firefox 109+\n- No remote scripts (MV3 forbids); QR library is vendored\n- No build step required for MVP\n- Use kazuhikoarase qrcode-generator (MIT) as bundled JS\n\nTrigger: toolbar button only (no context menu in MVP).\n\nAcceptance: installing the extension via about:debugging shows a toolbar icon. Clicking it on any http(s) page opens a popup with a scannable QR code of that page's URL.","status":"closed","priority":2,"issue_type":"epic","owner":"olemd@glemt.net","parent":null,"labels":[],"external_ref":null,"design":null,"acceptance":"- Load as temporary add-on via about:debugging works without errors\n- Clicking the toolbar icon on any normal page shows a scannable QR code\n- QR encodes the active tab's full URL\n- No network requests made by the extension\n- LICENSE/attribution for vendored QR library present","notes":null,"closed_reason":"MVP shipped and user-verified working; v0.1.0 committed","created_at":"2026-05-11T14:56:50.789766+02:00","created_by":"olemd@glemt.net","updated_at":"2026-05-11T16:11:54.737018+02:00","updated_by":null,"closed_at":"2026-05-11T16:11:54.737018+02:00","closed_by":"olemd@glemt.net","deleted_at":null,"deleted_by":null,"deleted_reason":null,"original_type":null,"comments":[],"duplicate_of":null,"snoozed_until":null,"metadata":{}}
|
||||
{"record_type":"event","dcat_version":"0.12.1","event_type":"closed","issue_id":"firefox-share-as-qr-35mw","timestamp":"2026-05-11T16:11:54.737018+02:00","by":"olemd@glemt.net","changes":{"status":{"old":"open","new":"closed"}},"title":"Build Firefox QR share extension"}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue