coder / coder/internal

notifications: integrate webpush dispatcher into rest of notifications subsystem

Open
#573 1 comment 0 reactions 1 assignee Assigned to @dannykopping View on GitHub
project/notifications
Dominant language
No language data
Stars
3
Forks
0
PR merge metrics
No merged PRs in 30d

Description

https://github.com/coder/coder/pull/17091 added a webpush package that supports sending notifications over WebPush.

This was not integrated into the rest of the notifications subsystem because its preferred mode of usage is more akin to UDP than the existing "TCP" reliable notification delivery system.

In order to integrate this properly, we'll need to do the following:

1) Add the ability to immediately dispatch a notification while skipping the enqueuing process. This should be a new code path and should not be configurable by end-users (i.e. "immediate dispatch" versus "retry dispatch" should be hard-coded by design)

2) Add the ability to dispatch a notification with an arbitrary message body. This should only be possible with arbitrary dispatch for now, as the current architecture for retryable dispatch requires a template to be stored in the database.

3) Add the webpush dispatcher as a "first-class" notification target.

**Notes:**

We'll have to be very careful about how we name things here so as not to conflate "webpush" notifications with the concept of a "notification" in `coder/coder`.

**Tasks:**

- [ ] Allow immediately* dispatching a notification.
- [ ] Add the ability to dispatch a notification with an arbitrary message body
- [ ] Add the webpush notifier as a "first-class" notification target

\* _or as close to immediately as possible_

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.