Releases: andrewloable/BladeWatch
Releases · andrewloable/BladeWatch
BladeWatch — Hosted Angular Web UI, Native In-App Screens & ConnectRPC
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:8080port 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
What's Changed
- Seal 5 dmi 2026 camera fix by @andrewloable in #1
- Security fixes by @andrewloable in #2
- feat: Enhance climate control and seat diagnostics features by @andrewloable in #3
Overdrive Fixes to run in 2026 BYD Seal 5 DM-i PHEV Premium
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
CameraFirmwareInfoandPanoCameraDiscoveryfor 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 kWhto8-120 kWhfor 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.