Repository navigation
feat(enhancements): toggleable enhancements with an as-shipped/proposed flip - #4
Merged
Merged
Conversation
Refs #3 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Every worktree build now shares one ID and one settings store; the private half was never kept (ADR-0002). Refs #3 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Dev tooling only: the extension still loads unpacked with no build. postinstall keeps Spotlight out of node_modules so worktree teardown does not abort mid-delete. Refs #3 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ed flip - Popup with switches for presenting and for the enhancements that target the current page, persisted in chrome.storage.local - Enhancer applies CSS and reversible JS enhancements and restores the shipped page exactly when switched off; re-renders on SPA navigation - Alt+Shift+E flips between as shipped and proposed - Enhanced badge, top-right, only while an enhancement is showing - Presenting (pointer, highlights, demo zoom) becomes switchable - Forge added as a target site - Content script loads ES modules via a classic-script loader Refs #3 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…0001 Refs #3 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
It only fired in single-tab windows, so in practice it never did anything; Chrome's own per-site zoom covers the need. Without it the tabs permission is unnecessary: opening the popup grants activeTab, which is enough to read the current tab's URL. Refs #3 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
Presenter gains a second job: switching UX enhancements on and off and flipping a page between as shipped and proposed, so one screen recording shows the before and the after. Pointer and highlights become switchable from the same popup. The dev workflow mirrors the tight extension's.
The first enhancement (ended sandboxes in Forge) is split out to #5, since it needs a synthetic fixture of the page first.
Changes
chrome.storage.local(newstoragepermission)tabspermission — it only fired in single-tab windows, so it never did anything in practice; Chrome's per-site zoom covers itcreateRelabelhelper for wording changesscripts/bump.sh),manifest.jsonas the single version sourceeval/new Function), vitest + jsdom, Node 24 floor withengine-strict, CI (lint, tests, ADR log)docs/security.md; ADR-0001 (enhancements are versioned files); README and CONTEXT.md updatedexclude_globsforwandb.ai/sitemoved from the web-accessible resources (where it had no effect) to the content script, which is what it appears to have intendedTesting
npm run lintclean,npm test— 35 tests: page matching, settings, exact DOM restore, relabel idempotence, badge, manifest paths/web-accessible modules, fixture hygienetabs— verified on the primary checkout after mergeRelated Issues
Closes #3
🤖 Generated with Claude Code