Skip to content

Releases: project-arete/arete-widget

0.3.1

Choose a tag to compare

@github-actions github-actions released this 02 Aug 16:03
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

Choose a tag to compare

@github-actions github-actions released this 01 Aug 14:04
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

Choose a tag to compare

@github-actions github-actions released this 29 Jul 19:04

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

Choose a tag to compare

@github-actions github-actions released this 24 Jul 21:05
Update from Claude session

Claude-Session: https://claude.ai/code/session_01GonRXxFHsZdobbv8Y2zvHC

0.1.3

Choose a tag to compare

@github-actions github-actions released this 20 Jul 23:43
2b0495c

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

Choose a tag to compare

@github-actions github-actions released this 19 Jul 20:59
f75d595
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

Choose a tag to compare

@github-actions github-actions released this 19 Jul 16:44
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

Choose a tag to compare

@github-actions github-actions released this 19 Jul 15:42
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