Approval cards show again: the buttons no longer throw, the command is the item's detail
An agent chat's bash approval left "Waiting for you to allow bash…" with no card: cardOf()
called append(actions, a, b, c) while append() took one array, so `children.flat` threw for
every approval and plan card (questions used el.append and worked). renderCards() had already
unhidden #cards, which stayed empty. append() now takes children as rest arguments too.
- The editable command is `detail` (services/device_link.py puts the fixed "Run a command" in
the title); it is sent back as the item's text only when changed. Non-editable approvals
show the title and the device's input. `purpose` ("It says: …"), `reason` and the asking
subagent (`job`) are shown, as on the web page.
- renderCards() keeps a card already on the screen (by id) instead of drawing every card again
on each `ask` frame, which the server re-sends whenever the countdown changes; a card that
cannot be drawn shows the error instead of an empty box.
- tests/ui/: headless harness with a mocked Tauri bridge; five A1 cases (device bash card
shows and is visible, Allow/edit/Deny post to /chats/{id}/interactions/{card}, redraw keeps
edits, reopen gets the card from the stream's first pass, 390 px).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
7 files changed
+537
-17
No files matched your search
@@ -6,6 +6,22 @@ All notable changes to LLeMbas Desktop. The format follows
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Approvals show again.** An agent asking to run a command, edit a file or carry out a plan
|
||||
stopped with "Waiting for you to allow bash…" and no card to answer it: drawing the card's
|
||||
buttons failed, and the space for it stayed empty. Stopping and asking again gave the same.
|
||||
Now the card shows, with the command in the box to correct before it runs (it used to show the
|
||||
words "Run a command" there instead), what the model says it is for, why it is asking, and which
|
||||
subagent asks when one does. A card already on the screen is kept as it is while the reply goes
|
||||
on, so a command being corrected or an option picked is no longer lost when the server sends
|
||||
the list again; a card that cannot be drawn says why instead of leaving an empty space.
|
||||
|
||||
### Added
|
||||
|
||||
- `tests/ui/`: the page under a headless browser against a stand-in for the app's bridge, with
|
||||
the server's answers as a table (`node tests/ui/run.mjs`, needs Playwright and a Chromium).
|
||||
|
||||
## [1.0.0-beta.5] — 2026-11-09
|
||||
|
||||
Carries LLeMbas CLI 2.0.0-beta.5 and the look of LLeMbas 2.0.0-beta.7, which the Subagents
|
||||
|
||||
Reference in new issue
Block a user