Closed Bug 1281087 Opened 8 years ago Closed 2 years ago

Re-implement Bugzfeed-like change notification system using GraphQL Subscriptions

Categories

(bugzilla.mozilla.org :: API, task)

Production
task
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: kohei, Unassigned)

References

Details

The current Bugzfeed push notifications are simple yet serving well. However, the WebSockets API is apparently not a promising technology. It might be eventually replaced with the Web Push API that can also be used in service workers.

https://wiki.mozilla.org/BMO/ChangeNotificationSystem
https://daniel.haxx.se/blog/2016/06/15/no-websockets-over-http2/
https://serviceworke.rs/web-push.html
BMO will be based on the Mojolicious app framework soon (Bug 1455495). Web Push is not supported in Mojolicious yet, but server-sent events can be used instead [1][2], as per Dylan. It’s a simple API, no extra server is needed. Let’s try to use this to re-implement Bugzfeed so we can update bug threads real-time like BzDeck [3].

[1] https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events
[2] https://mojolicious.org/perldoc/Mojolicious/Guides/Cookbook#EventSource-web-service
[3] https://github.com/bzdeck/bzdeck/issues/42

In the future, I’d like to see a Web Push based notification API that works even after the browser tab is closed.
Summary: Use Push API for Bugzfeed instead of WebSockets → Use server-sent events for Bugzfeed instead of WebSockets
Depends on: bmo-mojo
Summary: Use server-sent events for Bugzfeed instead of WebSockets → Re-implement Bugzfeed-like change notification system using server-sent events on Mojolicious
:dylan is going to experiment this with Mojo.
Assignee: nobody → dylan
Status: NEW → ASSIGNED
Update: WebSockets will work with HTTP/2 so it’s also an option (Bug 1434137). I guess the server-sent events API is simple yet enough though.

Looks like GraphQL supports subscriptions, usually implemented with WebSockets, so we don’t need a separate API for the new push notification system.

Summary: Re-implement Bugzfeed-like change notification system using server-sent events on Mojolicious → Re-implement Bugzfeed-like change notification system using GraphQL Subscriptions
Type: defect → task
Assignee: dylan → nobody
Status: ASSIGNED → NEW

We have no plans to do GraphQL in Bugzilla.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.