Skip to content

feat(extension): Chrome Web Store readiness — popup UI, privacy policy, CSP#415

Merged
jackwener merged 1 commit intomainfrom
feat/extension-cws-ready
Mar 25, 2026
Merged

feat(extension): Chrome Web Store readiness — popup UI, privacy policy, CSP#415
jackwener merged 1 commit intomainfrom
feat/extension-cws-ready

Conversation

@jackwener
Copy link
Copy Markdown
Owner

Summary

Prepare the Chrome extension for Chrome Web Store submission.

Changes

  • Popup UI — clicking the extension icon now shows daemon connection status:
    • Connected to daemon (green dot)
    • Reconnecting... (orange dot)
    • No daemon connected (red dot)
  • Privacy Policy (PRIVACY.md) — covers all permissions, data flow, cookie access
  • CSP — explicit content_security_policy in manifest.json
  • Description — updated to be clearer for CWS reviewers
  • Message API — background.ts exposes getStatus for popup communication

CWS Submission Notes

The debugger permission remains the main review risk. The privacy policy and popup UI should help justify it by showing:

  1. This is a legitimate developer automation tool
  2. All communication is localhost-only
  3. Operations happen in isolated windows

Test plan

  • tsc --noEmit passes
  • vite build succeeds
  • Load unpacked in Chrome → click extension icon → shows "No daemon connected"
  • Start opencli daemon → popup shows "Connected to daemon"

… Store

- Add popup.html/popup.js showing daemon connection status
  (Connected / Reconnecting / No daemon connected)
- Add message listener in background.ts to expose WebSocket state
- Add PRIVACY.md with full privacy policy covering all permissions
- Add content_security_policy to manifest.json
- Update description to be clearer for CWS reviewers
@jackwener jackwener merged commit 4812486 into main Mar 25, 2026
43 of 44 checks passed
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