Plugin idea: more reminder and notification channels #1259

Open
opened 2026-11-13 10:51:54 +00:00 by tiagoagueda · 0 comments
Owner

Idea

notifier plugins exist (Apprise reaches many services). Channels some people want directly: Matrix, ntfy, Telegram, Signal bridge, Web Push to the browser or phone, a plain e-mail digest. Most can go through Apprise; the issue is to decide which deserve a plugin of their own (Web Push does, since it needs a subscription flow and keys).

What to settle

  • Which channels are reachable through Apprise with a good setup page, and which need their own plugin (Web Push, because of the service worker, the keys and the consent).
  • Quiet hours and the per-person choice of channel per kind of reminder, already in core, applied to every channel.
  • What a notification may contain: never a document's text or a contact's details beyond a short title, since the message passes through a third party.

Wanted

The list of channels worth a plugin, and a reference Web Push plugin.

Rules that apply to every plugin

  • Off until the person enables it; a plugin that calls a service names the host and the data it sends in its manifest and on the consent screen (plugins/consent.py); nothing is fetched on page load.
  • Core keeps no import of it: the application runs with it absent, and data it created stays readable as plain data when it is removed.
  • The plugin surface (plugins/api.py, the published postulo.plugins.testing check) gets a contract test for any new kind; the plugin ships its own translation catalogues (the plugin locale rule); strings go through Weblate only.
  • Its own repository if it is not bundled (see the plugin repositories and #1170's shared CI).

Filed as an idea after a discussion on plugin kinds, with #1252 (reference data and lookups as plugins). Not started; the maintainer decides if and when.

## Idea `notifier` plugins exist (Apprise reaches many services). Channels some people want directly: **Matrix**, **ntfy**, **Telegram**, **Signal bridge**, **Web Push** to the browser or phone, a **plain e-mail digest**. Most can go through Apprise; the issue is to decide which deserve a plugin of their own (Web Push does, since it needs a subscription flow and keys). ## What to settle - Which channels are reachable through Apprise with a good setup page, and which need their own plugin (Web Push, because of the service worker, the keys and the consent). - Quiet hours and the per-person choice of channel per kind of reminder, already in core, applied to every channel. - What a notification may contain: never a document's text or a contact's details beyond a short title, since the message passes through a third party. ## Wanted The list of channels worth a plugin, and a reference Web Push plugin. ## Rules that apply to every plugin - Off until the person enables it; a plugin that calls a service names the host and the data it sends in its manifest and on the consent screen (`plugins/consent.py`); nothing is fetched on page load. - Core keeps no import of it: the application runs with it absent, and data it created stays readable as plain data when it is removed. - The plugin surface (`plugins/api.py`, the published `postulo.plugins.testing` check) gets a contract test for any new kind; the plugin ships its own translation catalogues (the plugin locale rule); strings go through Weblate only. - Its own repository if it is not bundled (see the plugin repositories and #1170's shared CI). Filed as an idea after a discussion on plugin kinds, with #1252 (reference data and lookups as plugins). **Not started; the maintainer decides if and when.**
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Postulo/postulo#1259
No description provided.