Upgrade to buttplug v5, add battery level display, bump to 0.2.0
CI / Static checks (push) Successful in 1m0s
CI / Build and push image (push) Successful in 1m3s

buttplug-wasm@3.0.0 still declares buttplug@^4.0.2 as its dependency,
and v5 changed the OutputCmd wire shape (Value: number[] -> number) -
a real protocol difference, not just a type mismatch. Confirmed by
testing against real Lovense hardware that device control still works
in practice, so the bump stands; the risk is documented at the
client.connect() cast in case a future device/build doesn't fare as
well.

Also fixes a Map vs ReadonlyMap mismatch in the version-agnostic
feature-type extraction (v4 returns Map, v5 returns ReadonlyMap) that
surfaced while making this change, and adds a battery indicator to each
connected device's card - reads once on connect, refreshes every 60s,
using device.hasInput("Battery") to detect support.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W8WkFF5ppURBAB918593Eb
This commit is contained in:
2026-08-25 17:33:48 +02:00
co-authored by Claude Sonnet 5
parent db507bfe3b
commit 0bd36b08c9
8 changed files with 103 additions and 14 deletions
+13 -2
View File
@@ -12,8 +12,8 @@ importers:
specifier: ^13.0.3
version: 13.0.3
buttplug:
specifier: ^4.0.2
version: 4.0.2
specifier: ^5.0.1
version: 5.0.1
buttplug-wasm:
specifier: ^3.0.0
version: 3.0.0
@@ -2292,6 +2292,9 @@ packages:
buttplug@4.0.2:
resolution: {integrity: sha512-PciEJEoBkHjeA0UFfdymr5+jHXukzF0T8Pg7TaAxxWFb/0Ynfy1dWaGt1c7O5E1sfJSVyWxrvBQQCSeNWzprbg==}
buttplug@5.0.1:
resolution: {integrity: sha512-m7Qzoi6TEsr0DkqqXc3Gun/wikWiHziQeXu73Oxzd1ETqj2y1P0VdJ9QxAT811bLcTIYvyf0VkuHlXbEGcEXCw==}
bytes@3.1.2:
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
engines: {node: '>= 0.8'}
@@ -6531,6 +6534,14 @@ snapshots:
- bufferutil
- utf-8-validate
buttplug@5.0.1:
dependencies:
eventemitter3: 5.0.4
ws: 8.21.3
transitivePeerDependencies:
- bufferutil
- utf-8-validate
bytes@3.1.2: {}
call-bind-apply-helpers@1.0.2: