|
Replay at recorded pace; extension version check + hot overlay from the server
Replay: pauses are no longer compressed — steps fire on absolute recorded clocks (1:1 with the recording), the cursor stays on the track, a 200ms settle follows scrolls so the next click resolves on the scrolled page, and the clock re-anchors after page loads (load time is not recorded time). Version + hot overlay: the extension version now comes from the root package.json; the server publishes the current version and the overlay module (overlay.js + overlay.css) at /api/ext/manifest + /api/ext/assets (POST /api/ext/publish, manifest written last as the commit point). The content script imports the server overlay straight from its URL — public assets answer ACAO * because page-origin imports are the only module path that works in an isolated world (blob/data imports and eval are all blocked by the MV3 CSP) — and falls back to the statically bundled copy on any failure; the version gate never downgrades the UI below the core. Core updates surface as a popup banner linking to /download; the download page shows the published version and versioned zips (npm run package also emits them). make ext-publish ships the overlay from a built dist. E2E covers the whole hot-overlay round trip: publish a marked 9.9.9 overlay, reload → data-overlay-source="remote", popup banner, dead-server fallback → "bundled", then republish the pristine assets. Co-Authored-By: Claude Code <noreply@anthropic.com> |
|---|
|
|
| Makefile |
|---|
| docker-compose.prod.yml |
|---|
| docker-compose.yml |
|---|
| packages/extension/e2e.mjs |
|---|
| packages/extension/package.json |
|---|
| packages/extension/scripts/build-manifest.mjs |
|---|
| packages/extension/scripts/build.mjs |
|---|
| packages/extension/scripts/package.mjs |
|---|
| packages/extension/scripts/publish.mjs 0 → 100644 |
|---|
| packages/extension/src/background/index.ts |
|---|
| packages/extension/src/background/settings.ts |
|---|
| packages/extension/src/background/version.ts 0 → 100644 |
|---|
| packages/extension/src/content/index.ts |
|---|
| packages/extension/src/content/overlay/index.ts 0 → 100644 |
|---|
| packages/extension/src/content/overlay/mount.ts |
|---|
| packages/extension/src/lib/messages.ts |
|---|
| packages/extension/src/popup/Popup.vue |
|---|
| packages/extension/vite.config.ts |
|---|
| packages/shared/src/index.ts |
|---|
| packages/shared/src/version.ts 0 → 100644 |
|---|
| packages/web/src/i18n/en.json |
|---|
| packages/web/src/i18n/ru.json |
|---|
| packages/web/src/i18n/uk.json |
|---|
| packages/web/src/pages/DownloadPage.vue |
|---|
| server/app/config.py |
|---|
| server/app/main.py |
|---|
| server/app/routers/ext_assets.py 0 → 100644 |
|---|
| server/app/schemas.py |
|---|