This website requires JavaScript.
0b237d542b
feat: Add a new scheduled task to check upcoming titles and refactor its controller for cron execution
main
Rushil Perera
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.
Rushil Perera
2025-12-19 00:06:57 -05:00
e5d9d62be2
docs: update README
Rushil Perera
2025-12-18 08:54:29 -05:00
8d63d4fa5e
feat: use luxon for TTL
Rushil Perera
2025-12-18 08:51:53 -05:00
07bece1f6c
chore: add debug logging to help understand why episode updates won't run
Rushil Perera
2025-12-18 08:50:53 -05:00
2ed38e92bc
chore: remove no longer needed isRetrying boolean
Rushil Perera
2025-12-18 08:49:50 -05:00
26ca15d4aa
fix: 'upcoming' titles failing to fetch
Rushil Perera
2025-12-18 08:49:17 -05:00
4c96f58cb0
feat: add user profile fetch in middleware
Rushil Perera
2025-12-18 08:46:50 -05:00
b64bd4fc26
refactor: move existing middleware into its own folder
Rushil Perera
2025-12-18 08:44:28 -05:00
4c2d0a9177
fix: revert back to using typed documents for GraphQL
Rushil Perera
2025-12-18 08:43:26 -05:00
dc60a1e045
feat: Increase maximum direct queue delay from 9 to 12 hours and cap retry delays at this new limit.
Rushil Perera
2025-12-17 09:44:30 -05:00
6570c25617
feat: configure queue retry delays with min/max bounds and update exponential backoff defaults
Rushil Perera
2025-12-17 09:25:07 -05:00
6f795bdde0
feat: implement generic queue message processing with retry logic
Rushil Perera
2025-12-17 07:52:48 -05:00
243c279ca9
feat: introduce exponential backoff utility
Rushil Perera
2025-12-17 07:52:48 -05:00
286824e3a1
refactor: standardize authorization header handling in queueTask
Rushil Perera
2025-12-17 07:52:48 -05:00
b26d22ad91
feat: conditionally queue AniList updates and use updated payload
Rushil Perera
2025-12-17 07:51:19 -05:00
3c5685dbdb
refactor: remove HonoRequest from updateWatchStatus
Rushil Perera
2025-12-17 07:51:19 -05:00
c527a6eac5
docs: expand README with detailed setup, tech stack, development, and project structure.
Rushil Perera
2025-12-17 06:52:58 -05:00
f16ac80b7e
chore: remove unnecessary env scripts
Rushil Perera
2025-12-17 06:52:44 -05:00
cd04a75b06
feat: remove Docker-related files and configuration
Rushil Perera
2025-12-17 06:43:36 -05:00
eb6dc545e2
fix: missing deploy script
Rushil Perera
2025-12-17 06:41:40 -05:00
a99961df51
fix: missing migrations in wrangler.toml
Rushil Perera
2025-12-17 06:41:21 -05:00
d5b113c884
test: enhance test environment mocking
Rushil Perera
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
Rushil Perera
2025-12-17 06:35:57 -05:00
05df043fbe
refactor: use fake Vitest Cloudflare environment for processDelayedTasks test
Rushil Perera
2025-12-17 06:35:05 -05:00
fb7990b274
test: add 'cloudflare:test' module to export same typings as 'cloudflare:workers'
Rushil Perera
2025-12-17 06:33:00 -05:00
80a6f67ead
refactor: decouple Anilist watch status updates from API endpoint to an asynchronous queue worker.
Rushil Perera
2025-12-16 08:28:33 -05:00
1501aff3b6
fix: adjust task delay threshold to 9 hours ⏰
Rushil Perera
2025-12-16 08:28:14 -05:00
9b17f5bcfe
refactor: rename mockData.ts to mocks.ts and update import paths.
Rushil Perera
2025-12-16 08:04:26 -05:00
45bf96e764
refactor: Remove Anify and Consumet integrations, their dependencies, and the ipCheck script.
Rushil Perera
2025-12-16 08:01:56 -05:00
e8c7c7801f
chore: Update Vitest async test expectations and remove unused dependencies.
Rushil Perera
2025-12-16 07:43:18 -05:00
1140ffa8b8
refactor!: migrate away from bun
Rushil Perera
2025-12-12 19:24:28 -05:00
748aaec100
chore: Clean up wrangler.toml D1/DO migrations
Rushil Perera
2025-12-07 09:00:38 -05:00
9116a561c3
refactor: Consolidate caching logic in Anilist DO by using handleCachedRequest for all data fetching methods and allowing dynamic TTL calculation.
Rushil Perera
2025-12-07 08:20:55 -05:00
67e07331a1
fix: 'upcoming season' popular titles not returning
Rushil Perera
2025-12-07 08:19:58 -05:00
6e3e3431c9
fix: add back remaining mock data paths
Rushil Perera
2025-12-06 18:20:38 -05:00
7624caf8cb
ci: disable ci for now
Rushil Perera
2025-12-06 17:51:05 -05:00
44dca65a96
fix: currentPage not incrementing when loading watched titles
Rushil Perera
2025-12-06 09:11:32 -05:00
236a6ba165
fix: 'retry-after' headers not being read properly
Rushil Perera
2025-12-06 09:11:06 -05:00
c35e18218a
feat: add type safety to AniList fetching methods
Rushil Perera
2025-12-06 08:09:58 -05:00
3508f3461b
chore: rename getUser to getUserProfile
Rushil Perera
2025-12-06 07:56:58 -05:00
ad26cd6da3
feat: set up mock data to be used to generate baseline profiles
Rushil Perera
2025-12-06 07:27:14 -05:00
9d71199943
fix: make updatedAt in mediaListEntry optional
Rushil Perera
2025-11-29 10:48:28 -05:00
24d507a48f
feat(tasks): implement long-term delayed tasks with KV and Cron
Rushil Perera
2025-11-29 09:03:21 -05:00
40fa0080b5
feat(api): expose updatedAt in watching titles
Rushil Perera
2025-11-29 09:02:51 -05:00
3bc1f9f2b7
chore: remove unused TURSO_URL
Rushil Perera
2025-11-29 09:02:20 -05:00
8ca710d30d
fix(anilist): improve rate limit header parsing
Rushil Perera
2025-11-29 08:58:02 -05:00
0ca6705e26
chore: add worker-configuration.d.ts to .prettierignore
Rushil Perera
2025-11-29 08:55:15 -05:00
25f5f80696
refactor: Replace generic AnilistDurableObject fetch endpoint with dedicated methods and update their usage.
Rushil Perera
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.
Rushil Perera
2025-11-29 05:03:57 -05:00
a25111acbf
feat: Re-enable Anilist response caching and configure proxy URL via environment variable.
Rushil Perera
2025-11-28 17:00:18 +08:00
bd958fb1ab
feat: migrate to cloudflare d1 and queues
Rushil Perera
2025-11-28 16:32:35 +08:00
00e1f82d85
refactor: introduce a script runner for local development
Rushil Perera
2025-11-28 16:29:16 +08:00
6ff1d96017
build: migrate from bun to pnpm
Rushil Perera
2025-11-28 16:28:59 +08:00
2ec861473a
chore: intellij generated files
Rushil Perera
2025-11-14 13:10:32 +08:00
959265484c
feat: Add durable object for Anilist requests (#2 )
Rushil Perera
2025-11-14 13:07:36 +08:00
f6a3ea2649
fix(anilist): ⚡ ️ improve SSE streaming
Rushil Perera
2025-10-31 13:13:03 -04:00
26037d592e
test: mock Cloudflare worker environment
Rushil Perera
2025-08-10 19:52:54 -04:00
6de8c594b7
chore: Adds .env to .gitignore
Rushil Perera
2025-08-10 19:52:07 -04:00
8175d73df1
refactor: ♻️ emoves Env parameter
Rushil Perera
2025-08-10 19:22:14 -04:00
0b0078328c
fix(aniplay): Migrates to Aniwatch only
Rushil Perera
2025-08-08 08:16:39 -07:00
d680c97bc6
Removes console logs from title matching
Rushil Perera
2025-04-23 10:21:26 -04:00
9c51aaa2b5
chore: updates dependencies, including libsql
Rushil Perera
2025-04-23 10:16:44 -04:00
99f37a0684
fix: freeze zx version
Rushil Perera
2025-04-23 09:54:32 -04:00
e71177acc7
delete test file
Rushil Perera
2025-04-23 09:55:55 -04:00
b8ae211956
✨ feat(aniwatch): Improves title matching logic
Rushil Perera
2025-04-23 09:32:52 -04:00
00720565b4
feat: update Aniwatch provider to include headers
Rushil Perera
2025-04-08 08:41:57 -04:00
d1306f06ba
Improves episode source retrieval from Aniwatch
Rushil Perera
2025-03-06 09:35:10 -05:00
d589087ad9
fix: limit search query for aniwatch to 100 characters
Rushil Perera
2025-01-15 02:48:49 -05:00
da8a81a777
fix: return null for anify provider if filtered episodes returning nothing
Rushil Perera
2025-01-15 02:48:10 -05:00
51bfad78ce
fix: filter out animepahe in anify
Rushil Perera
2025-01-15 02:47:41 -05:00
c7d8f3ffa4
feat: add id to User
Rushil Perera
2024-11-17 09:44:09 -05:00
d6a27e1fa4
fix: treat title as "unreleased" if title is too far away to schedule
Rushil Perera
2024-11-14 07:39:33 -05:00
ce82ae8990
feat: return user data when marking episode as watched
Rushil Perera
2024-11-14 07:37:04 -05:00
0a07cdc415
fix: upcoming query not working
Rushil Perera
2024-11-02 18:24:32 -04:00
6a2daa7995
fix: issues in aniwatch.ts
Rushil Perera
2024-10-29 07:49:18 -04:00
da7c843e72
fix: task for anilist-updates not encoding body in base 64
Rushil Perera
2024-10-29 07:47:46 -04:00
c5a536d87e
style: add await to all writeSSE calls
Rushil Perera
2024-10-29 07:44:31 -04:00
fc6cfdbeda
chore: update hono
Rushil Perera
2024-10-29 07:44:05 -04:00
275a03210b
fix: update search snapshot
Rushil Perera
2024-10-28 06:37:00 -04:00
7b16066a63
fix: "upcoming" query not using correct sort operator
Rushil Perera
2024-10-28 05:32:50 -04:00
4c784e9038
fix: popular category response properly supports pagination
Rushil Perera
2024-10-28 05:08:52 -04:00
9fafa5b45d
feat: improve title searching algorithm for aniwatch
Rushil Perera
2024-10-28 05:08:15 -04:00
c2411975d5
fix: incorrect key sent for popular titles
Rushil Perera
2024-10-28 05:07:28 -04:00
592cc08853
feat: create routes to load popular titles
Rushil Perera
2024-10-27 13:59:49 -04:00
99963083f0
refactor: do title conversion server side
Rushil Perera
2024-10-27 09:27:27 -04:00
2ec61b7332
fix: device id not being read correctly in "mark episode as watched" route
Rushil Perera
2024-10-27 08:53:25 -04:00
c6904eb7a5
fix: missing mock
Rushil Perera
2024-10-27 08:49:36 -04:00
2dcf8630ab
fix: improve error logging
Rushil Perera
2024-10-27 08:48:55 -04:00
34958cfa69
chore: log which title is being selected when loading aniwatch
Rushil Perera
2024-10-27 08:41:16 -04:00
5ef3e8c970
feat: change aniwatch source to be the first source to check
Rushil Perera
2024-10-27 08:40:42 -04:00
5a4c44130f
fix: exclude "blue lock s2" from anify
Rushil Perera
2024-10-27 08:40:24 -04:00
842b657c00
fix: update mocks
Rushil Perera
2024-10-24 08:54:18 -04:00
59a7a5f8d4
fix: tweak aniwatch call to support tower of god s2 being split into 2
Rushil Perera
2024-10-24 08:51:46 -04:00
882f9b1843
chore: update aniwatch calls
Rushil Perera
2024-10-24 08:51:26 -04:00
f3bd6eb9cc
fix: have script check if no next airing episode
Rushil Perera
2024-10-23 09:03:43 -04:00
f8889eb550
fix: make sure to check body with hashed queue task name
Rushil Perera
2024-10-23 09:00:39 -04:00
1869771716
fix: if failed to validate body, trigger hashed task name flow
Rushil Perera
2024-10-22 08:20:03 +02:00
42c041a4e0
fix: hash task name when failing to queue new task
Rushil Perera
2024-10-21 18:42:29 +08:00
2a4e8144c4
chore: create script to print new google auth token for testing
Rushil Perera
2024-10-21 18:41:12 +08:00