Releases: project-arete/arete-widget
Releases · project-arete/arete-widget
Release list
0.3.1
Release v0.3.1 — join any realm context when adding a widget (UI v78) Re-applies the add/edit context work on top of v0.3.0; it was written against 4331358 and main moved on, so it never reached the mainline. The context list only offered contexts that already held a compatible provider or consumer, so installing new equipment into an existing space — "room 123", nothing compatible in it yet — left minting a duplicate context as the only route, and the realm ended up carrying two contexts of the same name with nothing binding. The dialog now also lists every OTHER realm context, in a disclosure that opens by itself when nothing compatible exists (exactly the case where the old copy sent people to New context). One search box filters current, compatible and other contexts together, matching on display name, any other observed name for that context, and the id — so typing "123" finds Room 123 however the realm spells it. Filtering toggles [hidden] on existing rows instead of re-rendering, so the search never loses focus and no checked box is dropped; a checked row stays visible even when the query excludes it, and the "nothing matched" note counts query hits rather than visible rows. Live keys pushes repaint the matching and other groups independently, each carrying its checked ids across, then re-apply the active query. UI stamp goes to v78 — v77 was already taken by v0.3.0. test-ui.js gains 15 checks; retract, spec, faceplate and library suites all still pass. Bumps package version + lockfile and repins INSTALL.md at v0.3.1. Claude-Session: https://claude.ai/code/session_01GonRXxFHsZdobbv8Y2zvHC
0.3.0
Arete Widgets v0.3.0 Remove now retracts the widget's node from the realm. Previously, removing a widget only forgot it in the app — the note said 'The realm node is left as-is' — so every removal left a permanent participant behind whose declarations still matched and could still be bound to. Remove and Remove all now retract the node: its capabilities stop existing and the substrate severs any connections that depended on them. The realm half happens first. If retraction fails the widget is KEPT and you are told why, so the app never loses the only local record of a node that still exists on the realm. Because the SDK swallows server-side errors, the result is verified against the realm rather than trusted, and removal refuses to claim success when realm state cannot be seen. The web app (PWA) has the same change.
0.2.1
Everything since v0.2.0, and the reason to update: connections no longer
go zombie.
Reliability
- Discarded SDK clients stopped retrying forever after a rejected
connection — the endless "Socket error / Connection closed by host"
pairs (and the phantom Disconnected while actually connected) are gone. - Connection failures now report the real error ("Unexpected server
response: 401") instead of a generic "Socket not open". - Double registrations from stale clients driving service state: fixed.
Realm tokens
- Each remembered host carries its own keychain-encrypted token, so
picking a past realm recalls that realm's token — no cross-realm
fallback. - Fixed a leak where a token from one realm could be prefilled and
auto-connected into another. - Unchecking "Remember token" now wipes stored tokens immediately, and a
token you typed is never overwritten by an auto-filled one.
Build
- The Intel macOS .dmg is back: the x64 job now builds on macos-latest.
v0.2.0 shipped without one because its runner had been retired.
0.2.0
Update from Claude session Claude-Session: https://claude.ai/code/session_01GonRXxFHsZdobbv8Y2zvHC
0.1.3
Everything since v0.1.2: faceplate identity sync, per-connection control from the faceplate peer strip, aggregate rules (average/min/max), remove-all-widgets with confirm, startup value preservation, and the addressed reply channel with the cp:padi.ping widget pair. Also makes the per-arch mac CI split real (unpinned build.mac.target arch array).
0.1.2
Release v0.1.2 Ships everything since v0.1.1: the tile-grid home page, the filterable add/edit widget dialog, remembered picker filter, the online widget library with fetch/cache/precedence, faceplate visual overhaul and multi-connection peer strip, window-placement memory, propagate-aware contract-scope handling, and the propagate test rig. UI v23. Bumps package version + lockfile and repoints INSTALL.md at v0.1.2. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0192BxKxd1RArmTJYxVBfi6P
0.1.1
v0.1.1: online widget library (fetch, cache, precedence) + source badges Widgets now come from three sources — bundled < online library (published catalog at project-arete.github.io/widget-library, cached for offline) < local folder. Reload refreshes the catalog; Config gets a library URL field. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0192BxKxd1RArmTJYxVBfi6P
0.1.0
CI: one mac job per arch (DMG volume-name collision) + detach retry Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0192BxKxd1RArmTJYxVBfi6P