A buttons widget: a grid of presses on one message
Docs / docs (push) Successful in 21s
Playwright Tests / test-playwright (1, 2) (push) Failing after 1m9s
Playwright Tests / test-playwright (2, 2) (push) Failing after 11s
pre-commit / pre-commit (push) Failing after 2m6s
Test Backend / test-backend (push) Failing after 2m27s
Compose Smoke Test / test-compose (push) Failing after 1m54s
Playwright Tests / merge-reports (push) Failing after 2m16s
Docs / docs (push) Successful in 21s
Playwright Tests / test-playwright (1, 2) (push) Failing after 1m9s
Playwright Tests / test-playwright (2, 2) (push) Failing after 11s
pre-commit / pre-commit (push) Failing after 2m6s
Test Backend / test-backend (push) Failing after 2m27s
Compose Smoke Test / test-compose (push) Failing after 1m54s
Playwright Tests / merge-reports (push) Failing after 2m16s
Several stateless instructions where a single button is one — six presets are otherwise six tiles to place, six titles to read, and the message they share repeated six times. Nothing is read back, as for a single button: what these send is an instruction, and the last one sent is not a state to draw. Auto-fit columns rather than a configured count: a tile is resized in the editor and scaled again to whatever panel it hangs on, so how many fit is not something the document can know. The editor reads `cfg.buttons` raw rather than through `buttonsOf`, which drops the blanks — a row being typed into is blank until the first keystroke. Also carried along by the hooks: the generated SDK was stale (it had no `RunsReadMetricNames`) and one pre-existing block in `test_panels.py` was unformatted. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016bm2HwnRsTDpeWjSPNJxQd
This commit is contained in:
@@ -255,6 +255,14 @@ PANEL_WIDGETS = [
|
||||
},
|
||||
{"id": "w_input", "type": "input", "config": {"target": "demo.input"}},
|
||||
{"id": "w_dropdown", "type": "dropdown", "config": {"target": "demo.dropdown"}},
|
||||
{
|
||||
"id": "w_buttons",
|
||||
"type": "buttons",
|
||||
"config": {
|
||||
"target": "demo.buttons",
|
||||
"buttons": [{"label": "One", "value": 1}],
|
||||
},
|
||||
},
|
||||
{
|
||||
"id": "w_query",
|
||||
"type": "chart",
|
||||
@@ -313,6 +321,7 @@ def test_a_panel_speaks_only_its_own_widgets_messages(
|
||||
"demo.slider",
|
||||
"demo.input",
|
||||
"demo.dropdown",
|
||||
"demo.buttons",
|
||||
"demo.query_request",
|
||||
):
|
||||
assert (
|
||||
@@ -854,8 +863,9 @@ def test_a_socket_pushes_only_the_frames_it_was_asked_for(tmp_path) -> None:
|
||||
|
||||
store = ArtifactStore(tmp_path / "artifacts")
|
||||
store.volatile = VolatileStore(tmp_path / "ring", limit_bytes=1_000_000)
|
||||
frame = store.put([b"\x89PNG..."], name="f.png", media_type="image/png",
|
||||
volatile=True)
|
||||
frame = store.put(
|
||||
[b"\x89PNG..."], name="f.png", media_type="image/png", volatile=True
|
||||
)
|
||||
kept = store.put([b"checkpoint"], name="w.pt")
|
||||
|
||||
asking = orjson.dumps({"type": "media", "names": ["cam.frame", "other.frame"]})
|
||||
|
||||
Reference in New Issue
Block a user