Commit Graph

294 Commits

Author SHA1 Message Date
734ce25aa2 fix: Invert conditional logic for Cloudflare task queueing based on environment presence. 2025-12-19 05:11:12 -05:00
fe3e4b65f4 chore: add debug logging when queueing task 2025-12-19 05:09:23 -05:00
cd19f39005 fix: titles sync not working 2025-12-19 00:27:38 -05:00
0b237d542b feat: Add a new scheduled task to check upcoming titles and refactor its controller for cron execution 2025-12-19 00:16:33 -05:00
c01e005afb refactor: update title controller tests to use async assertion matchers and refine userId type in anilist service. 2025-12-19 00:07:21 -05:00
e5d9d62be2 docs: update README
add folder info about middleware
2025-12-18 23:52:44 -05:00
8d63d4fa5e feat: use luxon for TTL 2025-12-18 23:52:44 -05:00
07bece1f6c chore: add debug logging to help understand why episode updates won't run 2025-12-18 23:52:43 -05:00
2ed38e92bc chore: remove no longer needed isRetrying boolean 2025-12-18 23:52:43 -05:00
26ca15d4aa fix: 'upcoming' titles failing to fetch
wasn't returning "Page" from the anilist json response
2025-12-18 23:52:43 -05:00
4c96f58cb0 feat: add user profile fetch in middleware 2025-12-18 08:48:22 -05:00
b64bd4fc26 refactor: move existing middleware into its own folder 2025-12-18 08:44:28 -05:00
4c2d0a9177 fix: revert back to using typed documents for GraphQL 2025-12-18 08:43:49 -05:00
dc60a1e045 feat: Increase maximum direct queue delay from 9 to 12 hours and cap retry delays at this new limit. 2025-12-18 07:04:31 -05:00
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
286824e3a1 refactor: standardize authorization header handling in queueTask 2025-12-17 07:54:03 -05:00
b26d22ad91 feat: conditionally queue AniList updates and use updated payload 2025-12-17 07:52:17 -05:00
3c5685dbdb refactor: remove HonoRequest from updateWatchStatus 2025-12-17 07:52:16 -05:00
c527a6eac5 docs: expand README with detailed setup, tech stack, development, and project structure. 2025-12-17 06:52:58 -05:00
f16ac80b7e chore: remove unnecessary env scripts
since `wrangler types` works as intended now
2025-12-17 06:52:44 -05:00
cd04a75b06 feat: remove Docker-related files and configuration 2025-12-17 06:43:36 -05:00
eb6dc545e2 fix: missing deploy script 2025-12-17 06:41:40 -05:00
a99961df51 fix: missing migrations in wrangler.toml 2025-12-17 06:41:21 -05:00
d5b113c884 test: enhance test environment mocking 2025-12-17 06:36:04 -05:00
6eb42f6a33 feat: update delayed task processing to a shared 9-hour maximum delay, remove invalid KV entries 2025-12-17 06:35:57 -05:00
05df043fbe refactor: use fake Vitest Cloudflare environment for processDelayedTasks test 2025-12-17 06:35:05 -05:00
fb7990b274 test: add 'cloudflare:test' module to export same typings as 'cloudflare:workers' 2025-12-17 06:33:00 -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
1501aff3b6 fix: adjust task delay threshold to 9 hours
Updates the maximum delay for direct task queuing to 9 hours. This change ensures that tasks with delays exceeding this threshold are stored in KV for later processing.

The update also reflects the new delay threshold in the unit tests.
2025-12-16 08:28:14 -05:00
9b17f5bcfe refactor: rename mockData.ts to mocks.ts and update import paths. 2025-12-16 08:04:26 -05:00
45bf96e764 refactor: Remove Anify and Consumet integrations, their dependencies, and the ipCheck script. 2025-12-16 08:03:05 -05:00
e8c7c7801f chore: Update Vitest async test expectations and remove unused dependencies. 2025-12-16 07:50:39 -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
748aaec100 chore: Clean up wrangler.toml D1/DO migrations 2025-12-12 06:46:33 -05:00
9116a561c3 refactor: Consolidate caching logic in Anilist DO by using handleCachedRequest for all data fetching methods and allowing dynamic TTL calculation. 2025-12-12 06:46:33 -05:00
67e07331a1 fix: 'upcoming season' popular titles not returning 2025-12-12 06:46:32 -05:00
6e3e3431c9 fix: add back remaining mock data paths 2025-12-12 06:46:32 -05:00
7624caf8cb ci: disable ci for now 2025-12-12 06:43:19 -05:00
44dca65a96 fix: currentPage not incrementing when loading watched titles 2025-12-12 06:43:19 -05:00
236a6ba165 fix: 'retry-after' headers not being read properly 2025-12-12 06:43:01 -05:00
c35e18218a feat: add type safety to AniList fetching methods 2025-12-12 06:43:01 -05:00
3508f3461b chore: rename getUser to getUserProfile 2025-12-12 06:42:58 -05:00
ad26cd6da3 feat: set up mock data to be used to generate baseline profiles 2025-12-06 07:27:14 -05:00
9d71199943 fix: make updatedAt in mediaListEntry optional 2025-11-29 10:48:28 -05:00
24d507a48f feat(tasks): implement long-term delayed tasks with KV and Cron 2025-11-29 09:03:21 -05:00
40fa0080b5 feat(api): expose updatedAt in watching titles 2025-11-29 09:03:10 -05:00
3bc1f9f2b7 chore: remove unused TURSO_URL 2025-11-29 09:02:20 -05:00
8ca710d30d fix(anilist): improve rate limit header parsing 2025-11-29 08:58:02 -05:00