Add Android standby, remote wake and managed kiosk power - #10
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 039014323b
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 68927ceebb
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c361e7d6c7
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bbe97ac26d
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2672c188d7
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1a89d621d4
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1e3510a7c2
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Android previously kept displaying content until the device itself slept, ignored BF sleep timeouts and rejected remote power commands. This adds black, dimmed standby that releases all camera/WebView playback while keeping the authenticated control connection alive. Touch, remote/mouse input, accessibility activation or BF Wake restores the latest layout without activating content with the waking gesture.
android-standby-v1; server routes, command filtering and UI enable Standby/Wake only for capable APKs. Other management commands remain blocked.True hardware sleep suspends networking: BF remote wake applies to soft standby while the screen remains on. Hardware power/remote controls wake actual screen-off; secure lock screens still require unlocking. Device-specific scheduled wake, HDMI-CEC and remote power-on are not added. Managed mode keeps BF's local Settings accessible and does not introduce an administrator PIN.
WebSocket power commands bypass stalled HTTP work and recheck the source socket, session generation and display assignment at execution. Android power requests await fresh assignment validation, the WebSocket write result and an accepted device acknowledgement before recording success, and retain the original target when assignments change during dispatch. Empty-layout responses carry an authoritative display identity so remote Wake survives removal of the last layout without accepting revoked assignments.
CI also exposed a PostgreSQL shutdown race: the adapter now waits for socket closure after pool shutdown, with deterministic regressions and a real-database cleanup check.
Heartbeats carry atomic session/revision samples and share serialized server power updates with acknowledged commands. Delayed older samples cannot overwrite a newer confirmed transition, including across reconnects.
Local power changes still report when only HTTP is available. Bounded disconnected-session history retains revision ordering without requiring a live WebSocket.
Validation on final signed commit 573cf69: all CI checks pass. Android passes 53 emulator tests, managed Home/lock-task/screen-off/wake and cleanup tests, both ABI builds, unit tests, lint and signed-upgrade continuity. Server passes all104 tests including PostgreSQL integration; shared core/bridge tests, Linux, Windows, ioBOX and deployment checks pass. All seven review conversations are addressed and resolved.