Skip to content

fix: declare the storage permission the extension background worker needs - #26

Merged
ttncode merged 1 commit into
mainfrom
fix/extension-storage-permission
Oct 12, 2026
Merged

ttncode merged 1 commit into
mainfrom
fix/extension-storage-permission

Conversation

@ttncode

@ttncode ttncode commented Oct 12, 2026

Copy link
Copy Markdown
Owner

Summary

Fix: background notifications never scheduled in v0.4.0.

Chrome reported Failed to handle cancel-end: TypeError: Cannot read properties of undefined (reading 'session') from background.js. The worker keeps the pending notification text in chrome.storage.session, which requires the storage permission; without it chrome.storage is undefined, so schedule-end and cancel-end both threw and no end-of-session alarm was ever set. The manifest now declares storage (no install warning). The worker's other APIs are covered: alarms and notifications are declared; tabs.create/update, windows.update and runtime.getContexts need no permission.

Testing

  • Lint, typecheck, unit tests and build pass.
  • Built manifest lists notifications, alarms, storage.
  • Not run here: a real Chrome with the unpacked extension (this machine's Chrome ignores command-line extension loading); the earlier stub tests only covered the page side, which is how this slipped through.

…eeds

## Summary
Fix: background notifications never scheduled in v0.4.0.

Chrome reported `Failed to handle cancel-end: TypeError: Cannot read properties of undefined (reading 'session')` from `background.js`. The worker keeps the pending notification text in `chrome.storage.session`, which requires the `storage` permission; without it `chrome.storage` is undefined, so `schedule-end` and `cancel-end` both threw and no end-of-session alarm was ever set. The manifest now declares `storage` (no install warning). The worker's other APIs are covered: `alarms` and `notifications` are declared; `tabs.create/update`, `windows.update` and `runtime.getContexts` need no permission.

## Testing
- Lint, typecheck, unit tests and build pass.
- Built manifest lists `notifications`, `alarms`, `storage`.
- Not run here: a real Chrome with the unpacked extension (this machine's Chrome ignores command-line extension loading); the earlier stub tests only covered the page side, which is how this slipped through.
@ttncode
ttncode merged commit abfa01a into main Oct 12, 2026
2 checks passed
@ttncode
ttncode deleted the fix/extension-storage-permission branch October 12, 2026 09:52
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.

1 participant