|
Extension: picker, note composer, recorder + infra (Makefile, prod compose, README)
- MV3 extension for Chrome and Firefox: single codebase, per-entry IIFE builds (background / content / options), manifests generated per target - Background service worker owns all networking (Bearer token from storage.local), captureVisibleTab (windowId!), recorder event buffer with offset_ms and auto-screenshots on clicks - Content overlay in a closed shadow root (constructable stylesheets, kit CSS fetched from assets/style.css with /assets URL rewrite); PickerLayer, NoteComposer (autofocus, Ctrl+Enter submit), RecorderBar (step counter, note, stop) - Options page: server URL, login, default project - Recorder steps link screenshots by uploaded file id (server accepts attachment id or file id); environment/element JSONB serialized with mode="json" (datetime captured_at broke inserts) - e2e harness: headless Chromium + extension, note + recording flows - Makefile, docker-compose.prod.yml (caddy :8081 + static panel), deploy/Caddyfile, README (ru) with extension install and /assets notes Co-Authored-By: Claude Code <noreply@anthropic.com> |
|---|
|
|
| Makefile 0 → 100644 |
|---|
| README.md 0 → 100644 |
|---|
| deploy/Caddyfile 0 → 100644 |
|---|
| docker-compose.prod.yml 0 → 100644 |
|---|
| package-lock.json |
|---|
| packages/extension/e2e.mjs 0 → 100644 |
|---|
| packages/extension/manifest.template.json 0 → 100644 |
|---|
| packages/extension/package.json 0 → 100644 |
|---|
| packages/extension/scripts/build-manifest.mjs 0 → 100644 |
|---|
| packages/extension/scripts/build.mjs 0 → 100644 |
|---|
| packages/extension/src/background/api.ts 0 → 100644 |
|---|
| packages/extension/src/background/index.ts 0 → 100644 |
|---|
| packages/extension/src/background/settings.ts 0 → 100644 |
|---|
| packages/extension/src/content/index.ts 0 → 100644 |
|---|
| packages/extension/src/content/overlay/App.vue 0 → 100644 |
|---|
| packages/extension/src/content/overlay/NoteComposer.vue 0 → 100644 |
|---|
| packages/extension/src/content/overlay/PickerLayer.vue 0 → 100644 |
|---|
| packages/extension/src/content/overlay/RecorderBar.vue 0 → 100644 |
|---|
| packages/extension/src/content/overlay/mount.ts 0 → 100644 |
|---|
| packages/extension/src/content/overlay/overlay.css 0 → 100644 |
|---|
| packages/extension/src/lib/messages.ts 0 → 100644 |
|---|
| packages/extension/src/lib/selector.ts 0 → 100644 |
|---|
| packages/extension/src/options/Options.vue 0 → 100644 |
|---|
| packages/extension/src/options/main.ts 0 → 100644 |
|---|
| packages/extension/src/options/options.html 0 → 100644 |
|---|
| packages/extension/src/types-gnexus-ui-kit.d.ts 0 → 100644 |
|---|
| packages/extension/tsconfig.json 0 → 100644 |
|---|
| packages/extension/vite.config.ts 0 → 100644 |
|---|
| server/app/routers/reports.py |
|---|