Files
timemaster/DEVLOG.md
T
patrick 0f83d13c0c feat(kiosk): Stufe 2 – Ed25519-Auth, CLI-Tool, neue KioskDevicesPage
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>
2026-05-24 12:13:46 +02:00

21 KiB
Raw Blame History

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 +-