23b14536cc
refactor!: migrate away from bun
...
- migrate package management to pnpm
- migrate test suite to vitest
- also remove Anify integration
2025-12-12 19:24:28 -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
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
8ca710d30d
fix(anilist): improve rate limit header parsing
2025-11-29 08:58:02 -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
00e1f82d85
refactor: introduce a script runner for local development
2025-11-28 16:29:16 +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
f6a3ea2649
fix(anilist): ⚡ ️ improve SSE streaming
...
Fixes issues with SSE streaming by explicitly setting the content type and encoding headers.
Also, removes unnecessary destructuring in fetchEpisodes.
2025-10-31 13:13:34 -04:00
26037d592e
test: mock Cloudflare worker environment
...
Adds a mock for cloudflare workers to enable testing
of code that relies on the cloudflare workers environment.
2025-08-10 19:52:54 -04:00
8175d73df1
refactor: ♻️ emoves Env parameter
...
Removes the `Env` parameter from several functions to simplify their signatures and rely on the global `env` for configuration.
This change reduces the number of arguments passed around, making the code cleaner and easier to maintain.
2025-08-10 19:22:14 -04: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
d680c97bc6
Removes console logs from title matching
...
Cleans up the code by removing console log statements used for debugging during the title matching process. This improves code readability and avoids unnecessary logging in the production environment.
2025-04-23 10:21:26 -04:00
e71177acc7
delete test file
2025-04-23 10:03:04 -04:00
b8ae211956
✨ feat(aniwatch): Improves title matching logic
...
- Enhances title matching accuracy when fetching Aniwatch IDs.
- Prioritizes user-preferred titles and falls back to English titles.
- Ensures only one fetch call is made per title if both english and userPreferred title are same.
- Adds a score threshold to filter low-quality matches.
- Fixes a bug where the episode list was not being returned.
2025-04-23 09:49:06 -04:00
00720565b4
feat: update Aniwatch provider to include headers
2025-04-08 08:41:57 -04:00
d1306f06ba
Improves episode source retrieval from Aniwatch
...
Refactors episode source fetching to handle multiple servers.
It now attempts to retrieve the episode URL from multiple servers if the initial request fails, improving the chances of finding a valid source.
2025-03-06 09:35:10 -05:00
d589087ad9
fix: limit search query for aniwatch to 100 characters
...
more than that and the search fails automatically with a 404
2025-01-15 02:48:49 -05:00
da8a81a777
fix: return null for anify provider if filtered episodes returning nothing
2025-01-15 02:48:10 -05:00
51bfad78ce
fix: filter out animepahe in anify
...
issue with animepahe is can't skip ahead (most likely because of the missing header that's not being used)
2025-01-15 02:47:41 -05:00
c7d8f3ffa4
feat: add id to User
2024-11-17 09:44:09 -05:00
d6a27e1fa4
fix: treat title as "unreleased" if title is too far away to schedule
2024-11-14 07:42:55 -05:00
ce82ae8990
feat: return user data when marking episode as watched
2024-11-14 07:37:04 -05:00
0a07cdc415
fix: upcoming query not working
2024-11-02 18:24:32 -04:00
6a2daa7995
fix: issues in aniwatch.ts
2024-10-29 07:49:33 -04:00
da7c843e72
fix: task for anilist-updates not encoding body in base 64
2024-10-29 07:47:54 -04:00
c5a536d87e
style: add await to all writeSSE calls
2024-10-29 07:44:31 -04:00
275a03210b
fix: update search snapshot
2024-10-28 06:37:00 -04:00
7b16066a63
fix: "upcoming" query not using correct sort operator
2024-10-28 05:32:50 -04:00
4c784e9038
fix: popular category response properly supports pagination
2024-10-28 05:08:52 -04:00
9fafa5b45d
feat: improve title searching algorithm for aniwatch
2024-10-28 05:08:23 -04:00
c2411975d5
fix: incorrect key sent for popular titles
2024-10-28 05:07:28 -04:00
592cc08853
feat: create routes to load popular titles
2024-10-27 13:59:49 -04:00
99963083f0
refactor: do title conversion server side
2024-10-27 09:27:27 -04:00
2ec61b7332
fix: device id not being read correctly in "mark episode as watched" route
2024-10-27 08:53:25 -04:00
c6904eb7a5
fix: missing mock
2024-10-27 08:49:36 -04:00
2dcf8630ab
fix: improve error logging
...
Cloudflare doesn't log causes, only the messages so splitting the logs in to 2
2024-10-27 08:49:31 -04:00
34958cfa69
chore: log which title is being selected when loading aniwatch
2024-10-27 08:41:16 -04:00
5ef3e8c970
feat: change aniwatch source to be the first source to check
2024-10-27 08:40:42 -04:00