super-productivity/docs
Johannes Millan e3ce1fcdd9 feat(plugins): work-context buttons, embed slot, and WORK_CONTEXT_CHANGE hook
Add the API surface needed for plugins that want to attach UI to a specific
work context (project or TODAY tag) and embed their iframe inside the
work-view body in place of the task list.

- New PluginAPI methods: getActiveWorkContext, registerWorkContextHeaderButton
  (with showFor filter), showInWorkContext, closeWorkContextView.
- New WORK_CONTEXT_CHANGE hook, fired once per navigation off
  activeWorkContext$ with a full {id, type, title, taskIds} snapshot.
- Iframe Hooks enum now exposes ANY_TASK_UPDATE, PROJECT_LIST_UPDATE,
  TASK_CREATED, WORK_CONTEXT_CHANGE.
- Iframe message handler verifies event.source so embedded iframes
  don't cross-talk with the side-panel iframe.
- PluginIndexComponent gets a skipCleanupOnDestroy input so context
  switches don't tear down a plugin's hook/button registrations.
- Callback proxy for registerWorkContextHeaderButton mirrors the
  existing registerHook IFRAME_HANDLER pattern.
- New plugin-work-context-header-btns component rendered in main-header
  next to plugin-header-btns; filtered by current ctx + showFor.
- Work-view branches on pluginBridge.workContextEmbedPluginId(): when set
  AND ctx is project or TODAY tag, render <plugin-index> in place of the
  task list, suppress the work-view header (mirroring the in-tree
  document-mode flow).

Includes the multi-review design plan as docs/plans/2026-05-21-...md.
2026-05-21 17:21:27 +02:00
..
long-term-plans refactor(sync-core): extract encryption primitives 2026-05-13 17:26:55 +02:00
plans feat(plugins): work-context buttons, embed slot, and WORK_CONTEXT_CHANGE hook 2026-05-21 17:21:27 +02:00
promotion build: better organize stuff 2025-06-27 09:03:16 +02:00
research docs(research): §18.7 — source-level mechanism for appendSwitch vs argv divergence 2026-04-21 15:03:42 +02:00
screens docs/wiki content v0.8 (#7068) 2026-04-01 12:40:28 +02:00
sync-and-op-log refactor(sync-providers): add tiered package exports 2026-05-13 14:11:15 +02:00
wiki feat(supersync): retry transient web fetch failures and surface them as warnings 2026-05-13 11:20:02 +02:00
add-new-integration.md docs: clean up and organize project documentation 2026-03-10 10:22:56 +01:00
build-and-publish-notes.md fix(ci): prevent duplicate unsigned exe files in GitHub Releases 2026-03-19 18:58:52 +01:00
documentation-guide.md Housekeeping for various docs, templates, and actions (#7451) 2026-05-02 13:58:25 +02:00
ENV_SETUP.md build: final approach 2025-07-14 20:52:51 +02:00
github-access-token-instructions.md docs: clean up and organize project documentation 2026-03-10 10:22:56 +01:00
gitlab-access-token-instructions.md docs: clean up and organize project documentation 2026-03-10 10:22:56 +01:00
how-to-rate.md feat(rate-dialog): action-aware prompt with feedback split 2026-05-04 17:27:11 +02:00
howto-refresh-snap-credentials.md docs: clean up and organize project documentation 2026-03-10 10:22:56 +01:00
i18n-script-usage.md docs: clean up and organize project documentation 2026-03-10 10:22:56 +01:00
legacy-webview-analysis.md 16.2.1 2025-11-01 13:22:58 +01:00
mac-app-store-code-signing-guide.md docs: clean up and organize project documentation 2026-03-10 10:22:56 +01:00
performance-project-tag-report.md docs: add performance report 2025-11-13 18:23:50 +01:00
plugin-development.md Feat/plugin UI kit (#6362) 2026-02-04 18:18:22 +01:00
styling-guide.md fix(styles): drop dead body-level transition-duration overrides 2026-04-20 17:14:38 +02:00
theming-contract.md feat(theme): primitive token layer + theme contract validator 2026-05-08 22:31:00 +02:00
TRANSLATING.md docs: clean up and organize project documentation 2026-03-10 10:22:56 +01:00
unused-translations-analysis.md chore(i18n): remove additional 86 orphan translation keys 2026-01-09 14:59:05 +01:00
update-android-app.md docs: clean up and organize project documentation 2026-03-10 10:22:56 +01:00
update-mac-certificates.md docs: clean up and organize project documentation 2026-03-10 10:22:56 +01:00