Skip to content

feat: add PowerStation fan profile controls - #550

Open
sknowledge1 wants to merge 3 commits into
ShadowBlip:mainfrom
sknowledge1:feat/powerstation-fan-controls
Open

sknowledge1 wants to merge 3 commits into
ShadowBlip:mainfrom
sknowledge1:feat/powerstation-fan-controls

Conversation

@sknowledge1

@sknowledge1 sknowledge1 commented Sep 22, 2026 •

Copy link
Copy Markdown

Add fan controls for the experimental profile interface in PowerStation #54.

The client opens YAML profiles and passes Unix file descriptors through LoadProfile(h), including explicit paths and symlinks. It resolves packaged Quiet and whole-file distro replacements before opening the selected file. Complete JSON profiles, fan/sensor enumeration, supported modes and valid 0–100% duty remain available; hardware constraints and safety policy belong to PowerStation. Firmware Automatic remains callable without telemetry or a valid draft.

Confirmed selections are saved in bounded private application preferences. Restore a saved selection once per application resource startup through ordinary profile requests. The startup-status contract and boot-attempt bookkeeping are removed. Menu remounts, polling, service-owner changes and uncertain replies do not retry restoration. Owner checks, bounded requests and confirmed preference saving remain. A new application process may restore after a service restart; PowerStation starts each process in Automatic and retains the live profile across successful suspend/resume.

Local validation of 2a4e246 passes formatting, 7 focused Rust tests, 14 Godot tests/57 assertions, both architecture builds/exports and payload inspection. Actual client integration with PowerStation 9489f53 passes 28 assertions across JSON and file restoration using private D-Bus and fake sysfs. Clippy completes with 13 existing warnings outside changed files. Locked dependency versions are unchanged by this revision.

GitHub reports no CI runs or check contexts for this SHA; the validation above is local.

The broader headless suite was not rerun; previous failures reproduced on untouched upstream remain historical evidence. Revised GUI/device acceptance, thermal acceptance, official images/packages and ARM runtime qualification remain separate gates. Fan documentation.

Assisted-by: Codex

@sknowledge1
sknowledge1 force-pushed the feat/powerstation-fan-controls branch from c1be4b6 to 6fc002f Compare October 8, 2026 10:46
@sknowledge1 sknowledge1 changed the title feat: add native PowerStation fan controls feat: add PowerStation API v2 fan profiles Oct 15, 2026
@sknowledge1 sknowledge1 changed the title feat: add PowerStation API v2 fan profiles feat: add PowerStation API v0.2 fan profiles Oct 15, 2026
Open selected YAML files in the client and pass Unix descriptors to PowerStation. Remove startup-status and boot-attempt bookkeeping; restore once per application startup while preserving owner checks, bounded requests and confirmed preference saving.

Assisted-by: Codex
@sknowledge1 sknowledge1 changed the title feat: add PowerStation API v0.2 fan profiles feat: add PowerStation fan profile controls Oct 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant