# 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-1–K-5, H-2–H-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 +++++++++++++++++++++++++++++ ---