Skip to content

channel-in-app

Persists notifications to an in-app inbox table so users can retrieve them via handlers.inbox and track unread state with handlers.markRead / handlers.markAllRead and queries.unreadCount. Requires delivery; no external service needed — messages are stored in the app’s own database.

What this feature needs to run (Requires, top) and the write commands it provides (Provides, bottom).

flowchart TB
  n_channel_in_app["channel-in-app"]
  subgraph how_reqs["Requires"]
    n_delivery["delivery"]
  end
  subgraph how_provides["Provides"]
    n_cmd_channel_in_app_write_mark_all_read(["mark-all-read"])
    n_cmd_channel_in_app_write_mark_read(["mark-read"])
  end
  n_delivery --> n_channel_in_app
  n_channel_in_app --> n_cmd_channel_in_app_write_mark_all_read
  n_channel_in_app --> n_cmd_channel_in_app_write_mark_read

Provides — write commands this feature registers (dispatch them through the command bus):

  • Requires: delivery
  • Activation: always on (not toggleable)
  • Registers extension: deliveryChannelinApp