Commit Graph

7987 Commits

Author SHA1 Message Date
tigeryu8900 ac249e3668 Exit early in CloudflareInterceptor when cloudflare challenge is interactive (#3842) 2026-08-23 10:50:31 +00:00
w e3813028bd Bump webgpuviewer, fix animated images background color (#3843) 2026-08-23 14:06:12 +06:00
AntsyLich 270b78ba95 Wait for extensions to load before the list is propagated (#3841) 2026-08-22 20:37:01 +00:00
AntsyLich 46c8f07c12 Limit vertical divider height in global search toolbar (#3839) 2026-08-22 19:56:26 +00:00
AntsyLich a2c24ff042 Use upstream scaffold (#3834) 2026-08-22 02:22:45 +00:00
Mend Renovate 9ec479266b Update aboutLibraries to v15.1.1 (#3831) 2026-08-21 22:58:06 +00:00
Mend Renovate 6458246180 Update dependency org.conscrypt:conscrypt-android to v2.6.3 (#3832) 2026-08-21 22:56:42 +00:00
MajorTanya 31d3c23717 Migrate to Kitsu's GraphQL API (#3792)
While there are still some nasty corners (multiple shapes of error
response, unhandled error types on their end, etc.), this is a
functional, feature-parity replacement for the JSON:API API we were
using before.

According to the GraphQL docs, searching by title still goes via
Algolia.
2026-08-22 04:46:35 +06:00
w 497e266256 Fix page loading for webgpuviewer and bump version (#3823) 2026-08-20 18:15:18 +00:00
MajorTanya 0974e787ad Use Shikimori's update endpoint (#3810)
No idea why it was originally going via the
addition endpoint but Shikimori's v1 and v2 APIs
have a dedicated endpoint to update a list entry
via PATCH or PUT (interchangeable, both allow
partial payloads).

Splitting off the update path revealed that
findLibManga would return a non-null track, which
in turn causes the update call to fail with a 404
due to `library_id` being null.

After further investigation, I realised that
findLibManga should always return null if the
title is not in the user's library, not just in
refreshes.
2026-08-21 00:12:48 +06:00
MajorTanya 01bfaa99ad Add support for using the user's chosen Kitsu rating scales (#3818)
Add support for different Kitsu rating scales

Includes a database migration because we have been scaling Kitsu's
2-20 `ratingTwenty` integer value to a 1-10 (step 0.5) value and
stored that in the database.

I'm also "rounding" the values to the next lowest valid one in the
current rating system to mirror Kitsu's behaviour for this. Both Kitsu
and the app keep the misfit value around until the score is otherwise
edited, at which point the interface constrains the user selection to
only valid values (for the current system).

Maybe the RatingSystem data class is overkill, but a previous version
of mine had three constants for each system that had to be manually
associated at each corner. Encapsulating those in a little map of data
classes seemed the more ergonomic solution.
2026-08-21 00:11:27 +06:00
Mend Renovate 4b5a0539e5 Update dependency com.mikepenz:aboutlibraries-compose-m3 to v15.1.0 (#3822) 2026-08-21 00:09:49 +06:00
Mend Renovate 598f634afb Update dependency com.google.firebase:firebase-bom to v34.18.0 (#3820)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2026-08-21 00:08:38 +06:00
Mend Renovate dee3daf145 Update dependency com.google.firebase.crashlytics to v3.0.8 (#3819) 2026-08-21 00:07:52 +06:00
Mend Renovate 9fe2c2e106 Update Gradle to v9.7.1 (#3814) 2026-08-21 00:06:47 +06:00
MajorTanya 3cc0d2c324 Trim MAL & MB id: query before lookup (#3793)
This was included for all other trackers in #3776 but these two had
prefix search before.

It's a small change, but it can go a long way when using `id:` with
copy-pasted IDs from elsewhere which come with starting or trailing
whitespace.
2026-08-17 23:43:50 +06:00
w f75f2598a3 Fix fit height to in new renderer and bump webgpuviewer (#3801) 2026-08-17 23:08:09 +06:00
MajorTanya c613b52503 Add score info to MangaUpdates search results (#3795)
Also added author info for `id:` prefix search results since those hit
the single-series endpoint instead of `/search`, which does not
include author information (I wish it did).

Maybe unintuitive but the info is nice to have when available.
2026-08-17 16:28:25 +06:00
Mend Renovate 8586d81e63 Update spotless to v8.10.0 (#3798) 2026-08-17 16:27:25 +06:00
AntsyLich 3e98c15b74 Remove duplicate in strings.xml 2026-08-17 05:09:13 +06:00
Weblate (bot) 2b532ea0c4 Translations update from Hosted Weblate (#3701)
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/eo/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fil/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/he/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ko/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ms/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ru/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/tr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hant/
Translation: Mihon/Mihon

Co-authored-by: CyberMageIL <CyberMageIL@Gmail.com>
Co-authored-by: Daniil Paschenko <daniil_paschenko@mail.ru>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Frosted <frosted@users.noreply.hosted.weblate.org>
Co-authored-by: Infy Milliaria <ced.paltep10@gmail.com>
Co-authored-by: Lucas Correia <anicetoclucas@gmail.com>
Co-authored-by: Megat Al Zhahir Daniel <megatalzhahir@gmail.com>
Co-authored-by: Szafranek13 <jakubfabijan@tuta.io>
Co-authored-by: abc0922001 <abc0922001@hotmail.com>
Co-authored-by: on9686 <on9686@users.noreply.hosted.weblate.org>
2026-08-17 04:50:27 +06:00
AntsyLich b2015d1ef3 Migrate to Metro DI (#3608)
Assisted-by: Claude:claude-opus-5
2026-08-16 18:47:48 +00:00
Mend Renovate 1e5b1dc5e7 Update okhttp to v5.5.0 (#3789) 2026-08-16 16:44:16 +00:00
AntsyLich 5fa5f7e159 Load extensions off the main thread (#3788)
Assisted-by: Claude:claude-opus-5
2026-08-16 16:35:38 +00:00
w 00fb597ae9 Drop legacy decoder (#3786) 2026-08-16 15:48:58 +00:00
Mend Renovate 7e78849ed0 Update dependency de.stefan-oltmann:kim to v0.37.0 (#3774) 2026-08-16 21:21:37 +06:00
Mend Renovate 4d5b0ea906 Update dependency ca.mpreg:imagedecoder to v9 (#3777) 2026-08-16 21:21:23 +06:00
MajorTanya a81b7bce9a Add id: prefix search for rest of third-party trackers (#3776)
* Add id: prefix search to AniList

* Add id: prefix search to Bangumi

* Add id: prefix search to Kitsu

* Add id: prefix search to MangaUpdates

* Add id: prefix search to Shikimori

* Add id: prefix search to Hikka

Since Hikka doesn't use integer IDs and instead relies solely on a slug system,
users have to supply the slug to the `id:` search (so not `id:123` but
`id:sousou-no-frieren-97e05f` to get the Frieren manga specifically)

It's asymmetrical to the other trackers, but I thought keeping the prefix
consistent was more important than to be true to the tracker's internal
workings.

* Parse MU string IDs as base36 Longs

Turns out that's what the random strings in the URL are.

Co-authored-by: BrutuZ <7104931+BrutuZ@users.noreply.github.com>

* [skip ci] Add Changelog

---------

Co-authored-by: BrutuZ <7104931+BrutuZ@users.noreply.github.com>
2026-08-16 03:51:54 +06:00
Secozzi abdecb3cb4 Show updates and upcoming filter icon as active for categories (#3772) 2026-08-15 21:19:05 +06:00
AntsyLich ed30766a9f Match WebGPU reader background and transition colors to the old reader (#3765)
Assisted-by: Claude:claude-opus-5
2026-08-14 20:50:56 +00:00
AntsyLich b1efee47f5 Replace StateViewModel with explicit backing fields (#3763)
Assisted-by: Claude:claude-opus-5
2026-08-14 19:53:06 +00:00
AntsyLich d00efa4bfc Make LibraryViewModel collect library only while subscribed (#3762)
Assisted-by: Claude:claude-opus-5
2026-08-14 19:39:22 +00:00
AntsyLich b1a9a05926 Make UpdatesViewModel collect updates only while subscribed (#3761)
Assisted-by: Claude:claude-opus-5
2026-08-14 19:39:04 +00:00
Mend Renovate 55675e7f80 Update dependency de.stefan-oltmann:kim to v0.36.0 (#3758) 2026-08-15 01:21:12 +06:00
AntsyLich b393088cfa Rename preview build type to nightly and label FOSS builds (#3760)
Assisted-by: Claude:claude-opus-5
2026-08-15 01:20:55 +06:00
Mend Renovate 77e88a2159 Update dependency de.stefan-oltmann:kim to v0.35.0 (#3757) 2026-08-14 17:13:02 +00:00
Mend Renovate ecbec8f501 Update dependency androidx.webkit:webkit to v1.17.0 (#3756) 2026-08-14 17:12:31 +00:00
w 5c3ae37d52 Add high quality WebGPU renderer (#3388) 2026-08-14 23:01:00 +06:00
Mend Renovate 581a89b7b0 Update dependency androidx.appcompat:appcompat to v1.8.0 (#3751) 2026-08-13 16:53:28 +00:00
Mend Renovate 6197768a01 Update dependency androidx.paging:paging-runtime to v3.5.1 (#3750) 2026-08-13 10:12:00 +00:00
Mend Renovate d1f9a1fdaf Update dependency androidx.baselineprofile to v1.5.0-rc01 (#3749) 2026-08-13 10:11:17 +00:00
Mend Renovate db7f1663b7 Update dependency org.conscrypt:conscrypt-android to v2.6.2 (#3745) 2026-08-12 14:49:25 +00:00
Mend Renovate a0a3adf864 Update dependency io.kotest:kotest-assertions-core to v6.2.4 (#3744) 2026-08-12 14:48:39 +00:00
MajorTanya 437dd87225 [skip ci] Fix PR reference in Changelog (#3741) 2026-08-12 20:39:45 +06:00
MajorTanya cd1f426945 Fix wrong MangaBaka scores for step sizes > 1 (#3740)
* Fix wrong MangaBaka scores for step sizes > 1

We're actually sending the index of the score type in the list, not
the score itself.

Overriding indexToScore solves that issue.

Also refactored the ranges to be constants for consistency.

* Changelog
2026-08-12 20:38:49 +06:00
Mend Renovate 2506b04964 Update xmlutil to v1.0.2 (#3730) 2026-08-09 04:32:18 +06:00
AntsyLich 77a1a5afbd Make ExtensionsViewModel collect extensions only while subscribed (#3729)
Assisted-by: Claude:claude-opus-5
2026-08-08 20:05:11 +06:00
AntsyLich a494ebd791 Make HistoryViewModel collect history only while subscribed (#3728)
Assisted-by: Claude:claude-opus-5
2026-08-08 20:04:41 +06:00
AntsyLich c68efd0e86 Make DownloadQueueViewModel collect downloads only while subscribed (#3727)
Assisted-by: Claude:claude-opus-5
2026-08-08 20:04:29 +06:00
AntsyLich ae37c1651a Make ExtensionDetailsViewModel collect sources only while subscribed (#3726)
Assisted-by: Claude:claude-opus-5
2026-08-08 20:04:17 +06:00