-
Notifications
You must be signed in to change notification settings - Fork 10
Draft
Conversation
Surface firmware, battery, and USB power metadata where users already manage scales. Show the button-action and USB override toggles only when the connected Decaid version advertises those settings, preserving compatibility with older hosts. This keeps device-specific controls on Streamline's dedicated Scale page instead of sending users through the general Decaid settings screen. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The scale snapshot can retain a stale battery value after the manual USB override suppresses battery reads. Prefer the explicit power-source metadata and omit the battery badge while USB power is active. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This was referenced Sep 6, 2026
The Scale page exposed Skale controls as global page-level toggles, obscuring which connected device they configured and preventing independent values for multiple scales. Each scale row now opens a settings popup containing its preferred-device, square-button, and USB-power controls. Per-device maps are keyed by the selected device ID, while legacy scalar hosts remain usable through a compatibility fallback. The popup uses data attributes rather than interpolated JavaScript identifiers and retains the existing staged Save behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
DE1 firmware does not permit a remote control to start espresso when the group-head controller is active; it only arms the white ready indication. The previous popup text incorrectly promised a start on every machine.\n\nState that square-button starts require a machine without an active GHC while stops remain available on all machines.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Device inventory no longer carries connection-scoped deviceInfo. Keep metadata rendering neutral for unavailable and switching devices until the connected-scale info endpoint is consumed by the shared scale state. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Render connected scale firmware and battery metadata from the dedicated API endpoint with connection-race protection. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
Uh oh!
There was an error while loading. Please reload this page.
What was missing
Streamline's Settings > Devices > Scale page needed to show metadata from the currently connected scale while keeping device-owned controls tied to the selected device.
Fix
GET /api/v1/scale/info, which describes the current connected scale. The inventory/api/v1/devicesresponse is used only for device identity and connection state.API contract
This follows decentespresso/decaid#743: a successful response is
ScaleInfowith optionalfirmwareVersionand nullablebatteryLevel;503means no scale is connected. No new WebSocket or inventory metadata dependency was added.Validation
npm test— 574 passed.node --input-type=module --check < src/modules/api.js— passed.Screenshot note
The previous Scale-row screenshot was removed because it showed metadata from the inventory representation that this fix intentionally no longer uses. No replacement capture is included. The per-device controls popup screenshot remains:
Per-device Skale settings popup explaining the active-GHC restriction