Linus Rath
95003fd28b
feat: let a plugin panel start folded until the user or the plugin opens it
2026-10-20 17:21:13 +02:00
Linus Rath
95bfb1681c
feat: let a plugin's panel frame fill the panel and scroll inside
2026-10-20 17:21:13 +02:00
Linus Rath
1f11cc7249
fix: stop talking to a plugin frame once it has navigated to another document
2026-10-19 01:32:27 +02:00
Linus Rath
1e992e6c7f
fix: check plugin dropdown messages before the host draws them
2026-10-18 14:39:59 +02:00
Linus Rath
5aba2a92c5
Merge pull request #1251 from tobiasge/feat/plugin-ui-kit-combobox
...
feat(plugins): add Combobox component to UI kit with host floating dropdown portal
2026-10-18 14:34:26 +02:00
Linus Rath
86d6c78ce7
fix: keep a plugin slot's callbacks working when its props change while it loads #1266
2026-10-18 13:46:47 +02:00
Tobias Genannt
d6d3683b65
feat(plugins): add Combobox component to UI kit with host floating dropdown portal
...
- Add Combobox component supporting single and multiselect modes, search filtering, and clear button
- Implement floating dropdown bridge and host slot portal so dropdown renders cleanly outside plugin iframe
- Fix clear button and chip removals to not unexpectedly open the dropdown
- Add comprehensive unit tests covering Combobox options, clear behavior, multiselect, and bridge communication
2026-10-16 10:08:27 +02:00
Linus Rath
3d5c46bbcf
fix: make plugin sidebar rows as tall as folder rows on phones
2026-10-14 18:49:56 +02:00
Linus Rath
60fe6f159a
fix: keep plugin frames on the page's theme when it changes outside the theme store
2026-10-14 14:16:32 +02:00
Linus Rath
9d7dc4fc4e
fix: stop plugin frames from painting a white backdrop in dark themes
2026-10-14 14:02:40 +02:00
Linus Rath
78f72e0c03
fix: give plugins settings that change after they started, let their frames copy to the clipboard and tell them the user's time zone
2026-10-14 09:01:03 +02:00
Linus Rath
e9b2ef3258
fix: let plugin frames use forms without letting them post anywhere
2026-10-14 06:19:12 +02:00
Linus Rath
5d9268c923
feat: let plugins add buttons, calendar day labels and pages, and use connected accounts from the sandbox
2026-10-14 04:31:43 +02:00
Linus Rath
bf1d8fd2c3
fix: stop keeping unanswered plugin hook calls and old slot callbacks around
2026-10-14 03:02:12 +02:00
Linus Rath
ada81d5f8f
fix: hide the Next.js dev badge inside plugin slots and warn that dev sandboxes are not isolated
2026-10-14 03:01:13 +02:00
Linus Rath
3bfc0e69d0
fix: check attachments a plugin adds to the composer and keep callbacks out of shouldShow
2026-10-14 02:58:47 +02:00
Linus Rath
2adb1e2b12
fix: size toolbar plugin slots to their content and give composer plugin buttons their own row
2026-10-14 02:53:46 +02:00
Linus Rath
8f70951555
fix: give plugins their default settings and apply setting changes without a reload
2026-10-14 02:21:45 +02:00
Linus Rath
9bff740a89
fix: keep plugin network access to the origins in its manifest
2026-10-14 01:27:02 +02:00
Linus Rath
512adab7e3
feat: add privileged same-origin plugin tier + crypto API surface
2026-06-28 16:51:42 +02:00
Linus Rath
6ee3849463
fix: theme plugin slot iframes with host font + color tokens
2026-05-31 16:28:22 +02:00
dealerweb
f0d87d594a
Fix: honour basePath in plugin sandbox, http.post proxy, and branding
...
Upstream 1.7.2 prefixes most hand-written URLs with basePath via apiFetch /
withBasePath, but four subpath-relevant spots were missed:
- host-bridge: the sandbox iframe src was a bare "/plugin-sandbox" -> 404
under NEXT_PUBLIC_BASE_PATH, breaking all plugins. Wrap in withBasePath.
- host-api doHttpPost: the same-origin /api/* plugin proxy used raw fetch on
url.pathname -> 404 under a subpath. Route it through apiFetch.
- admin branding preview <img>: unprefixed src -> broken thumbnail.
- (sandbox) layout: drop the Geist font + globals.css imports. The sandbox
runs with an opaque origin, so those assets are CORS-blocked; the plugin
bundle and all host API calls travel over the postMessage bridge, so no
same-origin asset fetch happens there.
2026-05-30 15:31:08 +02:00
Linus Rath
fc5f6f43d6
feat: expose PWA, app identity, and extension directory keys in JSON config #312
2026-05-21 23:35:58 +02:00
Linus Rath
e6782e61a8
fix: sync plugin slot iframe height with reported content height
2026-05-21 17:59:24 +02:00
Linus Rath
628966d3b5
fix: split app into (main)/(sandbox) route groups so plugin iframe hydrates properly
2026-05-20 23:41:49 +02:00
Linus Rath
48aa607b56
feat: lock down plugin runtime in sandbox + signing + approval
2026-05-18 12:44:23 +02:00
Linus Rath
088810bd20
feat: harden plugin sandbox and migrate in-tree plugins
2026-05-18 12:17:54 +02:00
Linus Rath
9f312aa556
feat: sandbox plugins in null-origin iframes with postMessage RPC
2026-05-18 10:50:49 +02:00