Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015Ahyx6D3r7G1EuAc42nezn
3901 lines
126 KiB
Markdown
3901 lines
126 KiB
Markdown
# 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 +++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 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 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-06-02 18:27 – 20:06 (1h 38m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 548aebe fix: QR-Stempel-Status korrekt – Status vor mid-request commit ermitteln
|
||
- 3423b65 docs: DEVLOG für QR-Stempel-Feature
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/routers/public_stamp.py | 11 +++++++++--
|
||
|
||
---
|
||
## 2026-06-02 22:06 – 22:11 (4m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
- de35eaa feat: QR-Stempeln als eigener Menüpunkt + Tablet-Link
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 12 ++++++
|
||
- frontend/DEVLOG.md | 22 +++++++++++
|
||
- frontend/src/App.tsx | 2 +
|
||
- frontend/src/components/Layout.tsx | 1 +
|
||
- frontend/src/pages/CompanySettingsPage.tsx | 167 +-----------------------------------------------------------------------------
|
||
- frontend/src/pages/QrStampSettingsPage.tsx | 247 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-06-02 22:12 – 22:14 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 12 ++++++
|
||
- frontend/DEVLOG.md | 22 +++++++++++
|
||
- frontend/src/App.tsx | 2 +
|
||
- frontend/src/components/Layout.tsx | 1 +
|
||
- frontend/src/pages/CompanySettingsPage.tsx | 167 +-----------------------------------------------------------------------------
|
||
- frontend/src/pages/QrStampSettingsPage.tsx | 247 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-06-23 00:29 – 00:30 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 12 +++++++
|
||
- frontend/DEVLOG.md | 22 ++++++++++++
|
||
- frontend/src/App.tsx | 2 ++
|
||
- frontend/src/components/Layout.tsx | 1 +
|
||
- frontend/src/pages/CompanySettingsPage.tsx | 167 +------------------------------------------------------------------------------------------
|
||
- frontend/src/pages/QrStampSettingsPage.tsx | 247 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-06-23 00:50 – 01:22 (32m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 898a81f feat: Reseller-Rolle + SUPER_ADMIN-Mandantenübersicht
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 48 +++++++++++++++++++++++
|
||
- backend/app/core/dependencies.py | 10 ++++-
|
||
- backend/app/main.py | 3 ++
|
||
- backend/app/models/company.py | 18 ++++++++-
|
||
- backend/app/models/user.py | 5 ++-
|
||
- backend/app/routers/reseller.py | 83 ++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/routers/tenants.py | 201 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/schemas/reseller.py | 69 ++++++++++++++++++++++++++++++++++
|
||
- backend/app/services/auth_service.py | 7 ++++
|
||
- backend/app/services/tenant_service.py | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/migrations/versions/0034_reseller.py | 70 ++++++++++++++++++++++++++++++++++
|
||
- backend/tests/conftest.py | 14 +++++--
|
||
- backend/tests/test_reseller.py | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/App.tsx | 4 ++
|
||
- frontend/src/components/Layout.tsx | 1 +
|
||
- frontend/src/context/AuthContext.tsx | 8 +++-
|
||
- frontend/src/pages/ResellerCompaniesPage.tsx | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/TenantsPage.tsx | 255 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-06-23 01:26 – 01:29 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 28 ++++++++++++++++++++++++++++
|
||
- backend/app/routers/reseller.py | 8 +++++---
|
||
- backend/app/routers/tenants.py | 54 ++++++++++++++++++++++++++++++++++++------------------
|
||
- backend/app/schemas/auth.py | 5 ++++-
|
||
- backend/app/schemas/reseller.py | 13 ++++++++++---
|
||
- backend/app/services/tenant_service.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++------------------
|
||
- backend/tests/test_reseller.py | 20 ++++++++++++++++++++
|
||
- frontend/src/pages/ResellerCompaniesPage.tsx | 45 +++++++++++++++++++++++++++++++++++++++++----
|
||
- frontend/src/pages/TenantsPage.tsx | 30 +++++++++++++++++++++---------
|
||
|
||
---
|
||
## 2026-06-23 01:36 – 01:38 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 28 ++++++++++++++++++++++++++++
|
||
- backend/app/routers/reseller.py | 8 +++++---
|
||
- backend/app/routers/tenants.py | 54 ++++++++++++++++++++++++++++++++++++------------------
|
||
- backend/app/schemas/auth.py | 5 ++++-
|
||
- backend/app/schemas/reseller.py | 13 ++++++++++---
|
||
- backend/app/services/tenant_service.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++------------------
|
||
- backend/tests/test_reseller.py | 20 ++++++++++++++++++++
|
||
- frontend/src/pages/ResellerCompaniesPage.tsx | 45 +++++++++++++++++++++++++++++++++++++++++----
|
||
- frontend/src/pages/TenantsPage.tsx | 30 +++++++++++++++++++++---------
|
||
|
||
---
|
||
## 2026-06-23 01:38 – 01:39 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 28 ++++++++++++++++++++++++++++
|
||
- backend/app/routers/reseller.py | 8 +++++---
|
||
- backend/app/routers/tenants.py | 54 ++++++++++++++++++++++++++++++++++++------------------
|
||
- backend/app/schemas/auth.py | 5 ++++-
|
||
- backend/app/schemas/reseller.py | 13 ++++++++++---
|
||
- backend/app/services/tenant_service.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++------------------
|
||
- backend/tests/test_reseller.py | 20 ++++++++++++++++++++
|
||
- frontend/src/pages/ResellerCompaniesPage.tsx | 45 +++++++++++++++++++++++++++++++++++++++++----
|
||
- frontend/src/pages/TenantsPage.tsx | 30 +++++++++++++++++++++---------
|
||
|
||
---
|
||
## 2026-06-23 01:40 – 01:40 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 28 ++++++++++++++++++++++++++++
|
||
- backend/app/routers/reseller.py | 8 +++++---
|
||
- backend/app/routers/tenants.py | 54 ++++++++++++++++++++++++++++++++++++------------------
|
||
- backend/app/schemas/auth.py | 5 ++++-
|
||
- backend/app/schemas/reseller.py | 13 ++++++++++---
|
||
- backend/app/services/tenant_service.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++------------------
|
||
- backend/tests/test_reseller.py | 20 ++++++++++++++++++++
|
||
- frontend/src/pages/ResellerCompaniesPage.tsx | 45 +++++++++++++++++++++++++++++++++++++++++----
|
||
- frontend/src/pages/TenantsPage.tsx | 30 +++++++++++++++++++++---------
|
||
|
||
---
|
||
## 2026-06-23 01:41 – 01:41 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 28 ++++++++++++++++++++++++++++
|
||
- backend/app/routers/reseller.py | 8 +++++---
|
||
- backend/app/routers/tenants.py | 54 ++++++++++++++++++++++++++++++++++++------------------
|
||
- backend/app/schemas/auth.py | 5 ++++-
|
||
- backend/app/schemas/reseller.py | 13 ++++++++++---
|
||
- backend/app/services/tenant_service.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++------------------
|
||
- backend/tests/test_reseller.py | 20 ++++++++++++++++++++
|
||
- frontend/src/pages/ResellerCompaniesPage.tsx | 45 +++++++++++++++++++++++++++++++++++++++++----
|
||
- frontend/src/pages/TenantsPage.tsx | 30 +++++++++++++++++++++---------
|
||
|
||
---
|
||
## 2026-06-23 – agent-10: Reseller-Rolle + Mandantenübersicht (Multimandanten)
|
||
|
||
**Ziel:** Mandantenfähigkeit ausbauen – SUPER_ADMIN-Mandantenübersicht + neue
|
||
RESELLER-Rolle, die selbst angelegte Firmen verwaltet (nur Firmen-Ebene, DSGVO).
|
||
|
||
### Commits
|
||
- 898a81f feat: Reseller-Rolle + SUPER_ADMIN-Mandantenübersicht
|
||
- 98cb2f8 feat: Mandant/Reseller ohne E-Mail anlegbar (Temp-Passwort statt Einladung)
|
||
|
||
### Entscheidungen (mit User abgestimmt)
|
||
- Reseller = **nur Firmen-Verwaltung** (kein Zugriff auf personenbezogene Zeit-/
|
||
Abwesenheitsdaten) → DSGVO-sauber
|
||
- **Eigene Reseller-Oberfläche** (`/reseller`), keine Impersonation
|
||
- **Nur SUPER_ADMIN** legt Reseller an; Reseller-Firmen gehören automatisch ihm
|
||
|
||
### Backend
|
||
- Neue Rolle `UserRole.RESELLER` (company_id NULL); `companies.reseller_id` + `is_active`
|
||
- Migration **0034**: Enum-Wert + Spalten + RLS-Policies (companies/users zusätzlich
|
||
auf `app.reseller_id` gefenced → DB-seitige Mandantenisolation des Resellers)
|
||
- `get_current_user` setzt `app.reseller_id` + Bypass aus für RESELLER
|
||
- `tenant_service` (Firma + Erst-Admin), Router `/reseller/*` (Self-Service) und
|
||
`/admin/*` (SUPER_ADMIN: Mandanten + Reseller); Login-Sperre bei deaktiviertem Mandant
|
||
- **Ohne E-Mail anlegbar**: interne Login-Kennung `<name>@<slug>.local` + einmaliges
|
||
Temp-Passwort (kein Mailversand). `LoginRequest.email` → `str` (Kennung muss kein
|
||
zustellbares Postfach sein; reservierte `.local`-Domains sonst nicht einloggbar)
|
||
|
||
### Frontend
|
||
- `TenantsPage` (`/admin/tenants`): alle Firmen, Reseller zuordnen/anlegen, Aktiv-Toggle
|
||
- `ResellerCompaniesPage` (`/reseller`): eigene Oberfläche mit Firmen-Kacheln
|
||
- Rollenbasierte Login-Weiterleitung (RESELLER → `/reseller`); `CredDialog` zeigt
|
||
Temp-Zugangsdaten einmalig; Nav „Mandanten" für SUPER_ADMIN
|
||
|
||
### Tests & Deployment
|
||
- 5 neue pytest-Cases inkl. **Cross-Reseller-RLS-Isolation** + Anlage ohne E-Mail
|
||
(173/173 grün); conftest-RLS um Reseller-Policies erweitert
|
||
- Auf **137 + 164** deployed (Migration 0034, Dienste aktiv, Health ok)
|
||
- **Live-Smoke-Test** auf beiden Servern bestanden (8 Checks: Anlage ohne E-Mail,
|
||
Temp-Login, RLS-Isolation, 403-Schutz, Mandanten-Sperre) – Testdaten danach gelöscht
|
||
|
||
---
|
||
## 2026-06-23 01:42 – 01:43 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 28 ++++++++++++++++++++++++++++
|
||
- backend/app/routers/reseller.py | 8 +++++---
|
||
- backend/app/routers/tenants.py | 54 ++++++++++++++++++++++++++++++++++++------------------
|
||
- backend/app/schemas/auth.py | 5 ++++-
|
||
- backend/app/schemas/reseller.py | 13 ++++++++++---
|
||
- backend/app/services/tenant_service.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++------------------
|
||
- backend/tests/test_reseller.py | 20 ++++++++++++++++++++
|
||
- frontend/src/pages/ResellerCompaniesPage.tsx | 45 +++++++++++++++++++++++++++++++++++++++++----
|
||
- frontend/src/pages/TenantsPage.tsx | 30 +++++++++++++++++++++---------
|
||
|
||
---
|
||
## 2026-06-23 01:44 – 01:44 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- c3cb9ce docs: DEVLOG – agent-10 Reseller/Mandantenübersicht
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-06-23 01:45 – 01:45 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-06-23 01:45 – 01:47 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-06-23 01:47 – 01:48 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-06-23 10:45 – 10:47 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-06-23 10:54 – 11:01 (7m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-06-23 11:04 – 11:35 (30m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-06-23 11:46 – 11:48 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 3b2df1c feat: agent-11 PR1 – Vertretung, Storno-Re-Genehmigung, Kommentare
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/models/__init__.py | 2 ++
|
||
- backend/app/models/absence.py | 11 +++---
|
||
- backend/app/models/absence_comment.py | 44 +++++++++++++++++++++++
|
||
- backend/app/routers/absences.py | 43 ++++++++++++++++++++++
|
||
- backend/app/routers/users.py | 21 +++++++++++
|
||
- backend/app/schemas/absence.py | 22 ++++++++++++
|
||
- backend/app/services/absence_service.py | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
|
||
- backend/app/services/caldav_service.py | 28 +++++++++++++++
|
||
- backend/app/services/email_service.py | 22 ++++++++++++
|
||
- backend/migrations/versions/0035_absence_comments.py | 61 +++++++++++++++++++++++++++++++
|
||
- backend/tests/conftest.py | 2 +-
|
||
- backend/tests/test_absences.py | 144 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/components/absences/AbsenceCommentsModal.tsx | 83 ++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/components/absences/AbsenceModals.tsx | 17 ++++++++-
|
||
- frontend/src/hooks/useAbsences.ts | 22 ++++++++----
|
||
- frontend/src/pages/AbsencesPage.tsx | 40 +++++++++++++++++----
|
||
- frontend/src/types/absence.ts | 12 ++++++-
|
||
- frontend/src/utils/calendar.ts | 2 ++
|
||
|
||
---
|
||
## 2026-06-23 11:48 – 12:04 (15m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- c9c197d feat: agent-11 PR2 – Urlaubsanspruch (Verfall scharf, Pro-rata, Teilzeit)
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/models/company.py | 8 ++++++++
|
||
- backend/app/models/user.py | 8 ++++++--
|
||
- backend/app/routers/absences.py | 16 ++++------------
|
||
- backend/app/schemas/absence.py | 2 ++
|
||
- backend/app/schemas/company.py | 6 ++++++
|
||
- backend/app/schemas/user.py | 7 ++++++-
|
||
- backend/app/services/absence_service.py | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
|
||
- backend/migrations/versions/0036_vacation_entitlement.py | 36 ++++++++++++++++++++++++++++++++++++
|
||
- backend/tests/test_absences.py | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/AbsencesPage.tsx | 7 +++++--
|
||
- frontend/src/pages/CompanySettingsPage.tsx | 41 +++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/UsersPage.tsx | 18 ++++++++++++++++++
|
||
- frontend/src/types/absence.ts | 1 +
|
||
|
||
---
|
||
## 2026-06-23 12:06 – 12:39 (33m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- c83fb31 feat: agent-11 PR3 – Scheduler + Erinnerungs-Mails + Notification-Prefs
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/core/config.py | 5 +++
|
||
- backend/app/core/notifications.py | 27 ++++++++++++++++
|
||
- backend/app/main.py | 9 ++++++
|
||
- backend/app/models/user.py | 5 ++-
|
||
- backend/app/routers/absences.py | 18 ++++++-----
|
||
- backend/app/routers/companies.py | 13 ++++++++
|
||
- backend/app/routers/users.py | 28 +++++++++++++++++
|
||
- backend/app/schemas/user.py | 10 ++++++
|
||
- backend/app/services/absence_service.py | 3 ++
|
||
- backend/app/services/email_service.py | 59 +++++++++++++++++++++++++++++++++++
|
||
- backend/app/services/scheduler_service.py | 215 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/migrations/versions/0037_notification_prefs.py | 24 +++++++++++++++
|
||
- backend/requirements.txt | 1 +
|
||
- backend/tests/test_reminders.py | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/ProfilePage.tsx | 36 +++++++++++++++++++++-
|
||
|
||
---
|
||
## 2026-06-23 12:41 – 13:19 (38m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 450dbdb feat: agent-12 – Zwei-Stufen-Genehmigung für Abwesenheiten
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/models/absence.py | 6 ++++++
|
||
- backend/app/models/company.py | 5 +++++
|
||
- backend/app/schemas/absence.py | 1 +
|
||
- backend/app/schemas/company.py | 4 ++++
|
||
- backend/app/services/absence_service.py | 42 +++++++++++++++++++++++++++++++++++++-----
|
||
- backend/app/services/scheduler_service.py | 5 ++++-
|
||
- backend/migrations/versions/0038_two_stage_approval.py | 39 +++++++++++++++++++++++++++++++++++++++
|
||
- backend/tests/test_absences.py | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/AbsencesPage.tsx | 6 ++++++
|
||
- frontend/src/pages/CompanySettingsPage.tsx | 28 +++++++++++++++++++++++++++-
|
||
- frontend/src/types/absence.ts | 1 +
|
||
- frontend/src/utils/calendar.ts | 2 ++
|
||
|
||
---
|
||
## 2026-06-23 13:20 – 13:24 (4m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 6a34bd1 fix: AuditLogPage – React-key am Listen-Fragment (Konsolen-Warnung)
|
||
|
||
### Geänderte Dateien
|
||
- frontend/src/pages/AuditLogPage.tsx | 9 ++++-----
|
||
|
||
---
|
||
## 2026-06-23 13:24 – 13:28 (4m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- e1d423e feat: agent-04 – Team-Dashboard für Manager/HR im Frontend angebunden
|
||
|
||
### Geänderte Dateien
|
||
- frontend/src/pages/DashboardPage.tsx | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-06-23 13:45 – 14:07 (21m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** backend
|
||
|
||
### Commits
|
||
- fe00eb4 fix(security/dsgvo): RLS für hours_payouts nachgezogen (Mandantentrennung)
|
||
- 31e39c6 fix(security): K-5 – LDAP/CalDAV/SMTP-Verschlüsselung auf zentralen Datenschlüssel
|
||
|
||
### Geänderte Dateien
|
||
- backend/migrations/versions/0039_rls_hours_payouts.py | 43 +++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/tests/conftest.py | 2 +-
|
||
- backend/tests/test_rls.py | 28 ++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-06-23 14:23 – 14:31 (8m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 2af2269 feat(dsgvo): Art. 17 Anonymisierung von Mitarbeiterkonten
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/models/user.py | 3 +++
|
||
- backend/app/routers/users.py | 12 ++++++++++++
|
||
- backend/app/schemas/user.py | 1 +
|
||
- backend/app/services/user_service.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/migrations/versions/0040_user_anonymization.py | 23 +++++++++++++++++++++++
|
||
- backend/tests/test_users.py | 35 +++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/UsersPage.tsx | 33 +++++++++++++++++++++++++++++++--
|
||
|
||
---
|
||
## 2026-06-23 14:31 – 14:32 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/models/user.py | 3 +++
|
||
- backend/app/routers/users.py | 12 ++++++++++++
|
||
- backend/app/schemas/user.py | 1 +
|
||
- backend/app/services/user_service.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/migrations/versions/0040_user_anonymization.py | 23 +++++++++++++++++++++++
|
||
- backend/tests/test_users.py | 35 +++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/UsersPage.tsx | 33 +++++++++++++++++++++++++++++++--
|
||
|
||
---
|
||
## 2026-06-23 14:36 – 21:41 (7h 04m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/models/user.py | 3 ++
|
||
- backend/app/routers/users.py | 12 ++++++
|
||
- backend/app/schemas/user.py | 1 +
|
||
- backend/app/services/user_service.py | 48 ++++++++++++++++++++++
|
||
- .../migrations/versions/0040_user_anonymization.py | 23 +++++++++++
|
||
- backend/tests/test_users.py | 35 ++++++++++++++++
|
||
- frontend/src/pages/UsersPage.tsx | 33 ++++++++++++++-
|
||
|
||
---
|
||
## 2026-06-23 22:07 – 22:07 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
- 89d85a9 feat(ui): Navigation neu strukturiert (flache Topbar + Verwaltung-Menü + /settings)
|
||
|
||
### Geänderte Dateien
|
||
- frontend/src/App.tsx | 2 ++
|
||
- frontend/src/components/Layout.tsx | 150 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------
|
||
- frontend/src/components/navConfig.ts | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/SettingsPage.tsx | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-06-23 22:25 – 22:28 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- add154b refactor(ui): Verwaltung-Dropdown aufgelöst – Berichte flach, Rest in /settings
|
||
|
||
### Geänderte Dateien
|
||
- frontend/src/components/Layout.tsx | 60 ++++--------------------------------------------------------
|
||
- frontend/src/components/navConfig.ts | 27 +++++++++++++++++----------
|
||
|
||
---
|
||
## 2026-06-23 22:34 – 22:35 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 1978d58 fix(payouts): 500 in GET /hr/payouts – computed Felder als optional
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/schemas/hours_payout.py | 4 ++--
|
||
|
||
---
|
||
## 2026-06-23 23:22 – 23:22 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/schemas/hours_payout.py | 4 ++--
|
||
|
||
---
|
||
## 2026-07-08 14:12 – 14:12 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/schemas/hours_payout.py | 4 ++--
|
||
|
||
---
|
||
## 2026-07-08 14:14 – 14:15 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/schemas/hours_payout.py | 4 ++--
|
||
|
||
---
|
||
## 2026-07-08 16:02 – 16:06 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/schemas/hours_payout.py | 4 ++--
|
||
|
||
---
|
||
## 2026-07-08 16:09 – 16:09 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/schemas/hours_payout.py | 4 ++--
|
||
|
||
---
|
||
## 2026-07-08 16:11 – 16:13 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 43ebc83 feat(ical): abonnierbarer read-only Kalender-Feed pro Nutzer
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/models/user.py | 4 ++++
|
||
- backend/app/routers/ical.py | 132 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/migrations/versions/0041_ical_token.py | 29 +++++++++++++++++++++++++++++
|
||
- backend/tests/test_ical.py | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/ProfilePage.tsx | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-07-08 16:15 – 16:16 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/models/user.py | 4 ++++
|
||
- backend/app/routers/ical.py | 132 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/migrations/versions/0041_ical_token.py | 29 +++++++++++++++++++++++++++++
|
||
- backend/tests/test_ical.py | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/ProfilePage.tsx | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-07-08 16:16 – 16:20 (4m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/models/user.py | 4 ++++
|
||
- backend/app/routers/ical.py | 132 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/migrations/versions/0041_ical_token.py | 29 +++++++++++++++++++++++++++++
|
||
- backend/tests/test_ical.py | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/ProfilePage.tsx | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-07-08 16:23 – 16:30 (7m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- f24b25b chore(deploy): entkoppelte Self-Update-Skripte pro Server
|
||
|
||
### Geänderte Dateien
|
||
- deploy.sh | 121 +++++-------------------------------
|
||
- push-frontend.sh | 49 +++++++++++++++
|
||
- server-update.sh | 68 ++++++++++++++++++++
|
||
- update.sh | 562 ++++-----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-07-08 16:31 – 16:34 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- fad27cb fix(deploy): server-update.sh Health-Check mit Retry (Worker-Startzeit)
|
||
|
||
### Geänderte Dateien
|
||
- server-update.sh | 11 +++++++++--
|
||
|
||
---
|
||
## 2026-07-08 16:39 – 16:48 (8m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 2c57c36 fix(deploy): server-update.sh re-exec nach git pull (Self-Edit-Falle)
|
||
|
||
### Geänderte Dateien
|
||
- server-update.sh | 14 ++++++++++----
|
||
|
||
---
|
||
## 2026-07-08 16:52 – 16:53 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- server-update.sh | 14 ++++++++++----
|
||
|
||
---
|
||
## 2026-07-08 17:10 – 17:12 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- server-update.sh | 14 ++++++++++----
|
||
|
||
---
|
||
## 2026-07-10 01:54 – 01:55 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** custom-addons
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 460 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/DEVLOG.md | 13 ++++
|
||
- backend/app/models/company.py | 2 +
|
||
- backend/app/models/hours_payout.py | 17 ++++-
|
||
- backend/app/routers/hours_payouts.py | 280 +++++++++++++++++++++++++++++++++++++++++++++++--------------------
|
||
- backend/app/schemas/company.py | 2 +
|
||
- backend/app/schemas/hours_payout.py | 17 +++++
|
||
- backend/migrations/versions/0042_payout_requests.py | 36 +++++++++
|
||
- backend/tests/test_hours_payouts.py | 87 +++++++++++++++++++++
|
||
- frontend/DEVLOG.md | 39 ++++++++++
|
||
- frontend/src/components/PayoutRequestCard.tsx | 150 ++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/AbsencesPage.tsx | 3 +
|
||
- frontend/src/pages/CompanySettingsPage.tsx | 31 +++++++-
|
||
- frontend/src/pages/HoursPayoutPage.tsx | 82 +++++++++++++++++---
|
||
- frontend/src/types/hoursPayout.ts | 7 ++
|
||
|
||
---
|
||
## 2026-08-05 18:56 – 18:56 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 460 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/DEVLOG.md | 13 ++++
|
||
- backend/app/models/company.py | 2 +
|
||
- backend/app/models/hours_payout.py | 17 ++++-
|
||
- backend/app/routers/hours_payouts.py | 280 +++++++++++++++++++++++++++++++++++++++++++++++--------------------
|
||
- backend/app/schemas/company.py | 2 +
|
||
- backend/app/schemas/hours_payout.py | 17 +++++
|
||
- backend/migrations/versions/0042_payout_requests.py | 36 +++++++++
|
||
- backend/tests/test_hours_payouts.py | 87 +++++++++++++++++++++
|
||
- frontend/DEVLOG.md | 39 ++++++++++
|
||
- frontend/src/components/PayoutRequestCard.tsx | 150 ++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/AbsencesPage.tsx | 3 +
|
||
- frontend/src/pages/CompanySettingsPage.tsx | 31 +++++++-
|
||
- frontend/src/pages/HoursPayoutPage.tsx | 82 +++++++++++++++++---
|
||
- frontend/src/types/hoursPayout.ts | 7 ++
|
||
|
||
---
|
||
## 2026-08-05 18:56 – 18:57 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 803e888 fix(hours_payouts): RLS-Bypass-Falle bei mid-request commit
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/routers/hours_payouts.py | 22 ++++++++++++----------
|
||
|
||
---
|
||
## 2026-08-05 18:57 – 18:57 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/routers/hours_payouts.py | 22 ++++++++++++----------
|
||
|
||
---
|
||
## 2026-08-05 18:58 – 18:58 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/routers/hours_payouts.py | 22 ++++++++++++----------
|
||
|
||
---
|
||
## 2026-08-05 19:01 – 19:17 (16m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- edb727e fix(security): python-jose CVE-2024-33663 durch pyjwt ersetzt, Deps gepinnt
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 36 ++++++++++++++++++++++++++++++++++++
|
||
- backend/app/core/dependencies.py | 2 +-
|
||
- backend/app/core/security.py | 3 ++-
|
||
- backend/app/routers/auth.py | 2 +-
|
||
- backend/requirements.txt | 58 +++++++++++++++++++++++++++++-----------------------------
|
||
- nginx.conf | 11 ++++++++++-
|
||
|
||
---
|
||
## 2026-08-05 19:18 – 19:20 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 36 ++++++++++++++++++++++++++++++++++++
|
||
- backend/app/core/dependencies.py | 2 +-
|
||
- backend/app/core/security.py | 3 ++-
|
||
- backend/app/routers/auth.py | 2 +-
|
||
- backend/requirements.txt | 58 +++++++++++++++++++++++++++++-----------------------------
|
||
- nginx.conf | 11 ++++++++++-
|
||
|
||
---
|
||
## 2026-08-05 19:23 – 19:23 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 36 ++++++++++++++++++++++++++++++++++++
|
||
- backend/app/core/dependencies.py | 2 +-
|
||
- backend/app/core/security.py | 3 ++-
|
||
- backend/app/routers/auth.py | 2 +-
|
||
- backend/requirements.txt | 58 +++++++++++++++++++++++++++++-----------------------------
|
||
- nginx.conf | 11 ++++++++++-
|
||
|
||
---
|
||
## 2026-08-05 19:33 – 19:35 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 319e070 feat(tls): optionales certbot-Setup vorbereitet (Option A)
|
||
|
||
### Geänderte Dateien
|
||
- nginx.conf | 13 +++++++------
|
||
- setup-tls.sh | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-08-05 19:35 – 19:36 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 9c86cbc feat(tls): optionales Setup für interne CA vorbereitet
|
||
|
||
### Geänderte Dateien
|
||
- setup-tls-internal.sh | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-08-05 19:37 – 19:37 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- setup-tls-internal.sh | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-08-05 19:38 – 20:31 (52m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 90f45a4 feat(admin): SUPER_ADMIN TLS-Zertifikat-Status + Renewal-Trigger
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/tls_admin.py | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/services/tls_service.py | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/tests/test_tls_admin.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/TenantsPage.tsx | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
|
||
|
||
---
|
||
## 2026-08-06 18:00 – 18:00 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/tls_admin.py | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/services/tls_service.py | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/tests/test_tls_admin.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/TenantsPage.tsx | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
|
||
|
||
---
|
||
## 2026-08-06 18:00 – 18:00 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/tls_admin.py | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/services/tls_service.py | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/tests/test_tls_admin.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/TenantsPage.tsx | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
|
||
|
||
---
|
||
## 2026-08-06 18:01 – 18:01 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/tls_admin.py | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/services/tls_service.py | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/tests/test_tls_admin.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/TenantsPage.tsx | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
|
||
|
||
---
|
||
## 2026-08-06 18:10 – 18:10 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/tls_admin.py | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/services/tls_service.py | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/tests/test_tls_admin.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/TenantsPage.tsx | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
|
||
|
||
---
|
||
## 2026-08-06 18:10 – 18:11 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/tls_admin.py | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/services/tls_service.py | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/tests/test_tls_admin.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/TenantsPage.tsx | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
|
||
|
||
---
|
||
## 2026-08-06 18:11 – 18:12 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/tls_admin.py | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/services/tls_service.py | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/tests/test_tls_admin.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/TenantsPage.tsx | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
|
||
|
||
---
|
||
## 2026-08-06 18:16 – 18:18 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/tls_admin.py | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/services/tls_service.py | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/tests/test_tls_admin.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/TenantsPage.tsx | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
|
||
|
||
---
|
||
## 2026-08-06 18:20 – 18:21 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/tls_admin.py | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/services/tls_service.py | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/tests/test_tls_admin.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/TenantsPage.tsx | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
|
||
|
||
---
|
||
## 2026-08-06 18:21 – 18:24 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/tls_admin.py | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/services/tls_service.py | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/tests/test_tls_admin.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/TenantsPage.tsx | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
|
||
|
||
---
|
||
## 2026-08-06 21:09 – 21:43 (33m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** aicontrolcenter
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/tls_admin.py | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/services/tls_service.py | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/tests/test_tls_admin.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/TenantsPage.tsx | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
|
||
|
||
---
|
||
## 2026-08-06 21:43 – 21:44 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/tls_admin.py | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/services/tls_service.py | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/tests/test_tls_admin.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/TenantsPage.tsx | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
|
||
|
||
---
|
||
## 2026-08-06 22:08 – 22:08 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/tls_admin.py | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/services/tls_service.py | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/tests/test_tls_admin.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/TenantsPage.tsx | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
|
||
|
||
---
|
||
## 2026-08-06 22:09 – 22:10 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/tls_admin.py | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/app/services/tls_service.py | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- backend/tests/test_tls_admin.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- frontend/src/pages/TenantsPage.tsx | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
|
||
|
||
---
|
||
## 2026-08-06 22:16 – 22:22 (6m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 74006d4 fix(reports): DATEV-Export nutzt falschen FK-Namen (absence_type_id statt type_id)
|
||
- 5cbeebe feat(reports): DATEV-Monatsblatt-Export (Blanko-Vorlage) für Steuerberater
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/services/report_service.py | 2 +-
|
||
|
||
---
|
||
## 2026-08-06 22:24 – 22:25 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- frontend/src/pages/ReportsPage.tsx | 25 +++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-08-07 08:11 – 08:11 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- frontend/src/pages/ReportsPage.tsx | 25 +++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-08-07 08:11 – 08:12 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- frontend/src/pages/ReportsPage.tsx | 25 +++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-08-07 08:16 – 08:16 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- frontend/src/pages/ReportsPage.tsx | 25 +++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-08-07 08:17 – 08:42 (25m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 84af5a8 feat(dsgvo): Art. 15 Auskunftsrecht – strukturierter Datenexport pro User
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/routers/users.py | 27 ++++++++++++++++++++++++++-
|
||
- backend/app/services/gdpr_service.py | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-08-07 08:43 – 08:44 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/routers/users.py | 27 ++++++++++++++++++++++++++-
|
||
- backend/app/services/gdpr_service.py | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-08-26 23:47 – 23:48 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** aicontrolcenter
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/routers/users.py | 27 ++++++++++++++++++++++++++-
|
||
- backend/app/services/gdpr_service.py | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-08-26 23:48 – 23:49 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/routers/users.py | 27 ++++++++++++++++++++++++++-
|
||
- backend/app/services/gdpr_service.py | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-08-26 23:53 – 23:53 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/routers/users.py | 27 ++++++++++++++++++++++++++-
|
||
- backend/app/services/gdpr_service.py | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-08-26 23:58 – 23:59 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/routers/users.py | 27 ++++++++++++++++++++++++++-
|
||
- backend/app/services/gdpr_service.py | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-08-27 00:21 – 00:22 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** Tripgenius
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/migrations/versions/0043_rls_special_assignments.py | 44 ++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-08-27 00:26 – 00:29 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** Tripgenius
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/migrations/versions/0043_rls_special_assignments.py | 44 ++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-08-27 00:29 – 00:31 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 71e3e82 fix(payouts): status-Spalte mit echtem DB-Default statt nur Python-Default
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/models/hours_payout.py | 5 ++++-
|
||
|
||
---
|
||
## 2026-08-27 00:46 – 00:46 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/models/hours_payout.py | 5 ++++-
|
||
|
||
---
|
||
## 2026-08-27 00:47 – 09:08 (8h 21m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- c1d0a35 fix(time): break_minutes DB-Default ergänzen + Retention-Tests korrigiert
|
||
- c60c0d6 feat(dsgvo): Löschkonzept/Aufbewahrungsfristen (Auto-Purge)
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/models/time_entry.py | 2 +-
|
||
- backend/migrations/versions/0044_time_entries_break_minutes_default.py | 25 +++++++++++++++++++++++++
|
||
- backend/tests/test_retention.py | 23 ++++++++++++++++-------
|
||
|
||
---
|
||
## 2026-08-27 13:07 – 13:07 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/models/time_entry.py | 2 +-
|
||
- backend/migrations/versions/0044_time_entries_break_minutes_default.py | 25 +++++++++++++++++++++++++
|
||
- backend/tests/test_retention.py | 23 ++++++++++++++++-------
|
||
|
||
---
|
||
## 2026-08-27 13:10 – 13:16 (6m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/models/time_entry.py | 2 +-
|
||
- backend/migrations/versions/0044_time_entries_break_minutes_default.py | 25 +++++++++++++++++++++++++
|
||
- backend/tests/test_retention.py | 23 ++++++++++++++++-------
|
||
|
||
---
|
||
## 2026-08-27 13:18 – 13:27 (8m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- d1d8069 fix(kiosk): NFC-Login verlangt Pflicht-PIN als Zweitfaktor (Security-Audit K-3)
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/routers/kiosk.py | 1 +
|
||
- backend/app/routers/users.py | 17 +++++++++++++++++
|
||
- backend/app/schemas/kiosk_auth.py | 3 ++-
|
||
- backend/app/schemas/user.py | 7 +++++++
|
||
- backend/app/services/kiosk_auth_service.py | 51 +++++++++++++++++++++++++++++++++++++++++----------
|
||
- backend/app/services/user_service.py | 16 ++++++++++++++++
|
||
- backend/tests/test_kiosk_nfc.py | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-08-27 13:30 – 13:39 (8m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 4932b88 feat(kiosk): PC-Terminal-Frontend für NFC-Login + Stempeln
|
||
- a7ac828 test(kiosk): E2E-Test für Login + Stempel-Flow, Cross-Device-Session-Check
|
||
- 2464c74 feat(kiosk): Stempel-Endpunkte für Kiosk-Sessions (fehlten bisher komplett)
|
||
|
||
### Geänderte Dateien
|
||
- frontend/src/pages/KioskStampPage.tsx | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------
|
||
|
||
---
|
||
## 2026-09-02 14:46 – 14:49 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- frontend/src/pages/KioskStampPage.tsx | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
|
||
|
||
---
|
||
|
||
---
|
||
## 2026-09-02 14:46 – 14:49 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- frontend/src/pages/KioskStampPage.tsx | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
|
||
|
||
---
|
||
## 2026-09-02 14:54 – 14:55 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- frontend/src/pages/KioskStampPage.tsx | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
|
||
|
||
---
|
||
## 2026-09-02 14:59 – 14:59 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- frontend/src/pages/KioskStampPage.tsx | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
|
||
|
||
---
|
||
## 2026-09-02 15:03 – 15:03 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- frontend/src/pages/KioskStampPage.tsx | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
|
||
|
||
---
|
||
## 2026-09-02 15:03 – 15:04 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- frontend/src/pages/KioskStampPage.tsx | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
|
||
|
||
---
|
||
## 2026-09-02 15:07 – 15:07 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** agents
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- frontend/src/pages/KioskStampPage.tsx | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
|
||
|
||
---
|
||
## 2026-09-02 15:07 – 15:08 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- b8073fa docs(devlog): Sessions vom 2026-08-05 bis 2026-09-02 nachtragen
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 545 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-09-02 15:09 – 15:09 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 545 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-09-02 15:09 – 15:10 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 545 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-09-02 15:11 – 15:11 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 545 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-09-02 22:20 – 22:20 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 545 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-09-02 22:21 – 22:23 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 545 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-09-02 22:27 – 22:28 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 52ecd9e chore(routers): toten Router absence.py entfernen
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/routers/absence.py | 159 ---------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-09-02 22:28 – 22:29 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- c733ddf fix(redis): gepoolten async-Redis-Client statt Connect/Close pro Request
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/core/kiosk_security.py | 5 ++---
|
||
- backend/app/core/redis.py | 30 ++++++++++++++++++++++++++++--
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/auth.py | 32 ++++++++++++++------------------
|
||
- frontend/src/api/client.ts | 6 ++++++
|
||
|
||
---
|
||
## 2026-09-02 22:32 – 22:37 (5m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/core/kiosk_security.py | 5 ++---
|
||
- backend/app/core/redis.py | 30 ++++++++++++++++++++++++++++--
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/auth.py | 32 ++++++++++++++------------------
|
||
- frontend/src/api/client.ts | 6 ++++++
|
||
|
||
---
|
||
## 2026-09-02 22:38 – 22:38 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/core/kiosk_security.py | 5 ++---
|
||
- backend/app/core/redis.py | 30 ++++++++++++++++++++++++++++--
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/auth.py | 32 ++++++++++++++------------------
|
||
- frontend/src/api/client.ts | 6 ++++++
|
||
|
||
---
|
||
## 2026-09-02 22:38 – 22:41 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/core/kiosk_security.py | 5 ++---
|
||
- backend/app/core/redis.py | 30 ++++++++++++++++++++++++++++--
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/auth.py | 32 ++++++++++++++------------------
|
||
- frontend/src/api/client.ts | 6 ++++++
|
||
|
||
---
|
||
## 2026-09-02 22:41 – 22:41 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/core/kiosk_security.py | 5 ++---
|
||
- backend/app/core/redis.py | 30 ++++++++++++++++++++++++++++--
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/auth.py | 32 ++++++++++++++------------------
|
||
- frontend/src/api/client.ts | 6 ++++++
|
||
|
||
---
|
||
## 2026-09-02 22:42 – 22:42 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/core/kiosk_security.py | 5 ++---
|
||
- backend/app/core/redis.py | 30 ++++++++++++++++++++++++++++--
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/auth.py | 32 ++++++++++++++------------------
|
||
- frontend/src/api/client.ts | 6 ++++++
|
||
|
||
---
|
||
## 2026-09-02 22:42 – 22:46 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/core/kiosk_security.py | 5 ++---
|
||
- backend/app/core/redis.py | 30 ++++++++++++++++++++++++++++--
|
||
- backend/app/main.py | 2 ++
|
||
- backend/app/routers/auth.py | 32 ++++++++++++++------------------
|
||
- frontend/src/api/client.ts | 6 ++++++
|
||
|
||
---
|
||
## 2026-09-02 22:46 – 22:47 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- ad0bc62 ci(frontend): Build-Job als Gate im Security-Workflow ergänzen
|
||
|
||
### Geänderte Dateien
|
||
- .gitea/workflows/security.yml | 23 +++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-09-02 22:47 – 22:49 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 538cbb0 test(coverage): pytest-cov einbauen (term-missing Report)
|
||
|
||
### Geänderte Dateien
|
||
- .gitignore | 3 +++
|
||
- backend/pytest.ini | 2 +-
|
||
|
||
---
|
||
## 2026-09-02 22:53 – 22:53 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- .gitignore | 3 +++
|
||
- backend/pytest.ini | 2 +-
|
||
|
||
---
|
||
## 2026-09-02 22:54 – 22:54 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- .gitignore | 3 +++
|
||
- backend/pytest.ini | 2 +-
|
||
|
||
---
|
||
## 2026-09-02 23:03 – 23:03 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- .gitignore | 3 +++
|
||
- backend/pytest.ini | 2 +-
|
||
|
||
---
|
||
## 2026-09-02 23:03 – 23:04 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- .gitignore | 3 +++
|
||
- backend/pytest.ini | 2 +-
|
||
|
||
---
|
||
## 2026-09-02 23:05 – 23:05 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- c1572c3 docs(api): 7 fehlende Router nachgezogen
|
||
|
||
### Geänderte Dateien
|
||
- docs/api.md | 427 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-09-02 23:07 – 23:08 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- docs/api.md | 427 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-09-02 23:09 – 23:09 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- docs/api.md | 427 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-09-02 23:09 – 23:13 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- aba0b53 fix(docs): StaticFiles-Mount-Pfad korrigieren (static statt app/static)
|
||
- 4e30c55 fix(docs): Swagger-Assets nach backend/static/ verschoben (nginx-Alias)
|
||
- 9f9dfb5 fix(docs): Swagger/ReDoc-Assets lokal statt von cdn.jsdelivr.net
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/main.py | 2 +-
|
||
|
||
---
|
||
## 2026-09-02 23:15 – 23:17 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/main.py | 2 +-
|
||
|
||
---
|
||
## 2026-09-02 23:17 – 23:17 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- b7bec79 fix(setup): nginx-Template im Installer auf Prod-Stand bringen
|
||
|
||
### Geänderte Dateien
|
||
- setup_server.sh | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------
|
||
|
||
---
|
||
## 2026-09-02 23:17 – 23:17 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- setup_server.sh | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------
|
||
|
||
---
|
||
## 2026-09-02 23:19 – 23:19 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- setup_server.sh | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------
|
||
|
||
---
|
||
## 2026-09-02 23:22 – 23:22 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- setup_server.sh | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------
|
||
|
||
---
|
||
## 2026-09-02 23:24 – 23:24 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- setup_server.sh | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------
|
||
|
||
---
|
||
## 2026-09-02 23:25 – 23:25 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- setup_server.sh | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------
|
||
|
||
---
|
||
## 2026-09-02 23:35 – 23:35 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/tests/test_coverage_gaps.py | 5 +++--
|
||
|
||
---
|
||
## 2026-09-02 23:49 – 23:55 (5m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- ac496a5 fix(absences): POST /absences/ reicht warnings jetzt an den Client durch
|
||
- 3cf396b fix(tests): Testdaten für Jahreswechsel-Regressionstest korrigieren
|
||
- 548738c fix(absences): Feiertage über Jahreswechsel korrekt aus working_days rausrechnen
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/routers/absences.py | 10 ++++++++--
|
||
- backend/tests/test_coverage_gaps.py | 44 ++++++++++++++++++++++++++++++++++++++------
|
||
|
||
---
|
||
## 2026-09-02 23:55 – 23:55 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/routers/absences.py | 10 ++++++++--
|
||
- backend/tests/test_coverage_gaps.py | 44 ++++++++++++++++++++++++++++++++++++++------
|
||
|
||
---
|
||
## 2026-09-02 23:56 – 00:01 (5m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** nexarch
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/routers/absences.py | 10 ++++++++--
|
||
- backend/tests/test_coverage_gaps.py | 44 ++++++++++++++++++++++++++++++++++++++------
|
||
|
||
---
|
||
## 2026-09-03 00:02 – 00:02 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/routers/absences.py | 10 ++++++++--
|
||
- backend/tests/test_coverage_gaps.py | 44 ++++++++++++++++++++++++++++++++++++++------
|
||
|
||
---
|
||
## 2026-09-03 00:03 – 00:03 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 5ba5a99 docs: README erstellt, Debian statt Ubuntu korrigiert
|
||
|
||
### Geänderte Dateien
|
||
- README.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- setup_server.sh | 2 +-
|
||
|
||
---
|
||
## 2026-09-03 00:03 – 00:03 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- README.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- setup_server.sh | 2 +-
|
||
|
||
---
|
||
## 2026-09-03 00:04 – 00:04 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- README.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- setup_server.sh | 2 +-
|
||
|
||
---
|
||
## 2026-09-03 00:04 – 00:04 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- README.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- setup_server.sh | 2 +-
|
||
|
||
---
|
||
## 2026-09-03 00:05 – 00:05 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- README.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- setup_server.sh | 2 +-
|
||
|
||
---
|
||
## 2026-09-03 00:06 – 00:09 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/routers/auth.py | 29 +++++----
|
||
- backend/app/services/auth_service.py | 210 ++++++++++++++++++++++++++++++++---------------------------------
|
||
- backend/app/services/kiosk_auth_service.py | 191 ++++++++++++++++++++++++++++-------------------------------
|
||
- backend/app/services/kiosk_session_service.py | 26 +++-----
|
||
- backend/app/services/public_stamp_session_service.py | 16 ++---
|
||
|
||
---
|
||
## 2026-09-03 00:12 – 00:14 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 107cba9 fix(redis): INCR+EXPIRE atomar via Pipeline (MULTI/EXEC)
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/routers/auth.py | 8 ++++++--
|
||
- backend/app/services/auth_service.py | 8 ++++++--
|
||
- backend/app/services/kiosk_auth_service.py | 8 ++++++--
|
||
|
||
---
|
||
## 2026-09-03 01:59 – 02:00 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** asb-material
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/core/redis.py | 14 +++++++++++++-
|
||
- backend/app/main.py | 11 +++++++++++
|
||
|
||
---
|
||
## 2026-09-03 02:04 – 02:05 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/core/redis.py | 14 +++++++++++++-
|
||
- backend/app/main.py | 11 +++++++++++
|
||
|
||
---
|