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.
How it fits
Section titled “How it fits”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):
Dependencies
Section titled “Dependencies”- Requires:
delivery - Activation: always on (not toggleable)
Extensions & cross-feature APIs
Section titled “Extensions & cross-feature APIs”- Registers extension:
deliveryChannel→inApp