Willy-JL / F95Checker

GNU General Public License v3.0
101 stars 16 forks source link

MacOS can’t find QWebEngineProcess #20

Closed tibucci closed 1 year ago

tibucci commented 1 year ago

Can't refresh on macOS, apps crash and gives out errors. Seen other comments like this on the f95 thread and that you know it's a problem. just putting this here so it's easier to track whether you solved it or not. Really looking forward to using this and finally have a little organization

Willy-JL commented 1 year ago

I don't think it's the same issue, what users were reporting was an issue with the login window not opening, and the log.txt saying that qt couldn't find QtWebEngineProcess, aka the browser engine for the login window. But it would just fail to refresh due to being unable to login, it wouldn't crash. If your issue is different go ahead and send you log.txt

tibucci commented 1 year ago

Thank you for the prompt answer! I'm attaching the log and screenshot of the errors. The system message is the first to appear (sorry it's in italian) and states that the app closed unexpectedly, so I guessed a component or something inside is crashing. The app in itself is still open and responsive

log.txt

Schermata 2022-08-10 alle 06 26 04 Schermata 2022-08-10 alle 06 25 48
Willy-JL commented 1 year ago

Ok yeah it actually is the same error. To open the login window it spawns a new child process, but in your case that process fails to find the web engine process so the child process crashes...

RRCN08 commented 1 year ago

Ok yeah it actually is the same error. To open the login window it spawns a new child process, but in your case that process fails to find the web engine process so the child process crashes...

Any update on this? Facing the same issue.

Willy-JL commented 1 year ago

Im not a mac user so i have to resort to using a macos virtual machine, which apparently is not even capable of running opengl so the graphical part of my app wont work at all for me, so debugging this will be a bit difficult for me. also considering the amount of mac users is quite low compared to the other platforms and that i am very unfamiliar with the ecosystem this is relatively low priority for now, sorry :/

RRCN08 commented 1 year ago

That’s cool yo. As a workaround, Mac users can use the windows version and just copy over the db file from windows to Mac, it should work flawlessly. Thanks for the efforts!

EDIT: For those who want to try this out.

  1. Download the Windows version, use a Windows machine/Bootcamp/Parallels Desktop to open it and login to your account.
  2. Once done, navigate to %APPDATA%\f95checker\
  3. Copy everything from there. (I think just the db.sqlite3 should suffice, but why should you bother?)
  4. Paste it in ~/Library/Application Support/f95checker/
  5. Run the program and it should be good to go.
tibucci commented 1 year ago

That’s cool yo. As a workaround, Mac users can use the windows version and just copy over the db file from windows to Mac, it should work flawlessly. Thanks for the efforts! Wait whaaat... how does that work? Do I have to keep the app on a windows machine and copy the database over after every update, added game and change or is it a one time thing?

RRCN08 commented 1 year ago

That’s cool yo. As a workaround, Mac users can use the windows version and just copy over the db file from windows to Mac, it should work flawlessly. Thanks for the efforts! Wait whaaat... how does that work? Do I have to keep the app on a windows machine and copy the database over after every update, added game and change or is it a one time thing?

haha, I have updated my response, check it out. Its a one time thing. Every function works flawlessly.

Willy-JL commented 1 year ago

Do I have to keep the app on a windows machine and copy the database over after every update, added game and change or is it a one time thing?

The issue here is login, because that tries to open a small integrated browser to let you login, but it fails to do that on MacOS. So this workaround needs to be done only when you need to login. If you have basic password authentication then it should only be required once, if instead you use 2 factor authentication, well that one expires after 1 month so you would need to do this every month. Hopefully I'll have a fix before then but I can't promise anything.

Willy-JL commented 1 year ago

Bit of an update: I'm getting tired of these 700mb+ bundle sizes all because of the browser window just for logging in, and also Qt has proven time and time again to be EXTREMELY bloated and hard to work with in terms of standalone packaging. I'm trying to switch over to GTK for the login window now, and possibly for the tray icon too if I get login to work. This would mean no more stupid Qt shenanigans, but time will tell if this will bring up a similar issue with GTK as Qt caused in this bugreport. Currently i have a working login window replacement working from source code, am currently working on packaging it as standalone. Progress is ongoing in the gtk-login branch. Also GTK seems to complain a lot less about running in the same thread as another interface toolkit (maybe I was just using Qt wrong, but no matter) so I managed to get this to work in the same thread, no more double process for the login window. Should mean it's gonna be more stable

tibucci commented 1 year ago

Thank you for your work😊

Willy-JL commented 1 year ago

After a lot of struggles, i found out that webkitgtk doesn't even work on windows so a full switch to gtk is not an option... i might try to make platform specific implementations so that atleast linux and macos might be spared from the pain of qt hell, but we'll see...

Willy-JL commented 1 year ago

Can you guys try to see if this is fixed with build 691? it is still using qt and qwebengineprocess, but i am invoking it differently, and in the more intended way so im hoping this fixes the issue...

Willy-JL commented 1 year ago

I am fairly confident that build 700 should fix this issue

Willy-JL commented 1 year ago

Released in version 9.5