Skip to content

Releases: andrewloable/BladeWatch

BladeWatch — Hosted Angular Web UI, Native In-App Screens & ConnectRPC

13 Jun 07:34

Choose a tag to compare

BladeWatch — Web UI rebuild, native in-app screens & ConnectRPC

Changes since 20260525-security-ui-updates (2026-05-25).

This is a large release that rebuilds the remote/browser experience, moves every
in-app screen to native, and replaces the ad-hoc REST surface with a typed API.

Highlights

  • New hosted web app (Angular 19 + Vite + ConnectRPC). The browser/tunnel UI
    is now a full single-page app — Dashboard, Live, Recording, Surveillance,
    Events, Trips, Vehicle, Location, Diagnostics, Notifications, Performance,
    Settings, About, Login — in 17 languages.
  • All in-app screens are now native. The WebView-backed screens were migrated
    to native Kotlin fragments (Live view with native H.264/WebSocket streaming,
    Recordings, Location, Vehicle, Trips, Performance, Recording/Surveillance
    settings). The WebView host remains only for the remote browser path.
  • Material 3 (Material You) design language across the native shell — color
    roles, type scale, shape/elevation, motion, navigation rail, and Material
    Symbols iconography (Phase 1 + Phase 2 refactor).
  • Typed ConnectRPC/gRPC API with 1:1 REST parity. 12 services
    (bladewatch.v1.*) consumed by the web client and the app, served on the same
    127.0.0.1:8080 port with shared auth.

Vehicle

  • Native vehicle screen with Climate (power / max-cool / temp / fan), Seats
    (heat + ventilation), and Windows (per-window + all) controls via the local
    BYD SDK.
  • Interactive 3D vehicle hero (Three.js) with a tyre-pressure overlay and
    user-selectable model + paint color. (A native Filament hero was trialed and
    reverted — the head unit's Adreno 610 driver crashes under sustained gltfio.)
  • Charge-cap control, AC/seat diagnostics, and richer command routing/response
    details.

Location & Trips

  • New Location experience: native OSMDroid map and a Leaflet web map with a
    heading-rotated car marker, follow/recenter, and Auto/Light/Dark theming.
  • Trip detail + telemetry, GPS traces, similar-trip lookup, driving DNA, and
    personalized range; trip + media catalogs synced to embedded H2 databases.

Storage

  • Automatic SD-card / USB discovery and selection at startup, dynamic storage
    limits, and a new Format Storage API to wipe/remount a removable drive.

Surveillance & camera

  • Deferred YOLO model init and persistent TFLite GPU kernel cache (faster, more
    stable daemon startup).

Security & reliability

  • IPC token bootstrap securing the loopback command/secret channels, plus a
    caller-UID gate on both IPC servers.
  • Reworked auth + daemon-readiness handling (readiness probe, connection retry,
    self-healing token refresh) fixing auth loops, duplicate daemons, and stale
    daemon cleanup.
  • Package id finalized as net.bladewatch.app.
  • Persistent debug logging with full log-call stripping in production builds.

Bug fixes (this release)

  • Trips: trip-detail route map now renders fully (no more half-loaded map
    with black gaps).
  • Notifications: "Subscribe" no longer hangs on "Subscribing…" — the web app
    now registers its service worker, requests permission, and completes Web Push
    subscription (works beyond Chrome).
  • Status overlay: Camera/recording and Trip indicator toggles in
    Settings → Status overlay now apply to the head unit (previously remembered
    only in the browser).
  • About / status: App Version and Device ID display correctly again; also
    restores live Dashboard/Diagnostics status that shared the same failing
    response parse.

Notes

  • arm64-v8a only; BYD DiLink v3 (Android 10+).
  • After installing, hard-reboot the head unit to finalize (see README).

20260525 Security and UI Improvements

25 May 05:53
468a260

Choose a tag to compare

What's Changed

Overdrive Fixes to run in 2026 BYD Seal 5 DM-i PHEV Premium

24 May 09:27

Choose a tag to compare

Release Notes

Highlights

  • Improved BYD panoramic camera startup with AVC HAL warmup, firmware-aware camera discovery, and persisted camera configuration.
  • Added camera auto-probe hardening so camera tuples that open but never deliver frames advance instead of leaving a blank stream.
  • Added performance diagnostics UI entry points and expanded the diagnostics screen layout.
  • Improved PHEV battery capacity and SOH handling, including Seal 5 DM-i capacity support and clearer OEM/nominal SOH display states.
  • Enhanced vehicle control UI for door lock handling, model/color persistence, and lower-end WebView 3D rendering performance.
  • Updated runtime caching for selected vehicle GLB assets.

Camera And Surveillance

  • Adds CameraFirmwareInfo and PanoCameraDiscovery for firmware/config-driven camera setup.
  • Warms up AVC camera HAL paths before camera startup.
  • Improves camera tuple persistence and exposes more camera state through daemon/API handlers.
  • Keeps auto-probe enabled until frame delivery is validated.
  • Adds no-frame probe timeout for camera candidates that open but never produce frames.
  • Improves GPU surveillance pipeline camera fallback behavior.
  • Updates streaming and surveillance API handling around camera config and runtime state.

Battery And Vehicle Health

  • Lowers valid battery capacity range from 15-120 kWh to 8-120 kWh for smaller PHEV packs.
  • Adds Seal 5 DM-i Dynamic and Premium model capacity metadata.
  • Adds OEM SOH readout fallback for PHEV diagnostics.
  • Labels calculated, OEM, and nominal SOH sources more clearly.
  • Improves SOH display in dashboard, main activity battery dialog, diagnostics, and web performance UI.

Diagnostics

  • Adds a performance diagnostics card and navigation route.
  • Expands diagnostics layouts for portrait and landscape.
  • Reads daemon SOH status before falling back to persisted SOH files.
  • Improves network/Wi-Fi display compatibility on newer Android versions.

Vehicle Control And 3D UI

  • Improves door lock controls and state handling in vehicle control.
  • Adds UI updates for vehicle lock/unlock interactions.
  • Persists selected model/color more reliably before page unload.
  • Adds low-end WebView rendering caps for 3D vehicle view.
  • Improves body-paint mesh detection for downloaded GLB models.

Runtime And Compatibility

  • Cleans up Android runtime compatibility warnings in daemon/bootstrap paths.
  • Updates legacy recording bitrate handling to map into recording quality.
  • Reduces noisy logs for expected BYD SDK/device differences.
  • Improves location sidecar socket error handling.
  • Removes unsupported appops calls from service launcher flow.

Web Assets

  • Bumps model manifest version.
  • Updates service worker cache version and runtime GLB caching behavior.
  • Adds runtime cache support for selected vehicle GLBs.