vladimiry / ElectronMail

Unofficial ProtonMail Desktop App
GNU General Public License v3.0
1.49k stars 96 forks source link

Problem with loading the proton web client webview/page (timeout) #559

Open vladimiry opened 1 year ago

vladimiry commented 1 year ago

Grouping issue for this kind of problem.

I made some changes for 5.1.0, but it appears that the issue is still there, #558 in 5.1.1.

hopeless-attempt commented 1 year ago

Thanks Vladimiry for the reply. Tried the 5.1.1 Flatpak. Same problem as with the deb & appimage. Not to worry, 5.1.0 sttill works.

vladimiry commented 1 year ago

Not to worry, 5.1.0 sttill works.

I didn't make any changes in 5.1.1 related to the proton web client webview/page loading. So since 5.1.0 still works well, it appears that the currently implemented webview/page loading scenario is somehow sensitive to the @electron / @chromium / @angular updates (I used to update everything before every release).

Uj947nXmRqV2nRaWshKtHzTvckUUpD commented 1 year ago

observed the error on one of the accounts today, but after reopenning the app, i saw 3 accounts were logged out

Uncaught (in promise): Error: Failed to load "webclient://mail.proton.me/blank.html?loader-id=0689474c-f0d5-4beb-862f-95573bc3fdbd" page in 15000ms Error: Failed to load "webclient://mail.proton.me/blank.html?loader-id=0689474c-f0d5-4beb-862f-95573bc3fdbd" page in 15000ms at file:///C:/Users//AppData/Local/Programs/ElectronMail/resources/app.asar/app/web/browser-window/index.mjs:8665:19 at Generator.throw () at asyncGeneratorStep (file:///C:/Users//AppData/Local/Programs/ElectronMail/resources/app.asar/app/web/browser-window/index.mjs:40916:28) at _throw (file:///C:/Users//AppData/Local/Programs/ElectronMail/resources/app.asar/app/web/browser-window/index.mjs:40933:13) at _ZoneDelegate.invoke (file:///C:/Users//AppData/Local/Programs/ElectronMail/resources/app.asar/app/web/browser-window/index.mjs:6090:164) at Object.onInvoke (file:///C:/Users//AppData/Local/Programs/ElectronMail/resources/app.asar/app/web/browser-window/index.mjs:28576:29) at _ZoneDelegate.invoke (file:///C:/Users//AppData/Local/Programs/ElectronMail/resources/app.asar/app/web/browser-window/index.mjs:6090:52) at Zone.run (file:///C:/Users//AppData/Local/Programs/ElectronMail/resources/app.asar/app/web/browser-window/index.mjs:5905:41) at file:///C:/Users//AppData/Local/Programs/ElectronMail/resources/app.asar/app/web/browser-window/index.mjs:6736:32 at _ZoneDelegate.invokeTask (file:///C:/Users//AppData/Local/Programs/ElectronMail/resources/app.asar/app/web/browser-window/index.mjs:6105:177)

vladimiry commented 1 year ago

Added short delay before loading that blank.html entry point page. Hope this will increase the stability.

vladimiry commented 1 year ago

Those who face the permanent "webview" loading timeout issue and running multiple accounts, consider setting up the login/load delay for the accounts, so you load them in a sequence. See the "Login delay range (seconds)" input field in the "Advanced settings" block located on the account edit form. So you set up no delay value for the first account, like 5-10 range for the second account, then 10-15, and so on.

Uj947nXmRqV2nRaWshKtHzTvckUUpD commented 1 year ago

I already had 10-30 seconds on all my accounts, but seem to happen quite rarely nowadays.

fmunim commented 1 year ago
Uncaught (in promise): WebviewPingFailedError: Failed to ping the "webview" backend service (timeout: 7000ms).
WebviewPingFailedError: Failed to ping the "webview" backend service (timeout: 7000ms).
at file:///Applications/ElectronMail.app/Contents/Resources/app.asar/app/web/browser-window/index.mjs:8845:83
at Observable.init [as _subscribe] (file:///Applications/ElectronMail.app/Contents/Resources/app.asar/app/web/browser-window/index.mjs:4096:33)
at Observable._trySubscribe (file:///Applications/ElectronMail.app/Contents/Resources/app.asar/app/web/browser-window/index.mjs:2948:23)
at file:///Applications/ElectronMail.app/Contents/Resources/app.asar/app/web/browser-window/index.mjs:2942:119
at errorContext (file:///Applications/ElectronMail.app/Contents/Resources/app.asar/app/web/browser-window/index.mjs:5293:14)
at Observable.subscribe (file:///Applications/ElectronMail.app/Contents/Resources/app.asar/app/web/browser-window/index.mjs:2940:63)
at doInnerSub (file:///Applications/ElectronMail.app/Contents/Resources/app.asar/app/web/browser-window/index.mjs:4425:52)
at outerNext (file:///Applications/ElectronMail.app/Contents/Resources/app.asar/app/web/browser-window/index.mjs:4419:38)
at OperatorSubscriber._this._next (file:///Applications/ElectronMail.app/Contents/Resources/app.asar/app/web/browser-window/index.mjs:4149:13)
at Subscriber.next (file:///Applications/ElectronMail.app/Contents/Resources/app.asar/app/web/browser-window/index.mjs:3219:97)×
Failed to ping the "webview" backend service (timeout: 7006ms).

Just got this o.o

ghost commented 1 year ago

I am still getting this error message on ElectronMail v5.1.6 on Linux Mint 21.1. Every time I come back to my computer to check my email, I have hundreds of these error messages.

ghost commented 1 year ago

I am still getting this error message on ElectronMail v5.1.6 on Linux Mint 21.1. Every time I come back to my computer to check my email, I have hundreds of these error messages.

Situation is the same in v5.1.7

vladimiry commented 1 year ago

The idea is to replace ipc-message-based webview <=> window communication with a communication via ipcMain used as a proxy between webview/window. This is a major change, and I don't give a time frame for when I make it.

vladimiry commented 1 year ago

Asking those who experience the issue to test this build. It's assembled from the wip branch, so if needed you can build it from sources at your side. If it runs well, the change is going to be included in the next release. I'm starting using it too.

vladimiry commented 1 year ago

I was somehow misleading in the previous message. The shared build comes with Failed to ping the "webview" backend service error message suppressing/fix (included in the next/5.1.8 release). But the original issue cause Problem with loading the proton web client webview/page remains undiscovered and so untouched.

jarrard commented 1 year ago

This issue happens on Windows11 from time to time.
Normally deleting the offending account that triggers it (or all) and readding them resolves the problem however not always. When this issue happens the accounts affected or all accounts loose their credential logins. Sometimes restarting app can resolve those accounts that timeout and re-login isn't needed, sometimes not. This issue may be triggered due to a race start condition if you have no delay on your Autostart method. This issue also happens under Linux.

ghost commented 12 months ago

These error messages continue to accumulate for me. If I step away from my computer for more than 20 minutes I will have hundreds of these. My accounts stay logged in but I'm still getting these. Still no fix for this, more than a year later? I'm using the .deb downloaded from the releases page on Linux Mint 21.1 Xfce.

vladimiry commented 12 months ago

Still no fix for this, more than a year later?

Correct. And no upcoming related work planned to happen from my side. Why? Because it's FOSS, so anyone who faces the issue could look into it in a debugger, etc. If I get the issue reproduced at my side, I likely look into it, but it's no the case at the moment, and making improvements based on guesses is not something I'm ready to continue doing for this project at this time.

If I step away from my computer for more than 20 minutes I will have hundreds of these.

The recent app release should not throw Failed to ping the "webview" backend service errors at all (the related code piece got cut out), so it must be something different from the Failed to ping the "webview" backend service error.

ghost commented 12 months ago

This is the error message I am receiving:

Uncaught (in promise): Error: Invocation timeout of calling "resolveLiveProtonClientSession" method on "electron-mail:webview-api:primary" channel with 25000ms timeout
Error: Invocation timeout of calling "resolveLiveProtonClientSession" method on "electron-mail:webview-api:primary" channel with 25000ms timeout
at <anonymous>:965:24
at Observable.init [as _subscribe] (<anonymous>:5192:35)
at Observable._trySubscribe (<anonymous>:3207:25)
at <anonymous>:3201:121
at Object.errorContext (<anonymous>:10325:16)
at Observable.subscribe (<anonymous>:3199:26)
at doInnerSub (<anonymous>:6915:58)
at outerNext (<anonymous>:6909:40)
at OperatorSubscriber._this._next (<anonymous>:5367:15)
at Subscriber.next (<anonymous>:3613:123)
vladimiry commented 12 months ago

@Skaalgard, this is not the original error. Can't say what causes the issue since I didn't look into it as there is no reproducible case at my side, but clearly in your case something is jamming the process of resolving Proton's client/web-side session for further saving it at the app side which is a part of the "auto-login into the proton account" feature.

vladimiry commented 12 months ago

@Skaalgard, consider trying alternative Linux package types with some isolation capabilities, like https://flathub.org/apps/com.github.vladimiry.ElectronMail or/and https://snapcraft.io/electron-mail. There is a small chance that there will be no issue you are facing.

ghost commented 12 months ago

I get this error with both the flatpak and .deb, on both of my Linux Mint machines.

softwarepagan commented 8 months ago

I'm still getting this error:

Invocation timeout of calling "resolveLiveProtonClientSession" method on "electron-mail:webview-api:primary" channel with 25000ms timeout

Every time I open the window after it's been open for about 20 minutes (sometimes less), regardless of if the computer has gone to sleep or not, there are always 50 of these notifications open.

This happens regardless of if I'm using the .deb, the flatpak, or the appimage. I've tried all three. It also happens on both of my computers.

I'm running ElectronMail v5.2.2, with: Electron: 27.1.0 Chromium: 118.0.5993.144 Node: 18.17.1 V8: 11.8.172.17-electron.0

My system is running Linux Mint 21.1 x86_64 with Xfce 4.16.

Uj947nXmRqV2nRaWshKtHzTvckUUpD commented 5 months ago

errors seem to have ceased lately. however i am periodically being logged out on some of the accounts, while only some are remembered. when trying to relogin, recaptcha is shown. maybe these 2 things are somehow connected and it's some antispam protection from proton servers. probably related to https://github.com/vladimiry/ElectronMail/issues/621

Uj947nXmRqV2nRaWshKtHzTvckUUpD commented 5 months ago

errors seem to have ceased lately. however i am periodically being logged out on some of the accounts, while only some are remembered. when trying torelogin, recaptcha is shown. maybe these 2 things are somehow connected and it's some antispam protection from proton servers. probably related to #621

spoke too soon.. got one today:

Invocation timeout of calling "notification" method on "electron-mail:webview-api:primary" channel with 25000ms timeout

vladimiry commented 5 months ago

Invocation timeout of calling "notification" method on "electron-mail:webview-api:primary" channel with 25000ms timeout

Working on updating packaged https://github.com/ProtonMail/WebClients bundle, I faced the case myself. Now it's easy to reproduce and so it's going to be fixed in the next release. It's clearly a regular timing/racing issue, when in some cases the "notification" call gets triggered before the handler for this call got registered at the "webview" side, and so the call doesn't get a response (currently the missed calls don't get buffered waiting for the handler to get ready).