mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 20:21:09 +02:00
Applied formatting to 1487+ files using pnpm format:write - TypeScript/JavaScript files - Svelte components - Astro pages - JSON configs - Markdown docs 13 files still need manual review (Astro JSX comments)
4.1 KiB
4.1 KiB
Kokon Browser Extension
Eine Chrome/Firefox Browser-Erweiterung für die Kokon Read-Later App.
Features
- Ein-Klick Speichern: Speichere jeden Artikel mit einem Klick
- Automatische Content-Extraktion: Nutzt die gleiche Mozilla Readability Engine wie die App
- Session-Synchronisation: Automatische Anmeldeerkennung mit der Web-App
- Elegantes Design: Moderne, responsive Benutzeroberfläche
- Fehlerbehandlung: Intelligente Fehlerbehandlung und Benutzerführung
Installation (Development)
Chrome/Edge
- Öffne
chrome://extensions/ - Aktiviere "Entwicklermodus" (Developer mode)
- Klicke "Ungepackte Erweiterung laden" (Load unpacked)
- Wähle den
browser-extensionOrdner aus
Firefox
- Öffne
about:debugging - Klicke "Dieses Firefox" (This Firefox)
- Klicke "Temporäres Add-on laden" (Load Temporary Add-on)
- Wähle die
manifest.jsonDatei aus
Verwendung
-
Erste Einrichtung:
- Installiere die Erweiterung
- Logge dich in der Kokon Web-App ein (wird automatisch geöffnet)
-
Artikel speichern:
- Navigiere zu einem beliebigen Artikel im Web
- Klicke auf das Kokon-Symbol in der Browser-Toolbar
- Klicke "Save Article"
- Der Artikel wird automatisch verarbeitet und in deiner Kokon-Liste gespeichert
Technische Details
Architektur
- Manifest V3: Moderne Chrome Extension API
- Service Worker: Background-Verarbeitung für Session-Management
- Popup Interface: Elegant gestaltetes Popup mit Echtzeit-Feedback
- Chrome Storage API: Synchronisation mit Web-App-Sessions
Sicherheit
- Minimale Berechtigungen: Nur
activeTabundstorage - HTTPS Only: Sichere Kommunikation mit Supabase
- Token-basierte Auth: Nutzt bestehende Supabase-Session
- Domain-Validierung: Verhindert Speichern von Browser-internen Seiten
Integration
- Nutzt die gleiche
save-articleEdge Function wie die App - Teilt sich die Session mit der Web-App über Chrome Storage
- Automatische Token-Erneuerung und Logout-Erkennung
Datei-Struktur
browser-extension/
├── manifest.json # Extension-Konfiguration (Manifest V3)
├── popup.html # Popup-Interface HTML
├── popup.js # Popup-Logik und API-Calls
├── background.js # Service Worker für Background-Tasks
├── icons/ # Extension-Icons (TODO: Icons hinzufügen)
│ ├── icon-16.png
│ ├── icon-32.png
│ ├── icon-48.png
│ └── icon-128.png
└── README.md # Diese Datei
TODO: Icons
Die Extension benötigt noch Icons in verschiedenen Größen:
- 16x16px (Toolbar)
- 32x32px (Extension-Management)
- 48x48px (Extension-Management)
- 128x128px (Chrome Web Store)
Icons sollten das Kokon-Logo (🥥) oder ein ähnliches Design verwenden.
Chrome Web Store Deployment
Für die Veröffentlichung im Chrome Web Store:
- Icons hinzufügen (siehe TODO oben)
- Version bumpen in
manifest.json - Extension packen:
zip -r kokon-extension.zip browser-extension/ - Chrome Developer Dashboard: Upload auf Chrome Web Store Developer Dashboard
Firefox Add-ons Deployment
Für Mozilla Add-ons:
- Firefox-spezifische Anpassungen (falls nötig)
- Signierung über Mozilla Add-on Developer Hub
Entwicklung
Testing
- Lade die Extension im Entwicklermodus
- Öffne eine beliebige Webseite
- Teste das Popup und die Save-Funktionalität
- Überprüfe die Browser-Konsole für Fehler
Debugging
- Popup debuggen: Rechtsklick auf Extension-Icon → "Inspect popup"
- Background Script: In
chrome://extensions/→ "Inspect views: background page" - Storage prüfen: Chrome DevTools → Application → Storage → Extension
Kompatibilität
- Chrome: Version 88+ (Manifest V3 Support)
- Edge: Version 88+ (Chromium-basiert)
- Firefox: Version 109+ (Manifest V3 Support)
- Safari: Benötigt Anpassungen für Safari Web Extensions
Lizenz
Teil des Kokon-Projekts - siehe Haupt-Repository für Lizenzdetails.