Commit Graph
11 Commits
Author SHA1 Message Date
Linus Rath 3aec045163 test: require a call site for every plugin hook 2026-10-14 04:06:37 +02:00
Linus Rath 0a98ffa711 fix: give plugins plain message data, let them add only real messages to search results and skip a draft save 2026-10-14 04:05:43 +02:00
Linus Rath adf5ad6c16 test: require every calendar and task hook to have a call site 2026-10-14 03:46:11 +02:00
Linus Rath 348ec1d399 feat: let plugins stop app shortcuts and hear when one ran 2026-10-14 03:44:09 +02:00
Linus Rath e16e8946a8 test: require every contact and file hook to have a call site 2026-10-14 03:42:34 +02:00
Linus Rath 051e82b487 feat: tell plugins about layout changes, drag and drop, and sidebar apps 2026-10-14 03:40:04 +02:00
Linus Rath e62553642f feat: tell plugins about sign-in, token renewal and account changes 2026-10-14 03:32:58 +02:00
Linus Rath 77088a6008 feat: tell plugins when toasts are shown and dismissed 2026-10-14 03:25:53 +02:00
Linus Rath 02a7dfab16 feat: tell plugins when the colour scheme or theme changes 2026-10-14 03:24:00 +02:00
Linus Rath 606861eb71 feat: tell plugins about the app's lifecycle and navigation on every page, not only in mail 2026-10-14 03:19:54 +02:00
Linus Rath a3cb9e630e refactor: describe every plugin hook in one catalogue
The hook buses, the permission each hook needs and the docs were three
separate lists that had drifted: 145 of 198 hooks were never fired and
nothing noticed. `lib/plugin-hook-catalog.ts` now names each hook with
its kind, permission, payload and when it fires; the permission check
reads it, and a test fails for any catalogued hook without a call site.
Groups still being wired in this branch are listed in that test.

Also:
- new before-hooks for archive, spam, read state, star, keywords, folder
  changes, RSVP, event import, tasks, file moves, settings, identities,
  filters and out-of-office, plus onComposerClose and onSyncStateChange
- removed hooks that can never fire: the S/MIME group (S/MIME is a
  plugin now), onMobileViewSwitch, onSidebarAppChange and the
  registerShortcut pseudo-hook
- smime:read no longer grants anything; manifests that name it still
  install, with a warning
2026-10-14 03:14:29 +02:00