Skip to content

Kagane: Update API Endpoint#13353

Merged
AwkwardPeak7 merged 13 commits intokeiyoushi:mainfrom
FumoRin:kagane-api-update
Feb 15, 2026
Merged

Kagane: Update API Endpoint#13353
AwkwardPeak7 merged 13 commits intokeiyoushi:mainfrom
FumoRin:kagane-api-update

Conversation

@FumoRin
Copy link
Contributor

@FumoRin FumoRin commented Feb 13, 2026

Warning

This PR still needs to be worked on. Most of the changes need to be reviewed first, since I relied on AI to guide me

This PR will close #13330. The extension is tested only to get the most popular and latest manga and read them. Filters need to be worked on, but I have something to do tomorrow. Expect some late follow-up

Checklist:

  • Updated extVersionCode value in build.gradle for individual extensions
  • Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
  • Referenced all related issues in the PR body (e.g. "Closes #xyz")
  • Added the isNsfw = true flag in build.gradle when appropriate
  • Have not changed source names
  • Have explicitly kept the id if a source's name or language were changed
  • Have tested the modifications by compiling and running the extension through Android Studio
  • Have removed web_hi_res_512.png when adding a new extension

@FumoRin FumoRin marked this pull request as draft February 13, 2026 17:42
@FumoRin
Copy link
Contributor Author

FumoRin commented Feb 13, 2026

PR changed to draft because there's still problem when fetching the image and causing error 404. Highly possible that the URL isn't constructed correctly

@D-Brox
Copy link
Contributor

D-Brox commented Feb 13, 2026

You can check my work on the Filters in https://github.com/D-Brox/extensions-source/tree/kagane-drm , it's mostly on the last commit.

I've also dealt with malformed URLs on the previous commit, so you can take a look there too.

My branch works, however only with a drm-proxy server.

@FumoRin
Copy link
Contributor Author

FumoRin commented Feb 13, 2026

Thanks for the feedback. I'll try to check at your work as soon as I could get into my PC.

@FumoRin
Copy link
Contributor Author

FumoRin commented Feb 14, 2026

@D-Brox, I'm merging changes from your work (literally using most of your work since it's much better). The functionality for reading, fetching data, and filtering is now working. The only downside is that if you try to open a filter field for genre, tags, or source, it will take a long time to load the data (around 20 seconds for tags), and could potentially crash the Mihon app. I don't know how to optimize it, but I'll make the PR open anyway and try to work on it if possible.

Here's the logs that might show the issues with filters

2026-02-14 15:27:55.381 22927-22932 app.mihon.dev           app.mihon.dev                        I  Background young concurrent copying GC freed 14MB AllocSpace bytes, 16(1580KB) LOS objects, 5% free, 122MB/129MB, paused 402us,69us total 348.304ms
2026-02-14 15:27:56.442 22927-22932 app.mihon.dev           app.mihon.dev                        I  Background concurrent copying GC freed 96MB AllocSpace bytes, 15(2916KB) LOS objects, 33% free, 48MB/72MB, paused 395us,66us total 360.031ms
2026-02-14 15:27:56.764 22927-22932 app.mihon.dev           app.mihon.dev                        I  Background young concurrent copying GC freed 27MB AllocSpace bytes, 4(360KB) LOS objects, 33% free, 46MB/70MB, paused 502us,63us total 105.893ms
2026-02-14 15:27:57.549 22927-22932 app.mihon.dev           app.mihon.dev                        I  Background young concurrent copying GC freed 16MB AllocSpace bytes, 1(128KB) LOS objects, 16% free, 59MB/70MB, paused 837us,75us total 101.317ms
2026-02-14 15:27:58.371 22927-22932 app.mihon.dev           app.mihon.dev                        I  Background concurrent copying GC freed 38MB AllocSpace bytes, 15(3912KB) LOS objects, 27% free, 62MB/86MB, paused 469us,65us total 378.919ms
2026-02-14 15:27:58.614 22927-22932 app.mihon.dev           app.mihon.dev                        I  Background young concurrent copying GC freed 28MB AllocSpace bytes, 2(332KB) LOS objects, 28% free, 59MB/83MB, paused 383us,66us total 118.767ms
2026-02-14 15:27:59.094 22927-22932 app.mihon.dev           app.mihon.dev                        I  Background young concurrent copying GC freed 5468KB AllocSpace bytes, 0(0B) LOS objects, 2% free, 81MB/83MB, paused 429us,70us total 257.785ms
2026-02-14 15:27:59.861 22927-22932 app.mihon.dev           app.mihon.dev                        I  Background concurrent copying GC freed 5442KB AllocSpace bytes, 2(316KB) LOS objects, 22% free, 84MB/108MB, paused 265us,73us total 767.005ms
2026-02-14 15:28:05.193 22927-22932 app.mihon.dev           app.mihon.dev                        I  Background young concurrent copying GC freed 5722KB AllocSpace bytes, 0(0B) LOS objects, 5% free, 102MB/108MB, paused 226us,181us total 461.855ms
2026-02-14 15:28:06.033 22927-22939 app.mihon.dev           app.mihon.dev                        I  Waiting for a blocking GC ProfileSaver
2026-02-14 15:28:06.236 22927-22932 app.mihon.dev           app.mihon.dev                        I  Background concurrent copying GC freed 6511KB AllocSpace bytes, 2(5296KB) LOS objects, 20% free, 93MB/117MB, paused 312us,74us total 871.464ms
2026-02-14 15:28:06.236 22927-22939 app.mihon.dev           app.mihon.dev                        I  WaitForGcToComplete blocked ProfileSaver on Background for 203.410ms
2026-02-14 15:28:21.124 22927-22932 app.mihon.dev           app.mihon.dev                        I  NativeAlloc concurrent copying GC freed 7923KB AllocSpace bytes, 5(172KB) LOS objects, 18% free, 106MB/130MB, paused 211us,176us total 1.107s
2026-02-14 15:28:22.895 22927-22927 Looper                  app.mihon.dev                        W  PerfMonitor longMsg : seq=4430 plan=15:27:54.549 late=6ms wall=28339ms h=android.view.Choreographer$FrameHandler c=android.view.Choreographer$FrameDisplayEventReceiver procState=-1
2026-02-14 15:28:22.895 22927-22927 Looper                  app.mihon.dev                        W  PerfMonitor doFrame : time=28339ms vsyncFrame=0 latency=6ms procState=-1 historyMsgCount=1
2026-02-14 15:28:22.902 22927-22927 Choreographer           app.mihon.dev                        I  Skipped 1333 frames!  The application may be doing too much work on its main thread.
2026-02-14 15:28:22.918 22927-23118 OpenGLRenderer          app.mihon.dev                        I  Davey! duration=28362ms; Flags=0, FrameTimelineVsyncId=12004383, IntendedVsync=44272783284937, Vsync=44272783284937, InputEventId=95072696, HandleInputStart=44272789991791, AnimationStart=44272790033945, PerformTraversalsStart=44278894838638, DrawStart=44278895057638, FrameDeadline=44272799951603, FrameInterval=44272789947791, FrameStartTime=16667382, SyncQueued=44301074281101, SyncStart=44301074443485, IssueDrawCommandsStart=44301127958870, SwapBuffers=44301137716716, FrameCompleted=44301145734024, DequeueBufferDuration=149923, QueueBufferDuration=787461, GpuCompleted=44301145734024, SwapBuffersCompleted=44301141433947, DisplayPresentTime=44270164432099, CommandSubmissionCompleted=44301137716716, 
2026-02-14 15:28:22.982 22927-22927 Looper                  app.mihon.dev                        W  PerfMonitor doFrame : time=80ms vsyncFrame=0 latency=22242ms procState=-1 historyMsgCount=4 (msgIndex=1 wall=28339ms seq=4430 late=6ms h=android.view.Choreographer$FrameHandler c=android.view.Choreographer$FrameDisplayEventReceiver)
2026-02-14 15:28:23.003 22927-23118 OpenGLRenderer          app.mihon.dev                        I  Davey! duration=22318ms; Flags=0, FrameTimelineVsyncId=12004542, IntendedVsync=44278894167176, Vsync=44301125122714, InputEventId=0, HandleInputStart=44301136825947, AnimationStart=44301136831793, PerformTraversalsStart=44301142985408, DrawStart=44301143170331, FrameDeadline=44278927500509, FrameInterval=44301136583178, FrameStartTime=16666667, SyncQueued=44301184620408, SyncStart=44301197389716, IssueDrawCommandsStart=44301216294639, SwapBuffers=44301217946562, FrameCompleted=44301225278255, DequeueBufferDuration=54231, QueueBufferDuration=421846, GpuCompleted=44301225278255, SwapBuffersCompleted=44301220186331, DisplayPresentTime=44270197755483, CommandSubmissionCompleted=44301217946562, 

@FumoRin FumoRin marked this pull request as ready for review February 14, 2026 08:47
@Kickunio
Copy link

Does it still need the drm proxy server for this build ? I get http error 400 after building the apk

@FumoRin
Copy link
Contributor Author

FumoRin commented Feb 14, 2026

I tested it without using the DRM Proxy Server, and I managed to have it able to read, fetch data, and filter working. Could you provide me with the HTTP request & response from the Mihon debugger?

@Kickunio
Copy link

Kickunio commented Feb 14, 2026

I'm using suwayomi, so it seems the problem is only connected with suwayomi.

The only thing I scraped up from the log is:

12:30:02.078 [DefaultDispatcher-worker-1] DEBUG eu.kanade.tachiyomi.network.NetworkHelper -- <-- 400 https://yuzuki.kagane.org/api/v2/search/series?page=0&size=35&sort=updated_at%2Cdesc&scanlations=true (99ms, 168-byte body)
12:30:02.078 [DefaultDispatcher-worker-1] ERROR suwayomi.tachidesk.graphql.AsDataFetcherResult -- asDataFetcherResult: failed due to
eu.kanade.tachiyomi.network.HttpException: HTTP error 400

@D-Brox
Copy link
Contributor

D-Brox commented Feb 14, 2026

@FumoRin The old extension delayed the filters by making you press reset to load them, so maybe you can bring back that.

I removed it because I just wanted to get it working first

@D-Brox
Copy link
Contributor

D-Brox commented Feb 14, 2026

@Kickunio I made the drm proxy server specifically with Suwayomi in mind lmao

I think they don't have support for POST requests in their cloudflare interceptor, so that's possibly it

@FumoRin
Copy link
Contributor Author

FumoRin commented Feb 14, 2026

The extension loads faster now. It's not as exact logic from the old extension because there's POST request to get the source list (I don't know why they do that ¯_(ツ)_/¯ ). The filter field for genre and source still has a bit of a delay when opened, but not as bad as tags' 30+ seconds load time, since it's handling a 190kb JSON file now, compared to 3-4kb for genre and source. But overall, the extension is ready

@FumoRin
Copy link
Contributor Author

FumoRin commented Feb 14, 2026

some problem after a long test, it looks like the token isn't able to refresh automatically after expired. So I need to fix that first before merging it

@FumoRin
Copy link
Contributor Author

FumoRin commented Feb 15, 2026

After a long test by myself, I could say that the extension is ready to be merged. I changed the tags to use text input to make it not render all of the tags' checkboxes (I figured that might be the cause of the 30+ seconds delay). The only problem now is the artist and author mapping, since the source still hasn't included one. I'll just let someone in the future work on it when the source fills the series_staff response

@AwkwardPeak7 AwkwardPeak7 merged commit be8baf9 into keiyoushi:main Feb 15, 2026
2 checks passed
@Qwerty0uiop
Copy link

Qwerty0uiop commented Feb 15, 2026

There is a source name in title issue, instead the source name in title, there is [Null].
Migration to the new version of the extension doesn't display the previously downloaded chapters.

@SuperMario22922
Copy link
Contributor

There is a source name in title issue, instead the source name in title, there is [Null]. Migration to the new version of the extension doesn't display the previously downloaded chapters.

CleanShot 2026-02-15 at 22 02 48@2x This is an example of what this means it all has "null" in the brackets

@DevkotaOSA
Copy link

DevkotaOSA commented Feb 15, 2026

Cloudbypass error. Loading just fine when I press web. Is there a solution to that? Restarted the app and still same problem despite the web working. In the setting it has a WVD file insert. Does that matter or can I leave it blank?

Screenshot_20260215_060125_Aniyomi

@Kickunio
Copy link

For me, on mihon and on suwayomi there's HTTP error 400 when go for latest, popular or filter tabs in source. Webview works ok on both.

@exeliuioar
Copy link

exeliuioar commented Feb 15, 2026

I'm seeing this on the Komikku app:

JsonDecodingException: Expected start of the array '[', but had 'EOF' instead at path: $
JSON Input:

Should I create another issue?
What should I do?

@nekonyappii-sketch
Copy link

For me, on mihon and on suwayomi there's HTTP error 400 when go for latest, popular or filter tabs in source. Webview works ok on both.

Same, you might want to go to advance and clear cookies and Webview data cause it works for me after that

@Qwerty0uiop
Copy link

Qwerty0uiop commented Feb 15, 2026

You're having issues because you're still dealing with the old version of the extension, migrate your series to the new version of the extension. That will fix this problem of yours.

@FiddleMySticks
Copy link

If you guys are having cloudflare issues, clear cookies and webview data and use the default mihon user agent (the one you have by default when you fresh install the app). Fixed my issue and now chapters load just fine.

There is still the problem with the source names being [null].

@exeliuioar
Copy link

exeliuioar commented Feb 15, 2026

I have updated my extension, that's the first thing I did 😅.

You're having issues because you're still dealing with the old version of the extension, migrate your series to the new version of the extension. That will fix this problem of yours.

Ok so I refreshed the webview and cookies data, and updated the extension, but now it is saying this:

Outdated chapter URL. Refresh the chapter list

How do I 'refresh the chapter list'?

@honggie96

This comment was marked as spam.

@Qwerty0uiop
Copy link

I have updated my extension, that's the first thing I did 😅.

You're having issues because you're still dealing with the old version of the extension, migrate your series to the new version of the extension. That will fix this problem of yours.

Ok so I refreshed the webview and cookies data, and updated the extension, but now it is saying this:

Outdated chapter URL. Refresh the chapter list

How do I 'refresh the chapter list'?

Then Did you migrate your Manhwa to the new version of extension [kagane], it's as adding it new.

@FiddleMySticks
Copy link

Yea, you need to remove them from the library and add them again. All the ones that were in the library prior to the update are broken, they need to be re-added

@exeliuioar
Copy link

exeliuioar commented Feb 15, 2026

I have updated my extension, that's the first thing I did 😅.

You're having issues because you're still dealing with the old version of the extension, migrate your series to the new version of the extension. That will fix this problem of yours.

Ok so I refreshed the webview and cookies data, and updated the extension, but now it is saying this:

Outdated chapter URL. Refresh the chapter list

How do I 'refresh the chapter list'?

Then Did you migrate your Manhwa to the new version of extension [kagane], it's as adding it new.

Oh ok so I have to re-add all of the manwha.

@FiddleMySticks
Copy link

FiddleMySticks commented Feb 15, 2026

If I were you, I would wait a bit until they fix the [null] issue.

Otherwise, you may need to re-add them again after if they break again :)

@Qwerty0uiop
Copy link

Qwerty0uiop commented Feb 15, 2026

I have updated my extension, that's the first thing I did 😅.

You're having issues because you're still dealing with the old version of the extension, migrate your series to the new version of the extension. That will fix this problem of yours.

Ok so I refreshed the webview and cookies data, and updated the extension, but now it is saying this:

Outdated chapter URL. Refresh the chapter list

How do I 'refresh the chapter list'?

Then Did you migrate your Manhwa to the new version of extension [kagane], it's as adding it new.

Oh ok so I have to re-add all of the manwha.

Instead of adding them again, just go to the Manhwa page, press the 3 points, press migrate, choose Kegane extension, then select the same Manhwa.

@exeliuioar
Copy link

@Qwerty0uiop and @FiddleMySticks ok thanks I understand.

@herecomeszoey22-bot
Copy link

If you guys are having cloudflare issues, clear cookies and webview data and use the default mihon user agent (the one you have by default when you fresh install the app). Fixed my issue and now chapters load just fine.

There is still the problem with the source names being [null].

I did everything but it still says failed to bypass cloudfare 🥲

@Qwerty0uiop
Copy link

If you guys are having cloudflare issues, clear cookies and webview data and use the default mihon user agent (the one you have by default when you fresh install the app). Fixed my issue and now chapters load just fine.
There is still the problem with the source names being [null].

I did everything but it still says failed to bypass cloudfare 🥲

Try this, if you did migrate the Manhwa to the new version of the extension, too. open webview to open the Manhwa page once.
Then get back to the mihon Manhwa page, it will work then.

@herecomeszoey22-bot
Copy link

If you guys are having cloudflare issues, clear cookies and webview data and use the default mihon user agent (the one you have by default when you fresh install the app). Fixed my issue and now chapters load just fine.
There is still the problem with the source names being [null].

I did everything but it still says failed to bypass cloudfare 🥲

Try this, if you did migrate the Manhwa to the new version of the extension, too. open webview to open the Manhwa page once. Then get back to the mihon Manhwa page, it will work then.

Thank you So much. It worked

@proler-48
Copy link

The chapters are still not working for me. I've tried clearing both the cookies and webview data. I've also checked whether they work on other titles which are added to the library after the update (they dont)

@DevkotaOSA

This comment was marked as spam.

@JochemKuipers

This comment was marked as off-topic.

@herecomeszoey22-bot

This comment was marked as spam.

@Smol-Ame
Copy link
Contributor

This is a closed/merged PR, there's existing requests & a new PR. Read the issue request + comments for whatever issue you're experiencing, otherwise wait patiently & quietly for a fix if you don't have useful information for contributors to figure out a fix.

@keiyoushi keiyoushi locked and limited conversation to collaborators Feb 16, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Kagane: Unable to resolve host/HTTP 404 error, new API/API URL