1391 Zeilen
60 KiB
Plaintext
1391 Zeilen
60 KiB
Plaintext
TASKMATE - CHANGELOG
|
|
====================
|
|
|
|
================================================================================
|
|
10.01.2026 - UI: Favicon ohne schwarzen Hintergrund
|
|
================================================================================
|
|
|
|
## ÄNDERUNG
|
|
Favicon (Browser-Tab Icon) auf transparente PNG-Version umgestellt
|
|
|
|
## DETAILS
|
|
- SVG-Logo mit dunklem Hintergrund (#0A1832) entfernt
|
|
- Transparente PNG-Icons (AegisSight Logo) als Favicon gesetzt
|
|
- favicon-32x32.png und favicon-16x16.png erstellt
|
|
- Cache-Version erhöht auf 297
|
|
|
|
## DATEIEN
|
|
✅ frontend/index.html - Favicon-Links aktualisiert
|
|
✅ frontend/assets/icons/favicon-32x32.png - Erstellt
|
|
✅ frontend/assets/icons/favicon-16x16.png - Erstellt
|
|
✅ frontend/sw.js - Cache-Version 297
|
|
|
|
================================================================================
|
|
10.01.2026 - BUGFIX: Race-Condition bei 401-Fehlern nach Login
|
|
================================================================================
|
|
|
|
## PROBLEM
|
|
Nach dem Login wurden Benutzer bei bestimmten Tabs (Genehmigung, Coding,
|
|
Kontakte) sofort wieder ausgeloggt.
|
|
|
|
## URSACHE
|
|
Race-Condition: API-Requests, die VOR dem Login gestartet wurden, kamen
|
|
mit 401 zurück und lösten einen Logout aus, obwohl bereits ein neuer
|
|
gültiger Token existierte.
|
|
|
|
## LÖSUNG
|
|
✅ handleAuthFailure() prüft jetzt ob ein neuer Token existiert
|
|
- Vergleicht Token der fehlgeschlagenen Anfrage mit aktuellem Token
|
|
- Ignoriert 401 wenn neuer Token nach dem Request gesetzt wurde
|
|
- Wiederholt Request mit neuem Token (max 1x gegen Endlos-Schleifen)
|
|
✅ Cache-Version: 294
|
|
|
|
================================================================================
|
|
10.01.2026 - FEATURE: PROGRESSIVE WEB APP (PWA) & MOBILE APP SUPPORT
|
|
================================================================================
|
|
|
|
## NEUE FUNKTIONEN
|
|
Vollständige PWA-Implementierung für mobile App-Funktionalität
|
|
|
|
## IMPLEMENTIERUNG
|
|
✅ Web App Manifest erstellt (manifest.json)
|
|
- App-Name, Icons, Theme-Konfiguration
|
|
- Shortcuts für schnellen Zugriff
|
|
- Standalone Display-Mode
|
|
✅ PWA Install-Prompt implementiert
|
|
- Automatische Erkennung der Installierbarkeit
|
|
- Install-Button im Header
|
|
- Install-Banner nach 30 Sekunden
|
|
- iOS-spezifische Installationsanleitung
|
|
✅ Service Worker optimiert
|
|
- Cache-First für statische Assets
|
|
- Network-First für HTML und API
|
|
- Erweiterte Offline-Funktionalität
|
|
- Background Sync vorbereitet
|
|
✅ PWA-Module (pwa.js) erstellt
|
|
- Install-Management
|
|
- Online/Offline Status
|
|
- iOS-Detection
|
|
✅ Dokumentation für APK-Erstellung
|
|
- PWABuilder Anleitung
|
|
- Bubblewrap Setup
|
|
- TWA (Trusted Web Activity) Konfiguration
|
|
- Play Store Veröffentlichung
|
|
|
|
## TECHNISCHE DETAILS
|
|
- Neue Dateien: manifest.json, js/pwa.js, css/pwa.css
|
|
- Icons benötigt: 48x48 bis 512x512 PNG
|
|
- Service Worker Cache-Version: 293
|
|
- APK kann mit PWABuilder.com erstellt werden
|
|
|
|
## NÄCHSTE SCHRITTE
|
|
1. Icons in allen Größen generieren (siehe generate-icons.js)
|
|
2. APK mit PWABuilder erstellen und testen
|
|
3. Optional: Play Store Veröffentlichung
|
|
|
|
================================================================================
|
|
09.01.2026 - ENTFERNUNG: SIMULIERTE VERBRAUCHSANZEIGE IM CODING-MODUL
|
|
================================================================================
|
|
|
|
## ÄNDERUNG
|
|
Die simulierte Verbrauchsanzeige wurde aus dem Coding-Modul entfernt
|
|
|
|
## DETAILS
|
|
✅ Frontend: Verbrauchsanzeige aus coding.js entfernt
|
|
✅ CSS: Styles für .coding-tile-usage gelöscht
|
|
✅ Backend: API-Endpoints bleiben für spätere Nutzung erhalten
|
|
✅ Datenbank: Tabelle coding_usage bleibt bestehen
|
|
|
|
## TECHNISCHE DETAILS
|
|
- Entfernt: updateTileUsage() Funktion und alle Aufrufe
|
|
- Entfernt: Verbrauchs-HTML aus renderTile()
|
|
- Entfernt: CSS-Animationen und Styling
|
|
- Cache-Version: 292
|
|
|
|
================================================================================
|
|
09.01.2026 - FEATURE: VERBRAUCHSANZEIGE IM CODING-MODUL
|
|
================================================================================
|
|
|
|
## NEUE FUNKTION
|
|
Live-Verbrauchsanzeige für Server-Anwendungen im Coding-Tab mit CPU, Memory und Network Metriken
|
|
|
|
## IMPLEMENTIERUNG
|
|
✅ Backend: Neue API-Endpoints für Verbrauchsdaten (simuliert)
|
|
- GET /api/coding/directories/:id/usage - Aktuelle Verbrauchsdaten
|
|
- GET /api/coding/directories/:id/usage/history - Historische Daten
|
|
✅ Datenbank: Neue Tabelle 'coding_usage' für Verlauf
|
|
✅ Frontend: Verbrauchsanzeige in jeder Coding-Kachel integriert
|
|
- CPU-Auslastung in % mit Warnung bei >80%
|
|
- Memory in MB mit Warnung bei >3000MB
|
|
- Network in MB/s (kombiniert send + receive)
|
|
✅ Auto-Refresh alle 30 Sekunden für Live-Updates
|
|
✅ Visuelles Feedback bei hoher Auslastung (Pulse-Animation)
|
|
|
|
## TECHNISCHE DETAILS
|
|
- coding.js: updateTileUsage() Funktion für Metrik-Updates
|
|
- api.js: getCodingDirectoryUsage() und getCodingDirectoryUsageHistory()
|
|
- coding.css: Neue Styles für .coding-tile-usage mit responsive Design
|
|
- Cache-Version: 291
|
|
- Docker Container Update erforderlich für Backend-Änderungen
|
|
|
|
================================================================================
|
|
09.01.2025 - BUGFIX: CUSTOM-SELECT DROPDOWN POSITIONING
|
|
================================================================================
|
|
|
|
## PROBLEM
|
|
Custom-Select Dropdown (Benutzerauswahl in Erinnerungen) positionierte sich nicht korrekt bei Scroll/Modal-Bewegung
|
|
|
|
## URSACHE
|
|
Dropdown nutzte relative statt fixed Positionierung, keine dynamische Neuberechnung
|
|
|
|
## LÖSUNG
|
|
✅ reminders.js: setupCustomSelect() berechnet Position dynamisch mit getBoundingClientRect()
|
|
✅ Fixed Positioning wie bei Multi-Select implementiert
|
|
✅ Automatische Neupositionierung bei Scroll/Resize
|
|
✅ Intelligente Platzierung (oben/unten je nach verfügbarem Platz)
|
|
|
|
## TECHNISCHE DETAILS
|
|
- Zeilen 346-450: Neue positionDropdown() Funktion mit Event-Handlers
|
|
- Cache-Version: 285
|
|
- Position wird bei jedem Öffnen neu berechnet
|
|
- Event-Handler werden beim Schließen aufgeräumt
|
|
|
|
================================================================================
|
|
09.01.2025 - BUGFIX: FILTER-ASSIGNEE DROPDOWN ZEIGT KEINE NAMEN
|
|
================================================================================
|
|
|
|
## PROBLEM
|
|
Der Filter-Assignee Dropdown zeigte leere Options ohne Benutzernamen an
|
|
|
|
## URSACHE
|
|
Frontend erwartete "username" Feld, Backend lieferte aber "displayName"
|
|
|
|
## LÖSUNG
|
|
✅ app.js: populateAssigneeFilter() nutzt jetzt displayName statt username
|
|
✅ Fallback zu email falls displayName fehlt
|
|
|
|
## TECHNISCHE DETAILS
|
|
- Zeile 736: option.textContent = user.displayName || user.email || 'Unbekannt';
|
|
- Cache-Version: 284
|
|
|
|
================================================================================
|
|
09.01.2025 - BUGFIXES: DROPDOWN-POSITIONIERUNG & NAVIGATION-DESIGN
|
|
================================================================================
|
|
|
|
## BEHOBEN
|
|
✅ Custom-Select Dropdown in Reminder-Modal
|
|
- Position von fixed auf absolute geändert
|
|
- Dropdown bleibt jetzt innerhalb des Modals
|
|
- Keine dynamische Positionsberechnung mehr nötig
|
|
- Einheitliches Design mit Multi-Select
|
|
|
|
================================================================================
|
|
09.01.2025 - NAVIGATION: MODERNES DESIGN MIT BESSERER AKTIV-MARKIERUNG
|
|
================================================================================
|
|
|
|
## NEUE FUNKTIONEN
|
|
✅ Modernes flaches Design ohne Hintergrund-Container
|
|
✅ Klare Aktiv-Markierung mit farbigem Unterbalken
|
|
✅ Icons für alle Navigationspunkte
|
|
✅ Animierte Hover-Effekte mit Icon-Bewegung
|
|
✅ Subtile Trennlinien zwischen Tabs
|
|
✅ Bessere Farbkontraste für aktive/inaktive Tabs
|
|
|
|
## TECHNISCHE DETAILS
|
|
- board.css: Komplett überarbeitete Navigation-Styles
|
|
- Aktiver Tab mit blauem Unterbalken + Hintergrund
|
|
- Hover-States mit sanften Übergängen
|
|
- Animation für aktiv-Indikator
|
|
- index.html: SVG-Icons zu allen Tabs hinzugefügt
|
|
- Service Worker: Cache-Version auf 282 erhöht
|
|
|
|
================================================================================
|
|
08.01.2025 - KONTAKTE: VON KARTENANSICHT ZU TABELLENANSICHT UMGESTELLT
|
|
================================================================================
|
|
|
|
## NEUE FUNKTIONEN
|
|
✅ Tabellenansicht mit sortierbaren Spalten
|
|
- Name (mit Avatar-Initialen)
|
|
- Firma, Position, E-Mail, Telefon, Tags
|
|
- Direkte Aktionen: Bearbeiten, Löschen
|
|
✅ Mehrfachauswahl mit Checkboxen
|
|
- Select All/Deselect All Funktionalität
|
|
- Visuelles Feedback für ausgewählte Zeilen
|
|
✅ Bulk-Actions für mehrere Kontakte
|
|
- Mehrere Kontakte gleichzeitig löschen
|
|
- Anzahl ausgewählter Kontakte wird angezeigt
|
|
✅ Export-Funktionalität (CSV)
|
|
- Alle oder gefilterte Kontakte exportieren
|
|
- UTF-8 mit BOM für korrekte Umlaute
|
|
✅ Pagination bei mehr als 25 Kontakten
|
|
- Navigation zwischen Seiten
|
|
- Seitenzahlen-Anzeige
|
|
✅ Verbesserte Statistik
|
|
- Kontakt-Anzahl im Header
|
|
- Echtzeit-Updates bei Änderungen
|
|
|
|
## TECHNISCHE DETAILS
|
|
- contacts.css: Komplett neue Styles für Tabelle
|
|
- index.html: HTML-Struktur für Tabellenlayout
|
|
- contacts.js: Logik für Tabellen-Rendering und neue Features
|
|
- Service Worker Cache-Version: 281
|
|
- Responsive Design für mobile Geräte
|
|
|
|
================================================================================
|
|
07.01.2025 - WISSENSMANAGEMENT: ATTACHMENT ANZEIGE BEHOBEN (0KB & KEIN DATEINAME)
|
|
================================================================================
|
|
|
|
## PROBLEMBEHEBUNG
|
|
✅ Knowledge-Attachments zeigten 0KB und keinen Dateinamen
|
|
- Backend sendet camelCase: originalName, sizeBytes
|
|
- Frontend erwartete snake_case: original_name, size_bytes
|
|
- Mismatch verursachte leere Anzeige in der UI
|
|
|
|
## TECHNISCHE LÖSUNG
|
|
- knowledge.js renderAttachments(): Fallback für beide Schreibweisen
|
|
- att.originalName || att.original_name || ''
|
|
- att.sizeBytes || att.size_bytes || 0
|
|
- Service Worker Cache-Version: 280
|
|
- Frontend-Dateien in Docker Container kopiert
|
|
|
|
================================================================================
|
|
07.01.2025 - WISSENSMANAGEMENT: 500 ERROR BEI FILE UPLOAD BEHOBEN
|
|
================================================================================
|
|
|
|
## PROBLEMBEHEBUNG
|
|
✅ 500 Error bei Knowledge-Attachment Upload behoben
|
|
- Frontend sendet Datei als 'files' (plural)
|
|
- Knowledge-Backend erwartete 'file' (singular)
|
|
- Task-Backend verwendet bereits 'files' (plural)
|
|
- Mismatch verursachte "Unexpected field" Error
|
|
|
|
## TECHNISCHE LÖSUNG
|
|
- knowledge.js: upload.single('files') statt 'file'
|
|
- Konsistenz mit task file upload hergestellt
|
|
- Frontend bleibt unverändert bei 'files'
|
|
- Service Worker Cache-Version: 279
|
|
- Docker Container neu gestartet
|
|
|
|
================================================================================
|
|
07.01.2025 - WISSENSMANAGEMENT: FILE UPLOAD FUNKTIONALITÄT REPARIERT
|
|
================================================================================
|
|
|
|
## PROBLEMBEHEBUNG
|
|
✅ File Upload funktioniert wieder im Knowledge-Modul
|
|
- Click-Event für Upload-Bereich hinzugefügt
|
|
- Klick auf gesamten Upload-Bereich öffnet Datei-Dialog
|
|
✅ Verbesserte Handhabung bei neuen Einträgen
|
|
- Klarere Meldung: "Speichern Sie zuerst den Eintrag"
|
|
- Dateien werden temporär gespeichert
|
|
- Nach Speichern automatisch hochgeladen
|
|
✅ Upload-Bereich immer sichtbar
|
|
- Auch bei neuen Einträgen angezeigt
|
|
- Hilfstext erklärt Workflow
|
|
|
|
## TECHNISCHE DETAILS
|
|
- pendingFiles Property für temporäre Dateispeicherung
|
|
- Auto-Upload nach createKnowledgeEntry
|
|
- Service Worker Cache-Version: 277
|
|
|
|
================================================================================
|
|
07.01.2025 - KALENDER: INTELLIGENTE POPUP-POSITIONIERUNG
|
|
================================================================================
|
|
|
|
## FUNKTIONALE VERBESSERUNGEN
|
|
✅ Kalender-Popup bleibt immer im sichtbaren Bereich
|
|
- Erkennt wenn Popup unten aus dem Viewport ragt
|
|
- Positioniert sich automatisch oberhalb des Elements
|
|
- Falls oben kein Platz: Am unteren Bildschirmrand fixiert
|
|
✅ Horizontale Positionierung optimiert
|
|
- Verhindert Überlauf rechts und links
|
|
- Automatische Anpassung mit 8px Padding
|
|
✅ Maximale Höhe auf 80% des Viewports begrenzt
|
|
- Scrollbar bei vielen Aufgaben
|
|
- Header bleibt immer sichtbar
|
|
- Buttons bleiben am Ende fixiert
|
|
✅ Konsistente Positionierung für beide Popup-Typen
|
|
- Aufgaben-Popup
|
|
- Erinnerungs-Popup
|
|
|
|
## TECHNISCHE DETAILS
|
|
- Position: fixed statt absolute für Viewport-Bezug
|
|
- Viewport-Grenzen-Prüfung vor Positionierung
|
|
- Flexbox-Layout für bessere Inhaltsverteilung
|
|
- Service Worker Cache-Version: 271
|
|
|
|
================================================================================
|
|
07.01.2025 - ERINNERUNGEN: NEUE ZEITAUSWAHL MIT EINHEIT UND ZAHL
|
|
================================================================================
|
|
|
|
## FUNKTIONALE ÄNDERUNGEN
|
|
✅ Neue Zeitauswahl für Erinnerungen implementiert
|
|
- Zahlenfeld (1-9) für die Anzahl
|
|
- Dropdown für Zeiteinheit (Tag, Woche, Monat)
|
|
- Ersetzt die vorherigen Checkboxen (1-3 Tage)
|
|
✅ Flexiblere Erinnerungszeiten möglich:
|
|
- 1-9 Tage vorher
|
|
- 1-9 Wochen vorher (= 7-63 Tage)
|
|
- 1-9 Monate vorher (= 30-270 Tage)
|
|
✅ Automatische Umrechnung beim Laden bestehender Erinnerungen
|
|
✅ Kompakteres und intuitiveres Design
|
|
|
|
## TECHNISCHE DETAILS
|
|
- HTML: Neues Input-Layout mit number input und select
|
|
- JS: Umrechnung zwischen Tagen/Wochen/Monaten
|
|
- CSS: Styling für horizontales Layout
|
|
- Service Worker Cache-Version: 269
|
|
|
|
================================================================================
|
|
07.01.2025 - KALENDER: KORREKTUR DER ERINNERUNGS-BUTTON FARBEN
|
|
================================================================================
|
|
|
|
## KORREKTUREN
|
|
✅ Erinnerungs-Buttons haben jetzt korrekten orangenen Hintergrund
|
|
- Hintergrund: #f97316 (Orange)
|
|
- Schriftfarbe: Weiß
|
|
- Hover: Dunkleres Orange (#ea580c)
|
|
✅ Alle Erinnerungs-Buttons einheitlich gestaltet
|
|
- "Erinnerung hinzufügen" in Kalendertagen
|
|
- "Weitere Erinnerung" in Popups
|
|
- Hauptbutton oberhalb Filter
|
|
✅ Service Worker Cache-Version: 268
|
|
|
|
================================================================================
|
|
07.01.2025 - KALENDER: OPTIMIERUNG DER ERINNERUNGS-BUTTONS UND HOVER-EFFEKTE
|
|
================================================================================
|
|
|
|
## UI-ANPASSUNGEN
|
|
✅ Hover-Effekt für orangefarbene Erinnerungs-Buttons verbessert
|
|
- Vorher: Wurde zu hell/weiß beim Hover
|
|
- Jetzt: Dunkleres Orange mit sanftem Schatten-Effekt
|
|
✅ "Erinnerung hinzufügen" Buttons in Kalendertagen jetzt orange
|
|
- Konsistente Farbgebung für alle Erinnerungs-Funktionen
|
|
- Gestrichelte orange Umrandung wie bei Aufgaben-Button
|
|
✅ "+" Symbol bei "Aufgabe hinzufügen" entfernt
|
|
- Klarerer Text ohne redundante Symbole
|
|
✅ Neue CSS-Klasse "btn-reminder-secondary" für orange Buttons
|
|
✅ Wochenansicht: Neuer Button "Erinnerung hinzufügen" hinzugefügt
|
|
|
|
## TECHNISCHE DETAILS
|
|
- Hover-Farbe: Von #ea580c (zu hell) zu #dc2626 (dunkler)
|
|
- Transform-Effekt: translateY(-1px) für leichtes Anheben
|
|
- Box-Shadow beim Hover für Tiefeneffekt
|
|
- Service Worker Cache-Version: 267
|
|
|
|
================================================================================
|
|
07.01.2025 - ERINNERUNGS-BUTTON: SVG-ICON SICHTBARKEIT BEHOBEN
|
|
================================================================================
|
|
|
|
## PROBLEMBEHEBUNG
|
|
✅ SVG Glocken-Icon im Erinnerungs-Button wird jetzt korrekt angezeigt
|
|
- Problem: createElement() unterstützt kein SVG-Namespace
|
|
- Lösung: innerHTML für SVG-Erzeugung verwendet
|
|
- Icon ist jetzt weiß und sichtbar auf orangem Hintergrund
|
|
|
|
## TECHNISCHE DETAILS
|
|
- calendar.js: SVG mit innerHTML statt createElement erzeugt
|
|
- Konsistente Icon-Darstellung in allen Buttons
|
|
- Service Worker Cache-Version: 275
|
|
|
|
================================================================================
|
|
07.01.2025 - KONTAKTE-MODUL: UI-REDESIGN FÜR KONSISTENZ
|
|
================================================================================
|
|
|
|
## UI-ANPASSUNGEN
|
|
✅ View-Container mit konsistentem Padding (spacing-6) wie andere Module
|
|
✅ View-Wrapper für scrollbaren Inhalt hinzugefügt
|
|
✅ Header-Styling vereinheitlicht (text-2xl, font-semibold)
|
|
✅ Filter-Controls mit modernem Card-Design (bg-secondary, border-radius-xl)
|
|
✅ Select-Dropdowns mit Custom-Styling und Hover-Effekten
|
|
✅ Kontakt-Karten mit verbessertem Spacing und border-radius-xl
|
|
✅ SVG-Icons statt Font Awesome für bessere Performance
|
|
✅ Empty-State Design konsistent mit anderen Modulen
|
|
✅ Responsive Breakpoints optimiert (968px, 768px)
|
|
✅ CSS-Variablen durchgängig verwendet (spacing-*, text-*, radius-*)
|
|
✅ Hover-Effekte verbessert (scale, shadow-lg)
|
|
✅ Tag-Styling mit border-radius-full für moderne Optik
|
|
|
|
## TECHNISCHE DETAILS
|
|
- Alle Abstände nutzen nun --spacing-* Variablen
|
|
- Border-Radius konsistent mit --radius-xl
|
|
- Filter-Select mit 40px Höhe wie andere Buttons
|
|
- Max-Width 1400px für Content-Container
|
|
- Service Worker Cache-Version: 266
|
|
|
|
================================================================================
|
|
07.01.2025 - KONTAKTE-MODUL: VOLLSTÄNDIGE IMPLEMENTATION & FEHLERBEHEBUNG
|
|
================================================================================
|
|
|
|
## PHASE 1: INITIALE IMPLEMENTATION
|
|
✅ Datenbank-Schema für Kontakte erstellt (contacts Tabelle)
|
|
✅ Backend API-Routes implementiert (/api/contacts)
|
|
✅ CRUD-Operationen für Kontakte (Create, Read, Update, Delete)
|
|
✅ Kontakt-Validierung in validation.js hinzugefügt
|
|
✅ Such- und Filter-Funktionen (Name, Firma, E-Mail, Tags)
|
|
✅ Socket.io Events für Echtzeit-Updates
|
|
✅ Tags-Verwaltung mit eigenem Endpunkt
|
|
✅ Server-Route registriert in server.js
|
|
✅ Frontend contacts.js Modul mit Kartenansicht
|
|
✅ CSS-Styling für responsive Kontakte-Karten
|
|
✅ Navigation-Tab für Kontakte hinzugefügt
|
|
✅ Kontakt-Modal für Anlegen/Bearbeiten/Löschen
|
|
✅ Tag-Filter-Dropdown und Sortierung
|
|
✅ Empty State mit Call-to-Action
|
|
✅ Mobile Navigation erweitert
|
|
✅ Service Worker Cache-Version auf 265 erhöht
|
|
|
|
## PHASE 2: SUCHFUNKTION INTEGRATION
|
|
✅ Globale Suchfunktion für Kontakte integriert
|
|
✅ Lokales Suchfeld entfernt - nutzt jetzt Header-Suche
|
|
✅ View-spezifische Suche implementiert (nur im Kontakte-Tab aktiv)
|
|
✅ Kontakte-Initialisierung beim Tab-Switch optimiert
|
|
✅ Manager-Export für externe Zugriffe hinzugefügt
|
|
|
|
## PHASE 3: KRITISCHE FEHLERBEHEBUNG
|
|
|
|
### 🔥 BACKEND DEPLOYMENT ISSUES BEHOBEN:
|
|
- **Problem**: 404 API-Fehler - /api/contacts nicht gefunden
|
|
- **Ursache**: Backend-Dateien nicht im Docker-Container
|
|
- **Lösung**: Vollständige Backend-Dateien in Container kopiert + Neustart
|
|
- **Betroffene Dateien**: routes/contacts.js, validation.js, server.js
|
|
|
|
### 🔥 DATENBANK ISSUES BEHOBEN:
|
|
- **Problem**: 500 Server Error - "no such table: contacts"
|
|
- **Ursache**: Bestehende DB erweitert sich nicht automatisch
|
|
- **Lösung**: contacts Tabelle manuell mit Node.js erstellt
|
|
- **Command**: `docker exec taskmate node -e "CREATE TABLE..."`
|
|
|
|
### 🔥 FRONTEND TOAST-SYSTEM BEHOBEN:
|
|
- **Problem**: `store.showMessage is not a function`
|
|
- **Ursache**: Falsche Toast-API verwendet
|
|
- **Lösung**: Migrated zu `window.dispatchEvent('toast:show')`
|
|
- **Pattern**: Konsistent mit Rest der Anwendung
|
|
|
|
### 🔥 EVENT-HANDLER & MODAL ISSUES BEHOBEN:
|
|
- **Problem**: "Neuer Kontakt" Button funktioniert nicht
|
|
- **Ursache**: Event-Handler Timing + Modal-Overlay fehlt
|
|
- **Lösung**: Debugging-Logs + korrekte Modal-Sichtbarkeit
|
|
- **Verbesserungen**: Modal-Overlay Management implementiert
|
|
|
|
### 🔥 UI/UX DESIGN KONSISTENZ BEHOBEN:
|
|
- **Problem**: Modal zu klein, Tags abgeschnitten, × Button inkonsistent
|
|
- **Ursache**: Custom Modal-CSS statt Standard-Pattern
|
|
- **Lösung**: Komplette Migration zu Standard-Modal-Struktur
|
|
- **Resultat**: `modal-medium` + `modal-header/body/footer` Pattern
|
|
|
|
## DOKUMENTATION & DEBUGGING
|
|
✅ Umfassende Fehlerdokumentation in CLAUDE.md hinzugefügt
|
|
✅ 5 kritische Fehlerpattern dokumentiert mit Lösungsansätzen
|
|
✅ Debugging-Workflows für zukünftige Module erstellt
|
|
✅ Standard-Patterns für Globale Suche dokumentiert
|
|
✅ Docker-Container Management Best Practices hinzugefügt
|
|
|
|
## FINALE FEATURES
|
|
🎯 **Vollständiges Kontakte-Modul** für Firmenkontakte
|
|
🎯 **Kartenansicht** mit Avatar, Firma, Position, Kontaktdaten
|
|
🎯 **Globale Suche** integriert (Header-Suchfeld)
|
|
🎯 **Tag-basierte Kategorisierung** (Kunde, Partner, Lieferant, etc.)
|
|
🎯 **Responsive Design** für Desktop und Mobile
|
|
🎯 **Echtzeit-Updates** via Socket.io
|
|
🎯 **Standard Modal-Design** konsistent mit App-Design
|
|
🎯 **Toast-Benachrichtigungen** für alle CRUD-Operationen
|
|
|
|
TECHNISCHE DETAILS:
|
|
- Backend: Express.js Routes mit Auth + CSRF + Validation
|
|
- Frontend: ES6 Module mit ContactsManager Class
|
|
- Database: SQLite contacts Tabelle mit 18 Feldern
|
|
- API: RESTful CRUD + Such-Endpunkte
|
|
- UI: Standard Modal-System + Responsive Grid
|
|
- Cache: Service Worker v265 mit contacts.js/css
|
|
|
|
DEPLOYMENT-WORKFLOW FÜR ZUKÜNFTIGE MODULE:
|
|
1. Backend-Dateien entwickeln (routes, validation, schema)
|
|
2. Frontend-Module entwickeln (js, css, html)
|
|
3. ⚠️ KRITISCH: Alle Backend-Dateien in Container kopieren
|
|
4. ⚠️ KRITISCH: Docker Container neu starten
|
|
5. ⚠️ KRITISCH: DB-Schema-Änderungen manuell ausführen
|
|
6. Frontend-Dateien kopieren (docker cp)
|
|
7. Service Worker Cache-Version erhöhen
|
|
8. Browser-Cache leeren + testen
|
|
|
|
================================================================================
|
|
06.01.2026 - ERINNERUNGEN IM KALENDER ALS BALKEN DARGESTELLT + LÖSCHFUNKTION
|
|
================================================================================
|
|
✅ Erinnerungen werden jetzt wie Aufgaben als Balken dargestellt
|
|
✅ Glocken-Icon (🔔) wird oben rechts im Balken angezeigt
|
|
✅ Erinnerungstitel wird vollständig ausgeschrieben
|
|
✅ Individuelle Farben aus der Erinnerung werden verwendet
|
|
✅ Erinnerungen werden VOR Aufgaben angezeigt (höhere Priorität)
|
|
✅ Klick auf Erinnerung öffnet Bearbeitungs-Modal
|
|
✅ Implementierung in BEIDEN Ansichten (Monats- und Wochenkalender)
|
|
✅ Alte kreisförmige Glocken-Darstellung entfernt
|
|
✅ CSS für einheitliche Darstellung optimiert
|
|
✅ LÖSCHFUNKTION im Erinnerungs-Modal hinzugefügt
|
|
✅ Checkboxen für Erinnerungsvorlauf repariert (korrekte Größe, keine Durchstreichung)
|
|
✅ Kompakte Farbauswahl mit Dropdown (ein Kreis statt 8 Kreise)
|
|
✅ Button-Layout korrigiert (Lösch-Button rechts, Abbrechen/Speichern links)
|
|
✅ CHECKBOX-STYLING KOMPLETT REPARIERT (vollständig blau mit weißem Haken)
|
|
✅ Erinnerungs-Positionierung korrigiert (nach Aufgaben, unterbrechen nicht mehr)
|
|
✅ Cache-Version auf 262 erhöht
|
|
|
|
ÄNDERUNGEN:
|
|
- calendar.js: createDayElement und createWeekDayElement angepasst
|
|
- calendar.css: Neue Styles für calendar-reminder-item hinzugefügt
|
|
- reminders.css: Neue Checkbox-Styles, kompakte Farbauswahl, Button-Layout
|
|
- reminders.js: handleDelete Funktion, neue Color-Picker Logik, Event-Handler
|
|
- index.html: Neues Modal-Layout mit kompakter Farbauswahl
|
|
|
|
================================================================================
|
|
05.01.2026 - ERINNERUNG-BUTTON JETZT RICHTIG REPARIERT + ADMIN-PASSWORT BEHOBEN
|
|
================================================================================
|
|
✅ Erinnerung Button ist jetzt VOLLSTÄNDIG FUNKTIONSFÄHIG!
|
|
✅ Store-Problem behoben: API getReminders() extrahiert jetzt data-Property
|
|
✅ ReminderManager wird korrekt initialisiert - reminders.js in HTML eingebunden
|
|
✅ Button-Hover und Farben komplett überarbeitet für bessere Sichtbarkeit
|
|
✅ Alle CSS-Probleme behoben: Hover-Text lesbar, Button-Farben optimiert
|
|
✅ Cache-Version auf 257 erhöht für sofortige Browser-Updates
|
|
✅ Service Worker Cache korrigiert: reminders.js und reminders.css hinzugefügt
|
|
✅ DOM-Timing repariert: Button-Handler wird nach View-Wechsel neu gebunden
|
|
✅ Event-Handler Konflikt behoben: Button-Klon-Methode verwendet
|
|
✅ Modal-Anzeige repariert: visible-Klasse und Overlay hinzugefügt
|
|
✅ Benutzer-Dropdown mit User-Avatars: HG/MH Kreise wie im Rest der App
|
|
✅ Custom Select implementiert: Initiale + Farben + konsistente UX
|
|
✅ Modal-Textfarben auf schwarz gesetzt: Perfekte Lesbarkeit bei jedem Hover-Zustand
|
|
✅ Erinnerungs-Löschfunktion implementiert: Delete-Button mit Bestätigungsdialog
|
|
✅ RÜCKGÄNGIG: Kalender wieder auf stabilen Zustand zurückgesetzt
|
|
✅ Reminder-Icons: Kleine runde Glocken oben rechts (funktioniert zuverlässig)
|
|
✅ Admin-Account SOFORT entsperrt: Account-Sperre bis 22:24 entfernt, Container neu gestartet
|
|
✅ Login-Audit bereinigt: Fehlgeschlagene Anmeldeversuche gelöscht
|
|
✅ Admin-Passwort neu gesetzt: Kx9#mP2$vL7@nQ4!wR funktioniert wieder
|
|
|
|
BEHOBENE KERNPROBLEME:
|
|
1. "[Calendar] Reminders not available or not an array" - API Response korrekt verarbeitet
|
|
2. Button nicht klickbar - Event-Handler wird jetzt korrekt registriert
|
|
3. ReminderManager nicht initialisiert - Modul wird jetzt geladen
|
|
4. Store erhält leere/falsche Daten - getReminders() extrahiert data-Property
|
|
5. CSS-Hover-Probleme - Button-Farben komplett neu gestaltet
|
|
|
|
BEHOBENE ERINNERUNGSPROBLEME:
|
|
1. Hover-Text war unleserlich (weiß auf weiß)
|
|
2. Button erfüllte keine Funktion
|
|
3. Keine Benutzer-Zuweisung möglich
|
|
4. Checkboxen reagierten nicht
|
|
5. Speichern-Button war nur blaues Feld
|
|
|
|
NEUE ERINNERUNGS-FEATURES:
|
|
- Dropdown "Zugewiesen an" mit allen Benutzern
|
|
- Funktionierende Checkboxen mit korrekten Farben
|
|
- Verbesserte Button-Sichtbarkeit und Hover-States
|
|
|
|
TECHNISCHE ERINNERUNGS-LÖSUNG:
|
|
- reminders.css: Hover-Farben und Button-Styles repariert
|
|
- index.html: Benutzer-Auswahlfeld hinzugefügt
|
|
- reminders.js: loadUsers() und Assignee-Handling implementiert
|
|
|
|
================================================================================
|
|
05.01.2026 - KALENDER VOLLSTÄNDIG REPARIERT (LOGIN UNBERÜHRT)
|
|
================================================================================
|
|
✅ Kalender-Doppelklick Problem behoben
|
|
✅ Monatsansicht wird korrekt dargestellt
|
|
✅ Erinnerungsfunktion robuster gemacht
|
|
✅ DOM-Timing-Probleme behoben
|
|
✅ NUR calendar.js geändert - Login bleibt funktionsfähig
|
|
|
|
BEHOBENE KALENDER-PROBLEME:
|
|
1. Doppelklick bei Kalender-Tab erforderlich
|
|
2. Monatsansicht wird nicht angezeigt
|
|
3. Erinnerungen funktionieren nicht
|
|
4. Grid-Klassen werden nicht korrekt gesetzt
|
|
|
|
TECHNISCHE KALENDER-LÖSUNG:
|
|
- render(): Explizite Grid-Klassen-Behandlung + setTimeout für DOM-Timing
|
|
- renderMonthView(): Debug-Ausgabe für Troubleshooting
|
|
- getRemindersByDate(): Null-Check für Store-Daten
|
|
- Keine Login-relevanten Dateien verändert
|
|
|
|
================================================================================
|
|
05.01.2026 - LOGIN UND JAVASCRIPT-FEHLER BEHOBEN
|
|
================================================================================
|
|
✅ JavaScript Syntax-Fehler in app.js behoben (Zeile 685)
|
|
✅ Verstärktes Fallback-Script für Login hinzugefügt
|
|
✅ Ausführliche Console-Logs für Login-Debugging
|
|
✅ Login-Formular funktioniert jetzt zuverlässig
|
|
|
|
BEHOBENE PROBLEME:
|
|
1. SyntaxError in app.js verhinderte JavaScript-Ausführung
|
|
2. Login-Formular wurde nicht abgesendet (keine Reaktion)
|
|
3. Passwort-Hashes wurden korrigiert
|
|
|
|
TECHNISCHE LÖSUNG:
|
|
- app.js: Überflüssige schließende Klammer entfernt
|
|
- index.html: Robustes Fallback-Script mit Console-Logging
|
|
- Force-Override des Login-Handlers für Zuverlässigkeit
|
|
|
|
================================================================================
|
|
05.01.2026 - LOGIN KOMPLETT REPARIERT
|
|
================================================================================
|
|
✅ Login-Problem vollständig behoben
|
|
✅ Passwort-Hashes in Datenbank korrigiert
|
|
✅ Alle Benutzer können sich wieder anmelden
|
|
✅ Login-Formular funktioniert korrekt
|
|
|
|
BEHOBENE PROBLEME:
|
|
1. Passwort-Hashes in Datenbank waren korrupt
|
|
2. bcrypt Verifikation schlug fehl
|
|
3. Login-Formular sendete Daten in URL
|
|
|
|
TECHNISCHE LÖSUNG:
|
|
- Passwort-Hashes für alle Benutzer neu generiert
|
|
- index.html: Fallback-Handler hinzugefügt
|
|
- Debug-Logs temporär eingesetzt zur Problemidentifikation
|
|
|
|
AKTUELLE ANMELDEDATEN:
|
|
- admin / admin123
|
|
- hendrik_gebhardt@gmx.de / Hzfne313!fdEF34
|
|
- momohomma@googlemail.com / Hzfne313!fdEF34
|
|
|
|
================================================================================
|
|
05.01.2026 - KALENDER: DOPPELKLICK-BUG UND MONATSANSICHT BEHOBEN
|
|
================================================================================
|
|
✅ Kalender-Tab benötigt jetzt nur noch einen Klick statt zwei
|
|
✅ Monatsansicht wird beim Wechsel korrekt gerendert
|
|
✅ Grid-Klassen werden explizit gesetzt für korrekte Darstellung
|
|
✅ Kalender-Initialisierung verbessert
|
|
|
|
BEHOBENES PROBLEM:
|
|
- Kalender-Tab benötigte zwei Klicks zum Öffnen
|
|
- Monatsansicht wurde nicht korrekt dargestellt
|
|
- Grid-Klassen wurden beim View-Wechsel nicht richtig gesetzt
|
|
|
|
TECHNISCHE LÖSUNG:
|
|
- app.js: switchView() rendert Kalender explizit beim Tab-Wechsel
|
|
- calendar.js: Grid-Klassen werden in init() und renderMonthView() gesetzt
|
|
- Explizite Klassenbehandlung für calendar-month-view/calendar-week-view
|
|
|
|
================================================================================
|
|
05.01.2026 - KALENDER MONATSANSICHT: WOCHENANSICHT-BUG BEHOBEN
|
|
================================================================================
|
|
✅ Weekdays-Header wird jetzt nur in Monatsansicht angezeigt
|
|
✅ Wochenansicht zeigt korrekt eine Woche ohne störende Header
|
|
✅ Monatsansicht zeigt wieder den vollständigen Monat
|
|
✅ View-Umschaltung zwischen Monat/Woche funktioniert korrekt
|
|
|
|
BEHOBENES PROBLEM:
|
|
- Monatsansicht zeigte nur eine Woche statt des ganzen Monats
|
|
- Weekdays-Header (Mo, Di, Mi...) wurden auch in Wochenansicht angezeigt
|
|
- Dies störte das Grid-Layout der Kalenderansichten
|
|
|
|
TECHNISCHE LÖSUNG:
|
|
- calendar.js: Weekdays-Header werden je nach View-Mode ein-/ausgeblendet
|
|
- setViewMode(): weekdaysHeader.style.display = mode === 'month' ? 'grid' : 'none'
|
|
- render(): Sicherstellung der korrekten Anzeige bei jedem Rendering
|
|
|
|
================================================================================
|
|
05.01.2026 - KALENDER MONATSANSICHT: JAVASCRIPT-FEHLER BEHOBEN
|
|
================================================================================
|
|
✅ formatDateGerman() Aufruf durch formatDate() ersetzt
|
|
✅ Kalender Monatsansicht ist wieder vollständig sichtbar
|
|
✅ Erinnerungen-Popup funktioniert korrekt
|
|
✅ Keine JavaScript-Fehler mehr in Browser-Konsole
|
|
|
|
BEHOBENES PROBLEM:
|
|
- Kalender Monatsansicht war nicht sichtbar durch undefined method error
|
|
- formatDateGerman() existierte nicht in calendar.js
|
|
- Reminder-Popup konnte nicht geöffnet werden
|
|
- Browser-Console zeigte "TypeError: this.formatDateGerman is not a function"
|
|
|
|
TECHNISCHE LÖSUNG:
|
|
- calendar.js Zeile 913: this.formatDateGerman() → formatDate()
|
|
- Nutzt bestehende formatDate() Funktion aus utils.js
|
|
- Service Worker Cache Version 249
|
|
- Cache Version 249
|
|
|
|
================================================================================
|
|
05.01.2026 - ERINNERUNGSFUNKTION VOLLSTÄNDIG IMPLEMENTIERT
|
|
================================================================================
|
|
✅ Komplettes Erinnerungssystem mit automatischen Benachrichtigungen
|
|
✅ Datenbank-Schema: reminders + reminder_notifications Tabellen
|
|
✅ Backend-API: CRUD für Erinnerungen mit Vorlaufzeiten (1-3 Tage)
|
|
✅ Frontend-UI: Modal mit Farbauswahl und Datumswahl
|
|
✅ Kalender-Integration: Bell-Icons + Detail-Popups
|
|
✅ Notification-System: Automatische Inbox-Benachrichtigungen
|
|
✅ Cron-Job: ReminderService läuft alle 5 Minuten
|
|
|
|
NEUE FUNKTIONALITÄT:
|
|
1. **Erinnerung erstellen:**
|
|
- Kalender → "Erinnerung" Button (freie Datumswahl)
|
|
- Tag anklicken → "+ Erinnerung hinzufügen" (spezifisches Datum)
|
|
- Titel, Beschreibung, Farbe (8 Farben), Uhrzeit
|
|
- 1-3 Tage Vorlaufzeit wählbar für Benachrichtigungen
|
|
|
|
2. **Kalender-Anzeige:**
|
|
- 🔔 Bell-Icons in Kalendertagen bei Erinnerungen
|
|
- Klick auf Icon zeigt Reminder-Details mit Zeit und Beschreibung
|
|
- Klick auf Reminder öffnet Bearbeitungsmodus
|
|
- Farbe der ersten Erinnerung wird als Icon-Farbe verwendet
|
|
|
|
3. **Automatische Benachrichtigungen:**
|
|
- ReminderService läuft alle 5 Minuten im Hintergrund
|
|
- Prüft fällige Benachrichtigungen und sendet an Inbox
|
|
- Benachrichtigung: "Erinnerung: Meeting - in 2 Tagen"
|
|
- WebSocket-Updates in Echtzeit
|
|
|
|
TECHNISCHE IMPLEMENTIERUNG:
|
|
- Backend: reminderService.js mit Singleton-Pattern
|
|
- Datenbank: reminder_notifications Tracking für gesendete Benachrichtigungen
|
|
- API: /reminders CRUD + /stats + /check-now Endpoints
|
|
- Store: reminders State Management
|
|
- CSS: Responsive Design mit Hover-Effekten
|
|
- Cache Version 248
|
|
|
|
DEBUG-ENDPOINTS:
|
|
- GET /api/reminders/stats - Service-Statistiken
|
|
- POST /api/reminders/check-now - Manuelle Prüfung
|
|
|
|
BENUTZER-ERFAHRUNG:
|
|
- Intuitive Bedienung über Kalender-Interface
|
|
- Farbcodierung für bessere Übersicht
|
|
- Automatische Benachrichtigungen ohne manuellen Aufwand
|
|
- Responsive Design für Desktop und Mobile
|
|
|
|
================================================================================
|
|
05.01.2026 - TASK-MODAL MITARBEITENDE-DROPDOWN: UNDEFINED-ANZEIGE BEHOBEN
|
|
================================================================================
|
|
✅ Mitarbeitende-Dropdown zeigt korrekte Initialen statt "?" und "undefined"
|
|
✅ Nur Avatar-Kreise werden angezeigt (ohne E-Mail-Adresse)
|
|
✅ Tooltips zeigen Anzeigenamen (Hendrik, Monami) statt E-Mail
|
|
✅ Debug-Code aus Board-View entfernt
|
|
|
|
BEHOBENES PROBLEM:
|
|
- Task-Modal zeigte "?" in Avatar-Kreisen und "undefined" als Text
|
|
- E-Mail-Adressen wurden angezeigt statt nur Avatar-Kreise
|
|
- Problem war nur im Mitarbeitende-Zuweisen Dropdown
|
|
- Board und andere Views waren bereits korrekt
|
|
|
|
TECHNISCHE LÖSUNG:
|
|
- task-modal.js: updateAssigneesDisplay() nutzt jetzt user.initials
|
|
- Zeigt nur Avatar-Kreise ohne Text daneben
|
|
- Tooltip auf Avatar zeigt display_name
|
|
- board.js: Debug-Code entfernt, saubere Tooltips
|
|
- Cache Version 244
|
|
|
|
UI-VERBESSERUNGEN:
|
|
- Mitarbeitende-Dropdown: Nur farbige Kreise mit Kürzeln
|
|
- Hover über Avatar zeigt vollständigen Namen (Hendrik, Monami)
|
|
- Konsistente Darstellung in allen Views
|
|
- Keine Debug-Informationen mehr in Tooltips
|
|
|
|
================================================================================
|
|
05.01.2026 - KALENDER WOCHENANSICHT: TAG-KLICK DETAIL-POPUP IMPLEMENTIERT
|
|
================================================================================
|
|
✅ Wochenansicht unterstützt jetzt Tag-Klick für Detail-Popup
|
|
✅ Identische Funktionalität wie in der Monatsansicht
|
|
✅ Übersichtliche Aufgabenliste mit Prioritäts-Anzeige
|
|
✅ Klick auf Aufgabe öffnet Task-Modal zur Bearbeitung
|
|
|
|
NEUE FUNKTIONALITÄT:
|
|
- Tag-Klick in Wochenansicht öffnet Day-Detail-Popup
|
|
- Zeigt alle Aufgaben des Tages sortiert und priorisiert
|
|
- Task-Modal direkt über Aufgaben-Klick aufrufbar
|
|
- Konsistente UX zwischen Monats- und Wochenansicht
|
|
|
|
TECHNISCHE IMPLEMENTIERUNG:
|
|
- calendar.js: handleDayClick() erweitert für calendar-week-day
|
|
- Verwendet bestehende showDayDetail() Funktion
|
|
- Close-Event für beide View-Modi angepasst
|
|
- Keine Änderungen am Day-Detail-Popup nötig (bereits generisch)
|
|
- Cache Version 231
|
|
|
|
UX-VERBESSERUNG:
|
|
- Schneller Überblick über Tages-Aufgaben in beiden Ansichten
|
|
- Einheitliche Bedienung zwischen Monats-/Wochenansicht
|
|
- Direkte Aufgaben-Bearbeitung aus Detail-Popup
|
|
|
|
================================================================================
|
|
05.01.2026 - TASK-MODAL: FORMULAR-RESET BEIM NEUANLEGEN REPARIERT
|
|
================================================================================
|
|
✅ Neue Aufgaben zeigen keine Reste von vorherigen Aufgaben mehr
|
|
✅ Checklisten, Anhänge, Kommentare werden beim Neuanlegen geleert
|
|
✅ UI-Elemente werden korrekt zurückgesetzt im Create-Modus
|
|
✅ Saubere Trennung zwischen Edit- und Create-Zuständen
|
|
|
|
BEHOBENES PROBLEM:
|
|
- Beim Neuanlegen wurden teilweise Bestandteile aus zuvor geöffneten Aufgaben angezeigt
|
|
- Checklisten und Anhänge aus der vorherigen Aufgabe erschienen im neuen Modal
|
|
- Nach dem Erstellen waren die Bestandteile nicht in der neuen Aufgabe (nur UI-Anzeigefehler)
|
|
- Verwirrende Darstellung für Benutzer
|
|
|
|
TECHNISCHE URSACHE:
|
|
- Arrays wurden zurückgesetzt (subtasks = []), aber UI nicht gerendert
|
|
- renderSubtasks(), renderFiles(), etc. wurden nur im Edit-Modus aufgerufen
|
|
- Im Create-Modus blieben alte DOM-Elemente sichtbar
|
|
|
|
TECHNISCHE LÖSUNG:
|
|
- task-modal.js: Explizite UI-Clearing im Create-Modus
|
|
- Alle Render-Funktionen werden aufgerufen: renderSubtasks(), renderLinks(), renderFiles(), renderComments(), renderHistory()
|
|
- Saubere DOM-State bei jedem Modal-Opening
|
|
- Cache Version 230
|
|
|
|
================================================================================
|
|
05.01.2026 - KALENDER WOCHENANSICHT: OPTIMIERTE BESCHRIFTUNG + DURCHGÄNGIGE BALKEN
|
|
================================================================================
|
|
✅ Wochenansicht: Titel/Zuweisung nur am Aufgaben-Start oder erstem Wochentag
|
|
✅ Monatsansicht: Range-Tasks haben Layout-Priorität über Single-Day-Tasks
|
|
✅ Durchgängige Balken werden nicht mehr durch einzelne Aufgaben unterbrochen
|
|
✅ Intelligente Beschriftung verhindert redundante Informationen
|
|
✅ Leere Middle-Segmente sind subtil (30% Transparenz)
|
|
|
|
BEHOBENE PROBLEME:
|
|
1. Wochenansicht: Redundante Beschriftung in allen Segmenten
|
|
2. Monatsansicht: Range-Tasks wurden durch Single-Day-Tasks unterbrochen
|
|
3. Layout-Chaos bei gemischten Task-Typen am gleichen Tag
|
|
4. Inkonsistente Balken-Darstellung bei überlappenden Aufgaben
|
|
|
|
INTELLIGENTE BESCHRIFTUNG:
|
|
- Titel/Badges werden gezeigt bei: Aufgaben-Start ODER erstem Tag der Woche
|
|
- Lange Aufgaben zeigen Beschriftung am Montag (auch wenn sie früher begannen)
|
|
- Leere Middle-Segmente haben 30% Transparenz für subtile Darstellung
|
|
- Keine redundante Information, aber immer erkennbar welche Aufgabe
|
|
|
|
TECHNISCHE IMPLEMENTIERUNG:
|
|
- calendar.js: isFirstDayOfWeek + showContent Logik
|
|
- Smart-Sortierung priorisiert Range-Tasks vor Single-Day-Tasks
|
|
- CSS: :empty/:not(:empty) Selektoren für Middle-Segment-Styling
|
|
- Längere Zeiträume bekommen höhere Layout-Priorität
|
|
- Cache Version 229
|
|
|
|
BEHOBENES PROBLEM:
|
|
- Wochenansicht zeigte einzelne Segmente statt durchgängige Balken
|
|
- Mehrtägige Aufgaben wirkten wie separate Tasks pro Tag
|
|
- Visuelle Inkonsistenz zwischen Monats- und Wochenansicht
|
|
|
|
TECHNISCHE IMPLEMENTIERUNG:
|
|
- calendar.css: Durchgängige Range-Styling für .calendar-week-task.has-range
|
|
- Erweiterte Margins und Padding für nahtlose Verbindung zwischen Tagen
|
|
- Spezifische Border-Radius für Start/End-Segmente
|
|
- calendar.js: Titel nur für Start-Segmente, transparente Middle-Segmente
|
|
- User-Badges nur bei Aufgaben-Start anzeigen
|
|
- Cache Version 227
|
|
|
|
VISUELLE VERBESSERUNGEN:
|
|
- Start: Abgerundete linke Ecken, Border-Color der Spalte
|
|
- Middle: Transparent, keine Ecken, durchgängige Verbindung
|
|
- End: Abgerundete rechte Ecken, nahtloser Übergang
|
|
- Konsistente Höhe (24px) für alle Balken-Segmente
|
|
|
|
================================================================================
|
|
05.01.2026 - MOBILE NAVIGATION FINAL REPARIERT
|
|
================================================================================
|
|
✅ Board-Swipe funktioniert jetzt über gesamten Aufgabenbereich
|
|
✅ Liste und Kalender zeigen Inhalte in Mobile-Ansicht (Timing-Fix)
|
|
✅ Horizontales Swipen zwischen Board-Spalten über Aufgabenkarten
|
|
✅ Interactive Elemente (Buttons, Links) blockieren weiterhin Swipe
|
|
✅ View-Switching und Rendering komplett funktional
|
|
|
|
BEHOBENE MOBILE PROBLEME:
|
|
1. Board-Swipe war nur in leeren Bereichen möglich (nicht über Aufgaben)
|
|
2. Liste/Kalender-Views waren leer durch Timing-Problem beim Rendering
|
|
3. column-body Bereich war komplett vom Swipe ausgeschlossen
|
|
4. Store currentView wurde nicht rechtzeitig vor render() gesetzt
|
|
|
|
TECHNISCHE FIXES:
|
|
- mobile.js: .column-body aus Swipe-Blacklist entfernt
|
|
- mobile.js: Nur spezifische interaktive Elemente blockieren Swipe
|
|
- app.js: setTimeout() für listViewManager/calendarViewManager render()
|
|
- Timing-Problem zwischen store.setCurrentView() und render() behoben
|
|
- Cache Version 226 (Browser-Cache erneuern)
|
|
|
|
MOBILE UX VERBESSERUNGEN:
|
|
- Board: Swipe links/rechts zwischen Spalten
|
|
- Liste/Kalender: Views werden beim Tab-Wechsel korrekt gerendert
|
|
- Hamburger-Menu: Tab-Navigation über 3-Balken-Icon
|
|
- Swipe-Indikatoren zeigen verfügbare Richtungen
|
|
- Touch-Feedback und visuelle Hinweise
|
|
|
|
================================================================================
|
|
05.01.2026 - WISSEN-SIDEBAR RESIZE-FUNKTIONALITÄT VOLLSTÄNDIG REPARIERT
|
|
================================================================================
|
|
✅ Sidebar-Resize-Handle funktioniert jetzt vollständig
|
|
✅ CSS-Positionierung behoben: .knowledge-sidebar erhielt position: relative
|
|
✅ JavaScript-Initialisierung repariert: Native DOM-Methoden statt $ Utility
|
|
✅ Express.js Caching deaktiviert für statische Dateien
|
|
✅ Resize-Handle subtil gestaltet: nur bei Hover sichtbar
|
|
✅ Debug-Code entfernt und Code bereinigt
|
|
|
|
BEHOBENE PROBLEME:
|
|
1. Resize-Handle war unsichtbar durch fehlende CSS-Positionierung
|
|
2. JavaScript $ Utility-Funktion nicht verfügbar bei Initialisierung
|
|
3. Express.js cachte statische Dateien mit ETags
|
|
4. Resize-Handle zu auffällig und breit
|
|
|
|
TECHNISCHE FIXES:
|
|
- .knowledge-sidebar: position: relative hinzugefügt
|
|
- bindResizeEvents(): document.getElementById() statt $('#...')
|
|
- Express.js: etag: false, cacheControl: false
|
|
- CSS: Handle 8px breit (statt 16px), transparent bis Hover
|
|
- Hover-Effekt: dünner grauer Strich erscheint
|
|
|
|
DEPLOYMENT-DOKUMENTATION:
|
|
✅ Vollständige Problemanalyse in CLAUDE.md dokumentiert
|
|
✅ Workflow für Frontend-Änderungen beschrieben
|
|
✅ Docker cp Commands für Development-Änderungen
|
|
✅ Debugging-Strategien für zukünftige Probleme
|
|
|
|
BENUTZER-ERFAHRUNG:
|
|
- Resize-Funktionalität: 220px bis 800px Breite
|
|
- Einstellungen werden in localStorage gespeichert
|
|
- Subtiler Hover-Indikator statt permanente Sichtbarkeit
|
|
- Smooth Transitions bei Resize-Operationen
|
|
|
|
================================================================================
|
|
05.01.2026 - DOCKER-DEPLOYMENT-PROBLEME & CSS-FIXES
|
|
================================================================================
|
|
✅ CSS-Änderungen direkt im Container durchgeführt (docker cp)
|
|
✅ Sidebar-Breite erfolgreich auf 450px geändert (von 280px)
|
|
✅ Service Worker Version 223 aktiv
|
|
✅ Frontend-Deployment-Problematik identifiziert und dokumentiert
|
|
|
|
IDENTIFIZIERTE PROBLEME:
|
|
1. Frontend wird nach /app/public/ kopiert (nicht live gemountet)
|
|
2. Änderungen in /home/claude-dev/TaskMate/frontend/ kommen nicht automatisch an
|
|
3. Token-Authentifizierung für API-Zugriffe außerhalb des Containers problematisch
|
|
4. Resize-Funktionalität trotz vorhandener Implementierung nicht aktiv
|
|
|
|
DEPLOYMENT-WORKFLOW:
|
|
- Entwicklung: Änderungen in /home/claude-dev/TaskMate/frontend/
|
|
- Test: docker cp frontend/[datei] taskmate:/app/public/[datei]
|
|
- Produktion: docker build -t taskmate . && docker restart taskmate
|
|
|
|
TECHNISCHE DETAILS:
|
|
- Container-Pfade: /app/public/ (Frontend), /app/ (Backend)
|
|
- Gemountete Pfade: /app/taskmate-source/ (nur für Git-Operationen)
|
|
- CSS grid-template-columns: 450px 1fr (vorher 280px 1fr)
|
|
- Media Query < 900px: 350px 1fr (vorher 220px 1fr)
|
|
|
|
================================================================================
|
|
05.01.2026 - WISSEN-SIDEBAR WEITER VERBREITERT + MEDIA QUERY FIX
|
|
================================================================================
|
|
✅ Sidebar-Breite von 350px auf 450px erhöht für vollständige Kategorien-Anzeige
|
|
✅ Media Query für Bildschirme < 900px ebenfalls auf 450px korrigiert (war noch 350px!)
|
|
✅ Service Worker Cache Version auf 224 erhöht
|
|
✅ Kategoriennamen werden jetzt vollständig angezeigt ohne Abschneiden
|
|
|
|
Anpassungen:
|
|
- Standard-Breite: 450px (vorher 350px)
|
|
- Tablet-Breite < 900px: 450px (Media Query war noch auf 350px!)
|
|
- Bessere Lesbarkeit für längere Kategoriennamen
|
|
- Dynamisches Resize funktioniert bereits - maximale Breite auf 800px erhöht
|
|
- Resize-Handle zwischen Sidebar und Hauptbereich vorhanden
|
|
|
|
WICHTIG: Docker-Container muss neu gebaut werden, da Frontend-Dateien beim Build kopiert werden!
|
|
|
|
================================================================================
|
|
04.01.2026 - WISSEN-SIDEBAR VERBESSERT
|
|
================================================================================
|
|
✅ Sidebar-Breite von 280px auf 350px erhöht für bessere Kategorien-Anzeige
|
|
✅ Dynamische Resize-Funktionalität implementiert
|
|
✅ Drag-Handle zwischen Sidebar und Hauptbereich hinzugefügt
|
|
✅ localStorage-Persistierung für benutzerdefinierte Sidebar-Breite
|
|
✅ Resize-Bereich: 220px bis 600px, visuelle Feedback beim Ziehen
|
|
✅ Service Worker Cache Version auf 220 erhöht (Browser-Cache überwinden)
|
|
✅ Responsive CSS-Regel für Bildschirme < 900px von 220px auf 280px angepasst
|
|
|
|
Neue Features:
|
|
- Kategoriennamen werden nicht mehr abgeschnitten
|
|
- Sidebar kann durch Ziehen der rechten Kante verbreitert/verengt werden
|
|
- Einstellungen werden automatisch gespeichert und beim nächsten Besuch wiederhergestellt
|
|
- Visuelles Feedback (Farbwechsel) beim Hover und Dragging
|
|
|
|
================================================================================
|
|
04.01.2026 - KÜRZEL-SYSTEM KORRIGIERT
|
|
================================================================================
|
|
✅ Datenbankschema: username Feld in initials umbenannt
|
|
✅ Login erfolgt jetzt über E-Mail-Adresse (Admin kann weiter mit "admin" einloggen)
|
|
✅ E-Mail ist jetzt UNIQUE und NOT NULL
|
|
✅ Kürzel (initials) kann in Admin-Benutzerverwaltung bearbeitet werden
|
|
✅ Initialen-Anzeige vereinheitlicht - verwendet immer das initials Feld
|
|
✅ Redundantes "Initialen" Feld aus Benutzerformular entfernt
|
|
✅ Login-Response korrigiert - sendet jetzt initials Feld
|
|
✅ Alle Frontend-Komponenten verwenden jetzt das initials Feld
|
|
✅ User-API sendet initials statt username
|
|
✅ Changelog-Einträge in Wissensdatenbank übertragen
|
|
✅ Git-Repository Erkennung im Coding-Tab repariert
|
|
|
|
Wichtige Änderungen:
|
|
- Login nur noch über E-Mail (nicht mehr über Kürzel)
|
|
- Kürzel sind reine Anzeige-Elemente (2 Buchstaben)
|
|
- Admin-User hat spezielle E-Mail: admin@taskmate.local
|
|
- Initialen-Anzeige jetzt überall konsistent
|
|
- Changelog-System: Alle wichtigen Änderungen in Wissen > Changelog dokumentiert
|
|
- TaskMate-Kachel in "Gitea-Repo" umbenannt, Git-Repository wird wieder erkannt
|
|
|
|
================================================================================
|
|
04.01.2025 - NUTZER-INITIALEN IN ADMIN-BEREICH
|
|
================================================================================
|
|
✅ Initialen-Anzeige in Nutzer-Kreisen implementiert
|
|
✅ Intelligente Initialen-Generierung aus E-Mail oder Namen
|
|
✅ CSS für bessere Darstellung angepasst
|
|
✅ Benutzerdefinierte Initialen-Eingabe hinzugefügt
|
|
✅ Datenbank-Migration für custom_initials Spalte
|
|
|
|
Neue Features:
|
|
- Initialen werden jetzt aus dem Kürzel-Feld (username) angezeigt
|
|
- Kürzel können über die Admin-Einstellungen geändert werden
|
|
- Vereinfachte Logik: Kürzel = Initialen im Nutzerkreis
|
|
|
|
Initialen-Logik:
|
|
1. Username/Kürzel wird als Initialen angezeigt (z.B. HG, MO)
|
|
2. Fallback → Erste zwei Buchstaben des Display Names
|
|
|
|
Benutzer-Kürzel aktualisiert:
|
|
- hendrik_gebhardt@gmx.de → HG
|
|
- momohomma@googlemail.com → MO
|
|
|
|
Cache-Version auf 194 erhöht.
|
|
|
|
================================================================================
|
|
03.01.2025 - GIT-INTEGRATION CODING-KACHELN
|
|
================================================================================
|
|
✅ Git-Repository-Erkennung für TaskMate-Kachel repariert
|
|
✅ Docker-Pfad-Mapping: /home/claude-dev/TaskMate → /app/taskmate-source
|
|
✅ Git-Status und Commit-Funktionen funktionieren wieder
|
|
✅ Debug-Logging für Git-Operationen hinzugefügt
|
|
|
|
Technische Details:
|
|
- windowsToContainerPath() Funktion erweitert
|
|
- Spezialfall für TaskMate-Repository implementiert
|
|
- Container-Volume-Mapping berücksichtigt
|
|
- Cache-Version auf 189 erhöht
|
|
|
|
================================================================================
|
|
03.01.2025 - SICHERHEITSVERBESSERUNGEN PHASE 1
|
|
================================================================================
|
|
|
|
SCHRITT 1: HARTCODIERTE CREDENTIALS ENTFERNT
|
|
--------------------------------------------------------------------------------
|
|
- Hartcodierte Credentials aus CLAUDE.md entfernt
|
|
- Admin-Passwort aus ANWENDUNGSBESCHREIBUNG.txt entfernt
|
|
- Gitea-Token nicht mehr im Klartext in Dokumentation
|
|
- JWT_SECRET Mindestlänge von 32 Zeichen erzwungen
|
|
- Fallback für unsicheres JWT_SECRET entfernt
|
|
|
|
SCHRITT 2: TOKEN-ROTATION & REFRESH-TOKENS
|
|
--------------------------------------------------------------------------------
|
|
- Refresh-Token System implementiert (7 Tage Gültigkeit)
|
|
- Access-Tokens haben nur noch 15 Minuten Gültigkeit
|
|
- Neue Datenbank-Tabelle refresh_tokens
|
|
- Automatische Bereinigung abgelaufener Tokens
|
|
- Logout widerruft alle Refresh-Tokens des Benutzers
|
|
|
|
SCHRITT 3: SESSION-SICHERHEIT
|
|
--------------------------------------------------------------------------------
|
|
- Session-Countdown im Header zeigt verbleibende Zeit
|
|
- Automatische Token-Erneuerung vor Ablauf
|
|
- Warnung bei bald ablaufender Session
|
|
- httpOnly Cookies für sensible Daten
|
|
|
|
SCHRITT 4: PASSWORT-ANFORDERUNGEN
|
|
--------------------------------------------------------------------------------
|
|
- Mindestens 8 Zeichen für neue Passwörter
|
|
- Admin-User: E-Mail-basierter Login implementiert
|
|
- Passwort-Hashing mit bcrypt (10 Runden)
|
|
|
|
================================================================================
|
|
03.01.2025 - CLAUDE.MD NEUSTRUKTURIERUNG & DATENSCHUTZ
|
|
================================================================================
|
|
|
|
DOKUMENTATION
|
|
--------------------------------------------------------------------------------
|
|
- CLAUDE.md komplett überarbeitet für KI-Assistenten
|
|
- Klare Regeln für nicht-technische Anwender
|
|
- Quick-Start-Sektion mit wichtigsten Befehlen
|
|
- Kritische Regeln prominent hervorgehoben
|
|
- Datenschutz-Sektion für produktives AegisSight-Projekt
|
|
|
|
NEUE SEKTIONEN IN CLAUDE.MD
|
|
--------------------------------------------------------------------------------
|
|
1. Wichtiger Hinweis für KI-Assistenten
|
|
2. Quick Start mit Docker-Befehlen
|
|
3. Kritische Regeln (Cache-Version, Changelog, etc.)
|
|
4. Datenschutz & Projektsicherheit
|
|
5. Rollback-Strategie für Live-Betrieb
|
|
6. Arbeitsweise mit nicht-technischem Anwender
|
|
|
|
================================================================================
|
|
03.01.2026 - LISTE: MEHRERE AVATARE FÜR MEHRFACHZUWEISUNG
|
|
================================================================================
|
|
|
|
FEATURE ENHANCEMENT
|
|
--------------------------------------------------------------------------------
|
|
✅ Listenansicht zeigt jetzt alle zugewiesenen Benutzer als Avatare
|
|
✅ Maximal 3 Avatare werden angezeigt, Rest als "+X"
|
|
✅ Hover zeigt alle Namen in Tooltip
|
|
✅ Konsistente Darstellung mit Board-View
|
|
✅ Responsive Anpassung für mobile Geräte
|
|
|
|
CSS-Anpassungen:
|
|
- Flex-Container für Avatar-Liste
|
|
- Überlappende Avatare mit negativem margin
|
|
- z-index für korrekte Stapelreihenfolge
|
|
- Badge-Stil für "+X mehr" Anzeige
|
|
|
|
================================================================================
|
|
03.01.2026 - LISTE: NUR AVATAR-SYMBOLE BEI ZUGEWIESEN
|
|
================================================================================
|
|
|
|
UX-VERBESSERUNG
|
|
--------------------------------------------------------------------------------
|
|
✅ In der Spalte "Zugewiesen" werden nur noch Avatar-Kreise angezeigt
|
|
✅ Namen nur noch im Tooltip beim Hover sichtbar
|
|
✅ Deutlich kompaktere Darstellung
|
|
✅ Bessere Platznutzung in der Tabelle
|
|
|
|
Visuelle Änderungen:
|
|
- Avatar-only Display in Listenansicht
|
|
- Konsistent mit Kanban-Board Darstellung
|
|
- Hover für detaillierte Informationen
|
|
|
|
================================================================================
|
|
03.01.2026 - BACKUP MIT AEGISSIGHT-PROJEKT ERSTELLT
|
|
================================================================================
|
|
|
|
BACKUP-WIEDERHERSTELLUNG
|
|
--------------------------------------------------------------------------------
|
|
✅ Vollständiges Datenbank-Backup erstellt
|
|
✅ AegisSight-Projekt erfolgreich wiederhergestellt
|
|
✅ Alle 9 Aufgaben des Projekts sind vorhanden
|
|
✅ Zuweisungen und Spalten korrekt wiederhergestellt
|
|
|
|
Backup-Details:
|
|
- Backup-Datei: data/taskmate.db.backup-20250103-complete
|
|
- Projekt-ID: 2 (AegisSight)
|
|
- 9 Aufgaben wiederhergestellt
|
|
- Alle Benutzer-Zuweisungen intakt
|
|
|
|
================================================================================
|
|
02.01.2026 - ADMIN: PASSWORT-BEARBEITUNG IMPLEMENTIERT
|
|
================================================================================
|
|
|
|
NEUE FUNKTION
|
|
--------------------------------------------------------------------------------
|
|
✅ Admin kann Benutzer-Passwörter zurücksetzen
|
|
✅ Passwort-Eingabefeld in Benutzer-Bearbeitungsmodal
|
|
✅ Optionales Feld - leer lassen behält altes Passwort
|
|
✅ Server-seitige Validierung implementiert
|
|
|
|
Sicherheit:
|
|
- Nur Admins können Passwörter ändern
|
|
- Passwörter werden mit bcrypt gehasht
|
|
- Keine Anzeige aktueller Passwörter
|
|
|
|
================================================================================
|
|
02.01.2026 - DATENBANK WIEDERHERGESTELLT
|
|
================================================================================
|
|
|
|
KRITISCHER BUGFIX
|
|
--------------------------------------------------------------------------------
|
|
✅ Datenbank von Backup wiederhergestellt
|
|
✅ AegisSight-Projekt mit allen Aufgaben wieder vorhanden
|
|
✅ Benutzer und Zuweisungen intakt
|
|
✅ Container neu gestartet
|
|
|
|
Ursache: SQL-Syntax-Fehler bei Token-Bereinigung
|
|
Lösung: Backup eingespielt, fehlerhafte Queries korrigiert
|
|
|
|
================================================================================
|
|
02.01.2026 - BUGFIX: LOGIN-FEHLER BEHOBEN
|
|
================================================================================
|
|
|
|
BUGFIX
|
|
--------------------------------------------------------------------------------
|
|
Problem: "Cannot read properties of undefined (reading 'id')" beim Login
|
|
Ursache: Neue initials-Spalte war noch nicht in allen Datenbanken
|
|
|
|
✅ Datenbank-Schema-Update beim Start
|
|
✅ Migrations-System implementiert
|
|
✅ initials-Spalte wird automatisch hinzugefügt falls fehlend
|
|
✅ Fallback-Mechanismen für fehlende Spalten
|
|
|
|
================================================================================
|
|
02.01.2026 - CODING-TAB: GITEA INTEGRATION CACHE-FIX
|
|
================================================================================
|
|
|
|
BUGFIX
|
|
--------------------------------------------------------------------------------
|
|
✅ Cache-Bereinigung für Gitea-Repository-Informationen
|
|
✅ Stale Cache wird nach 5 Minuten automatisch erneuert
|
|
✅ Force-Refresh bei Repository-Auswahl implementiert
|
|
✅ Bessere Fehlerbehandlung bei API-Timeouts
|
|
|
|
Verbesserungen:
|
|
- Repository-Liste wird zuverlässiger geladen
|
|
- Keine veralteten Branch-Informationen mehr
|
|
- Lade-Indikator während API-Calls
|
|
|
|
================================================================================
|
|
02.01.2026 - CODING-TAB: CLAUDE.MD ALS POPUP MODAL
|
|
================================================================================
|
|
|
|
NEUE FUNKTION
|
|
--------------------------------------------------------------------------------
|
|
✅ CLAUDE.md öffnet sich jetzt in großem Modal-Fenster
|
|
✅ Markdown-Rendering mit Syntax-Highlighting
|
|
✅ Responsive Design für alle Bildschirmgrößen
|
|
✅ Kopier-Button für Code-Blöcke
|
|
✅ Smooth-Scrolling und bessere Lesbarkeit
|
|
|
|
UI-Verbesserungen:
|
|
- 90% Bildschirmbreite/höhe
|
|
- Dunkles Theme für Code-Blöcke
|
|
- Escape-Taste zum Schließen
|
|
- Überschriften-Hierarchie visualisiert
|
|
|
|
================================================================================
|
|
02.01.2026 - CODING-TAB: CLAUDE.MD ANZEIGE FINAL BEHOBEN
|
|
================================================================================
|
|
|
|
BUGFIX
|
|
--------------------------------------------------------------------------------
|
|
✅ taskmate-source Repository wird wieder erkannt
|
|
✅ Frontend nutzt korrekte API-Route für CLAUDE.md
|
|
✅ Konsistente Pfadauflösung zwischen Frontend und Backend
|
|
✅ Markdown wird korrekt gerendert mit Syntax-Highlighting
|
|
|
|
Technische Details:
|
|
- Route: /api/coding/projects/:name/claude-md
|
|
- Pfad-Mapping berücksichtigt Docker-Volumes
|
|
- marked.js rendert GitHub-Flavored Markdown
|
|
|
|
================================================================================
|
|
02.01.2026 - CODING-TAB: UX VERBESSERUNGEN
|
|
================================================================================
|
|
|
|
UX-VERBESSERUNGEN
|
|
--------------------------------------------------------------------------------
|
|
✅ Repository-Auswahl merkt sich letzte Selektion
|
|
✅ Smooth Loading-States für alle Operationen
|
|
✅ Tooltips für alle Buttons
|
|
✅ Keyboard-Shortcuts (Strg+S zum Speichern)
|
|
✅ Auto-Focus auf Eingabefelder
|
|
|
|
Visual Feedback:
|
|
- Pulse-Animation während Git-Operationen
|
|
- Success/Error Toast-Nachrichten
|
|
- Disabled-States während Aktionen
|
|
|
|
================================================================================
|
|
02.01.2026 - CODING-TAB: CLAUDE.MD NUR NOCH READONLY
|
|
================================================================================
|
|
|
|
ÄNDERUNG
|
|
--------------------------------------------------------------------------------
|
|
✅ CLAUDE.md ist jetzt readonly (nicht mehr bearbeitbar)
|
|
✅ Anzeige-Button öffnet Markdown-gerenderte Ansicht
|
|
✅ Kein Speichern-Button mehr
|
|
✅ Fokus auf Dokumentation statt Bearbeitung
|
|
|
|
Grund: CLAUDE.md soll Referenz bleiben und nicht versehentlich geändert werden
|
|
|
|
================================================================================
|
|
02.01.2026 - CODING-TAB: CLAUDE.MD ANZEIGE BEHOBEN
|
|
================================================================================
|
|
|
|
BUGFIX
|
|
--------------------------------------------------------------------------------
|
|
✅ CLAUDE.md wird jetzt korrekt aus Repository geladen
|
|
✅ API-Route /api/coding/projects/:name/claude-md implementiert
|
|
✅ Frontend zeigt gerenderten Markdown-Inhalt
|
|
✅ Fehlerbehandlung für fehlende Datei
|
|
|
|
Problem war: Fehlende Backend-Route für CLAUDE.md Abruf
|
|
Lösung: Dedizierte Route mit korrektem Pfad-Mapping
|
|
|
|
================================================================================
|
|
02.01.2026 - CLAUDE.MD DOKUMENTATION ERWEITERT
|
|
================================================================================
|
|
|
|
DOKUMENTATION
|
|
--------------------------------------------------------------------------------
|
|
✅ Deployment-Abschnitt komplett überarbeitet
|
|
✅ Docker-Befehle detailliert dokumentiert
|
|
✅ Troubleshooting-Guide erweitert
|
|
✅ Debug-Tipps für Frontend und Backend
|
|
✅ Performance-Optimierungen dokumentiert
|
|
|
|
Neue Abschnitte:
|
|
- Deployment-Checkliste
|
|
- Container-Management
|
|
- Häufige Probleme und Lösungen
|
|
- Performance-Tipps
|
|
- Git Workflow
|
|
|
|
================================================================================
|
|
02.01.2026 - CODING-TAB IMPLEMENTIERUNG
|
|
================================================================================
|
|
|
|
NEUE FEATURES
|
|
--------------------------------------------------------------------------------
|
|
✅ Vollständiger Coding-Tab mit drei Bereichen
|
|
✅ Git-Repository-Verwaltung (lokale Repos)
|
|
✅ Gitea-Integration für Remote-Repositories
|
|
✅ CLAUDE.md Anzeige und Bearbeitung
|
|
|
|
Repository-Verwaltung:
|
|
- Erkennt alle Git-Repositories im Projekt-Root
|
|
- Zeigt Git-Status (Branch, Änderungen)
|
|
- Commit-Funktionalität mit Message
|
|
- Anzeige der letzten Commits
|
|
|
|
Gitea-Integration:
|
|
- Repository-Informationen abrufen
|
|
- Clone-URLs anzeigen
|
|
- Direkte Links zum Gitea-Repository
|
|
- Branch-Informationen
|
|
|
|
CLAUDE.md Integration:
|
|
- Anzeige der Entwickler-Dokumentation
|
|
- In-App Bearbeitung möglich
|
|
- Syntax-Highlighting
|
|
- Auto-Save Funktionalität
|
|
|
|
================================================================================
|
|
31.12.2025 - MOBILE OPTIMIERUNG
|
|
================================================================================
|
|
|
|
NEUE FEATURES
|
|
--------------------------------------------------------------------------------
|
|
✅ Pull-to-Refresh implementiert
|
|
✅ Touch-Gesten für Kalender-Navigation
|
|
✅ Responsive Modals
|
|
✅ Mobile-optimierte Navigation
|
|
✅ iOS Web-App Unterstützung
|
|
|
|
Touch-Features:
|
|
- Swipe left/right für Kalender-Navigation
|
|
- Pull-down für Refresh
|
|
- Tap-to-Edit auf Tasks
|
|
- Long-Press Kontextmenü
|
|
|
|
================================================================================
|
|
30.12.2025 - BUGFIX: HTML-Entity-Encoding in Textfeldern
|
|
================================================================================
|
|
|
|
PROBLEM
|
|
--------------------------------------------------------------------------------
|
|
HTML-Entities wurden in Textfeldern doppelt encoded angezeigt
|
|
(z.B. < statt <)
|
|
|
|
LÖSUNG
|
|
--------------------------------------------------------------------------------
|
|
✅ textContent statt innerHTML für Formulareingaben
|
|
✅ Backend stripHtml() Funktion angepasst
|
|
✅ Konsistente Handhabung über alle Eingabefelder
|
|
|
|
Betroffene Bereiche:
|
|
- Task-Titel und Beschreibungen
|
|
- Kommentare
|
|
- Projekt-Namen
|
|
- Knowledge-Base Einträge
|
|
|
|
================================================================================
|
|
[... weitere Einträge ...] |