Skip to content

Add web UI#10

Merged
RobXYZ merged 1 commit into
mainfrom
feature/web-ui
May 12, 2026
Merged

Add web UI#10
RobXYZ merged 1 commit into
mainfrom
feature/web-ui

Conversation

@RobXYZ
Copy link
Copy Markdown
Owner

@RobXYZ RobXYZ commented May 11, 2026

Full rewrite of the sync layer into a web app.

  • Archive browser with day grouping, journey detection, and on-demand thumbnails. Reverse-geocoded place names on each journey card.
  • Leaflet maps per journey with GPS polylines extracted from the MP4 metadata (Novatek atom parser).
  • Exports: join-front, join-rear, and picture-in-picture renders via ffmpeg, with hardware encoder probing (videotoolbox / nvenc / qsv / vaapi) and software fallback. Configurable PIP position.
  • Download manager with live progress, reorderable queue, recent-hours shortcut, and reachability badge.
  • JSON-backed runtime settings page (sync interval, dashcam IP, geocoding, encoder, retention, RO-only sync, password).
  • First-run setup wizard at /setup with bcrypt password hashing and a freshly generated session secret.
  • Retention: time-based sweep with RO protection plus disk-pressure sweep with batched re-check.
  • Responsive layout (1024 / 720 / 480 breakpoints), accessibility pass (skip link, focus rings, ARIA, reduced-motion, hit-area floor, prefers-reduced-motion guard, sr-only utility), and an OKLCH cobalt palette with semantic tokens (--accent + alpha tiers, --on-accent, --err-text, --panel-3, --border-hover).

@RobXYZ RobXYZ changed the title Add web UI v2 Add web UI May 11, 2026
@RobXYZ RobXYZ force-pushed the feature/web-ui branch 2 times, most recently from 2495b8f to 302c185 Compare May 11, 2026 16:30
Full rewrite of the sync layer into a web app. Same Viofo dashcam
protocol; new affordances:

- Archive browser with day grouping, journey detection, and on-demand
  thumbnails. Reverse-geocoded place names on each journey card.
- Leaflet maps per journey with GPS polylines extracted from the MP4
  metadata (Novatek atom parser).
- Exports: join-front, join-rear, and picture-in-picture renders via
  ffmpeg, with hardware encoder probing (videotoolbox / nvenc / qsv /
  vaapi) and software fallback. Configurable PIP position.
- Download manager with live progress, reorderable queue, recent-hours
  shortcut, and reachability badge.
- JSON-backed runtime settings page (sync interval, dashcam IP,
  geocoding, encoder, retention, RO-only sync, password).
- First-run setup wizard at /setup with bcrypt password hashing and a
  freshly generated session secret.
- Retention: time-based sweep with RO protection plus disk-pressure
  sweep with batched re-check.
- Responsive layout (1024 / 720 / 480 breakpoints), accessibility pass
  (skip link, focus rings, ARIA, reduced-motion, hit-area floor,
  prefers-reduced-motion guard, sr-only utility), and an OKLCH cobalt
  palette with semantic tokens (--accent + alpha tiers, --on-accent,
  --err-text, --panel-3, --border-hover).
@RobXYZ RobXYZ merged commit f66bad0 into main May 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant