Commit Graph

177 Commits

Author SHA1 Message Date
elpatron 5706d1762d fix: Login zentrieren und CSV-Unterschrift-Platzhalter übersetzen
Auth-Screens werden per auth-screen über die volle Viewport-Höhe zentriert.
Bild-Unterschriften im CSV-Export nutzen i18n statt festem deutschen Text.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 16:18:01 +02:00
elpatron 7d28b5745a chore: release v0.1.0.1 v0.1.0.1 2026-05-29 16:10:20 +02:00
elpatron affe745250 feat: Tankstände vom Vortag bei neuem Reisetag mit Bestätigung übernehmen.
Abendstände werden als Morgenstände vorgeschlagen; der Nutzer kann übernehmen oder mit 0 starten.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 16:10:01 +02:00
elpatron cb96343d8c fix: Tankstände im Logbuch einheitlich ausrichten und formatieren.
Kürzere Labels, gemeinsames Input-Styling ohne cell-input und CSS-Grid-Fix für Frischwasser- und Kraftstoff-Felder.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 16:05:53 +02:00
elpatron 56af7a3c60 feat: Geschwindigkeits-Farbverlauf auf der Track-Karte und stabiler Leaflet-Lifecycle.
Verzögertes fitBounds, Error Boundary und sauberes Map-Cleanup beheben den Absturz, der die Logbuch-Ansicht leer ließ.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 15:56:45 +02:00
elpatron 95856800de feat: GPS-Track auf OpenSeaMap-Karte mit Leaflet visualisieren.
Leaflet wieder eingebunden, CSS über Vite gebündelt und doppelte Karten-Initialisierung behoben.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 15:42:04 +02:00
elpatron b1b0c798b3 feat: GPS-Track-Statistiken automatisch ins Logbuch übernehmen.
Strecke, Max- und Durchschnittsgeschwindigkeit werden beim Track-Upload berechnet, gespeichert und in PDF/CSV exportiert. Test-GPX für die Kieler Förde (5 sm) hinzugefügt.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 15:36:21 +02:00
elpatron cffe934d5e feat: Unterschriftsfelder im Logbuch per Touch, Stift oder Maus.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 15:28:52 +02:00
elpatron 3c7aec1573 fix: Daagbok-Branding, Track-Upload statt GPS-Tracker und zentrale Account-Löschung.
Ersetzt gpsTracker/Leaflet durch trackUpload, korrigiert App-Bezeichner und Login-Abstände, und macht die Account-Gefahrenzone auf dem Dashboard erreichbar.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 15:25:39 +02:00
elpatron 603d0bf1c4 chore: release v0.1.0.0 v0.1.0.0 2026-05-29 15:13:29 +02:00
elpatron 878d632dc8 feat: Semantische Versionierung mit Git-Tags und App-Footer.
VERSION-Datei (0.1.0.0), Release-Flow in update-prod.sh und Build-time-Einbindung der Versionsnummer im Footer mit Copyright-Link.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 15:13:16 +02:00
elpatron 44652d4699 feat: PWA-Installation aktiv anbieten, besonders für iPad/iOS.
Zeigt nach dem Login ein Installations-Banner mit Safari-Anleitung oder nativer Install-Schaltfläche und ergänzt iOS-Meta-Tags sowie einen dauerhaften Hinweis in den Einstellungen.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 15:04:32 +02:00
elpatron 5d11dbacea fix: Passkey-Login über Plattformen hinweg vereinfachen und stabilisieren.
Merkt Accounts lokal für Ein-Klick-Login ohne Benutzernamen, verbessert PRF-Fallbacks für Windows Hello/Bitwarden und behebt PIN-Session-Probleme.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 14:49:32 +02:00
elpatron eca4e1eb29 feat: enhance WebAuthn PRF handling with follow-up authentication and base64url encoding for user IDs 2026-05-29 13:34:55 +02:00
elpatron 1cc8c6291e feat: implement persistent master key storage (Approach 1) and local PIN fallback (Approach 2) 2026-05-29 12:08:22 +02:00
elpatron 3bb59d2ca0 fix: add retry fallback in registration and login for authenticators with unsupported PRF options 2026-05-29 10:41:46 +02:00
elpatron e0e93a5685 fix: request empty prf options during registration to prevent typeerror on credentials container create 2026-05-29 10:38:25 +02:00
elpatron b9e3ce4252 fix: clean up unused local helper and verify compilation 2026-05-29 10:34:14 +02:00
elpatron fe8c5f12c6 fix: pass Base64URL salt during registration 2026-05-29 10:29:58 +02:00
elpatron 1c56136645 fix: WebAuthn PRF JSON Base64URL serialization for optionsJSON 2026-05-29 10:19:48 +02:00
elpatron 128dd17863 fix: WebAuthn PRF salt length and server logbook key storage 2026-05-29 08:46:50 +02:00
elpatron abfaf3e99c Use raw ArrayBuffer instead of Uint8Array for PRF salt input 2026-05-29 08:35:19 +02:00
elpatron 1001bafab7 Fix SimpleWebAuthn startRegistration and startAuthentication parameter structure 2026-05-29 08:29:26 +02:00
elpatron 3fd1b5faea Update scripts/update-prod.sh to use relative paths for git/docker calls 2026-05-29 08:24:37 +02:00
elpatron 217ba14d1a Add client-side diagnostic logging for Passkey PRF authentication 2026-05-29 08:24:17 +02:00
elpatron 8985afac38 Enroll Passkey PRF key on first login recovery phase 2026-05-29 07:53:46 +02:00
elpatron 9b3297dff5 chore: update lockfile for server dependencies 2026-05-28 22:06:43 +02:00
elpatron 969babaed3 Add production update script scripts/update-prod.sh 2026-05-28 21:57:41 +02:00
elpatron 71ea02416f Implement cascading logbook deletion on account deletion 2026-05-28 21:54:30 +02:00
elpatron ecdf8c2dc0 Request PRF evaluation salt during WebAuthn registration to enable passwordless logins 2026-05-28 21:46:29 +02:00
elpatron b62ca14cc1 Fix invitee access to shared logbooks by listing collaborated logbooks in API and saving them locally on accept 2026-05-28 21:42:47 +02:00
elpatron 9d24f4b71a Handle logbook key decryption failures gracefully by falling back to master key in getLogbookKey 2026-05-28 21:34:46 +02:00
elpatron a9a649f840 Implement self-healing migration/repair for legacy logbook keys to fix guest decryption failures 2026-05-28 21:31:20 +02:00
elpatron 7ef377e5e7 Ensure collaboration cards are visible for local-only unsynced logbooks in SettingsForm 2026-05-28 21:22:27 +02:00
elpatron 7ffdb31b46 Change app title in index.html to Kapteins Daagbok 2026-05-28 21:12:05 +02:00
elpatron 648a0d6adc Make RP_ID and ORIGIN configurable via environment variables in docker-compose.yml 2026-05-28 21:02:35 +02:00
elpatron 20ff2a0baa Implement E2E-compliant anonymous read-only logbook sharing links 2026-05-28 20:47:52 +02:00
elpatron b3978ed294 feat(collab): E2E-compliant crew invitations and link-sharing collaboration 2026-05-28 20:31:10 +02:00
elpatron d8f9585ac8 feat(i18n): localize hardcoded headers and recovery fallback flows 2026-05-28 16:47:30 +02:00
elpatron 387849a1c2 feat(weather): block weather retrieval for non-current-day entries with translation alert 2026-05-28 16:44:05 +02:00
elpatron 69476cd136 feat(weather): fallback to OWM geocoding from Location Name on GPS capture failure 2026-05-28 16:39:19 +02:00
elpatron 606ded4335 fix(logs): allow saving log page drafts without requiring skipper/crew signatures upfront 2026-05-28 16:27:21 +02:00
elpatron bbf8163a50 feat(weather): allow fetching OpenWeatherMap weather by location name and auto-populating GPS coordinates 2026-05-28 16:21:34 +02:00
elpatron cc183edc6d fix(sync): resolve request body size limit issues and refine responsive photo grid layout 2026-05-28 16:15:32 +02:00
elpatron 1388f603c6 feat: replace active GPS logging with multiformat GPS track upload and OpenSeaMap Leaflet rendering 2026-05-28 15:48:07 +02:00
elpatron 39637532ee style: fix horizontal screen overflow on logbook entry form 2026-05-28 15:37:43 +02:00
elpatron 960f95c8ac fix(layout): prevent layout blowout of logbook entry form on small screens by refining responsive grid/paddings and using class for GPS inputs 2026-05-28 15:33:50 +02:00
elpatron 53940424c4 feat(crew): add E2E encrypted Skipper and Crew photo uploads with directory cards displaying avatars 2026-05-28 15:29:26 +02:00
elpatron 491c4134f2 feat(vessel): add E2E encrypted Yacht photo upload with client-side canvas resizing 2026-05-28 15:23:58 +02:00
elpatron e85beba2bc feat(sails): support configuring available sails list in VesselForm and interactive sails selector in LogEntryEditor 2026-05-28 12:44:30 +02:00