Repository navigation
fix: preserve unknown LAN camera live-view status - #2
Conversation
|
@voska This narrow telemetry fix is now ready for review; the earlier draft hold was for a separate downstream printing investigation. I reverified the unchanged head with make ci (lint, vet, every package race test and build), independent pinned formatting checks, and diff whitespace validation. The updated description makes the nullable public-field change and scope explicit. It does not change printer settings or claim to fix camera connectivity. Please review the unknown/false/true contract and merge if acceptable. |
voska
left a comment
There was a problem hiding this comment.
Thanks Joe. Reviewed and verified locally: make ci is green at 1c8be54, and the new table test fails on main for all five unknown cases. That includes rtsp_url: false, which main reported as true, so this fixes a second bug too. Making it nullable matches dev_mode/protections, and pre-1.0 it's fine as a minor-version contract change. Merging.
Fixes #1.
Problem and impact
Missing camera telemetry was reported as an explicit disabled LAN live-view setting. That can mislead operators and agents into unnecessary setting changes when the printer has simply not advertised the route.
Change
Preserve missing, null, empty or malformed
ipcam.rtsp_urlas unknown: JSONcamera_lan_liveview: null, and human outputliveview=unknown. Explicitdisableremainsfalse; a nonempty advertised route remainstrue, without claiming that capture succeeds. The existing field name is retained and the nullable public API change is documented in CHANGELOG.This is a read-only status-contract correction, not a camera-access, signed-dispatch or physical-printing fix. It changes no printer setting or print approval/preflight behavior and is ready for independent review of that narrow scope.
Verification
1c8be5488dd7c6e70be260d8154bd8a0e37d8824, against upstreammain0b822df5c9434cb5838e9a1a371eed640b702992.make cipassed: lint (zero issues), vet, all package race tests, and CLI build.goimportsandgofumptchecks; both produced no formatting differences. This independently checks formatting because the Makefile's/bin/shpipeline emits aread: arg countdiagnostic on this host.git diff --check origin/main..HEADpassed. Seven telemetry-state regression cases assert the serialized JSON contract, and existing status/command tests passed.The earlier draft hold for downstream printing investigation is removed: that investigation is separate and does not change the correctness or scope of this telemetry fix. Maintainer review/acceptance and upstream merge are still required.