|
Serve extension design resources from the server as a versioned pack
CSS (card + popup), field-detection keyword tables and UI config now ship as extensions/pack/ with sha256 in pack.json and a monotonic version. The backend serves pack.json unauthenticated (no-cache) and files versioned/immutable; a background-worker sync validates schema, ext-version compatibility and hashes, then stores the pack atomically in chrome.storage.local — content scripts and the popup only read storage, never fetch, and fall back to the bundled defaults. Publish tool auto-bumps on content change and writes pack.json last. Firefox bundle inlines pack-shared.js; release 0.2.0. E2E (15/15): adoption, live restyle without re-release, rollback and min-extension guards, sha-mismatch abort, offline fallback. Tests: node 25+21, pytest 57. Co-Authored-By: Claude Code <noreply@anthropic.com> |
|---|
|
|
| extensions/extension/Makefile |
|---|
| extensions/extension/manifest.json |
|---|
| extensions/extension/pack-src/config.json 0 → 100644 |
|---|
| extensions/extension/pack-src/tables.json 0 → 100644 |
|---|
| extensions/extension/src/background.js |
|---|
| extensions/extension/src/content.js |
|---|
| extensions/extension/src/field-detect.js |
|---|
| extensions/extension/src/pack-shared.js 0 → 100644 |
|---|
| extensions/extension/src/popup/popup.html |
|---|
| extensions/extension/src/popup/popup.js |
|---|
| extensions/extension/tools/bundle-background.js |
|---|
| extensions/extension/tools/publish-design-pack.js 0 → 100644 |
|---|
| extensions/extension/tools/test-field-detect.js |
|---|
| extensions/extension/tools/test-pack-shared.js 0 → 100644 |
|---|
| extensions/manifest.json |
|---|
| extensions/pack/pack.json 0 → 100644 |
|---|
| extensions/pack/v13/config.json 0 → 100644 |
|---|
| extensions/pack/v13/content.css 0 → 100644 |
|---|
| extensions/pack/v13/popup.css 0 → 100644 |
|---|
| extensions/pack/v13/tables.json 0 → 100644 |
|---|
| gnexus_creds/api.py |
|---|
| gnexus_creds/schemas.py |
|---|
| tests/test_extension.py |
|---|