Status

Service status

Read from the running instance. The table below is rendered on the server from measured values, then refreshed in your browser from /api/v1/status.

Measurements since November 9, 2026

Live, this instance

ComponentStateDetail
APIoperationaldatabase 0.1 ms
Audio deliveryoperational55% used
RSS feedsoperationalgenerated on request
Dashboardoperationalshares the API
Background jobsoperationallast sweep 46s ago

States come from database latency, free disk and the age of the last background sweep. Below 3 GB free, uploads pause and delivery shows degraded.

Incident history

26 incidents recorded since 2020, newest first. Each one is a real outage with what happened and what we changed. The archive explains why things broke, not just that they did.

October 3, 2026 resolved

Redirect loop after the move

API · 20 min · one path looped

After the domain move, one legacy path redirected in a loop for twenty minutes. Fixed the rule.

February 11, 2026 resolved

Tokyo region cold start

API, Audio delivery · 25 min · slow first hour

The new Tokyo region was slow for its first hour under cold caches. Warmed and stable since.

October 16, 2025 resolved

Embed blocked on strict sites

Audio delivery · 80 min · embed failed on some sites

A header change blocked the embed from framing on strict sites. Loosened it and shipped.

July 1, 2025 resolved

Worker wedged on a sweep

Background jobs, API · 40 min · 503s

A stuck background sweep wedged a worker and returned 503s for about forty minutes. Added a watchdog that restarts a wedged sweep.

May 20, 2025 resolved

Elevated API latency

API · 42 min · slow API

A noisy neighbour on shared hardware raised latency. Moved to a quieter host.

February 12, 2025 resolved

CSV export wrong encoding

Dashboard · 28 min · garbled CSV

Analytics CSV shipped without a UTF-8 marker and some tools mangled it. Added the marker.

October 30, 2024 resolved

Dashboard chart blank

Dashboard · 35 min · empty charts

A date-range bug blanked the new 30-day chart for some episodes. Data was fine; display fixed.

July 27, 2024 resolved

Clock skew on a worker

Background jobs · 40 min · odd timestamps

A worker's clock drifted and stamped a few records oddly. Fixed NTP and corrected the records.

May 1, 2024 resolved

Riga shutdown window

Audio delivery · 30 min · Riga offline

The Riga region went offline as scheduled. Data had been exportable for three months; a short window of 404s before the redirect landed.

March 8, 2024 resolved

Chapters not linked in feed

RSS feeds · 65 min · missing chapters tag

Newly added chapters were not linked in some feeds due to a caching bug. Purged and fixed.

January 19, 2024 resolved

Cover uploads 500

API · 22 min · cover upload errors

A path change broke cover writes for 22 minutes. Reverted and added a test.

November 14, 2023 resolved

Stale sessions not expiring

Background jobs · 240 min · sessions lingered

The cleanup sweep skipped expired sessions after a refactor. They never granted access, but lingered in the table. Fixed and swept.

August 21, 2023 resolved

Disk near full

Audio delivery, Background jobs · 50 min · uploads paused

A runaway log filled a disk to 94%. The 3 GB-free guardrail paused uploads before corruption. Rotated the log, added an alert.

May 22, 2023 resolved

Region failover test went long

API, Audio delivery · 45 min · degraded one region

A planned failover drill took longer than expected and degraded one region. No data lost.

February 18, 2023 resolved

Login lockout miscount

API · 30 min · early lockouts

Failed-login counting double-counted some attempts, locking accounts early. Fixed the counter.

December 1, 2022 resolved

Metrics gap

Dashboard · 180 min · missing stats

A counter reset dropped three hours of play counts for display; underlying data was intact.

September 5, 2022 resolved

Feeds slow for big shows

RSS feeds · 60 min · slow feeds

Feeds for shows with hundreds of episodes took over a second. Optimised the query.

August 9, 2022 resolved

Rate limiter too strict

API · 25 min · false 429s

A tuning change rate-limited legitimate dashboards. Rolled back the threshold.

May 14, 2022 resolved

Export timed out for large accounts

Dashboard · 70 min · failed exports

Very large libraries timed out building the zip in memory. Switched to a streaming archive.

February 27, 2022 resolved

Partial outage during deploy

API · 12 min · 503s

A deploy restarted the app without draining connections. Added graceful shutdown.

November 3, 2021 resolved

Scheduled posts published late

Background jobs · 90 min · late publishing

The sweep interval drifted and some scheduled episodes published up to 90 minutes late. Tightened the schedule.

July 19, 2021 resolved

Slow audio delivery in Europe

Audio delivery · 55 min · buffering

A disk on the European region degraded and read latency rose. Moved media to a healthy volume.

April 2, 2021 resolved

TLS certificate renewal failed

API, Audio delivery · 35 min · TLS warnings

An expired certificate was not renewed in time due to a cron typo. Renewed by hand and fixed the schedule.

January 11, 2021 resolved

Feed cache served stale covers

RSS feeds · 40 min · old cover art

A cache key missed the cover version, so some feeds showed a previous image. Fixed the key and purged.

September 2, 2020 resolved

Brief database lock

API, Dashboard · 18 min · slow responses

A long-running migration held a write lock and slowed the API. We split the migration into smaller steps.

June 28, 2020 resolved

Valid M4A uploads rejected

API · 120 min · uploads failed

An off-by-one in the upload validator rejected some valid M4A files for about two hours. Reverted, added a test with real files.