jstaf / onedriver

A native Linux filesystem for Microsoft OneDrive
GNU General Public License v3.0
1.86k stars 91 forks source link

The embedded web browser authentication window displays as blank #378

Open dtufood-kihen opened 5 months ago

dtufood-kihen commented 5 months ago

Although visually blank, the window contains selectable (and copyable) text, suggesting the content is present but not rendered visibly.

Package: onedriver/unknown,now 0.14.0-1 amd64 [installed] OS: Ubuntu 22.04.3 LTS

image

Sophokles187 commented 5 months ago

Same Problem for me on Fedora 39

foopsss commented 5 months ago

I can't reproduce this issue on onedriver 0.14.1 using Gentoo with GNOME 44.3 (and neither with GNOME 45.2). Window content shows just fine both on Wayland and X11, although it does take a couple of seconds to load.

@dtufood-kihen Could you show me a screenshot of the "About" window? Your post suggests you are not running the latest version, which is 0.14.1. OBS has a 0.14.1 package for Ubuntu 22.04, although the OBS repo might be "broken" for the moment according to issue #373, so you might not have been served that update. However, you can manually download the latest package for your distro from the repo page.

@Sophokles187 Are you running 0.14.1? Copr has a 0.14.1 build that you should have installed by now if everything is working as intended.

Sophokles187 commented 5 months ago

@foopsss Thanks for your reply! According to the About page i have v0.14.1 15a1c642. Which should be the latest as i just installed it the other day. Edit: I noticed that it seems to load something but displaying it is broken. I have a plain white window, but i can highlight stuff in it and copypaste it, for example i was able to copy this out of the window:

Sign in to GitHub to continue to Microsoft-Corporation Username or email address

Password Forgot password? Terms Privacy Docs Contact Microsoft Manage cookies

Sophokles187 commented 5 months ago

Ok i'm pretty sure (at least for me) it's a problem with Gnome Xorg. I just rebooted with wayland and now it displays the window content correct.

foopsss commented 5 months ago

@foopsss Thanks for your reply! According to the About page i have v0.14.1 15a1c64.

That's alright, you are on the latest version.

Ok i'm pretty sure (at least for me) it's a problem with Gnome Xorg. I just rebooted with wayland and now it displays the window content correct.

Can't reproduce this either. I've updated my first response with the details relevant to your answer, but yeah, it just works™ with both X11 and Wayland for me on GNOME 44.3. Can you try deleting onedriver alongside its relevant files (/home/cache/onedriver, /home/.config/onedriver if it exists and /home/.local/share/onedriver) and reinstalling it?

Since you are using Fedora 39 I assume you are at the very least on GNOME 45, although I'd expect you to be on one of the 45 point releases by now. OP is using Ubuntu 22.04 LTS so he's at the very least on GNOME 42.0. I'm not sure what to piece together out of that though.

EDIT on 14/1/24: I've received the update to GNOME 45.2 and I still can't reproduce this issue either on X11 or Wayland. Weird.

dtufood-kihen commented 5 months ago

@foopsss Thanks for your reply. I have updated to the latest package manually, here is the screenshot of the about page as you requested. Also the problem still remains.

My current workaround is to use --no-browser option in a terminal.

image

foopsss commented 5 months ago

@dtufood-kihen Sorry for the late response and thanks for the updated report. Does the problem happen in both a Wayland and a X11 session or just in one of those?

I don't really have many ideas to debug this issue because I'm not able to reproduce it. Sophokles only has this problem when using X11, according to his previous messages.

ipimpat commented 5 months ago

@foopsss,

I've encountered a similar issue with DBeaver on Ubuntu 22.04/Wayland, which has an authentication flow similar to OneDriver, when connecting to an Azure SQL Database using MFA through a Microsoft account.

I think the problem might be related to the embedded web browser component (libwebkitgtk?) in conjunction with Microsoft's login page.

Interestingly, DBeaver offers an option to toggle between using an embedded web browser and the system's browser. This choice could imply that the DBeaver developers are aware of such issues, thus providing support for accessing the login page via the system browser.

Additionally, Azure Data Studio also opts to utilize the system browser for similar tasks.

Just a thought.

foopsss commented 5 months ago

@foopsss,

I've encountered a similar issue with DBeaver on Ubuntu 22.04/Wayland, which has an authentication flow similar to OneDriver, when connecting to an Azure SQL Database using MFA through a Microsoft account.

I think the problem might be related to the embedded web browser component (libwebkitgtk?) in conjunction with Microsoft's login page.

Interestingly, DBeaver offers an option to toggle between using an embedded web browser and the system's browser. This choice could imply that the DBeaver developers are aware of such issues, thus providing support for accessing the login page via the system browser.

Additionally, Azure Data Studio also opts to utilize the system browser for similar tasks.

Just a thought.

Interesting thought indeed, thanks. The embedded web browser is provided by WebKitGTK AFAIK. The only thing I can think of right now that could differ between me and the users that reported this issue is the WebKitGTK version being used to build onedriver, but I don't know if that's the problem.

Builds for Debian-based distros apparently rely on WebKitGTK v4.0. Fedora seems to ship v4.0 at the moment, judging by the version number of the latest stable build of the webkitgtk package for F39 (which appears to be the only webkit package available from F37 onwards BTW, I couldn't find anything called webkit2gtk3 that isn't for F36 and previous releases).

For my Gentoo ebuilds, I've stopped depending on WebKitGTK v4.0 and switched to v4.1 right after jstaf did so in onedriver.

sf-000 commented 4 months ago

Hello, same blank page here. I created "onedriver" folder in my homedir. And try to open with onedriver-gui. But only Blank Window. Have this on log:

Feb 13 14:38:50 PC onedriver.desktop[62093]: 14:38:50 INF Creating mountpoint. mountpoint=/home/hansi/onedriver systemdUnit=onedriver@home-hansi-onedriver.service
Feb 13 14:38:50 PC onedriver.desktop[62093]: 14:38:50 ERR Could not determine acccount name. error="open /home/hansi/.cache/onedriver/home-hansi-onedriver/auth_tokens.json: no such file or directory" mountpoint=/home/hansi/onedriver
Feb 13 14:38:50 PC systemd[27528]: Started onedriver.
Feb 13 14:38:50 PC onedriver.desktop[62093]: 14:38:50 DBG Opening directory. dir=/home/hansi/onedriver
Feb 13 14:38:50 PC onedriver[62131]: 14:38:50 INF onedriver v0.14.1 15a1c642
Feb 13 14:38:50 PC onedriver[62131]: Overriding existing handler for signal 10. Set JSC_SIGNAL_FOR_GC if you want WebKit to use a different signal
Feb 13 14:38:50 PC onedriver[62170]: KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Keine Berechtigung
Feb 13 14:38:50 PC onedriver[62170]: Failed to create GBM buffer of size 450x600: Keine Berechtigung
Feb 13 14:38:50 PC onedriver[62170]: KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Keine Berechtigung
Feb 13 14:38:50 PC onedriver[62170]: Failed to create GBM buffer of size 450x600: Keine Berechtigung
Feb 13 14:38:50 PC onedriver[62170]: KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Keine Berechtigung
Feb 13 14:38:50 PC onedriver[62170]: Failed to create GBM buffer of size 450x600: Keine Berechtigung
Feb 13 14:38:50 PC onedriver[62170]: Failed to create EGL images for DMABufs with file descriptors -1, -1 and -1
Feb 13 14:38:50 PC rtkit-daemon[1687]: Supervising 8 threads of 4 processes of 1 users.
Feb 13 14:38:50 PC rtkit-daemon[1687]: Successfully made thread 62191 of process 62170 owned by '1001' RT at priority 5.
Feb 13 14:38:50 PC rtkit-daemon[1687]: Supervising 9 threads of 5 processes of 1 users.
Feb 13 14:38:50 PC rtkit-daemon[1687]: Supervising 9 threads of 5 processes of 1 users.
Feb 13 14:38:50 PC rtkit-daemon[1687]: Successfully made thread 62223 of process 62170 owned by '1001' RT at priority 5.
Feb 13 14:38:50 PC rtkit-daemon[1687]: Supervising 10 threads of 5 processes of 1 users.
Feb 13 14:39:00 PC onedriver[62131]: 14:39:00 FTL No validation code returned, or code was invalid. Please restart the application and try again.
Feb 13 14:39:00 PC systemd[27528]: onedriver@home-hansi-onedriver.service: Main process exited, code=exited, status=1/FAILURE
Feb 13 14:39:00 PC fusermount[62259]: /usr/bin/fusermount: entry for /home/hansi/onedriver not found in /etc/mtab
Feb 13 14:39:00 PC systemd[27528]: onedriver@home-hansi-onedriver.service: Control process exited, code=exited, status=1/FAILURE
Feb 13 14:39:00 PC systemd[27528]: onedriver@home-hansi-onedriver.service: Failed with result 'exit-code'.
Feb 13 14:39:00 PC systemd[27528]: onedriver@home-hansi-onedriver.service: Consumed 1.502s CPU time.

Ubuntu 22.04.3 LTS here.

Thanks for this cool App.

foopsss commented 4 months ago

@sf-000 Are you running a X11 or Wayland session? Does the window have any invisible content that you are able to select?

cercos commented 1 month ago

Having the same issue.

System info: Operating System: Arch Linux KDE Plasma Version: 6.0.4 KDE Frameworks Version: 6.2.0 Qt Version: 6.7.0 Kernel Version: 6.8.9-arch1-2 (64-bit) Graphics Platform: X11 Processors: 24 × AMD Ryzen Threadripper PRO 5945WX 12-Cores Memory: 31.2 GiB of RAM Graphics Processor: NVIDIA T1000 8GB/PCIe/SSE2 Manufacturer: LENOVO Product Name: 30E000MEUS System Version: ThinkStation P620

Using the Nvidia proprietary driver and if I switch from X to Wayland the window displays the content.

luca-ing commented 3 weeks ago

One more datapoint: observing the same issue on Manjaro/i3/X11/nvidia.

Sadly using Wayland doesn't seem to be an option for me.

cercos commented 3 weeks ago

One more datapoint: observing the same issue on Manjaro/i3/X11/nvidia.

Sadly using Wayland doesn't seem to be an option for me.

I don't use Wayland either but I switched to it just for the sake of setting up the onedriver and then switched back to x11.

van-deste commented 3 weeks ago

I resolve in this way: Go to onedriver GUI and remove your mountpoint. After in the terminal put: onedriver -n /path/to/your/mountpoint that should be empty. The -n will disable the lauch via web, so you just need to follow the instructions on the terminal. Then, open the mountpoint in your files and all the data will be fetched. Finally, open again the onedriver GUI and click on the switch button to keep it mounted. The task of the onedriver in terminal will finish and you have all your data again in the computer.

I hope it helps!