Nach gültigem Server-Cookie wird automatisch Passkey oder PIN zum Entsperren angeboten, statt die komplette Anmelde-Maske zu zeigen.
Co-authored-by: Cursor <cursoragent@cursor.com>
Detect admin access after login and expose a header button that opens /admin via client-side routing so the session stays unlocked when returning to the app.
Co-authored-by: Cursor <cursoragent@cursor.com>
Nutzer sehen spezifische Meldungen bei GPS-Problemen, eine Schätzung des
Empfangs aus der Browser-Genauigkeit und beim ersten Live-Log-Besuch nur
dann einen Freigabe-Hinweis, wenn die Standortberechtigung noch offen ist.
Co-authored-by: Cursor <cursoragent@cursor.com>
Prüft videoinput-Geräte beim Öffnen des Foto-Modals und zeigt eine
klare Meldung statt leerem Kamera-UI; getUserMedia-Fehler differenziert.
Co-authored-by: Cursor <cursoragent@cursor.com>
Let users support project development and running costs via ko-fi.com/kapteinsdaagbok, with i18n tooltips and Plausible tracking.
Co-authored-by: Cursor <cursoragent@cursor.com>
ZIP .daagbok files use a compact manifest and binary KDAB blobs so large
photo, voice, and GPS payloads no longer inflate in a single JSON file.
Co-authored-by: Cursor <cursoragent@cursor.com>
Record short E2E-encrypted audio attachments from the live log, link them to events via __live:voice markers, and play them back in the stream and chronological event table.
Co-authored-by: Cursor <cursoragent@cursor.com>
Users see localized feedback when OpenWeatherMap or travel-day summary
features are used without connectivity, instead of generic API errors.
Co-authored-by: Cursor <cursoragent@cursor.com>
Extend dashboard search with ship name and crew name parts from local data.
When leaving a dirty travel day, offer save, discard, or stay instead of only leave/cancel.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ergänzt visibility in Editor und Live-Log inkl. OWM-Übernahme, CSV-Export
und touch-taugliche Slider für Luftdruck, Seegang, Sichtweite und Krängung.
Co-authored-by: Cursor <cursoragent@cursor.com>
Benutzerweiter Vessel-Pool (E2E, Sync, Migration von Legacy-Yachts) mit
LogbookVesselSelection und LogbookVesselPicker. Profil mit Accordion
(Flotte & Crew); Demo und Onboarding-Tour inkl. profile_vessel_pool.
Co-authored-by: Cursor <cursoragent@cursor.com>
Harden geolocation with watchdog timeouts and permission checks so
desktop browsers without GPS no longer hang Live-Log. Show a hint to
log a position when none exists for the day.
Return 503 when crew-pool Prisma models are missing instead of crashing.
Co-authored-by: Cursor <cursoragent@cursor.com>
Move skipper and crew master data to the user profile pool, replace the logbook crew tab with selection from that pool, inherit crew on new travel days, and sync via new PersonPayload and LogbookCrewSelection models. Includes migration from legacy crew records, tour/demo updates, and i18n.
Co-authored-by: Cursor <cursoragent@cursor.com>
Move the title input out of the card open button so Space no longer
activates navigation; use an overlay button for opening the logbook.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use native camera picker on mobile, add preview-and-save step, and
harden canvas capture with toDataURL fallback when toBlob fails.
Co-authored-by: Cursor <cursoragent@cursor.com>
Generate scannable QR codes in settings next to collaboration links so crew can open invites on mobile without copying long URLs.
Co-authored-by: Cursor <cursoragent@cursor.com>
Capture photos via getUserMedia in live log, share encrypted save logic with the editor, and disable weather fetch while other quick actions run.
Co-authored-by: Cursor <cursoragent@cursor.com>
Fetch OpenWeatherMap in live log when a GPS fix is under six hours old, open a fix modal with manual coordinates when geolocation fails, and only show the undo bar after a successful save.
Co-authored-by: Cursor <cursoragent@cursor.com>
Harden live log init with safe per-entry decrypt, stable loading state, and no parallel list scan in live mode. Improve multi-sail picker UX, stop WebAuthn retry after user cancel, redirect 127.0.0.1 to localhost, and tolerate missing appearance prefs table.
Co-authored-by: Cursor <cursoragent@cursor.com>
SOG prefills from GPS speed when available; STW is entered manually. Motor journal entries now read “Motor Start” / “Motor Stop”.
Co-authored-by: Cursor <cursoragent@cursor.com>
Adds weather and course quick actions, diesel/water refills, five-second undo, foreground auto-position every three hours, and chronological pressure/wind/motor series in the stats tab.
Co-authored-by: Cursor <cursoragent@cursor.com>
Introduces a parallel Live view alongside the existing travel-day list so skippers can log motor, sail, and position events instantly without navigating the full editor.
Co-authored-by: Cursor <cursoragent@cursor.com>
Enables importing .nmea logs into travel-day events with interval/change modes, optional GPS track, local encrypted archive, and a test fixture for the Kieler Förde route.
Co-authored-by: Cursor <cursoragent@cursor.com>
Integrate new locale bundles, language cycling in the UI, SEO hreflang tags, and localized beta flyer HTML variants with scripts for batch translation and key validation.
Co-authored-by: Cursor <cursoragent@cursor.com>