Commit Graph

70 Commits

Author SHA1 Message Date
495506935e refactor!: migrate from REST API to GraphQL
- Replace OpenAPI/REST endpoints with a single  route.
- Remove  and Swagger UI configuration.
- Disable OpenAPI schema extensions in Zod types.
- Refactor  to be request-agnostic.
- Update episode URL fetching to return standardized success/failure objects.
- Update project dependencies.
2025-12-06 07:30:51 -05:00
ad26cd6da3 feat: set up mock data to be used to generate baseline profiles 2025-12-06 07:27:14 -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
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
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
ce82ae8990 feat: return user data when marking episode as watched 2024-11-14 07:37:04 -05:00
6a2daa7995 fix: issues in aniwatch.ts 2024-10-29 07:49:33 -04:00
c5a536d87e style: add await to all writeSSE calls 2024-10-29 07:44:31 -04:00
9fafa5b45d feat: improve title searching algorithm for aniwatch 2024-10-28 05:08:23 -04:00
2ec61b7332 fix: device id not being read correctly in "mark episode as watched" route 2024-10-27 08:53:25 -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
5ef3e8c970 feat: change aniwatch source to be the first source to check 2024-10-27 08:40:42 -04:00
5a4c44130f fix: exclude "blue lock s2" from anify 2024-10-27 08:40:24 -04:00
59a7a5f8d4 fix: tweak aniwatch call to support tower of god s2 being split into 2 2024-10-24 08:51:46 -04:00
882f9b1843 chore: update aniwatch calls
aniwatch API had breaking changes
2024-10-24 08:51:26 -04:00
91dd250823 feat: create route to be able to mark episode as watched 2024-10-10 12:52:22 +02:00
223c2f1e4c add re-zero s3 to anify denylist 2024-10-06 18:41:27 -04:00
271ea01b21 fix: test failures 2024-10-05 16:48:31 -04:00
bee8acaca8 feat: improve error handling for authentication flow 2024-09-26 03:51:17 -04:00
7a839cda5a fix: tests 2024-09-26 01:35:36 -04:00
75eca0f6bd fix: maxRetries set to 3
since max limit is 3
2024-09-26 01:32:02 -04:00
58fa52f083 fix: reset episodes when url not found 2024-09-23 17:57:05 -04:00
90cf038337 feat: new version for getEpisodeUrl by just passing the episode number 2024-09-23 17:52:53 -04:00
eec512c729 fix: skip time conversion to be undefined if both are 0 2024-09-23 17:52:11 -04:00
87b938bdaa fix: update "new episode" route to check all providers before throwing error 2024-09-23 17:36:18 -04:00
00d0f641a4 fix: update source priorities for anify 2024-09-22 15:53:49 -04:00
3d0c76444e fix: flakiness in promiseTimeout test 2024-09-22 15:49:14 -04:00
a740fa3e93 fix: foreign key constraint errors happening in tests 2024-09-21 15:08:49 -04:00
c1bf12de4f feat: associate device id with username when logging in 2024-09-21 13:18:16 -04:00
76ed45558d fix: internal "new episode" route throwing error code 1042 in prod 2024-09-10 23:10:56 -04:00
25ed096b38 feat: create script to initialize "next episode" queue 2024-09-09 05:07:21 -05:00
1d606ef0d3 feat: support sending "new episode" notifications to devices 2024-09-08 13:46:14 -05:00
ae99918524 chore: disable consumet temporarily 2024-08-31 20:33:57 -04:00
a9fa2baafe fix: userPreferred best matches not being matched properly 2024-08-26 22:12:00 -04:00
342e2c2bd8 fix: use string matching to map to correct title in Aniwatch 2024-08-26 21:55:11 -04:00
dac2040e36 fix: default to english title when searching aniwatch 2024-08-19 08:39:34 -04:00
71f1682ae2 fix: ignore some tests 2024-08-18 23:08:20 -04:00
1a06eb51eb refactor: replace amvstrm source with aniwatch 2024-08-18 21:37:13 -04:00
36aa521bf8 feat: change amvstrm to point to self hosted instance 2024-08-18 17:05:53 -04:00
30abd1eba8 chore: add "tower of god s2" to anify denylist 2024-08-18 16:09:01 -04:00
ec150f81ea fix: update amvstrm url 2024-08-18 16:08:28 -04:00