de35eaa3ea
QR-Stempeln aus CompanySettingsPage in eigene Seite /settings/qr-stamp ausgelagert, eigener Nav-Eintrag 'QR-Stempeln' (COMPANY_ADMIN/SUPER_ADMIN). Toggle speichert jetzt eigenständig (PATCH public_stamp_enabled). Neuer Tablet-Link-Bereich: Direkt-URL kopieren + 'Auf diesem Gerät öffnen' zum dauerhaften Einrichten eines Tablets am Eingang (gleicher Token wie Handy-QR). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
623 lines
14 KiB
Markdown
623 lines
14 KiB
Markdown
# frontend – Dev Log
|
||
|
||
## 2026-03-28 22:34 – 22:34 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-03-28 22:42 – 23:11 (28m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-03-28 23:13 – 23:18 (5m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-03-28 23:18 – 23:19 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-03-28 23:20 – 23:21 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-03-28 23:28 – 23:32 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-03-28 23:32 – 23:35 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-03-28 23:37 – 23:38 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-03-28 23:44 – 23:44 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-03-28 23:50 – 23:52 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-03-28 23:55 – 23:55 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-03-28 23:56 – 23:58 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-03-29 00:13 – 00:14 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-03-29 00:14 – 00:25 (10m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-03-29 00:27 – 00:28 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-03-29 00:29 – 00:29 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 23:38 – 23:43 (5m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 23:44 – 23:44 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-05 19:54 – 22:28 (2h 33m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-06 10:25 – 10:27 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-06 10:28 – 10:29 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-06 10:35 – 10:37 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-06 10:39 – 10:41 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-06 11:20 – 11:21 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-06 12:47 – 12:47 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-06 12:47 – 15:57 (3h 09m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-06 15:58 – 16:00 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-06 23:13 – 23:16 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-06 23:19 – 23:19 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-06 23:25 – 23:25 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-07 00:21 – 00:22 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-07 00:24 – 00:24 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-07 00:24 – 00:25 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-07 00:27 – 00:27 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-07 10:06 – 10:07 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-11 22:48 – 22:56 (7m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-23 19:22 – 19:39 (17m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-23 19:56 – 19:58 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-23 20:00 – 20:00 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-23 22:38 – 22:42 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### 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-24 11:59 – 12:01 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 62ef6c2 feat: Live-Stempel-Uhr, Break-UI, Balance-Widget, Approval-Queue + PDF-Export (WeasyPrint)
|
||
|
||
### 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:13 – 12:14 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 0f83d13 feat(kiosk): Stufe 2 – Ed25519-Auth, CLI-Tool, neue KioskDevicesPage
|
||
|
||
### 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:22 – 12:24 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 35fcea9 feat(kiosk): Stufe 3 – ServiceWorker, WebCrypto Setup-Flow, Kiosk-UI, 15 Security-Tests
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 20 ++
|
||
- backend/tests/test_kiosk_security.py | 387 ++++++++++++++++++++++++++++++++++
|
||
- frontend/DEVLOG.md | 20 ++
|
||
- frontend/public/kiosk-sw.js | 187 ++++++++++++++++
|
||
- frontend/src/App.tsx | 4 +
|
||
- frontend/src/pages/KioskSetupPage.tsx | 307 +++++++++++++++++++++++++++
|
||
- frontend/src/pages/KioskStampPage.tsx | 348 ++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-05-24 12:26 – 12:28 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 20 ++
|
||
- backend/tests/test_kiosk_security.py | 387 ++++++++++++++++++++++++++++++++++
|
||
- frontend/DEVLOG.md | 20 ++
|
||
- frontend/public/kiosk-sw.js | 187 ++++++++++++++++
|
||
- frontend/src/App.tsx | 4 +
|
||
- frontend/src/pages/KioskSetupPage.tsx | 307 +++++++++++++++++++++++++++
|
||
- frontend/src/pages/KioskStampPage.tsx | 348 ++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-05-24 12:31 – 12:31 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 20 ++
|
||
- backend/tests/test_kiosk_security.py | 387 ++++++++++++++++++++++++++++++++++
|
||
- frontend/DEVLOG.md | 20 ++
|
||
- frontend/public/kiosk-sw.js | 187 ++++++++++++++++
|
||
- frontend/src/App.tsx | 4 +
|
||
- frontend/src/pages/KioskSetupPage.tsx | 307 +++++++++++++++++++++++++++
|
||
- frontend/src/pages/KioskStampPage.tsx | 348 ++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-05-25 22:53 – 22:56 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- d0fdaef feat: Monatsansicht im /mobile Heute-Screen
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 18 ++
|
||
- frontend/src/pages/mobile/MobileTodayScreen.tsx | 225 ++++++++++++++++++------
|
||
|
||
---
|
||
## 2026-05-25 22:59 – 22:59 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 18 ++
|
||
- frontend/src/pages/mobile/MobileTodayScreen.tsx | 225 ++++++++++++++++++------
|
||
|
||
---
|
||
## 2026-05-25 23:00 – 23:11 (11m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 18 ++
|
||
- frontend/src/pages/mobile/MobileTodayScreen.tsx | 225 ++++++++++++++++++------
|
||
|
||
---
|
||
## 2026-05-25 23:14 – 23:15 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 18 ++
|
||
- frontend/src/pages/mobile/MobileTodayScreen.tsx | 225 ++++++++++++++++++------
|
||
|
||
---
|
||
## 2026-05-25 23:17 – 23:21 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 18 ++
|
||
- frontend/src/pages/mobile/MobileTodayScreen.tsx | 225 ++++++++++++++++++------
|
||
|
||
---
|
||
## 2026-06-02 21:25 – 21:26 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/routers/public_stamp.py | 11 +++++++++--
|
||
|
||
---
|
||
## 2026-06-02 21:50 – 21:53 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- backend/app/routers/public_stamp.py | 11 +++++++++--
|
||
|
||
---
|