Episode-ready push notification (server-driven, no client polling/BGTask) #5
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Notify the user when a podcast is ready via a server-sent APNs push, and let
generation complete without the app staying alive. Because generation already
runs server-side, this replaces the client-side poll/BGTask approach entirely:
the backend knows when a job finishes and simply tells the device.
This supersedes the original BGTask design — polling
podcastStatusand runninga background task on the client goes away.
Why server-driven
The compute already happens on the magicive.api backend. Today the app only does
the bookkeeping around it — poll status, download the mp3, write
PodcastIndex,and (in the old plan) a BGTask to keep that alive. Move the "when is it done"
signal to APNs and almost all of that disappears.
Recommended approach — Variant A: download-on-play
"Your podcast on
Episode-ready notification + true background generation (BGTask)to Episode-ready push notification (server-driven, no client polling/BGTask)