Commit Graph

30 Commits

Author SHA1 Message Date
6570c25617 feat: configure queue retry delays with min/max bounds and update exponential backoff defaults 2025-12-17 09:25:07 -05:00
6f795bdde0 feat: implement generic queue message processing with retry logic 2025-12-17 07:55:59 -05:00
243c279ca9 feat: introduce exponential backoff utility 2025-12-17 07:54:24 -05:00
80a6f67ead refactor: decouple Anilist watch status updates from API endpoint to an asynchronous queue worker. 2025-12-16 08:28:33 -05:00
1140ffa8b8 refactor!: migrate away from bun
- migrate package management to pnpm
- migrate test suite to vitest
- also remove Anify integration
2025-12-16 07:50:38 -05:00
24d507a48f feat(tasks): implement long-term delayed tasks with KV and Cron 2025-11-29 09:03:21 -05:00
25f5f80696 refactor: Replace generic AnilistDurableObject fetch endpoint with dedicated methods and update their usage. 2025-11-29 06:22:08 -05:00
bd958fb1ab feat: migrate to cloudflare d1 and queues 2025-11-28 16:32:35 +08:00
959265484c feat: Add durable object for Anilist requests (#2)
This commit introduces a durable object to handle Anilist GraphQL requests, with the goal of preventing request duplication.

The durable object is designed to cache responses from the Anilist API, with a TTL based on the `nextAiringEpisode` field in the response.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-11-14 13:07:36 +08:00
0b0078328c fix(aniplay): Migrates to Aniwatch only
Removes Consumet and consolidates episode fetching to use Aniwatch as the sole provider.

This simplifies the codebase and ensures a consistent data source for episodes and URLs.
Also updates `wrangler` and sets `ENABLE_ANIFY` to false.
2025-08-08 08:17:47 -07:00
592cc08853 feat: create routes to load popular titles 2024-10-27 13:59:49 -04:00
432da61aec feat: support fetching "currently watching" titles when logging in 2024-09-20 00:06:22 -04:00
cc9bb8ab4d feat: add middleware to update "last connected at" when a request comes in
relies on a header named "X-Aniplay-Device-Id"
2024-09-08 16:32:31 -05:00
d4a5a4fbb1 refactor: move non-public routes to internal subfolder
"non-public" in this case means only used for event handling (and not supposed to be called by clients)
2024-09-08 14:35:28 -05:00
1d606ef0d3 feat: support sending "new episode" notifications to devices 2024-09-08 13:46:14 -05:00
ae04542ef9 fix: rename route from /upcoming/titles to /upcoming-titles 2024-09-02 13:41:27 -04:00
4fe22bccf3 feat: support sending "new title" alerts to devices 2024-09-02 13:02:05 -04:00
231ed4bde4 feat: create route to store FCM token 2024-06-14 18:14:10 -04:00
0a859e0f16 feat: create route to handle updating watch status in AniList 2024-06-12 15:01:26 -04:00
be5dedc51c fix: remove legacy route 2024-06-03 07:23:46 -04:00
79fd51951b feat: support legacy routes
Summary:

Test Plan:
2024-06-02 06:46:22 -04:00
7aab9a19ec feat: create route to fetch stream URL from provider
Summary:

Test Plan:
2024-05-30 08:44:20 -04:00
8b6aecca5c refactor: move fetchEpisodes in to subfolder 2024-05-29 08:38:37 -04:00
75bb7615f5 feat: create route to fetch episodes for a title
Summary:

Test Plan:
2024-05-24 17:07:06 -04:00
88b1a4ced5 feat: create route to search for titles
Summary:

Test Plan:
2024-05-16 01:21:13 -04:00
dd47118f3a docs: add Swagger UI
Summary:

Test Plan:
2024-05-15 23:03:19 -04:00
68c082493e feat: create route to return title information
Summary:

Test Plan:
2024-05-15 23:03:17 -04:00
6c771eaaad feat: add health check
Summary:

Test Plan:
2024-05-14 22:30:52 -04:00
29345a7bd1 style: add prettier
Summary:

Test Plan:
2024-05-14 22:01:21 -04:00
f78ad2d2dd feat: initial commit 2024-05-14 21:49:16 -04:00