Persist confirmed fall events to a local SQLite DB under artifacts/:
camera host/port/channel + event id/track/source/config version/state/
latency/screenshot path/confirmed-at. Schema stores no password (guarded
by test). Wire openRecorder/saveRecord into the alerts loop; failures are
non-fatal. Re-applied the SILVER-POSE vendored os_windows.go patch that
go mod vendor reverted.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds a 测试连接摄像头 button next to save; it builds the RTSP URL from the
current form fields and runs ffprobe (8s timeout) off the UI thread, then
shows a result popup (success WxH@fps, or a redacted failure). Exports
config.BuildRTSPURL and source.Probe/Redact for it. Cross-compiles for
Windows; config/source tests pass.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Config now accepts host/port/channel/username/password (untracked local
config only) or rtsp_url_env; net/url percent-encodes the userinfo so a
password with @/:/ builds a valid RTSP URL (fixes the manual %40 pain).
Adds WriteLocalCameraSource / WriteLocalEventTuning for the settings form.
Guards kept: still rejects a full url/rtsp_url; credentials stay out of the
config version; a test asserts the public example has no credentials.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>