Files
timemaster/DEVLOG.md
T
patrick 3423b65b0b
Security Audit / Python Dependency Audit (push) Has been cancelled
Security Audit / Node.js Dependency Audit (push) Has been cancelled
docs: DEVLOG für QR-Stempel-Feature
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 19:55:49 +02:00

1937 lines
54 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# TimeMaster Dev Log
## 2026-03-28 21:59 22:02 (3m)
**Beschreibung:** Projekte-Feature entfernen, Timetrack einbauen
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-03-28 21:59 22:02 (3m)
**Beschreibung:** Projekte-Feature entfernen, Timetrack einbauen
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-03-28 21:59 22:02 (3m)
**Beschreibung:** Projekte-Feature entfernen, Timetrack einbauen
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-03-28 22:22 22:22 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-03-28 22:24 22:25 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 14:31 19:45 (5h 14m)
**Beschreibung:** Claude Code Session
**Projekt:** archivmail
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 19:46 19:47 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 19:49 19:49 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 19:52 19:52 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 19:54 19:56 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 19:58 20:00 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 20:06 20:06 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 20:06 20:08 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 20:11 20:11 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 20:12 20:12 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 20:12 20:12 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 20:14 20:14 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 20:15 20:15 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 20:17 20:17 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 20:19 20:22 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 20:38 20:38 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 20:39 20:39 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 20:46 20:50 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 21:05 21:08 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 21:09 21:13 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 21:17 21:18 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-04-06 21:27 21:31 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-05 17:06 17:07 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-05 17:10 17:11 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-05 17:20 17:20 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-05 17:27 17:27 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-05 17:31 17:32 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-05 17:39 17:40 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-05 17:41 17:44 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-05 17:47 17:49 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-05 17:57 17:58 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-05 18:18 18:19 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-05 18:27 18:32 (5m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-05 19:50 19:52 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-05 19:52 19:53 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-05 22:43 10:21 (11h 37m)
**Beschreibung:** Claude Code Session
**Projekt:** frontend
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-06 17:20 17:34 (14m)
**Beschreibung:** Claude Code Session
**Projekt:** frontend
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-06 17:34 17:35 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-06 22:47 22:51 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-06 22:54 22:55 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-06 23:00 23:00 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-06 23:00 23:10 (9m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-23 19:20 19:21 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-23 20:02 20:03 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** frontend
### Commits
- 1fedd68 Initial commit TimeMaster Zeiterfassung & HR-Tool
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-23 20:08 20:09 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
Keine Änderungen ermittelbar.
---
## 2026-05-23 20:11 20:12 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 39a0e37 .gitignore und DEVLOG aktualisieren
### Geänderte Dateien
- .gitignore | 4 ++++
- DEVLOG.md | 22 ++++++++++++++++++++++
---
## 2026-05-23 20:33 21:07 (34m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- fbc04bc agent-07 phase 2: fix test isolation + CSV import UI
### Geänderte Dateien
- DEVLOG.md | 12 ++
- backend/app/services/user_import_service.py | 6 +-
- backend/tests/conftest.py | 10 +-
- backend/tests/test_personnel_number.py | 27 ++--
- frontend/src/pages/UsersPage.tsx | 186 +++++++++++++++++++++++++++-
---
## 2026-05-23 21:07 21:08 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 12 ++
- backend/app/services/user_import_service.py | 6 +-
- backend/tests/conftest.py | 10 +-
- backend/tests/test_personnel_number.py | 27 ++--
- frontend/src/pages/UsersPage.tsx | 186 +++++++++++++++++++++++++++-
---
## 2026-05-23 21:08 21:08 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 12 ++
- backend/app/services/user_import_service.py | 6 +-
- backend/tests/conftest.py | 10 +-
- backend/tests/test_personnel_number.py | 27 ++--
- frontend/src/pages/UsersPage.tsx | 186 +++++++++++++++++++++++++++-
---
## 2026-05-23 21:09 21:16 (7m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 8e5e76d add deployment updater scripts
### Geänderte Dateien
- scripts/check_migrations.sh | 344 +++++++++++++++
- update.sh | 1007 ++++++++++++++++++++-----------------------
---
## 2026-05-23 21:23 21:31 (8m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 3dfcff3 update.sh: switch backend sync to git pull instead of rsync
### Geänderte Dateien
- update.sh | 53 +++++++++++++++++++++++------------------------------
---
## 2026-05-23 21:47 21:48 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- update.sh | 53 +++++++++++++++++++++++------------------------------
---
## 2026-05-23 21:51 21:58 (7m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 6d4b8a9 agent-rls: PostgreSQL Row Level Security für Mandanten-Isolation
### Geänderte Dateien
- DEVLOG.md | 79 ++++++++
- backend/app/core/database.py | 6 +
- backend/app/core/dependencies.py | 18 ++
- backend/migrations/env.py | 4 +
- .../migrations/versions/0024_row_level_security.py | 208 +++++++++++++++++++++
- backend/tests/conftest.py | 4 +
---
## 2026-05-23 22:00 22:35 (34m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- dd3e069 fix: router db.refresh() nach commit bricht RLS-Kontext
### Geänderte Dateien
- DEVLOG.md | 16 ++
- backend/app/routers/absences.py | 10 -
- backend/app/routers/caldav.py | 2 -
- backend/app/routers/kiosk.py | 3 -
- backend/app/routers/ldap.py | 2 -
- backend/app/routers/projects.py | 2 -
- backend/app/routers/smtp.py | 1 -
- backend/app/routers/time_entries.py | 10 -
- backend/migrations/env.py | 4 -
- .../migrations/versions/0024_row_level_security.py | 223 +++++----------------
- backend/tests/conftest.py | 48 +++++
- backend/tests/test_rls.py | 190 ++++++++++++++++++
---
## 2026-05-23 22:43 22:52 (9m)
**Beschreibung:** Claude Code Session
**Projekt:** frontend
### Commits
- eb12280 fix: 8 pre-existing Test-Fehler behoben
### Geänderte Dateien
- backend/app/services/absence_service.py | 3 ++-
- backend/tests/test_absences.py | 30 +++++++++++++++++++++++++-----
- backend/tests/test_reports.py | 2 +-
- backend/tests/test_time.py | 25 ++++++++++++++++++++++---
---
## 2026-05-23 23:08 23:08 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/app/services/absence_service.py | 3 ++-
- backend/tests/test_absences.py | 30 +++++++++++++++++++++++++-----
- backend/tests/test_reports.py | 2 +-
- backend/tests/test_time.py | 25 ++++++++++++++++++++++---
---
## 2026-05-23 23:12 10:21 (11h 09m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/app/services/absence_service.py | 3 ++-
- backend/tests/test_absences.py | 30 +++++++++++++++++++++++++-----
- backend/tests/test_reports.py | 2 +-
- backend/tests/test_time.py | 25 ++++++++++++++++++++++---
---
## 2026-05-24 10:26 11:29 (1h 03m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- ada1b51 docs: vollständige Projektdokumentation hinzugefügt
### Geänderte Dateien
- DEVLOG.md | 64 +++
- docs/api.md | 1375 ++++++++++++++++++++++++++++++++++++++++++++++++++
- docs/architecture.md | 461 +++++++++++++++++
- docs/deployment.md | 429 ++++++++++++++++
- docs/development.md | 531 +++++++++++++++++++
- frontend/DEVLOG.md | 22 +
---
## 2026-05-24 11:43 11:43 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 64 +++
- docs/api.md | 1375 ++++++++++++++++++++++++++++++++++++++++++++++++++
- docs/architecture.md | 461 +++++++++++++++++
- docs/deployment.md | 429 ++++++++++++++++
- docs/development.md | 531 +++++++++++++++++++
- frontend/DEVLOG.md | 22 +
---
## 2026-05-24 11:46 11:47 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 64 +++
- docs/api.md | 1375 ++++++++++++++++++++++++++++++++++++++++++++++++++
- docs/architecture.md | 461 +++++++++++++++++
- docs/deployment.md | 429 ++++++++++++++++
- docs/development.md | 531 +++++++++++++++++++
- frontend/DEVLOG.md | 22 +
---
## 2026-05-24 11:48 11:49 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 64 +++
- docs/api.md | 1375 ++++++++++++++++++++++++++++++++++++++++++++++++++
- docs/architecture.md | 461 +++++++++++++++++
- docs/deployment.md | 429 ++++++++++++++++
- docs/development.md | 531 +++++++++++++++++++
- frontend/DEVLOG.md | 22 +
---
## 2026-05-24 11:51 11:51 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 64 +++
- docs/api.md | 1375 ++++++++++++++++++++++++++++++++++++++++++++++++++
- docs/architecture.md | 461 +++++++++++++++++
- docs/deployment.md | 429 ++++++++++++++++
- docs/development.md | 531 +++++++++++++++++++
- frontend/DEVLOG.md | 22 +
---
## 2026-05-24 11:54 11:55 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 64 +++
- docs/api.md | 1375 ++++++++++++++++++++++++++++++++++++++++++++++++++
- docs/architecture.md | 461 +++++++++++++++++
- docs/deployment.md | 429 ++++++++++++++++
- docs/development.md | 531 +++++++++++++++++++
- frontend/DEVLOG.md | 22 +
---
## 2026-05-24 11:55 11:56 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 64 +++
- docs/api.md | 1375 ++++++++++++++++++++++++++++++++++++++++++++++++++
- docs/architecture.md | 461 +++++++++++++++++
- docs/deployment.md | 429 ++++++++++++++++
- docs/development.md | 531 +++++++++++++++++++
- frontend/DEVLOG.md | 22 +
---
## 2026-05-24 11:57 11:57 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 64 +++
- docs/api.md | 1375 ++++++++++++++++++++++++++++++++++++++++++++++++++
- docs/architecture.md | 461 +++++++++++++++++
- docs/deployment.md | 429 ++++++++++++++++
- docs/development.md | 531 +++++++++++++++++++
- frontend/DEVLOG.md | 22 +
---
## 2026-05-24 12:03 12:03 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 128 +++++++
- backend/app/routers/absence.py | 159 +++++++++
- backend/app/routers/absence_service.py | 615 ++++++++++++++++++++++++++++++++
- backend/requirements.txt | 1 +
- backend/tests/test_reports.py | 44 +++
- frontend/src/pages/TimeTrackingPage.tsx | 521 +++++++++++++++++++--------
---
## 2026-05-24 12:04 12:08 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 981bde3 feat(kiosk): Migration 0021 Ed25519-Auth, Status-Enum, Heartbeat, IP-Whitelist
### Geänderte Dateien
- backend/app/models/company.py | 5 +
- backend/app/models/kiosk_device.py | 47 ++++++-
- backend/migrations/versions/0021_kiosk_security.py | 143 +++++++++++++++++++++
- .../migrations/versions/0022_sick_note_config.py | 2 +-
---
## 2026-05-24 12:09 12:11 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/app/models/company.py | 5 +
- backend/app/models/kiosk_device.py | 47 ++++++-
- backend/migrations/versions/0021_kiosk_security.py | 143 +++++++++++++++++++++
- .../migrations/versions/0022_sick_note_config.py | 2 +-
---
## 2026-05-24 12:13 12:13 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/app/models/company.py | 5 +
- backend/app/models/kiosk_device.py | 47 ++++++-
- backend/migrations/versions/0021_kiosk_security.py | 143 +++++++++++++++++++++
- .../migrations/versions/0022_sick_note_config.py | 2 +-
---
## 2026-05-24 12:17 12:19 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 58 ++++
- backend/app/core/kiosk_security.py | 233 ++++++++++++++
- backend/app/routers/kiosk.py | 119 +++++--
- backend/app/schemas/kiosk.py | 70 ++++-
- backend/app/services/kiosk_service.py | 138 ++++++---
- backend/cli.py | 529 ++++++++++++++++++++++++++++++++
- backend/requirements.txt | 2 +
- frontend/DEVLOG.md | 16 +
- frontend/src/components/Layout.tsx | 71 ++++-
- frontend/src/pages/KioskDevicesPage.tsx | 412 +++++++++++++++++--------
---
## 2026-05-24 12:37 12:47 (10m)
**Beschreibung:** Claude Code Session
**Projekt:** frontend
### Commits
- 094863f feat: agent-02-kiosk Phase 1 - NFC UID migration + session service
- 1db7164 fix(security): SSRF-Schutz für CalDAV-URLs
### Geänderte Dateien
- backend/app/core/redis.py | 28 ++++++
- backend/app/models/user.py | 3 +
- backend/app/services/kiosk_session_service.py | 114 ++++++++++++++++++++++
- backend/migrations/versions/0025_kiosk_nfc_uid.py | 36 +++++++
- frontend/DEVLOG.md | 51 ++++++++++
---
## 2026-05-24 12:48 12:49 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 30828c6 feat: agent-02-kiosk Phase 2A - Auth endpoints (PIN/NFC/QR/List)
### Geänderte Dateien
- DEVLOG.md | 16 +++
- backend/app/routers/kiosk.py | 130 ++++++++++++++++++-
- backend/app/schemas/kiosk_auth.py | 38 ++++++
- backend/app/services/kiosk_auth_service.py | 195 +++++++++++++++++++++++++++++
---
## 2026-05-24 12:52 12:53 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 7e19311 feat: CALDAV_ALLOWED_CIDRS Whitelist für interne CalDAV/Nextcloud-Server
### Geänderte Dateien
- DEVLOG.md | 14 ++++++++++++++
- backend/app/core/config.py | 6 ++++++
- backend/app/services/caldav_service.py | 29 +++++++++++++++++++++++++++--
---
## 2026-05-24 12:55 12:56 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 14 ++++++++++++++
- backend/app/core/config.py | 6 ++++++
- backend/app/services/caldav_service.py | 29 +++++++++++++++++++++++++++--
---
## 2026-05-24 12:57 12:58 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 14 ++++++++++++++
- backend/app/core/config.py | 6 ++++++
- backend/app/services/caldav_service.py | 29 +++++++++++++++++++++++++++--
---
## 2026-05-24 13:01 13:01 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 14 ++++++++++++++
- backend/app/core/config.py | 6 ++++++
- backend/app/services/caldav_service.py | 29 +++++++++++++++++++++++++++--
---
## 2026-05-24 13:03 13:04 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- a639de1 docs: CalDAV-Konfiguration und CALDAV_ALLOWED_CIDRS in deployment.md
### Geänderte Dateien
- docs/deployment.md | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
---
## 2026-05-24 13:15 19:45 (6h 29m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 62c4e74 security: 9 Findings aus Security-Audit behoben (CRITICAL + HIGH + MEDIUM)
### Geänderte Dateien
- DEVLOG.md | 63 ++++++++++++++++++++
- backend/app/core/crypto.py | 42 +++++++++++++
- backend/app/core/kiosk_security.py | 37 ++++++++----
- backend/app/main.py | 18 ++++--
- backend/app/models/ldap_config.py | 2 +-
- backend/app/models/user.py | 2 +-
- backend/app/routers/auth.py | 51 +++++++++++++---
- backend/app/routers/import_kimai.py | 17 +++++-
- backend/app/routers/users.py | 20 ++++++-
- backend/app/services/auth_service.py | 13 ++++-
- backend/app/services/caldav_service.py | 17 ++++++
- backend/migrations/versions/0026_security_fixes.py | 68 ++++++++++++++++++++++
---
## 2026-05-24 19:53 20:58 (1h 05m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 63 ++++++++++++++++++++
- backend/app/core/crypto.py | 42 +++++++++++++
- backend/app/core/kiosk_security.py | 37 ++++++++----
- backend/app/main.py | 18 ++++--
- backend/app/models/ldap_config.py | 2 +-
- backend/app/models/user.py | 2 +-
- backend/app/routers/auth.py | 51 +++++++++++++---
- backend/app/routers/import_kimai.py | 17 +++++-
- backend/app/routers/users.py | 20 ++++++-
- backend/app/services/auth_service.py | 13 ++++-
- backend/app/services/caldav_service.py | 17 ++++++
- backend/migrations/versions/0026_security_fixes.py | 68 ++++++++++++++++++++++
---
## 2026-05-24 21:00 21:05 (5m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 63 ++++++++++++++++++++
- backend/app/core/crypto.py | 42 +++++++++++++
- backend/app/core/kiosk_security.py | 37 ++++++++----
- backend/app/main.py | 18 ++++--
- backend/app/models/ldap_config.py | 2 +-
- backend/app/models/user.py | 2 +-
- backend/app/routers/auth.py | 51 +++++++++++++---
- backend/app/routers/import_kimai.py | 17 +++++-
- backend/app/routers/users.py | 20 ++++++-
- backend/app/services/auth_service.py | 13 ++++-
- backend/app/services/caldav_service.py | 17 ++++++
- backend/migrations/versions/0026_security_fixes.py | 68 ++++++++++++++++++++++
---
## 2026-05-24 21:09 21:12 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 8a04525 fix: auto-refresh access token on 401 in API client
### Geänderte Dateien
- frontend/src/api/client.ts | 56 ++++++++++++++++++++++++++++++++++++++++++++++
---
## 2026-05-24 21:15 21:17 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- edb1568 feat: mobile Login-Seite /mobile/login
### Geänderte Dateien
- DEVLOG.md | 77 ++++++
- frontend/src/App.tsx | 4 +
- frontend/src/pages/mobile/MobileBottomNav.tsx | 69 +++++
- frontend/src/pages/mobile/MobileLoginPage.tsx | 195 ++++++++++++++
- frontend/src/pages/mobile/MobilePage.tsx | 75 ++++++
- frontend/src/pages/mobile/MobileProfileScreen.tsx | 124 +++++++++
- frontend/src/pages/mobile/MobileStampScreen.tsx | 310 ++++++++++++++++++++++
- frontend/src/pages/mobile/MobileTodayScreen.tsx | 146 ++++++++++
---
## 2026-05-24 23:21 23:22 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 4a1dec7 fix: mobile/tablet Geräteerkennung in LoginPage → Redirect zu /mobile/login
### Geänderte Dateien
- frontend/src/pages/LoginPage.tsx | 11 +++++++++--
---
## 2026-05-24 23:23 23:23 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- frontend/src/pages/LoginPage.tsx | 11 +++++++++--
---
## 2026-05-24 23:28 23:31 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 22be68e feat: Abwesenheiten-Screen in Mobile-App
### Geänderte Dateien
- DEVLOG.md | 40 +++
- frontend/src/pages/mobile/MobileAbsencesScreen.tsx | 370 +++++++++++++++++++++
- frontend/src/pages/mobile/MobileBottomNav.tsx | 16 +-
- frontend/src/pages/mobile/MobilePage.tsx | 17 +-
---
## 2026-05-24 23:33 23:33 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 40 +++
- frontend/src/pages/mobile/MobileAbsencesScreen.tsx | 370 +++++++++++++++++++++
- frontend/src/pages/mobile/MobileBottomNav.tsx | 16 +-
- frontend/src/pages/mobile/MobilePage.tsx | 17 +-
---
## 2026-05-24 23:50 23:54 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 0ba16bb fix: ternäre Button-Kette in MobileStampScreen korrigiert
- c8804ef feat: Admin-Toggle für mobile Zeiterfassung
### Geänderte Dateien
- frontend/src/pages/mobile/MobileStampScreen.tsx | 2 --
---
## 2026-05-24 23:55 23:55 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- frontend/src/pages/mobile/MobileStampScreen.tsx | 2 --
---
## 2026-05-24 23:58 00:19 (20m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- f70736f test: test_cancel_absence an neue 200-Response angepasst (vorher 204)
- fd382e3 test: FZA tests korrigiert (can_manual_time_entry, TimeEntryWithWarnings, CalDAV race fix)
- 3450029 feat: Freizeitausgleich-Lücken geschlossen (Gap 1-3) + konfigurierbare Schwellwerte
### Geänderte Dateien
- backend/tests/test_absences.py | 3 ++-
---
## 2026-05-25 00:21 00:22 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 1170e59 fix: AuditLog bei FZA-Stornierung mit korrektem old_status und fza_hours_refunded-Flag
### Geänderte Dateien
- backend/app/services/absence_service.py | 5 ++++-
---
## 2026-05-25 00:26 00:29 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/app/services/absence_service.py | 5 ++++-
---
## 2026-05-25 00:33 00:39 (6m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/app/services/absence_service.py | 5 ++++-
---
## 2026-05-25 00:42 00:43 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/app/services/absence_service.py | 5 ++++-
---
## 2026-05-25 00:45 01:00 (14m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 0dd736c fix: require_role in special_assignments router ohne extra Depends() wrapping
- 767ff9f fix: migration 0029 enum DO-Block statt CREATE TYPE IF NOT EXISTS
- 82ce592 fix: migration 0029 idempotent (IF NOT EXISTS für Enum + Tabelle)
- d60349d feat: Sondervertretungs-Faktoren (special_assignments)
### Geänderte Dateien
- backend/app/routers/special_assignments.py | 10 +++++-----
---
## 2026-05-25 01:06 01:13 (7m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 5049747 feat: Sondervertretungen als eigene HR-Seite (/hr/special-assignments)
### Geänderte Dateien
- DEVLOG.md | 14 +
- frontend/src/App.tsx | 2 +
- frontend/src/components/Layout.tsx | 5 +-
- frontend/src/pages/SpecialAssignmentsPage.tsx | 480 ++++++++++++++++++++++++++
- frontend/src/pages/UsersPage.tsx | 106 ------
---
## 2026-05-25 01:15 01:15 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 14 +
- frontend/src/App.tsx | 2 +
- frontend/src/components/Layout.tsx | 5 +-
- frontend/src/pages/SpecialAssignmentsPage.tsx | 480 ++++++++++++++++++++++++++
- frontend/src/pages/UsersPage.tsx | 106 ------
---
## 2026-05-25 01:17 01:17 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 14 +
- frontend/src/App.tsx | 2 +
- frontend/src/components/Layout.tsx | 5 +-
- frontend/src/pages/SpecialAssignmentsPage.tsx | 480 ++++++++++++++++++++++++++
- frontend/src/pages/UsersPage.tsx | 106 ------
---
## 2026-05-25 01:18 01:22 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- eae0f6f docs: ROADMAP.md angelegt alle Features in Planung
### Geänderte Dateien
- ROADMAP.md | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---
## 2026-05-25 01:28 01:36 (8m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- ROADMAP.md | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---
## 2026-05-25 01:37 01:40 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- ROADMAP.md | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---
## 2026-05-25 01:41 01:42 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- e83a3fb fix: agent-08 Kiosk-Härtung + 24h-Zeiteintrag-Bug
### Geänderte Dateien
- DEVLOG.md | 78 ++++++++++++++++++++++++++
- backend/app/models/kiosk_device.py | 2 +-
- backend/app/models/time_entry.py | 17 ++++--
- backend/app/schemas/company.py | 6 ++
- backend/app/services/time_service.py | 10 ++--
- backend/cli.py | 78 ++++++++++++++++++++++++++
- frontend/src/pages/CompanySettingsPage.tsx | 88 +++++++++++++++++++++++++++++-
---
## 2026-05-25 01:42 01:43 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 78 ++++++++++++++++++++++++++
- backend/app/models/kiosk_device.py | 2 +-
- backend/app/models/time_entry.py | 17 ++++--
- backend/app/schemas/company.py | 6 ++
- backend/app/services/time_service.py | 10 ++--
- backend/cli.py | 78 ++++++++++++++++++++++++++
- frontend/src/pages/CompanySettingsPage.tsx | 88 +++++++++++++++++++++++++++++-
---
## 2026-05-25 19:47 19:47 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 78 ++++++++++++++++++++++++++
- backend/app/models/kiosk_device.py | 2 +-
- backend/app/models/time_entry.py | 17 ++++--
- backend/app/schemas/company.py | 6 ++
- backend/app/services/time_service.py | 10 ++--
- backend/cli.py | 78 ++++++++++++++++++++++++++
- frontend/src/pages/CompanySettingsPage.tsx | 88 +++++++++++++++++++++++++++++-
---
## 2026-05-25 19:48 19:49 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 78 ++++++++++++++++++++++++++
- backend/app/models/kiosk_device.py | 2 +-
- backend/app/models/time_entry.py | 17 ++++--
- backend/app/schemas/company.py | 6 ++
- backend/app/services/time_service.py | 10 ++--
- backend/cli.py | 78 ++++++++++++++++++++++++++
- frontend/src/pages/CompanySettingsPage.tsx | 88 +++++++++++++++++++++++++++++-
---
## 2026-05-25 22:10 22:14 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 78 ++++++++++++++++++++++++++
- backend/app/models/kiosk_device.py | 2 +-
- backend/app/models/time_entry.py | 17 ++++--
- backend/app/schemas/company.py | 6 ++
- backend/app/services/time_service.py | 10 ++--
- backend/cli.py | 78 ++++++++++++++++++++++++++
- frontend/src/pages/CompanySettingsPage.tsx | 88 +++++++++++++++++++++++++++++-
---
## 2026-05-25 22:15 22:16 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 78 ++++++++++++++++++++++++++
- backend/app/models/kiosk_device.py | 2 +-
- backend/app/models/time_entry.py | 17 ++++--
- backend/app/schemas/company.py | 6 ++
- backend/app/services/time_service.py | 10 ++--
- backend/cli.py | 78 ++++++++++++++++++++++++++
- frontend/src/pages/CompanySettingsPage.tsx | 88 +++++++++++++++++++++++++++++-
---
## 2026-05-25 22:16 22:16 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 78 ++++++++++++++++++++++++++
- backend/app/models/kiosk_device.py | 2 +-
- backend/app/models/time_entry.py | 17 ++++--
- backend/app/schemas/company.py | 6 ++
- backend/app/services/time_service.py | 10 ++--
- backend/cli.py | 78 ++++++++++++++++++++++++++
- frontend/src/pages/CompanySettingsPage.tsx | 88 +++++++++++++++++++++++++++++-
---
## 2026-05-25 22:16 22:16 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 78 ++++++++++++++++++++++++++
- backend/app/models/kiosk_device.py | 2 +-
- backend/app/models/time_entry.py | 17 ++++--
- backend/app/schemas/company.py | 6 ++
- backend/app/services/time_service.py | 10 ++--
- backend/cli.py | 78 ++++++++++++++++++++++++++
- frontend/src/pages/CompanySettingsPage.tsx | 88 +++++++++++++++++++++++++++++-
---
## 2026-05-25 22:17 22:18 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- a63b0e8 feat: Stunden-Auszahlung Feature (/hr/payouts)
### Geänderte Dateien
- DEVLOG.md | 136 ++++++
- backend/app/main.py | 2 +
- backend/app/models/__init__.py | 2 +
- backend/app/models/hours_payout.py | 45 ++
- backend/app/routers/hours_payouts.py | 189 +++++++++
- backend/app/schemas/hours_payout.py | 33 ++
- backend/migrations/versions/0030_hours_payouts.py | 36 ++
- frontend/src/App.tsx | 2 +
- frontend/src/components/Layout.tsx | 1 +
- frontend/src/pages/HoursPayoutPage.tsx | 484 ++++++++++++++++++++++
- frontend/src/types/hoursPayout.ts | 26 ++
---
## 2026-05-25 22:21 22:22 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 549783a feat: Stunden-Auszahlungen in /mobile Profil-Screen
### Geänderte Dateien
- DEVLOG.md | 21 ++++++
- frontend/src/pages/mobile/MobileProfileScreen.tsx | 87 ++++++++++++++++++++++-
---
## 2026-05-25 22:25 22:29 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 23b4588 fix: Überstunden tages-weise berechnen statt Gesamtzeitraum
### Geänderte Dateien
- backend/app/services/report_service.py | 19 ++++++++++++++++---
---
## 2026-05-25 22:32 22:33 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/app/services/report_service.py | 19 ++++++++++++++++---
---
## 2026-05-25 22:37 22:39 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/app/services/report_service.py | 19 ++++++++++++++++---
---
## 2026-05-25 22:39 22:40 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/app/services/report_service.py | 19 ++++++++++++++++---
---
## 2026-05-25 22:44 22:47 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/app/services/report_service.py | 19 ++++++++++++++++---
---
## 2026-05-25 22:48 22:51 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 23ba7f1 feat: Überstunden-Kappung + Jahresverfall pro Firma konfigurierbar
### Geänderte Dateien
- DEVLOG.md | 67 +++++++++
- backend/app/models/company.py | 7 +
- backend/app/models/overtime_balance.py | 1 +
- backend/app/routers/absences.py | 32 ++++
- backend/app/schemas/company.py | 10 ++
- backend/app/services/report_service.py | 54 +++++++
- .../versions/0031_overtime_cap_expiry.py | 33 +++++
- frontend/src/pages/CompanySettingsPage.tsx | 161 ++++++++++++++++++++-
---
## 2026-05-26 10:39 10:39 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 18 ++
- frontend/src/pages/mobile/MobileTodayScreen.tsx | 225 ++++++++++++++++++------
---
## 2026-05-26 10:40 10:41 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- c8578f6 chore: CLAUDE.md aus Git-Tracking entfernen
### Geänderte Dateien
- .gitignore | 1 +
- CLAUDE.md | 347 -------------------------------------------------------------
---
## 2026-05-26 10:41 10:42 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- c9cb6d7 chore: .claude/ aus Git-Tracking entfernen
### Geänderte Dateien
- .claude/agents/code-optimizer.md | 90 ------------------------------------
- .claude/agents/frontend.md | 94 --------------------------------------
- .claude/agents/security-auditor.md | 92 -------------------------------------
- .gitignore | 1 +
---
## 2026-05-26 10:42 10:43 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- .claude/agents/code-optimizer.md | 90 ------------------------------------
- .claude/agents/frontend.md | 94 --------------------------------------
- .claude/agents/security-auditor.md | 92 -------------------------------------
- .gitignore | 1 +
---
## 2026-05-26 10:51 10:54 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- .claude/agents/code-optimizer.md | 90 ------------------------------------
- .claude/agents/frontend.md | 94 --------------------------------------
- .claude/agents/security-auditor.md | 92 -------------------------------------
- .gitignore | 1 +
---
## 2026-05-26 10:56 11:07 (11m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- .claude/agents/code-optimizer.md | 90 ------------------------------------
- .claude/agents/frontend.md | 94 --------------------------------------
- .claude/agents/security-auditor.md | 92 -------------------------------------
- .gitignore | 1 +
---
## 2026-05-26 11:11 11:13 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 06bb1c1 feat: FZA Einzelstunden + Security-Fixes (K-1K-5, H-2H-4, M-1/M-3/M-6)
### Geänderte Dateien
- DEVLOG.md | 80 ++++++++++++
- backend/app/core/config.py | 8 +-
- backend/app/core/crypto.py | 34 ++++-
- backend/app/core/kiosk_security.py | 20 ++-
- backend/app/main.py | 13 +-
- backend/app/models/absence.py | 4 +
- backend/app/routers/absences.py | 30 ++++-
- backend/app/routers/auth.py | 12 +-
- backend/app/schemas/absence.py | 12 +-
- backend/app/services/absence_service.py | 31 +++--
- backend/app/services/auth_service.py | 115 ++++++++++++++---
- backend/app/services/kiosk_auth_service.py | 94 +++++++++++---
- backend/app/services/user_service.py | 42 +++++++
- backend/migrations/versions/0032_fza_hours.py | 21 ++++
- frontend/DEVLOG.md | 60 +++++++++
- frontend/src/components/absences/AbsenceModals.tsx | 137 +++++++++++++++------
- frontend/src/hooks/useAbsences.ts | 2 +
- frontend/src/pages/AbsencesPage.tsx | 29 ++++-
- nginx.conf | 62 ++++++++--
---
## 2026-05-26 11:15 11:15 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- f723c76 docs: DEVLOG aktualisiert
### Geänderte Dateien
- DEVLOG.md | 29 +++++++++++++++++++++++++++++
---
## 2026-05-26 11:16 11:16 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 29 +++++++++++++++++++++++++++++
---
## 2026-05-26 11:17 11:25 (7m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 654258f security: M-2 HttpOnly-Cookie + M-4 TrustedHost-Warning + M-5 TOTP-Lockout + M-7 zentraler get_client_ip()
### Geänderte Dateien
- DEVLOG.md | 22 +++++++
- backend/app/core/dependencies.py | 18 +++++-
- backend/app/main.py | 8 +++
- backend/app/routers/absences.py | 4 +-
- backend/app/routers/auth.py | 116 +++++++++++++++++++++++++++++++----
- backend/app/routers/busylight.py | 6 +-
- backend/app/routers/hours_payouts.py | 6 +-
- backend/app/schemas/auth.py | 4 +-
- backend/app/services/auth_service.py | 7 ++-
- frontend/src/api/client.ts | 17 +++--
- frontend/src/context/AuthContext.tsx | 14 +++--
---
## 2026-05-26 11:26 11:27 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 22 +++++++
- backend/app/core/dependencies.py | 18 +++++-
- backend/app/main.py | 8 +++
- backend/app/routers/absences.py | 4 +-
- backend/app/routers/auth.py | 116 +++++++++++++++++++++++++++++++----
- backend/app/routers/busylight.py | 6 +-
- backend/app/routers/hours_payouts.py | 6 +-
- backend/app/schemas/auth.py | 4 +-
- backend/app/services/auth_service.py | 7 ++-
- frontend/src/api/client.ts | 17 +++--
- frontend/src/context/AuthContext.tsx | 14 +++--
---
## 2026-05-26 11:30 11:35 (5m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 4dc6913 security: H-1 settings-Whitelist + H-5 UUID-Guard + H-6 DNS-Pinning + H-7 Heartbeat-Timing
### Geänderte Dateien
- DEVLOG.md | 42 ++++++++++++++++++
- backend/app/core/dependencies.py | 12 ++++--
- backend/app/core/kiosk_security.py | 11 +++--
- backend/app/routers/companies.py | 8 +++-
- backend/app/schemas/company.py | 17 +++++++-
- backend/app/services/caldav_service.py | 78 +++++++++++++++++++++++++++++-----
- backend/app/services/kiosk_service.py | 8 +++-
---
## 2026-05-26 11:36 11:36 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 42 ++++++++++++++++++
- backend/app/core/dependencies.py | 12 ++++--
- backend/app/core/kiosk_security.py | 11 +++--
- backend/app/routers/companies.py | 8 +++-
- backend/app/schemas/company.py | 17 +++++++-
- backend/app/services/caldav_service.py | 78 +++++++++++++++++++++++++++++-----
- backend/app/services/kiosk_service.py | 8 +++-
---
## 2026-05-26 12:39 12:55 (15m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- f2e9974 security: N-1 uvicorn proxy-headers + N-2 Token-Reuse-Detection + N-3 XSS-Audit + N-4 Token-URL-Fragment + N-5 pip-audit CI
### Geänderte Dateien
- .gitea/workflows/security.yml | 56 ++++++++++++++++++++++++++
- DEVLOG.md | 34 ++++++++++++++++
- backend/app/services/auth_service.py | 69 +++++++++++++++++++++++++++-----
- backend/app/services/email_service.py | 4 +-
- frontend/src/pages/ResetPasswordPage.tsx | 6 +--
- timemaster.service | 29 +++-----------
---
## 2026-05-26 12:56 13:18 (22m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- 03d5fd6 fix: Redis-Lockout-Keys in Test-Setup bereinigen
- a870ac6 fix: Refresh-Endpoint bevorzugt Body-Token über Cookie (Token-Rotation Test)
### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++
---
## 2026-05-26 13:19 13:19 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++
---
## 2026-05-26 13:23 13:35 (12m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++
---
## 2026-05-26 13:36 13:36 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++
---
## 2026-05-26 13:37 13:42 (5m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++
---
## 2026-05-29 17:20 17:21 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++
---
## 2026-05-29 17:22 17:27 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++
---
## 2026-05-29 17:46 17:47 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++
---
## 2026-06-02 15:30 15:51 (20m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++
---
## 2026-06-02 15:56 15:56 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++
---
## 2026-06-02 15:57 15:59 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster
### Commits
- cead46c feat: Statischer firmenweiter QR-Code für mobiles Ein-/Ausstempeln
### Geänderte Dateien
- backend/app/main.py | 2 +
- backend/app/models/company.py | 7 +++
- backend/app/routers/companies.py | 80 ++++++++++++++++++++++++++++++-
- backend/app/routers/public_stamp.py | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/schemas/company.py | 17 +++++++
- backend/app/schemas/public_stamp.py | 47 +++++++++++++++++++
- backend/app/services/kiosk_auth_service.py | 52 +++++++++++++++++++++
- backend/app/services/public_stamp_session_service.py | 77 ++++++++++++++++++++++++++++++
- backend/migrations/versions/0033_public_stamp_token.py | 38 +++++++++++++++
- backend/tests/test_public_stamp.py | 168 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/App.tsx | 2 +
- frontend/src/pages/CompanySettingsPage.tsx | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/ProfilePage.tsx | 55 ++++++++++++++++++++++
- frontend/src/pages/PublicStampPage.tsx | 265 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---