Push für Serveranwendung in Gitea implementiert
Dieser Commit ist enthalten in:
HG
2025-12-30 17:25:14 +00:00
committet von Server Deploy
Ursprung 87c391d2e6
Commit c8707d6cf4
30 geänderte Dateien mit 11907 neuen und 170 gelöschten Zeilen

Datei anzeigen

@ -1,6 +1,125 @@
TASKMATE - CHANGELOG
====================
================================================================================
30.12.2025 - Gitea-Integration: Server-Modus
================================================================================
FEATURE: SERVER-DATEIEN DIREKT INS GITEA PUSHEN
--------------------------------------------------------------------------------
- Neuer "Server-Anwendung" Modus im Gitea-Tab
- Ermöglicht Git-Operationen direkt auf dem Server-Verzeichnis /home/claude-dev/TaskMate
- Alle Änderungen an der Anwendung können sofort ins Gitea gepusht werden
- Kein separates Konfigurieren nötig - sofort einsatzbereit
FEATURE: ZWEI-MODUS-SCHALTER
--------------------------------------------------------------------------------
- Modus-Schalter oben im Gitea-Tab: "Server-Anwendung" und "Projekt-Repository"
- Server-Modus: Zeigt TaskMate Server-Dateien
- Projekt-Modus: Bisherige Funktionalität für lokale Pfade pro Projekt
SERVER-MODUS FUNKTIONEN
--------------------------------------------------------------------------------
- Git-Status anzeigen (geänderte Dateien, aktueller Branch)
- Branch-Wechsel
- Fetch, Pull, Push, Commit
- Commit-Historie anzeigen
- Änderungsliste mit Statusanzeige (M, A, D, ?)
TECHNISCHE ÄNDERUNGEN
--------------------------------------------------------------------------------
- docker-compose.yml: Neues Volume-Mount ".:/app/taskmate-source" für Zugriff auf Source-Code
- backend/routes/git.js: Neue Server-Endpoints:
* GET /api/git/server/info - Repository-Informationen
* GET /api/git/server/status - Git-Status
* GET /api/git/server/branches - Branch-Liste
* GET /api/git/server/commits - Commit-Historie
* GET /api/git/server/remote - Remote-URL
* POST /api/git/server/stage - Alle Änderungen stagen
* POST /api/git/server/commit - Commit erstellen
* POST /api/git/server/push - Push ausführen
* POST /api/git/server/pull - Pull ausführen
* POST /api/git/server/fetch - Fetch ausführen
* POST /api/git/server/checkout - Branch wechseln
- frontend/js/api.js: Neue API-Funktionen für Server-Modus
- frontend/js/gitea.js:
* GiteaManager mit currentMode Property
* Server-Modus Methoden (loadServerData, renderServer*, handleServer*)
* Modus-Wechsel Handler
- frontend/index.html: Server-Modus UI mit Modus-Schalter
- frontend/css/gitea.css: Styles für Modus-Schalter (.gitea-mode-switch, .gitea-mode-btn)
- frontend/sw.js: Cache-Version auf 131 erhöht
================================================================================
30.12.2025 - Session-Countdown auf Hauptoberfläche
================================================================================
FEATURE: SITZUNGS-COUNTDOWN IM HEADER
--------------------------------------------------------------------------------
- Countdown-Timer im Header zeigt verbleibende Sitzungszeit an
- Format: MM:SS (z.B. 09:45)
- Timer startet immer bei 10:00 Minuten
- Farbliche Warnung bei < 60 Sekunden (orange)
- Kritische Warnung bei < 30 Sekunden (rot, pulsierend)
- Automatischer Logout bei Ablauf mit Toast-Benachrichtigung
FEATURE: INTERAKTIONS-BASIERTER SESSION-REFRESH
--------------------------------------------------------------------------------
- Bei jedem Klick oder Tastendruck wird die Session automatisch verlängert
- Timer wird auf 10:00 zurückgesetzt bei Interaktion
- Debouncing verhindert zu viele Server-Anfragen (max. 1 pro Sekunde)
- Bei Browser-Aktualisierung (F5) wird Session automatisch refreshed
ÄNDERUNG: SITZUNGSZEIT AUF 10 MINUTEN REDUZIERT
--------------------------------------------------------------------------------
- SESSION_TIMEOUT in .env von 30 auf 10 Minuten geändert
- Erhöhte Sicherheit durch kürzere Sitzungsdauer
ÄNDERUNGEN
--------------------------------------------------------------------------------
- .env: SESSION_TIMEOUT=10
- frontend/index.html: Session-Timer-Element im Header hinzugefügt
- frontend/js/auth.js:
* SessionTimerHandler-Klasse für Countdown-Logik
* JWT-Token-Parsing für Ablaufzeit
* Automatischer Logout bei Session-Ablauf
* Interaktions-basiertes Token-Refresh (Click/Keydown Events)
* initFromExistingSession() für korrekten Timer bei Seiten-Reload
- frontend/js/api.js: X-New-Token-Header verarbeiten und Event dispatchen
- frontend/css/board.css:
* .session-timer Styles
* .warning und .critical Zustände
* pulse-critical Animation
- frontend/sw.js: Cache-Version auf 128 erhöht
================================================================================
30.12.2025 - Kalender: Dots nach Statusspalte gruppiert
================================================================================
FEATURE: AUFGABEN-DOTS IM WOCHENSTREIFEN NACH SPALTE GRUPPIERT
--------------------------------------------------------------------------------
- Im Wochenstreifen-Kalender (Board-Ansicht) wird jetzt nur ein Kreis pro
Statusspalte angezeigt statt einem Kreis pro Aufgabe
- Bei Mouseover werden alle Aufgaben dieser Spalte im Tooltip aufgelistet
- Tooltip zeigt: Spaltenname, Anzahl Aufgaben, Liste mit Start/Ende-Info
- Kreis-Typ basiert auf enthaltenen Aufgaben:
* Offener Kreis = alle Aufgaben haben nur Startdatum
* Gefüllter Kreis = alle Aufgaben haben nur Enddatum
* Kreis mit Ring = gemischt (Start und Ende)
- Klick auf Kreis öffnet die erste Aufgabe der Gruppe
ÄNDERUNGEN
--------------------------------------------------------------------------------
- frontend/js/board.js:
* getTasksForDay() gruppiert Aufgaben nach Spalte (Map statt Array)
* renderDayDots() rendert einen Dot pro Spalte mit data-task-ids
* showTaskTooltip() zeigt alle Aufgaben der Spalte im Tooltip
* openTaskFromDot() öffnet erste Aufgabe aus der Gruppe
- frontend/css/board.css:
* Neue Tooltip-Stile für gruppierte Aufgaben
* .week-strip-tooltip-header, -column-name, -count, -task-list, -task, etc.
- frontend/sw.js: Cache-Version auf 126 erhöht
================================================================================
29.12.2025 - Dokumentation aktualisiert
================================================================================