Repository navigation
Conversation
Member
Author
|
Superseded by #6, which carries this history forward as one release PR to main. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Beta and the familiar Legacy layout now use the same persistent command owner, lighting helper, queue and readback. Routine layout switches perform no acquire, release, setter or programme request, eliminating repeated ROS startup and fixture checks. Both expose white lighting, Fid/Sat/Dul, the original ten-fixture Gradient, original Sun/Circ programme requests and whole-room blinds, with the same saved permissions and experiment guards. Empty Legacy placeholders are omitted.
The untouched original application remains a separately named Original fallback under System & help, with confirmed release and helper exit before handing over. Returning from that emergency fallback still requires read-only reacquisition. Routine Legacy, Escape and close shortcuts use the shared layout. Navigation, appearance and blanking preserve current lights and programmes. Sent commands complete once across layout changes; stale unsent selections cancel. Unknown results remain blocked. Bounded trials retain qualified preset restoration.
Blocking work stays outside Tk. Helper startup, ROS and programme HTTP operations have deadlines, including trickled HTTP responses and lease loss between requests. Logging/preferences failures remain visible; durable acknowledgements include directory entries; broken diagnostic streams cannot interrupt shutdown. Browser receipts remain locked when ambiguous, and settings recover when the room connection becomes ready. Version 0.2.3 is shared across panel and website. The existing local bridge remains the command interface; no additional daemon or proxy queue is introduced.
Validation: all 247 tests pass in Linux CI under Xvfb. Native 1280×800 light/dark checks have no fit or contrast findings; browser checks cover 320/390/1280 light/dark with zero JavaScript errors. New cases verify retained worker identity and confirmations, one-time pending completion, canceled stale selections, cached vertical CCT bindings, uncertain states and emergency fallback. Pi qualification checks both layouts, System, disabled uncertain controls and two actual durable annotations with all actuator dispatch blocked. Rollout and live switch evidence is private and records exact fixture words, release identity and unchanged helper receipts.
Authorized real-room follow-up: native Beta and the shared Legacy layout passed On/Off, CCT/intensity sliders, Fid/Sat/Dul and Gradient against independent ten-fixture drive readback; all eight Beta channel sliders passed. The website gateway passed real On/Fid commands in both layouts. Close & lower acknowledged in both; Lift/Open were held because of an obstruction. All fixtures were restored to their exact captured starting drive words and temporary blind permission was removed. The panel and helper retained their original process identities, with no new journal errors.
The follow-up also found unresolved external issues: Sun/Circ start requests are acknowledged but produced no observed drive changes in either layout; Stop accepted and readback remained stable. The existing Status process has severe memory pressure and ignores programme spawn results. That failure requires separate service diagnosis; it is not counted as passing parity. The Pi also reported current undervoltage and throttling (0x50005), requiring a physical power check. No ROS/Status service was restarted.
The existing Status service acknowledges programme requests but does not report or supervise their running state. Accepted stop requests plus stable readback precede explicit manual lighting; this refines the coordinated-room Legacy contract, rather than proving global exclusion against external scripts. Original Legacy's synchronous HTTP callbacks remain unchanged. Existing logs do not conclusively identify the reported logging crash.
Targets the integration branch behind draft #1. Researcher approval remains required before merging to main.