32 Commits

Author SHA1 Message Date
Kendrick Bollens
730d32ab29 Web-Editor: Farben/Inline-Styles beim Einfügen aus E-Mails behalten
TinyMCE registriert unter Chromium (Chrome/Edge) und Safari einen
PastePreProcess-Filter, der bei der Default-Einstellung
paste_webkit_styles:'none' ALLE inline-Styles (inkl. color) aus extern
eingefügtem Inhalt entfernt. Interner Copy/Paste ist ausgenommen — daher
ging webapp->webapp, aber E-Mail->Editor verlor die Farbe.

paste_webkit_styles:'all' schaltet den Stripper ab und behält die Styles.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011GkKJBbiNV421xfCbXikGV
2026-07-23 11:37:29 +02:00
Kendrick Bollens
3f792a6434 Web-Editor: robustes Einfügen aus externen Quellen (E-Mails)
TinyMCEs Standard-Paste nutzt bei externem Inhalt einen fragilen
Pastebin-Fallback, der bei manchen Quellen (E-Mail-Clients) still
fehlschlägt → "nichts passiert". Interner Copy/Paste ging, weil TinyMCE
dabei text/html selbst auf die Zwischenablage setzt.

Eigener paste-Handler liest text/html bzw. text/plain direkt aus und
fügt es deterministisch ein (Formatierung bleibt erhalten, Office/Outlook-
Fragment wird ausgeschnitten). Interner Paste und Bild-Paste bleiben dem
Standard-Handler überlassen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011GkKJBbiNV421xfCbXikGV
2026-07-23 11:21:51 +02:00
Kendrick Bollens
8057870f8b Release v2.6.0 — updates.json (Auto-Update-Manifest)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019XcAzPQhKgwS4HNzvXEFeN
2026-07-22 18:34:43 +02:00
Kendrick Bollens
2b6e2267c2 Vorlage beim Durchswitchen ersetzen statt stapeln (v2.6.0)
HTML-Vorlagen werden jetzt in <div id="hps-vorlage"> gewickelt und
direkt im Editor-DOM eingefügt. Vor dem Einfügen wird ein evtl. schon
vorhandener hps-vorlage-Block entfernt — so ersetzt Durchswitchen die
Vorlage statt sie oben draufzustapeln. insertText bleibt als Fallback.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019XcAzPQhKgwS4HNzvXEFeN
2026-07-22 18:34:26 +02:00
Kendrick Bollens
169fc68f18 Release v2.5.0 — updates.json (Auto-Update-Manifest)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015PZHd9vRsBiH8cKYdQo1Yv
v2.6.0
2026-07-22 15:23:04 +02:00
Kendrick Bollens
adddef75ac README: auf aktuellen Stand gebracht
Überarbeitete README (QuickMove, Schlagwörter, Web-Editor, Auto-Update,
7z-Build-Befehl) plus die neuen Features 2.4.0/2.5.0: erzwungene
about:config-Einstellungen (mit Opt-out im Sync-Tab), Client-Versions-
Übersicht im Web-Editor, _clients/-Ordner und experiments/prefs/.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015PZHd9vRsBiH8cKYdQo1Yv
v2.5.0
2026-07-22 14:49:06 +02:00
Kendrick Bollens
02776311c3 Release v2.5.0 — Client-Versions-Übersicht im Web-Editor
Jeder Client meldet beim Start seinen Status (Name, Abteilung, Plugin- und
Thunderbird-Version) als _clients/<email>.json ins Gitea-Repo — aber nur, wenn
sich tatsächlich etwas geändert hat (kein Commit-Spam pro Start).

Web-Editor: neuer Admin-Unterpunkt "User & Versionen" (Route /api/clients)
mit Tabelle je User und "veraltet"-Markierung für Clients, die nicht auf der
neuesten gemeldeten Version laufen. _clients/ ist in den Ordner-Filtern
ausgenommen, damit es nicht als Abteilung erscheint.

Nebenbei: Web-Editor-Button-Label "Abteilung" -> "Vorlage" (Templates-Tab).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015PZHd9vRsBiH8cKYdQo1Yv
2026-07-22 14:42:23 +02:00
Kendrick Bollens
d244273e44 Release v2.4.0 — Erzwungene Einstellungen: about:config-Prefs bei jedem Start setzen
Neuer forcedPrefs-WebExtension-Experiment (Services.prefs) setzt beim Start
globale Prefs (Startseite aus, Kartenansicht, nicht gruppiert, absteigend,
3-Spalten-Layout, nicht auto-gelesen) sowie pro Identität die Signatur-/
Antwort-Einstellungen. Pro Setting im Options-Dialog (⚙-Tab) abschaltbar.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015PZHd9vRsBiH8cKYdQo1Yv
2026-07-22 14:24:43 +02:00
Kendrick Bollens
83d0d52a05 Release v2.3.6 — updates.json (Auto-Update-Manifest)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NNGrD9ewk1gkStw9znPqQ1
2026-07-01 12:36:04 +02:00
Kendrick Bollens
c5eebd1b06 Release v2.3.6 — Signatur-Footer: neue Compose-Fenster ziehen gesyncten Footer automatisch
Thunderbird cacht die Identitäts-Signatur pro Sitzung, daher zeigte ein nach
dem Hintergrund-Sync geöffnetes Verfassen-Fenster noch den alten Footer.
background.js hängt sich jetzt an tabs.onCreated und tauscht im Signaturblock
automatisch den Footer-Teil (ab SIG_FOOTER_START) gegen den frischen aus —
ohne Benutzeraktion.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NNGrD9ewk1gkStw9znPqQ1
v2.3.6
2026-07-01 12:35:08 +02:00
Kendrick Bollens
c7383f3a77 Release v2.3.5 — Signatur-Sync: Web-Editor-Edits werden korrekt übernommen
Pull-Lookup für Signatur-Header war case-sensitiv gegen eine lowercase
headerMap → Groß-/Leerzeichen-Namen wurden nie gefunden, Plugin fiel auf
die lokale TB-Signatur zurück und revertierte beim Push die Web-Editor-
Änderung. Jetzt: case-insensitive Lookup, kanonischer sigSlug (= Web-Editor-
Format, lowercase-bindestrich) zum Lesen+Schreiben, Legacy-Format nur noch
lesend, bei mehreren Treffern gewinnt der neueste Commit. Keine git-seitigen
Breaking Changes — alte Plugin-Versionen (Groß-Dateien) bleiben kompatibel.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 11:29:56 +02:00
Kendrick Bollens
fa817050d8 Release v2.3.4 — QuickMove: "als gelesen" pro Aktion + dynamischer Button-Name
- QuickMove markiert Nachrichten als gelesen, pro Aktion ein-/ausschaltbar
  (Checkbox in den QuickMove-Einstellungen, Default an)
- Button-Label heißt wie die Aktion, wenn nur eine konfiguriert ist (setLabel)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
v2.3.5
2026-06-18 11:08:43 +02:00
Kendrick Bollens
f223f55933 Release v2.3.3
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
v2.3.4
2026-06-18 10:37:24 +02:00
Kendrick Bollens
0d05f9412c Release v2.3.2
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
v2.3.3
2026-06-18 10:28:37 +02:00
Kendrick Bollens
fd192bb8ba URLs auf hps-Org umstellen (Repo-Transfer)
- Auto-Update-URLs (manifest.json, updates.json), release.sh OWNER, CLAUDE.md
  von kendrick.bollens auf hps
- web-editor/docker-compose.yml: Git-Build-Context auf hps-Repo-URL

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
v2.3.2
2026-06-18 10:24:32 +02:00
Kendrick Bollens
113bc1bc20 web-editor: TinyMCE-Editor, Verwaltung, schnelles Tree-Laden, CI-Design
- TinyMCE (selbst gehostet) mit Base64-Bildeinbettung statt contenteditable
- Kategorie-Tabs Vorlagen/Fußzeilen/Signaturen + Verwaltung
  (Übersicht, Abteilungen, E-Mail-Zuordnung, Schlagwörter)
- /api/tree über rekursive git/trees-API (1 statt ~17 Anfragen)
- Plus-Jakarta-Sans-Font, SVG-Icons, farbige Abteilungs-Badges
- Platzhalter-Hinweis (nur in Signatur-Vorlage _vorlage.html)
- LOCAL- und DEMO-Modus im Server

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 09:16:36 +02:00
Kendrick Bollens
8130269f8f Release v2.3.1 (Test Auto-Update)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 00:33:42 +02:00
Kendrick Bollens
0563146ee1 Release v2.3.0: updates.json mit korrektem xpi-Hash, release.sh Guard-Fix
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
v2.3.1
2026-06-18 00:28:58 +02:00
Kendrick Bollens
eff90e9517 Auto-Update über Gitea einrichten + Web-Editor + Sync-Verbesserungen
- Thunderbird Auto-Update: update_url im Manifest, updates.json, release.sh
- .xpi neu gebaut (mit update_url, ohne defaults.local.json/Token)
- README + CLAUDE.md: Auto-Update-Doku, Repo muss public bleiben
- web-editor/ (Node/Docker WYSIWYG-Editor) hinzugefügt
- gitea-sync.js + templates_options: bestehende Anpassungen

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
v2.3.0
2026-06-18 00:12:33 +02:00
Kendrick Bollens
edb979a1b2 Toolbar-Button Fix, QuickMove-Tab, Schlagwörter-Sync, Abteilungsverwaltung
- Toolbar-Button öffnet Settings via browserAction.onClicked statt defektem Popup
- Button-Label "Vorlagen & Signaturen" statt Icon
- Tab "Erledigt" → "QuickMove" umbenannt
- QuickMove: E-Mails markieren + in Zielordner verschieben
- Schlagwörter-Sync aus Gitea (_config/schlagwoerter.json)
- Abteilungen anlegen (+Button)
- attachSignature-Fix entfernt
- message_display_action für QuickMove-Button

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-03 14:02:56 +02:00
Kendrick Bollens
ee24caf8b7 Fix: Signaturen-Referenzen werden bei Speichern + Sync aktualisiert
- Beim Speichern von E-Mail 1 werden alle =email1 Identitäten mit-aktualisiert
- attachSignature: false auch im Second Pass (=other@ Referenzen) gesetzt
2026-05-08 17:09:01 +02:00
Kendrick Bollens
7a7815feca VERIFY.md, attachSignature-Fix, Sync-Hashes, Scope-Bug
- VERIFY.md: Regressions-Checkliste mit 30 Prüfpunkten
- Fix: attachSignature: false beim Signatur-Update (deaktiviert alte Datei-Signatur)
- Fix: Sig-Hashes werden beim Init + Background-Sync geschrieben (kein grau mehr)
- Fix: Scope-Badge Vergleich über normalisierte Scopes (folderToScope)
- Fix: storage.onChanged refreshed auch Signaturen-Indicator
2026-05-07 20:06:26 +02:00
Kendrick Bollens
bc82e33bf2 Smart-Sync, Scope-Fix, Auto-Refresh, defaults.local.json
- Background-Sync: SHA-Check alle 5s, voller Pull nur bei Änderung
- Sync-Hashes werden nach Pull im Storage geschrieben → grüne Dots
- UI refreshed automatisch bei Background-Sync (storage.onChanged)
- Scope-Badge-Bug gefixt (folderToScope normalisiert den Vergleich)
- defaults.local.json: optionale vorkonfigurierte Verbindungsdaten
- README: Doku für defaults.local.json und XPI-Build mit/ohne Defaults
2026-05-07 10:50:36 +02:00
Kendrick Bollens
533d5a34f2 Sync-Fix, Dateinamen mit Leerzeichen, E-Mail-Dropdown, Defaults-System
- Fix: Pull überschreibt lokale Vorlagen nicht mehr (Merge statt Replace)
- Fix: toFilename behält Leerzeichen und Groß-/Kleinschreibung
- E-Mail in Settings ist jetzt ein Dropdown mit TB-Identitäten
- Optionale defaults.local.js für vorkonfigurierte Verbindungsdaten (.gitignored)
2026-05-07 10:22:42 +02:00
Kendrick Bollens
1d00a06e30 Fix: Signaturen-Tab lädt erste Identität automatisch
- "Bitte wählen" Placeholder entfernt
- Erste Identität wird beim Laden direkt ausgewählt
- Signatur wird sofort in den Editor geladen (kein manuelles Umschalten nötig)
2026-05-07 02:22:55 +02:00
Kendrick Bollens
864be54646 v2.2.0: 3-Stufen-Sichtbarkeit, UX-Verbesserungen, Auto-Erkennung
- 3 Sichtbarkeitsstufen für Vorlagen: Persönlich / Abteilung / Alle
- Persönliche Vorlagen werden in _benutzer/{email}/ synchronisiert
- Sichtbarkeit direkt in der Liste per Dropdown änderbar
- Warnung beim Verringern der Sichtbarkeit (Server-Löschung)
- Auto-Erkennung von Abteilung + E-Mail via _config/abteilungen.json
- Toast-Benachrichtigungen statt unsichtbare Status-Badges
- Lade-Spinner bei Sync-Operationen
- Sync-Dots mit Symbolen (nicht nur Farbe) für Barrierefreiheit
- Custom Delete-Modal statt browser confirm()
- Collapsible-Sections visuell als klickbar erkennbar
- Token-Feld mit Show/Hide-Toggle
- Inline-Validierung für Template-Namen
- Checkbox-Klickflächen vergrößert + Label-Klick
- Offline-Erkennung mit Banner
- Font-Dropdown Viewport-Fix
- Popup: Prefix-Dropdown verständlicher
- Signaturen: erste Identität automatisch ausgewählt
- README komplett neu geschrieben
2026-05-06 22:04:46 +02:00
Kendrick Bollens
33eb87613e Umbenennung: HPS Vorlagen & Signaturen v2.0.0
- Name: Templates Reply → HPS Vorlagen & Signaturen
- ID: stmt@proton.meit@hotel-park-soltau.de
- Version: 1.0.3 → 2.0.0
2026-04-20 22:54:07 +02:00
Kendrick Bollens
78a6310424 UX-Überarbeitung, Signatur-Bausteine, QoL-Verbesserungen
- Neues Layout: Inline-Editor, aufklappbarer Import, ⚙-Tab
- Signatur Header/Footer Baustein-System (Footer pro Abteilung)
- Signatur-Quelle Dropdown (Eigene / = andere@)
- "Vorlage laden" mit Platzhalter-Ersetzung (Name, Email, Abteilung, Tel, Fax)
- "Signatur speichern" pusht automatisch zum Server
- Footer-Editor mit auto-load beim Aufklappen
- Abteilungswechsel synct Footer + Templates neu
- "Aktualisieren" Button = Pull + Push in einem Schritt
- Vorlagen: Checkbox "Für alle Abteilungen"
- Löschen vom Server für alle möglich
- Toolbar für Signaturen gleichwertig mit Vorlagen-Toolbar
- Base64 whitespace-Fix für Gitea API
- Offline-resilient (Cache-Fallback, graceful error handling)
2026-04-20 22:46:54 +02:00
Kendrick Bollens
f87258498d Aufräumen: Quill.js und doppelte XPI entfernt
Quill wird nicht mehr verwendet (ersetzt durch contenteditable).
2026-04-20 16:31:51 +02:00
Kendrick Bollens
cf051458bb Feature: WYSIWYG-Editor, Gitea-Sync, Signaturen-Verwaltung
- WYSIWYG-Editor mit contenteditable statt Textarea (MDI-Icons, System-Fonts, Farbwähler)
- Gitea-Sync: Templates per Abteilung aus Git-Repo laden/hochladen mit Commit-Author
- Abteilungsordner + _gemeinsam Ordner, einzelnes Pull/Push pro Vorlage
- Sync-Status pro Vorlage (grün/rot/grau Ampel), persistent über Neustarts
- Signaturen-Tab: Identitäten bearbeiten, aus Datei laden, Sync über signatures/ Ordner
- Persönliche Signaturen für geteilte E-Mail-Adressen (pro Mitarbeiter)
- Tab-Navigation: Vorlagen, Signaturen, Synchronisierung
- Auto-Pull beim Thunderbird-Start (Templates + Signaturen)
2026-04-20 16:30:40 +02:00
Kendrick Bollens
e57f863d9a Überarbeitung: HTML-Templates aus Repo entfernt, Plugin verbessert
- HTML-Vorlagen werden separat verteilt (nicht mehr im Plugin-Repo)
- background.js: insertText API für korrekte Darstellung im Composer
- background.js: automatischer Wechsel zu HTML-Modus bei Plain-Text
- Options-Seite: komplett überarbeitetes UI mit Hotel-Branding
- Popup: deutsches UI, gestylte Template-Auswahl
- Notifications auf Deutsch
- Fertige XPI im Repo
2026-04-09 01:53:49 +02:00
Kendrick Bollens
3906c33967 Initial commit: Templates Reply Add-on für Hotel Park Soltau
Modifiziertes Templates Reply Thunderbird Add-on mit:
- HTML-Import von Netzlaufwerk
- Massen-Delete mit Checkboxen
- Deutsches UI mit "Vorlagen" Button
- 16 Hotel-Vorlagen als HTML-Dateien
2026-04-09 00:37:18 +02:00