5 Commits

Author SHA1 Message Date
peji 407892ed9a Fix Electron cloud cert verification (use Node https, not net.fetch)
The Alta verify endpoint requests an optional TLS client certificate.
Chromium's network stack (net.fetch) reacts by aborting the handshake
with ERR_SSL_CLIENT_AUTH_CERT_NEEDED, and the select-client-certificate
event never fires to let us proceed — so cloud verification silently
failed only in the desktop build, looking like the app was offline.

Issue the request via Node's https module instead, matching the Python
app.py reference (urlopen) and curl, which ignore the optional client-
cert request and proceed normally. Same 2xx-means-verified semantics,
10s timeout, and return shape.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 08:39:20 -04:00
peji e7dee4f5db Remove fisheye dewarp feature
Remove the per-camera fisheye dewarp tool: the WebGL dewarp module
(shaders, init/render/toggle, per-channel dewarpState), the Dewarp
button, its CSS, the dewarp branches interleaved into the shared
wheel/dblclick/mousedown/mousemove/mouseup handlers, and the WebGL
context cleanup in newSession(). Normal digital zoom/pan, drag-reorder,
magnifier, and expand are unaffected. Also drop the dewarp mention from
the README.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 08:39:12 -04:00
peji db754b2bae Fix multi-sensor cameras collapsing into one tile
Channels were keyed solely on the metadata `Name` field. Multi-sensor
cameras (e.g. Avigilon 32C-H5A) export one file per sensor that share an
identical `Name` and `Serial`, so their sensors merged into a single tile
and one sensor's clips were lost to start-time dedup — surfacing as
"only 3 of 4 cameras loaded".

Add cameraIdFromFile(), which derives a per-sensor id from the export
filename prefix (stripping the Alta timestamp, e.g. "Backyard_4-...Z.mp4"
-> "Backyard 4"), and key channels by it, falling back to the metadata
Name for non-Alta filenames. Verified: all 4 sensors now load as
distinct tiles (4 cameras | 13 clips).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 08:38:56 -04:00
peji 8dfcb9b64d Add Electron desktop shell and clean project docs 2026-05-15 17:40:01 +00:00
peji 691f643edc Initial commit — Alta Video Player (WebAVP)
Web-based surveillance video player for Alta/Ava Security camera exports
with multi-camera sync, timeline, digital zoom, motion analytics, and
cryptographic integrity verification.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 12:50:24 +00:00