Files
Fu-Jie_openwebui-extensions/.agent/learnings/richui-default-actions-optout.md

24 lines
1.2 KiB
Markdown
Raw Normal View History

# 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:
```html
<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.