Discontinuing webhooks v1 notifications

Akira
Streamcord
Published in
3 min readFeb 15, 2020

--

Update: We just released a new system for notifications called Webhooks v2. This should act as a replacement for the discontinued webhook notifications. You can learn more about Webhooks v2 at this support article.

Last June, we announced a new system for notifications that seemed to be a solution to an overloaded and badly-optimized service. Turns out we were dead wrong.

The Webhooks v1 notification service will be completely discontinued on July 1st of 2020! Transfer your v1 notifications to legacy or Webhooks v2 by then.

TL;DR: As of today, you’ll no longer be able to add new notifications to the beta system.

Why are you ending support for them?

The backend service we use for webhooks takes an absurd amount of resources to run and was causing strain on our database. Every once in a while, it causes the whole DB engine to stop working, which in turn messes up the bot. In addition to that, we received lots of complaints in our support server from people who reported that their beta notifications weren’t working.

The beta process was never meant to handle sheer amount of notifications that have been added (~51,000 at the time of writing). It was intended to be used by a couple thousand servers while we perfected the code, and the legacy system was meant to be the primary notification handler.

A graph of our RethinkDB cluster performance (notice how the green line never reaches zero)

We also struggled with Twitch when trying to scale our API client for the amount of usage. We were told that webhook subscription requests were no longer being processed. So much for them wanting everyone to use PubSub or webhooks instead of polling the HTTP API.

What’s going to happen to my existing beta notifications?

You should still receive messages for existing beta notifications, but you won’t be able to add any new notifications to the beta. We are also no longer offering support for beta notifications that don’t work. It’s best to use the legacy system if the beta stops working.

You’ll be able to easily transfer any beta notifications back to legacy by using the “transfer beta to legacy” button on the dashboard, under the notifications .

Plans for the future

This definitely isn’t the death of webhook notifications for Streamcord. Overall, we think that, with a finely-tuned production-ready system, we’ll be able to create something that’s faster, reliable, and more efficient in the future. There’s currently a rewrite in progress for a new webhook service, and we hope to release a controlled beta with our Pro subscribers in the next few weeks.

With this rewrite, we’ll be using a TypeScript server to process the actual events from Twitch, which will then be queued via RabbitMQ to a Python microservice that will actually send the messages to Discord. Instead of RethinkDB, Redis will be used so we can maintain snappy database performance.

We’ll be happy to help anyone who needs it in our Discord server.

Thanks for reading.

--

--