chore: import broken Phase-1 extension as received

Snapshot of /home/parf/Downloads/manifest.zip as delivered, before any
GSD-driven remediation. Contains a partially-broken first attempt at the
Russian SPEC "Тз расширение фаза1.md" (Phase 1 of operator-session-recorder).

Source layout:
- manifest.json — MV3 declaration with tabCapture/activeTab/downloads/etc.
- src/background/index.ts — service worker (video buffer + archive packaging)
- src/content/index.ts — rrweb + user-event logger
- src/popup/{index.html,index.ts,style.css} — Russian popup UI
- offscreen/{index.html,index.ts} — orphaned offscreen (see audit)
- vite.config.ts — inline plugin emitting a separate live offscreen.js
- generate-icons.js, icons/ — minimal PNG icons
- "Тз расширение фаза1.md" — authoritative Russian SPEC

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-15 15:16:23 +02:00
commit 555eb0543f
21 changed files with 3935 additions and 0 deletions

85
src/popup/style.css Normal file
View File

@@ -0,0 +1,85 @@
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
background: #f8f9fa;
min-width: 320px;
padding: 16px;
}
.container {
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
}
.save-button {
width: 100%;
padding: 14px 20px;
font-size: 14px;
font-weight: 600;
border: none;
border-radius: 8px;
background: #2563eb;
color: white;
cursor: pointer;
transition: all 0.2s ease;
box-shadow: 0 2px 4px rgba(37, 99, 235, 0.2);
}
.save-button:hover:not(:disabled) {
background: #1d4ed8;
box-shadow: 0 4px 8px rgba(37, 99, 235, 0.3);
transform: translateY(-1px);
}
.save-button:active:not(:disabled) {
transform: translateY(0);
box-shadow: 0 2px 4px rgba(37, 99, 235, 0.2);
}
.save-button:disabled {
background: #94a3b8;
cursor: not-allowed;
box-shadow: none;
opacity: 0.6;
}
.save-button.saving {
background: #0891b2;
cursor: wait;
}
.save-button.done {
background: #059669;
}
.info-text {
font-size: 12px;
color: #64748b;
text-align: center;
}
.status-message {
font-size: 13px;
font-weight: 500;
min-height: 20px;
text-align: center;
}
.status-message.error {
color: #dc2626;
}
.status-message.success {
color: #059669;
}
.status-message.info {
color: #0891b2;
}