9da626f17b
docs: update README
...
add folder info about middleware
2025-12-18 08:54:29 -05:00
3fab9cacbc
feat: use luxon for TTL
2025-12-18 08:51:53 -05:00
f9ca949d8e
chore: add debug logging to help understand why episode updates won't run
2025-12-18 08:50:53 -05:00
37b4f0bf2b
chore: remove no longer needed isRetrying boolean
2025-12-18 08:49:50 -05:00
d66903400d
fix: 'upcoming' titles failing to fetch
...
wasn't returning "Page" from the anilist json response
2025-12-18 08:49:17 -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
0ca6705e26
chore: add worker-configuration.d.ts to .prettierignore
2025-11-29 08:55:15 -05:00
25f5f80696
refactor: Replace generic AnilistDurableObject fetch endpoint with dedicated methods and update their usage.
2025-11-29 06:22:08 -05:00
b1e46ad6eb
feat: Centralize Anilist GraphQL queries, generalize Durable Object for multiple operations with caching, and add new controllers for search, popular titles, user data, and episode tracking.
2025-11-29 05:03:57 -05:00
a25111acbf
feat: Re-enable Anilist response caching and configure proxy URL via environment variable.
2025-11-28 17:00:18 +08:00
bd958fb1ab
feat: migrate to cloudflare d1 and queues
2025-11-28 16:32:35 +08:00