Add a website widget, so a page nobody modelled as a message can hang on a wall
Docs / docs (push) Successful in 24s
Playwright Tests / test-playwright (1, 2) (push) Failing after 1m24s
Playwright Tests / test-playwright (2, 2) (push) Failing after 14s
pre-commit / pre-commit (push) Failing after 2m34s
Test Backend / test-backend (push) Failing after 2m35s
Compose Smoke Test / test-compose (push) Failing after 14s
Playwright Tests / merge-reports (push) Failing after 2m21s

A tile that draws whatever an address serves: no binding, no flow, just an
iframe. Only http(s) loads — a `javascript:` src would run in the app's own
origin, and a dashboard is a document several people can edit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KocbsBHWme1kfCHVhrgBnw
This commit is contained in:
2026-08-30 18:48:52 +02:00
co-authored by Claude Opus 5
parent 302be52921
commit c20f6a1b68
6 changed files with 106 additions and 7 deletions
+3 -2
View File
@@ -65,6 +65,7 @@ WidgetType = Literal[
"clock",
"media",
"player",
"embed",
# Input
"button",
"switch",
@@ -113,8 +114,8 @@ WIDGET_DTYPES: dict[str, set[str]] = {
# duration in one reading, because they are one thing and a player drawn
# from five separate messages would redraw itself five times.
"player": {"record"},
# An icon maps weather strings, bool hints and numbers alike, and a clock
# binds nothing at all, so neither has a row to be held to.
# An icon maps weather strings, bool hints and numbers alike; a clock reads
# the wall and an embed a page of its own, so none has a row to be held to.
}