Follow-up root-cause fix for the Orange Pi reconnect loop reported in #2.
Summary
consume reply-bearing GetInputFocus cookies with Reply() in both post-map synchronization and session liveness checks
propagate liveness errors while preserving mapped-window cleanup and reconnect containment
add behavioral tests using the real XGB cookie API to prevent regressions to invalid Check() usage
Validation
go test -race ./internal/display
go test ./...
go vet ./... and gofmt -l
ARM64 builds of both binaries
git diff --check and added-lines secrets scan
Physical acceptance after merge: one successful kiosk window and no recurring open_failed loop.
Follow-up root-cause fix for the Orange Pi reconnect loop reported in #2.
## Summary
- consume reply-bearing `GetInputFocus` cookies with `Reply()` in both post-map synchronization and session liveness checks
- propagate liveness errors while preserving mapped-window cleanup and reconnect containment
- add behavioral tests using the real XGB cookie API to prevent regressions to invalid `Check()` usage
## Validation
- `go test -race ./internal/display`
- `go test ./...`
- `go vet ./...` and `gofmt -l`
- ARM64 builds of both binaries
- `git diff --check` and added-lines secrets scan
Physical acceptance after merge: one successful kiosk window and no recurring `open_failed` loop.
grzesiu
self-assigned this 2026-10-02 10:42:52 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Follow-up root-cause fix for the Orange Pi reconnect loop reported in #2.
Summary
GetInputFocuscookies withReply()in both post-map synchronization and session liveness checksCheck()usageValidation
go test -race ./internal/displaygo test ./...go vet ./...andgofmt -lgit diff --checkand added-lines secrets scanPhysical acceptance after merge: one successful kiosk window and no recurring
open_failedloop.