2A – Backend Ed25519-Verifizierung: - app/core/kiosk_security.py (NEU): verify_kiosk_request() Dependency - Timestamp-Check (30s Drift), Nonce-Cache (Redis/In-Memory), IP-Whitelist - Ed25519-Signatur über METHOD+PATH+TIMESTAMP+NONCE+sha256(BODY) - PEM + OpenSSH Key-Format unterstützt - app/routers/kiosk.py: approve/revoke Endpunkte, POST /heartbeat (Ed25519-signiert) - app/services/kiosk_service.py: token-basierte Methoden entfernt, approve/revoke/heartbeat - app/schemas/kiosk.py: KioskDeviceOut mit heartbeat_status, HeartbeatRequest/Response 2B – CLI-Tool: - cli.py (NEU, 529 Zeilen): Typer-CLI mit kiosk add/list/approve/revoke/info - Public-Key-Fingerprint (SHA256), Rich-Tabellen, CIDR-Validierung - Direkter DB-Zugriff mit RLS-Bypass 2C – Frontend: - KioskDevicesPage.tsx: Zwei-Tab-Layout (Wartet/Aktiv), Status-Ampel, Auto-Refresh 30s, Ed25519-Workflow (kein Token mehr) - Layout.tsx: KioskHealthBadge (online/total, 30s Refresh, nur COMPANY_ADMIN) requirements.txt: typer>=0.12.0, rich>=13.7.0 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
21 KiB
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
1fedd68Initial 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
fbc04bcagent-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
8e5e76dadd 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
3dfcff3update.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
6d4b8a9agent-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
dd3e069fix: 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
eb12280fix: 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
ada1b51docs: 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
981bde3feat(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 +-