Files
timemaster/frontend/DEVLOG.md
T
patrickandClaude Opus 4.8 65596e80a4
Security Audit / Node.js Dependency Audit (push) Has been cancelled
Security Audit / Python Dependency Audit (push) Has been cancelled
feat(overtime): Auszahlungs-Anträge durch Mitarbeiter (opt-in pro Firma)
Mitarbeiter beantragt Überstunden-Auszahlung, HR genehmigt/lehnt ab.
Firmen-Opt-in payout_request_enabled (Default aus - nur HR-Direktbuchung).
Saldo-Abzug erst bei Genehmigung; Reject/Cancel bucht nichts.

- Migration 0042: hours_payouts.status/decided_by/decided_at/rejection_reason
  + companies.payout_request_enabled (nur Spalten, RLS unveraendert)
- Router: POST /hr/payouts/request|{id}/approve|reject|cancel; list status-Filter;
  HR-Direktbuchung bleibt (status approved)
- Frontend: PayoutRequestCard (Selbstbedienung in AbsencesPage), HR-Page
  Status-Spalte + Genehmigen/Ablehnen, CompanySettings-Toggle
- 4 pytest-Cases

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 22:43:26 +02:00

662 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 +++++++++--
---
## 2026-06-23 21:42 21:51 (8m)
**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-07-08 15:05 15:31 (25m)
**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 15:31 15:33 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** frontend
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- backend/app/schemas/hours_payout.py | 4 ++--
---