Skip to content

feat: Improve the firmware screen - #2984

Merged
ert78gb merged 6 commits into
masterfrom
feat/firmware-screen-improvements
Jul 9, 2026
Merged

feat: Improve the firmware screen#2984
ert78gb merged 6 commits into
masterfrom
feat/firmware-screen-improvements

Conversation

@mondalaci

Copy link
Copy Markdown
Member

Summary

Implements the firmware-screen improvements described in #2593:

  • Per-device progress bars with live percentage. Each device row (dongle, keyboard halves, modules) shows a thin 5px determinate progress bar with a percentage while it's being flashed. Real progress is wired from the mcumgr image upload and kboot write-memory operations up through a new moduleFirmwareUpgradeProgress IPC event and stored per-module.
  • Noticeable USB-cable warning. The "connect the left/right half via USB" prompt is now surfaced as a prominent warning banner on the firmware screen via a dedicated firmwareUpgradeConnectPrompt IPC signal, rather than being buried in the update log. It shows only while a cable action is required and clears automatically once the half is connected.
  • Toggleable update log. The firmware update log is hidden by default. A Show update log / Hide update log link appears from the moment the log has any text.

Implementation notes

  • Progress callbacks were threaded through mcumgr.imageUpload, kboot.writeMemory (+ peripheral), and the uhk-operations flash methods; device.service reports throttled integer percentages keyed by module name.
  • New uhk-common models: ModuleFirmwareUpgradeProgress, FirmwareUpgradeConnectPrompt.
  • Store: new actions, reducer state (progressPercent per module, connectPrompt), and selector output; renderer service listens for the new IPC events.
  • Progress bar width roughly reflects the device line width; spacing below the last device entry keeps the bars clear of the flash buttons.

Test plan

  • UHK 60 (KBOOT): flash firmware and confirm per-module progress bars advance with percentages.
  • UHK 80 (MCUBOOT): flash firmware and confirm right-half, left-half, and dongle progress bars advance.
  • UHK 80: trigger the left/right cable step and confirm the warning banner appears and clears on reconnect.
  • Confirm the update log is hidden by default and the Show/Hide link appears once logging starts and toggles the log.

Closes #2593

Made with Cursor

mondalaci and others added 2 commits July 9, 2026 10:04
…, and toggleable log

- Show a determinate per-device progress bar with live percentage during
  firmware flashing, wired from the mcumgr/kboot write operations through
  a new moduleFirmwareUpgradeProgress IPC event.
- Surface the "connect the left/right half via USB" prompt as a prominent,
  easily-noticeable warning on the firmware screen via a dedicated IPC
  signal instead of relying on the update log.
- Hide the firmware update log by default and add a Show/Hide toggle that
  appears once the log has any text.

Implements #2593.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ert78gb
ert78gb force-pushed the feat/firmware-screen-improvements branch from 7925546 to 3399daa Compare July 9, 2026 11:16
@ert78gb ert78gb changed the title Improve the firmware screen feat: Improve the firmware screen Jul 9, 2026
@ert78gb
ert78gb merged commit a1abeec into master Jul 9, 2026
5 of 6 checks passed
@ert78gb
ert78gb deleted the feat/firmware-screen-improvements branch July 9, 2026 13:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve the firmware screen

2 participants