Skip to content

Phase 11: Extension popup compliance and presentation#28

Merged
dimdasci merged 8 commits into
mainfrom
feat/extension-popup-compliance
Jun 23, 2026
Merged

Phase 11: Extension popup compliance and presentation#28
dimdasci merged 8 commits into
mainfrom
feat/extension-popup-compliance

Conversation

@dimdasci

Copy link
Copy Markdown
Owner

Summary

Extension popup redesigned for CWS readiness and first-run clarity without expanding beyond the sensor/actuator boundary (ADR-017).

Popup changes

  • Compact single-column utility layout with product identity, subtitle, and inline cable icon
  • Pairing status line (gray/green dot): "Not paired" vs "Paired with local daemon"
  • Submit button reflects state: "Pair extension" / "Re-pair with new code"
  • Version and protocol metadata from @bproxy/shared
  • Footer links: documentation, privacy, MIT license, GitHub
  • Attribution: "Created by Dim Kharitonov"

CWS materials

  • Manifest description updated to CWS-safe wording
  • docs/public/privacy.md — factual privacy policy page

Public docs polish

  • Hero image on index page
  • Site footer with version/license/attribution

Version bump

  • 0.9.0 → 0.9.1 across all packages

Test performance fix

  • Links cap test: 75s → 1.4s by adding unique IDs to fake elements (avoids O(n²) selector probing)
  • Full extension test suite: 73s → 2.3s

Validation

  • pnpm check passes (typecheck + format + lint + arch + deadcode)
  • pnpm --filter @bproxy/extension run test — 190 tests pass
  • pnpm docs:build — 16 pages, no broken links

ADR compliance

  • ADR-011: popup-driven pairing preserved
  • ADR-016: no WAR entries added
  • ADR-017: popup is pairing surface, not dashboard
  • ADR-024: no eval surface
  • ADR-025: compliance landed in code/docs

dimdasci added 8 commits June 23, 2026 13:41
- Add missing Chrome Web Store requirements to extension-popup-compliance.md:
  Limited Use (not applicable to bproxy), Listing Requirements (mandatory
  assets), Privacy Fields Consistency, Code Readability (MV3).
- Add store listing assets plan with cable.svg icon, hero image derivatives,
  GitHub Issues as support URL.
- Clarify that bproxy does not collect user data and Limited Use disclosure
  is not needed.
- Add docs/public/privacy.md: plain-English privacy page for CWS dashboard
  privacy policy URL field.
Add unique id attrs to the 2001 fake anchor elements so
createStableSelector resolves on the first candidate (#id) instead of
falling through to path-selector probing against all siblings.

Extension test suite: 73s → 2.3s.
@dimdasci
dimdasci merged commit 4d74651 into main Jun 23, 2026
5 checks passed
@dimdasci
dimdasci deleted the feat/extension-popup-compliance branch June 23, 2026 16:57
@sonarqubecloud

Copy link
Copy Markdown

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