Implementierung Wissensmanagement
Dieser Commit ist enthalten in:
176
CHANGELOG.txt
176
CHANGELOG.txt
@ -1,6 +1,182 @@
|
||||
TASKMATE - CHANGELOG
|
||||
====================
|
||||
|
||||
================================================================================
|
||||
30.12.2025 - BUGFIX: Login-Problem behoben (Sofort-Logout nach Login)
|
||||
================================================================================
|
||||
|
||||
PROBLEM
|
||||
--------------------------------------------------------------------------------
|
||||
Nach erfolgreichem Login wurde der Benutzer sofort wieder zum Login-Screen
|
||||
zurückgeleitet. Dies war ein Race-Condition-Problem mit mehrfachen WebSocket-
|
||||
Verbindungen und fehlenden Token-Prüfungen.
|
||||
|
||||
URSACHE
|
||||
--------------------------------------------------------------------------------
|
||||
1. syncManager.connect() wurde doppelt aufgerufen (einmal in sync.js Event-
|
||||
Listener und einmal in app.js initializeApp())
|
||||
2. Der Socket-Error-Handler in sync.js löste auth:logout aus OHNE zu prüfen,
|
||||
ob sich der Token in der Zwischenzeit geändert hatte
|
||||
|
||||
LÖSUNG
|
||||
--------------------------------------------------------------------------------
|
||||
1. Doppelten syncManager.connect() Aufruf entfernt (nur noch in app.js)
|
||||
2. Socket-Error-Handler prüft nun, ob ein gültiger Token existiert, bevor
|
||||
logout ausgelöst wird
|
||||
3. syncManager.connect() prüft jetzt ob Socket bereits existiert (nicht nur
|
||||
ob er verbunden ist), um Race Conditions während des Verbindungsaufbaus
|
||||
zu verhindern
|
||||
|
||||
BETROFFENE DATEIEN
|
||||
--------------------------------------------------------------------------------
|
||||
- frontend/js/sync.js: Doppelten Connect-Aufruf entfernt, Token-Check hinzugefügt,
|
||||
verbesserte Socket-Existenz-Prüfung
|
||||
- frontend/sw.js: Cache-Version auf 151 erhöht
|
||||
|
||||
|
||||
================================================================================
|
||||
30.12.2025 - UI-REDESIGN: Wissensmanagement-Tab komplett überarbeitet
|
||||
================================================================================
|
||||
|
||||
NEUES LAYOUT: SIDEBAR + HAUPTBEREICH
|
||||
--------------------------------------------------------------------------------
|
||||
Der Wissensmanagement-Tab wurde komplett überarbeitet mit einem neuen
|
||||
2-Spalten-Layout für bessere Übersicht und Bedienbarkeit.
|
||||
|
||||
NEUE FEATURES
|
||||
--------------------------------------------------------------------------------
|
||||
- Sidebar-Layout: Kategorien links, Einträge rechts - beide gleichzeitig sichtbar
|
||||
- Drag & Drop Sortierung: Kategorien UND Einträge per Drag & Drop sortierbar
|
||||
- Kompakte Ansicht: Einträge zeigen nur Titel, Details per Klick aufklappbar
|
||||
- Aktive Kategorie: Farbiger linker Rand zeigt die ausgewählte Kategorie
|
||||
- Indikatoren: Icons zeigen auf einen Blick ob Link, Notizen oder Anhänge vorhanden
|
||||
- Responsive Design: Auf Mobile werden Kategorien als horizontale Chips angezeigt
|
||||
|
||||
UI-VERBESSERUNGEN
|
||||
--------------------------------------------------------------------------------
|
||||
- Aufklappbare Einträge (▶/▼) für bessere Platznutzung
|
||||
- Drag-Handles (⋮⋮) für intuitive Sortierung
|
||||
- Hover-Aktionen (Bearbeiten, Löschen) erscheinen bei Mausbewegung
|
||||
- Sanfte Animationen für Expand/Collapse
|
||||
|
||||
BETROFFENE DATEIEN
|
||||
--------------------------------------------------------------------------------
|
||||
- frontend/index.html: Komplette Neustrukturierung des Knowledge-Views
|
||||
(Sidebar + Main Layout, Mobile Chips)
|
||||
- frontend/css/knowledge.css: Komplett neu geschrieben für das neue Layout
|
||||
(Grid-System, Sidebar, kompakte Einträge, Drag & Drop Styles)
|
||||
- frontend/js/knowledge.js: Komplett überarbeitet mit neuem Rendering,
|
||||
Drag & Drop Handlers, Expand/Collapse Logik
|
||||
- frontend/sw.js: Cache-Version auf 149 erhöht
|
||||
|
||||
|
||||
================================================================================
|
||||
30.12.2025 - VERBESSERUNG: Globale Suche für Wissensmanagement
|
||||
================================================================================
|
||||
|
||||
ÄNDERUNG: SUCHFELD IN HEADER INTEGRIERT
|
||||
--------------------------------------------------------------------------------
|
||||
Die Suchfunktion für den Wissensmanagement-Tab wurde vom Tab selbst in das
|
||||
globale Suchfeld im Header verschoben. Wenn der Benutzer auf dem "Wissen"-Tab
|
||||
ist, durchsucht das Header-Suchfeld automatisch die Wissensdatenbank.
|
||||
|
||||
DETAILS
|
||||
--------------------------------------------------------------------------------
|
||||
- Suchfeld aus dem Wissen-Tab entfernt
|
||||
- "Neue Kategorie"-Button zentral positioniert
|
||||
- Globales Suchfeld erkennt aktiven Tab und leitet Suchanfragen entsprechend weiter
|
||||
- Suchfeld wird automatisch geleert beim Wechsel zwischen Tabs
|
||||
- Konsistentes Suchverhalten über alle Bereiche (Board, Vorschläge, Wissen)
|
||||
|
||||
BETROFFENE DATEIEN
|
||||
--------------------------------------------------------------------------------
|
||||
- frontend/js/knowledge.js: Öffentliche setSearchQuery() Methode hinzugefügt,
|
||||
alte Suchfeld-Referenzen entfernt
|
||||
- frontend/js/app.js: setupSearch() und switchView() erweitert für
|
||||
Knowledge-Suche Integration
|
||||
- frontend/css/knowledge.css: Suchfeld-Styles entfernt, zentrierten Header
|
||||
hinzugefügt
|
||||
- frontend/index.html: Suchfeld aus Knowledge-Tab entfernt
|
||||
- frontend/sw.js: Cache-Version auf 148 erhöht
|
||||
|
||||
|
||||
================================================================================
|
||||
30.12.2025 - NEUES FEATURE: Wissensmanagement-Tab
|
||||
================================================================================
|
||||
|
||||
FEATURE: WISSENSMANAGEMENT-TAB
|
||||
--------------------------------------------------------------------------------
|
||||
Neuer Tab "Wissen" in der Hauptnavigation für projektunabhängiges
|
||||
Wissensmanagement mit 2-Ebenen-Hierarchie.
|
||||
|
||||
KATEGORIEN
|
||||
--------------------------------------------------------------------------------
|
||||
- Kategorien mit Namen, Beschreibung, Farbe und Icon (Emoji)
|
||||
- Kategorien-Grid mit Eintrags-Anzahl
|
||||
- Erstellen, Bearbeiten und Löschen von Kategorien
|
||||
- Farbcodierung für visuelle Unterscheidung
|
||||
|
||||
EINTRÄGE
|
||||
--------------------------------------------------------------------------------
|
||||
- Einträge innerhalb von Kategorien
|
||||
- Jeder Eintrag kann enthalten:
|
||||
- Titel (Pflichtfeld)
|
||||
- Link/URL (optional, klickbar)
|
||||
- Notizen (optional, Markdown-fähig)
|
||||
- Dateianhänge (mehrere pro Eintrag möglich)
|
||||
- Erstellen, Bearbeiten und Löschen von Einträgen
|
||||
|
||||
SUCHFUNKTION
|
||||
--------------------------------------------------------------------------------
|
||||
- Dedizierte Suche nur für den Wissensmanagement-Bereich
|
||||
- Durchsucht Titel, Notizen und URLs
|
||||
- Debounce für Performance-Optimierung
|
||||
- Ergebnisse zeigen Kategorie-Zugehörigkeit
|
||||
|
||||
BETROFFENE DATEIEN
|
||||
--------------------------------------------------------------------------------
|
||||
Backend:
|
||||
- backend/database.js: 3 neue Tabellen (knowledge_categories, knowledge_entries,
|
||||
knowledge_attachments) mit Indizes
|
||||
- backend/routes/knowledge.js: NEU - CRUD-Operationen für Kategorien, Einträge,
|
||||
Anhänge und Suche
|
||||
- backend/server.js: Route-Registrierung hinzugefügt
|
||||
|
||||
Frontend:
|
||||
- frontend/js/api.js: 15+ neue API-Methoden für Wissensmanagement
|
||||
- frontend/js/knowledge.js: NEU - KnowledgeManager-Klasse
|
||||
- frontend/css/knowledge.css: NEU - Styles für Kategorien, Einträge, Suche
|
||||
- frontend/index.html: Tab, View und Modals hinzugefügt
|
||||
- frontend/js/app.js: Import und Integration des KnowledgeManager
|
||||
- frontend/sw.js: Cache-Version auf 144 erhöht, neue Dateien hinzugefügt
|
||||
|
||||
|
||||
================================================================================
|
||||
30.12.2025 - KRITISCHER BUGFIX: Login-Problem behoben
|
||||
================================================================================
|
||||
|
||||
BUGFIX: SOFORTIGER LOGOUT NACH ERFOLGREICHEM LOGIN
|
||||
--------------------------------------------------------------------------------
|
||||
Problem: Nach erfolgreichem Login wurde der Benutzer sofort wieder ausgeloggt.
|
||||
|
||||
Ursache: Race-Condition zwischen Session-Refresh und Login:
|
||||
1. Beim Seitenaufruf mit altem Token startete refreshSession() einen async Request
|
||||
2. Benutzer logt sich erfolgreich ein (neuer Token wird gesetzt)
|
||||
3. Der alte Refresh-Request kehrt mit 401 zurück
|
||||
4. Der 401-Fehler löste logout() aus, obwohl neuer gültiger Token existierte
|
||||
|
||||
Lösung:
|
||||
- Vor dem Logout wird geprüft ob der aktuelle Token noch der gleiche ist
|
||||
- Wenn ein neuer Login stattfand (Token unterschiedlich), wird 401 ignoriert
|
||||
- Prüfung in auth.js (refreshSession) und api.js (request) hinzugefügt
|
||||
|
||||
BETROFFENE DATEIEN
|
||||
--------------------------------------------------------------------------------
|
||||
- frontend/js/auth.js: refreshSession() prüft Token vor Logout
|
||||
- frontend/js/api.js: request() prüft Token vor Logout bei 401
|
||||
- frontend/sw.js: Cache-Version auf 143 erhöht
|
||||
|
||||
|
||||
================================================================================
|
||||
30.12.2025 - Checklisten-Unteraufgaben: Drag & Drop und Bearbeiten
|
||||
================================================================================
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren