hakuneko icon indicating copy to clipboard operation
hakuneko copied to clipboard

[MangaDex] Connector not working

Open MarqFJA87 opened this issue 2 months ago • 6 comments

Is there an existing issue for this connector?

  • [X] I have searched the existing issues

Did you read the troubleshooting guide ?

  • [X] I read it but nothing seems related

Is the website of the connector working properly ?

  • [X] Yes i'm able to see the manga within my standard browser

Make sure to try Nightly Build

  • [X] Yes nightly build didn't fix the issue

What kind of issue are you encountering

Manga list isn't refreshing

Describe the bug

Ever since MangaDex underwent maintenance yesterday, HakuNeko became unable to connect at all to the site.

  1. All of the bookmarked mangas' chapter lists are empty of anything but previously downloaded chapters, and refuse to update no matter what.
getUpdatedChaptersFromWebsite Error: ERR_FAILED https://mangadex.org/
    at Request.mjs:394
    at CallbacksRegistry.apply (callbacks-registry.ts:46)
    at remote.js:297
    at EventEmitter.<anonymous> (remote.js:277)
    at EventEmitter.emit (events.js:210)
    at Object.onMessage (init.ts:51)
(anonymous) @ Manga.mjs:153
Promise.catch (async)
_getUpdatedChaptersFromWebsite @ Manga.mjs:151
(anonymous) @ Manga.mjs:98
Promise.then (async)
getChapters @ Manga.mjs:94
onSelectedMangaChanged @ chapters.html:244
runObserverEffect @ property-effects.html:217
runEffectsForProperty @ property-effects.html:162
runEffects @ property-effects.html:128
_propertiesChanged @ property-effects.html:1662
_flushProperties @ properties-changed.html:341
_flushProperties @ property-effects.html:1510
__enableOrFlushClients @ property-effects.html:1555
_flushClients @ property-effects.html:1530
_propertiesChanged @ property-effects.html:1658
_flushProperties @ properties-changed.html:341
_flushProperties @ property-effects.html:1510
_invalidateProperties @ property-effects.html:1482
runNotifyEffects @ property-effects.html:261
_propertiesChanged @ property-effects.html:1665
_flushProperties @ properties-changed.html:341
_flushProperties @ property-effects.html:1510
_invalidateProperties @ property-effects.html:1482
set @ property-effects.html:1817
onMangaClicked @ mangas.html:263
handler @ template-stamp.html:96
(anonymous) @ templatize.html:149
remote.js:224 Uncaught Error: Object has been destroyed
    at electron/js2c/browser_init.js:6863
    at IpcMainImpl.<anonymous> (electron/js2c/browser_init.js:6706)
    at IpcMainImpl.emit (events.js:210)
    at WebContents.<anonymous> (electron/js2c/browser_init.js:3930)
    at WebContents.emit (events.js:210)
exception @ remote.js:224
metaToValue @ remote.js:228
descriptor.get @ remote.js:147
(anonymous) @ Request.mjs:372
apply @ callbacks-registry.ts:46
(anonymous) @ remote.js:297
(anonymous) @ remote.js:277
emit @ events.js:210
onMessage @ init.ts:51
callbacks-registry.ts:46 Uncaught (in promise) Error: ERR_FAILED (-2) loading 'https://mangadex.org/'
    at rejectAndCleanup (electron/js2c/browser_init.js:6126)
    at WebContents.failListener (electron/js2c/browser_init.js:6136)
    at WebContents.emit (events.js:215)
apply @ callbacks-registry.ts:46
(anonymous) @ remote.js:297
(anonymous) @ remote.js:277
emit @ events.js:210
onMessage @ init.ts:51
Request.mjs:388 Uncaught (in promise) Error: Object has been destroyed
    at electron/js2c/browser_init.js:6863
    at IpcMainImpl.<anonymous> (electron/js2c/browser_init.js:6706)
    at IpcMainImpl.emit (events.js:210)
    at WebContents.<anonymous> (electron/js2c/browser_init.js:3930)
    at WebContents.emit (events.js:210)
  1. Copy-pasting the manga's link doesn't do anything to help.
CLIPBOARD: https://mangadex.org/title/40aafcb8-2649-4f9c-94fe-a7b4ce9ebd9a/clinic-of-horrors Error: ERR_FAILED https://mangadex.org/
    at Request.mjs:394
    at CallbacksRegistry.apply (callbacks-registry.ts:46)
    at remote.js:297
    at EventEmitter.<anonymous> (remote.js:277)
    at EventEmitter.emit (events.js:210)
    at Object.onMessage (init.ts:51)
(anonymous) @ ClipboardConnector.mjs:66
async function (async)
(anonymous) @ ClipboardConnector.mjs:64
_getMangaList @ ClipboardConnector.mjs:48
updateMangas @ ClipboardConnector.mjs:28
onUpdateMangaListClick @ mangas.html:233
onPasteClick @ mangas.html:340
handler @ template-stamp.html:96
remote.js:224 Uncaught Error: Object has been destroyed
    at electron/js2c/browser_init.js:6863
    at IpcMainImpl.<anonymous> (electron/js2c/browser_init.js:6706)
    at IpcMainImpl.emit (events.js:210)
    at WebContents.<anonymous> (electron/js2c/browser_init.js:3930)
    at WebContents.emit (events.js:210)
exception @ remote.js:224
metaToValue @ remote.js:228
descriptor.get @ remote.js:147
(anonymous) @ Request.mjs:372
apply @ callbacks-registry.ts:46
(anonymous) @ remote.js:297
(anonymous) @ remote.js:277
emit @ events.js:210
onMessage @ init.ts:51
callbacks-registry.ts:46 Uncaught (in promise) Error: ERR_FAILED (-2) loading 'https://mangadex.org/'
    at rejectAndCleanup (electron/js2c/browser_init.js:6126)
    at WebContents.failListener (electron/js2c/browser_init.js:6136)
    at WebContents.emit (events.js:215)
apply @ callbacks-registry.ts:46
(anonymous) @ remote.js:297
(anonymous) @ remote.js:277
emit @ events.js:210
onMessage @ init.ts:51
Request.mjs:388 Uncaught (in promise) Error: Object has been destroyed
    at electron/js2c/browser_init.js:6863
    at IpcMainImpl.<anonymous> (electron/js2c/browser_init.js:6706)
    at IpcMainImpl.emit (events.js:210)
    at WebContents.<anonymous> (electron/js2c/browser_init.js:3930)
    at WebContents.emit (events.js:210)
  1. And when I try to refresh the manga list itself, I receive "Failed to update manga list for MangaDex" as the error message, and the following log from the console.
remote.js:224 Uncaught Error: Object has been destroyed
    at electron/js2c/browser_init.js:6863
    at IpcMainImpl.<anonymous> (electron/js2c/browser_init.js:6706)
    at IpcMainImpl.emit (events.js:210)
    at WebContents.<anonymous> (electron/js2c/browser_init.js:3930)
    at WebContents.emit (events.js:210)
exception @ remote.js:224
metaToValue @ remote.js:228
descriptor.get @ remote.js:147
(anonymous) @ Request.mjs:372
apply @ callbacks-registry.ts:46
(anonymous) @ remote.js:297
(anonymous) @ remote.js:277
emit @ events.js:210
onMessage @ init.ts:51
callbacks-registry.ts:46 Uncaught (in promise) Error: ERR_FAILED (-2) loading 'https://mangadex.org/'
    at rejectAndCleanup (electron/js2c/browser_init.js:6126)
    at WebContents.failListener (electron/js2c/browser_init.js:6136)
    at WebContents.emit (events.js:215)
apply @ callbacks-registry.ts:46
(anonymous) @ remote.js:297
(anonymous) @ remote.js:277
emit @ events.js:210
onMessage @ init.ts:51
Request.mjs:388 Uncaught (in promise) Error: Object has been destroyed
    at electron/js2c/browser_init.js:6863
    at IpcMainImpl.<anonymous> (electron/js2c/browser_init.js:6706)
    at IpcMainImpl.emit (events.js:210)
    at WebContents.<anonymous> (electron/js2c/browser_init.js:3930)
    at WebContents.emit (events.js:210)

Yes, I am using Nightly build. I even reinstalled it from the given link and reattempted all the above just to be sure (though I have no idea how a release from four years ago would be helpful).

To Reproduce

  1. Use MangaDex
  2. Try to open any title's chapter list
  3. Try to copy-paste a title's URL
  4. Try to update MangaDex's manga list
  5. All error messages have been provided in the problem's description above

MarqFJA87 avatar Apr 27 '24 14:04 MarqFJA87

(though I have no idea how a release from four years ago would be helpful).

Maybe reading would help? :D

image

Last update was 3 days ago. 😏

image

Anyway let me repeat: if you have "Failed to update manga list for MangaDex" then you probably ARENT using nightly as nightly fetch a cached mangalist from mangadex. Precisely to avoid your error message. The alternative is to set throttle to 5k in settings and wait a few hours.

https://github.com/manga-download/hakuneko/blob/1be496912cc0f219b3eab97dcd347fb2a6f63691/src/web/mjs/connectors/MangaDex.mjs#L72

As for finding nightly build link, its right here, when you filled the issue . image https://github.com/manga-download/hakuneko/releases

And i am sorry but pasting 'https://mangadex.org/title/40aafcb8-2649-4f9c-94fe-a7b4ce9ebd9a/clinic-of-horrors' actually works.

image

I don't understand what's going on but its on your end 🤷 . Gotta check if you can access to mangadex outside Hakuneko?

I am no magician, i use the same nightly than everyone, i got no problems at all.

MikeZeDev avatar Apr 27 '24 16:04 MikeZeDev

Maybe reading would help? :D

Last update was 3 days ago. 😏

Yeah, I did see that already. It's just so outside the norms that I'm used to that I still remained skeptical.

Anyway let me repeat: if you have "Failed to update manga list for MangaDex" then you probably ARENT using nightly as nightly fetch a cached mangalist from mangadex. Precisely to avoid your error message.

That's impossible. I even specifically found and installed it from the same place that you pointed out, just to eliminate that possibility. Ironically, in the process I realized that I already was using it, because when I went to save the installer in the usual folder for such, I found an older one with the exact same file name and size sitting there; but I went and saved over that and reinstalled the app anyway just to be 100% sure. Still, nothing changed.

The alternative is to set throttle to 5k in settings and wait a few hours.

If we're talking about throttling the API requests, I have it set to 10,000 since before I opened this thread, and it's still not working when I opened the app just now.

I don't understand what's going on but its on your end 🤷 . Gotta check if you can access to mangadex outside Hakuneko?

Yes, I can access it just fine on my desktop browser. Why do you think I checked the third item in the list I was presented with when I was writing the OP? I'm not like the other guy that reported a problem with this site yesterday; I made a point of going through every item in the list, in the hope that it could possibly solve the issue.

FWIW, I seem to have no problem connecting to other sites; Webtoon is accessible to me, for one.

I am no magician, i use the same nightly than everyone, i got no problems at all.

I really wish I knew what else I could tell you that may help identify the problem. Do the error messages I've shown you at least give any hints as to what is happening?

And before anyone asks, I never had to fill in the app's proxy rules/authentication entries with the connection that I'm using, so I'm doubtful that's the cause.

MarqFJA87 avatar Apr 27 '24 21:04 MarqFJA87

Yes, I can access it just fine on my desktop browser. Why do you think I checked the third item in the list I was presented with when I was writing the OP? I'm not like the other guy that reported a problem with this site yesterday; I made a point of going through every item in the list, in the hope that it could possibly solve the issue.

Sorry, its that everyone is checking boxes without reading i had to make sure, its not against you 😔 Its standard process to make sure you did things right.

If we're talking about throttling the API requests, I have it set to 10,000 since before I opened this thread, and it's still not working when I opened the app just now.

Its a specific Mangadex throttling option, but perhaps you tried it already. Everyone who tired before said 5k was fine. It takes hours but it works in the end. 10000 is overkill o_o

The errors you got are weird. Very weird. I was gonna ask the obvious but if you can access to other websites inside Hakuneko there is no reasons why only mangadex would cause a problem.

That's impossible. I even specifically found and installed it from the same place that you pointed out, just to eliminate that possibility. Ironically, in the process I realized that I already was using it, because when I went to save the installer in the usual folder for such, I found an older one with the exact same file name and size sitting there; but I went and saved over that and reinstalled the app anyway just to be 100% sure. Still, nothing changed.

Weird. The code doesnt lie.

I would have said the obvious, like, try to

Can you try something?

Press F12. Look into the network tab and check which request is sent when you try to update manga list, and eventually if you got an http error.

I also saw that parsing the JSON we provide is using a freaking huge amount of memory but on today systems it wouldnt be a problem.

MikeZeDev avatar Apr 28 '24 09:04 MikeZeDev

Well, it was at 3000 originally (I think I had problems with MD getting triggered by too many requests), and I bumped it to 5000 in ultimately vain hope that it would work, then I decided to just escalate to 10K with the idea of gradually downgrading from there if it does the trick (it didn't, obviously). And IINM it's measured in microseconds, so setting it to 10K amounts to just 10 seconds. Is that really overkill, at least for the sake of seeing if it helps with the problem?

Anyway, I did as I you asked. This is what I got.

Added Network Seeds '[ https://uploads.mangadex.org/data/, https://cache.ayaya.red/mdah/data/, https://cache.ayaya.red/mdah/data/ ]' to MangaDex
remote.js:224 Uncaught Error: Object has been destroyed
    at electron/js2c/browser_init.js:6863
    at IpcMainImpl.<anonymous> (electron/js2c/browser_init.js:6706)
    at IpcMainImpl.emit (events.js:210)
    at WebContents.<anonymous> (electron/js2c/browser_init.js:3930)
    at WebContents.emit (events.js:210)
exception @ remote.js:224
metaToValue @ remote.js:228
descriptor.get @ remote.js:147
(anonymous) @ Request.mjs:372
apply @ callbacks-registry.ts:46
(anonymous) @ remote.js:297
(anonymous) @ remote.js:277
emit @ events.js:210
onMessage @ init.ts:51
callbacks-registry.ts:46 Uncaught (in promise) Error: ERR_FAILED (-2) loading 'https://mangadex.org/'
    at rejectAndCleanup (electron/js2c/browser_init.js:6126)
    at WebContents.failListener (electron/js2c/browser_init.js:6136)
    at WebContents.emit (events.js:215)
apply @ callbacks-registry.ts:46
(anonymous) @ remote.js:297
(anonymous) @ remote.js:277
emit @ events.js:210
onMessage @ init.ts:51
Request.mjs:388 Uncaught (in promise) Error: Object has been destroyed
    at electron/js2c/browser_init.js:6863
    at IpcMainImpl.<anonymous> (electron/js2c/browser_init.js:6706)
    at IpcMainImpl.emit (events.js:210)
    at WebContents.<anonymous> (electron/js2c/browser_init.js:3930)
    at WebContents.emit (events.js:210)
(anonymous) @ Request.mjs:388
async function (async)
(anonymous) @ Request.mjs:376
apply @ callbacks-registry.ts:46
(anonymous) @ remote.js:297
(anonymous) @ remote.js:277
emit @ events.js:210
onMessage @ init.ts:51

I can't tell if there's an HTTP error there. Does any of it help?

MarqFJA87 avatar Apr 28 '24 09:04 MarqFJA87

I was talking about Network tab

image

MikeZeDev avatar Apr 28 '24 10:04 MikeZeDev

O_O Okay, I am missing both of the "boxes" in the middle. This is what it looks like to me.

image

MarqFJA87 avatar Apr 28 '24 10:04 MarqFJA87

@MikeZeDev Okay, I just tried one last thing that I hadn't thought of before until Pixiv suddenly went down for me (and numerous other users around the world, but strangely not for others) a few hours ago. Namely, I activated ProtonVPN to spoof my geolocation.

Lo and behold, it worked. I've tested HakuNeko with and without the VPN masking, and concluded that whatever the problem is, it seems to be tied to the regional location from which HakuNeko is accessing the site (in my specific case, I'm connecting from Arabia; ProtonVPN spoofed it to look like I'm in Europe instead). Of course, like I said earlier, this issue doesn't happen at all on desktop.

Update: GoodbyeDPI is also working as a solution after I added the site's domain to the blacklist, before deactivating and then reactivating the app.

MarqFJA87 avatar May 01 '24 04:05 MarqFJA87

There is no difference between Hakuneko and your regular browser when it comes to use your internet connexion afaik.

And i didnt mention the VPN solution because you said mangadex was working in your browser.

Anyway, glad you got it working. And take care of yourself, if you got this kind of censorship its never good news.

MikeZeDev avatar May 01 '24 08:05 MikeZeDev

Honestly, I don't think it's censorship per se (especially because pages censored by the local media watchdogs generate a very distinct "this site/page is blocked" message page that I've more or less memorized by now), since it seems to suspiciously coincide with MangaDex's maintenance; I'm pretty sure HakuNeko was working fine earlier that day.

Anyway, thanks for at least trying to help despite being unable to reproduce the bug on your end.

MarqFJA87 avatar May 01 '24 15:05 MarqFJA87