Files
Fu-Jie_openwebui-extensions/.agent/learnings/richui-default-actions-optout.md
fujie 6f8c871658 feat(github-copilot-sdk): bump version to v0.11.0 for performance & stability
- Fixed shared client pool bug to eliminate TTFT latency.
- Added pure BYOK-only mode support.
- Improved cross-user environment isolation for concurrency.
- Resolved RichUI infinite vertical sizing loop.
- Integrated client.ping() into stall detection.
- Automatically hide TODO List widget after completion.
- Synced all documentation and release notes.
2026-03-20 03:26:43 +08:00

1.2 KiB

RichUI Default Action Opt-Out

Discovered: 2026-03-16

Context

This applies to RichUI embeds generated by plugins/pipes/github-copilot-sdk/github_copilot_sdk.py, especially when a specific embed should render state without fallback prompt or link actions.

Finding

The RichUI bridge can add fallback action buttons based on declarative prompt/link metadata. Static embeds can explicitly opt out when their HTML includes data-openwebui-no-default-actions="1" or data-openwebui-static-widget="1".

Solution / Pattern

Mark the embed root with both attributes and keep the embed wrapped through _prepare_richui_embed_html(...) when you explicitly want to suppress fallback actions.

Example:

<div class="w" data-openwebui-no-default-actions="1" data-openwebui-static-widget="1">

Gotchas

If the opt-out markers are missing, RichUI fallback actions can reappear even after interactive row handlers have been removed from the widget itself.

This opt-out only suppresses fallback prompt/link injection. It does not affect the SQL-driven TODO refresh path, which still re-emits the widget through type: embeds after todos or todo_deps updates.