[Bug]: Plugin UI slots data-grid.toolbar.actions and sidebar.footer.actions receive an empty context
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 82/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
- Domain
- frontend
Research direction
Start with packages/plugin-api/src/slots.ts to check the declared SlotContextMap, then inspect src/components/ui/TableToolbar.tsx, src/components/layout/Sidebar.tsx, src/components/layout/RowEditorPanel.tsx, and src/components/ui/DataGrid.tsx. Trace how each <SlotAnchor> gets its context and how src/contexts/PluginSlotProvider.tsx applies the driver filter. Done when the host passes the declared context for the relevant slots and driver-filtered extensions render with the expected data.
Written by the indexing model from the issue text.
Description
Describe the bug
Two plugin UI slots are rendered with an empty context, although the SDK types (packages/plugin-api/src/slots.ts, SlotContextMap) promise data:
| Slot | SDK context | Host passes |
|---|---|---|
data-grid.toolbar.actions |
connectionId, tableName, schema, driver |
{} (src/components/ui/TableToolbar.tsx) |
sidebar.footer.actions |
connectionId, driver |
{} (src/components/layout/Sidebar.tsx) |
Other slots also omit driver (row-editor-sidebar.*, data-grid.context-menu.items).
Because the manifest driver filter is implemented as ctx.driver === entry.driver (src/contexts/PluginSlotProvider.tsx), a UI extension restricted to its own driver never renders in any slot whose context lacks driver — including the toolbar, the most common use case.
To Reproduce
- A plugin with
"ui_extensions": [{ "slot": "data-grid.toolbar.actions", "module": "ui/dist/index.js", "driver": "<id>" }]. - Open a table of that driver: the component is not rendered. Without
driverit renders, butcontext.tableName/connectionIdareundefined.
Expected behavior
Each slot receives the context declared in SlotContextMap, including driver, so the driver filter works.
Where to start
TableToolbar.tsx,Sidebar.tsx,RowEditorPanel.tsx,DataGrid.tsx: pass the active connection id, driver, table and schema to<SlotAnchor context={…}>.- Keep
SlotContextMapand the host in sync (a type-level check would prevent regressions).
- Dominant language
- TypeScript
- Stars
- 5.1k
- Forks
- 335
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 75
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from TabularisDB/tabularis
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
TabularisDB/tabularis#905 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
TabularisDB/tabularis#903 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
TabularisDB/tabularis#919 · 3 comments ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 75/100
TabularisDB/tabularis#916 ·
Maintainers usually reply within 1 day
-
[Bug]: "Export Logs" says "Logs exported to clipboard" but writes a filePossibly taken @tosinxt claimed this today. Openbug
TabularisDB/tabularis#907 · 2 comments · 1 assignee ·
Maintainers usually reply within 1 day
All issues in TabularisDB/tabularis
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
lukilabs/beautiful-mermaid#160 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
rescript-lang/rescript-lang.org#1420 ·
Maintainers usually reply within 2 days
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
chthollyphile/folia-major#520 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
databuddy-analytics/Databuddy#1106 ·
Maintainers usually reply within 1 day