Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Out of date webengine version" returned by WhatsApp login page #4445

Closed
epheo opened this issue Nov 30, 2018 · 69 comments
Closed

"Out of date webengine version" returned by WhatsApp login page #4445

epheo opened this issue Nov 30, 2018 · 69 comments
Labels
bug: behavior Something doesn't work as intended, but doesn't crash. priority: 0 - high Issues which are currently the primary focus.
Milestone

Comments

@epheo
Copy link

epheo commented Nov 30, 2018

Version info (see :version): 1.5.2-1

qutebrowser 1.5.2-1
qt5-webengine 5.11.2-2

Description
Since this morning, accessing https://web.whatsapp.com/ return the following error message:
"WhatsApp works with Google Chrome 36+, to use WhatsApp, update Chrome"

Both qtwebengine and qutebrowser seems to be the latest available version.

Is this more a bug for the Qt community ?

@The-Compiler
Copy link
Member

Works fine for me. Does it work with --temp-basedir? (take a guess why the issue template is asking that - so I don't have to 😉)

@The-Compiler The-Compiler added the status: needs triage Issues/PRs which need some deeper investigation. label Nov 30, 2018
@epheo
Copy link
Author

epheo commented Nov 30, 2018

Hi,
Tried with --temp-basedir before as well with the same result.

However, now it's just working fine...
I'm confused.

Not sure what changed in the past 10 minutes.

Closing this, thanks !

@epheo epheo closed this as completed Nov 30, 2018
@The-Compiler
Copy link
Member

The-Compiler commented Dec 2, 2018

Just saw this happen as well, with --temp-basedir, around 50% of the time - it's their UA parsing being broken, with the default UA but QtWebEngine/5.12.0 removed it always works...

I contacted them about it, but don't hold your breath...

@The-Compiler
Copy link
Member

Well, there's progress... maybe!

We apologize that we have not responded to your message.

We hope that you were able to find an answer in our Help Center: https://faq.whatsapp.com/.
If not, please respond to this email and we will prioritize your inquiry.

¯\_(ツ)_/¯

@ghost
Copy link

ghost commented Dec 12, 2018

Hi I got the same issue. When I try to set the UA, I don't see any default value. I tried
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
and
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:53.0) Gecko/20100101 Firefox/53.0
without success. Which UA should I use ?

@The-Compiler
Copy link
Member

@mrpewpew Go to http://httpbin.org/user-agent with the user agent set to an empty value, and copy-paste that with QtWebEngine/... removed.

@slashome
Copy link

sorry, such a newbie here but I tried to set it in qute://settings, but it disapear after restart qute then in config.py but it does'nt change anything :/

@ghost
Copy link

ghost commented Dec 12, 2018

@The-Compiler Unfortunately, it doesn't work, Whatsapp is still complaining. The resulting UA was :
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.128 Safari/537.36

@The-Compiler
Copy link
Member

@slashome If you have a config.py, settings via :set or qute://settings will be ignored by default. Not sure what else to say with that little information - you might want to read the configuration docs.

@mrpewpew I've heard that from someone else as well, but it consistently works fine for me with that user agent. Are you sure it's set correctly, i.e., did you visit http://httpbin.org/user-agent again to verify it's set properly?

@slashome
Copy link

What I was saying is that I tried to set it with qute://settings first, didn't worked then with config.py, didn't work either, I know the configuration priority order :) I'm gonna try to it again

@ghost
Copy link

ghost commented Dec 12, 2018

@The-Compiler Yes I double-checked everything. Will wait to see if it happens to other users as well

@The-Compiler
Copy link
Member

@mrpewpew Can you please try whether this works?

qutebrowser --temp-basedir -s content.headers.user_agent 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.128 Safari/537.36'

Also, if that doesn't, what about this UA?

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36

@ghost
Copy link

ghost commented Dec 12, 2018

@The-Compiler hum, it works with the first UA but only with --temp-basedir, doesn't work without that option.

@The-Compiler
Copy link
Member

@mrpewpew Then something in your config (or data/cache) is probably affecting it as well. Can you show your qute://configdiff page?

@ghost
Copy link

ghost commented Dec 12, 2018

Is there a way to clear data or cache ? Here is my configdiff

bindings.commands = {"normal": {"K": "tab-next", "J": "tab-prev", "j": "scroll-page 0 0.3", "k": "scroll-page 0 -0.3", "m": "spawn mpv --ytdl-raw-options=format=\"best[height<=480]\" {url}", "M": "hint links spawn mpv --ytdl-raw-options=format=\"best[height<=480]\" {hint-url}"}}
completion.cmd_history_max_items = 500
content.default_encoding = utf-8
content.headers.user_agent = Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.128 Safari/537.36
file://*: content.javascript.enabled = true
chrome://*/*: content.javascript.enabled = true
qute://*/*: content.javascript.enabled = true
fonts.completion.category = 8pt Hack
fonts.completion.entry = 8pt Hack
fonts.monospace = Hack
fonts.statusbar = 8pt Hack
fonts.tabs = 8pt Hack
fonts.web.size.default = 16
fonts.web.size.default_fixed = 14
qt.highdpi = true
tabs.last_close = startpage
url.searchengines = {"DEFAULT": "https://duckduckgo.com/?q={}"}
zoom.default = 150%

@epheo
Copy link
Author

epheo commented Dec 12, 2018

Same here, there's something else in my current conf or data breaking it:
If this is not config related, is there a way to delete the data and cookies of a specific domain only ?
Here's my configdiff, maybe we have an option in common.

aliases = {"q": "quit", "w": "session-save", "wq": "quit --save", "x": "quit --save"}
auto_save.session = true
content.cookies.accept = all
content.geolocation = false
content.headers.referer = same-domain
content.headers.user_agent = Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.230 Safari/537.36
file://*: content.javascript.enabled = true
chrome://*/*: content.javascript.enabled = true
qute://*/*: content.javascript.enabled = true
content.plugins = true
downloads.location.directory = 
editor.command = ["urxvt", "-e", "vim", "-f", "{file}", "-c", "normal {line}G{column0}l"]
qt.args = ["ppapi-widevine-path=/usr/lib64/qt5/plugins/ppapi/libwidevinecdmadapter.so"]
spellcheck.languages = ["en-US", "fr-FR"]
tabs.background = true
tabs.close_mouse_button_on_bar = new-tab
tabs.max_width = 150
tabs.min_width = 50
tabs.position = left
tabs.width = 10%
url.default_page = https://epheo.eu/empty.html
url.start_pages = https://epheo.eu/empty.html

edited by @The-Compiler to use triple-backticks so it's readable

@The-Compiler
Copy link
Member

Can you try quitting qutebrowser and then moving ~/.cache/qutebrowser away and see if that helps? If not, what about ~/.local/share/qutebrowser?

@epheo
Copy link
Author

epheo commented Dec 12, 2018

yes, works ok while deleting ~/.local/share/qutebrowser

@The-Compiler
Copy link
Member

Smells like WhatsApp sets a cookie or something... How annoying 😞

@Aster89
Copy link
Contributor

Aster89 commented Dec 13, 2018

Same problem here. My configdiff:

aliases = {"h": "home", "open": "open -r", "q": "close", "qa": "quit", "w": "session-save", "wq": "quit --save"}
auto_save.interval = 15000
auto_save.session = true
backend = webengine
bindings.commands = {"normal": {"<Back>": null, "<Ctrl+F5>": null, "<Ctrl+PgDown>": null, "<Ctrl+PgUp>": null, "<Ctrl+Shift+t>": null, "<Ctrl+Shift+w>": null, "<Ctrl+j>": "tab-move -", "<Ctrl+k>": "tab-move +", "<Ctrl+w>": null, "<F11>": null, "<Forward>": null, "J": "tab-prev", "K": "tab-next", "cm": "clear-messages"}}
bindings.key_mappings = {"<Ctrl+6>": "<Ctrl+^>", "<Ctrl+Enter>": "<Ctrl+Return>", "<Ctrl+[>": "<Escape>", "<Ctrl+j>": "<Return>", "<Ctrl+m>": "<Return>", "<Enter>": "<Return>", "<Shift+Enter>": "<Return>", "<Shift+Return>": "<Return>"}
colors.hints.bg = qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, 247, 133, 0.8), stop:1 rgba(255, 197, 66, 0.8))
colors.hints.fg = black
colors.hints.match.fg = green
colors.webpage.bg = white
confirm_quit = ["never"]
content.cookies.accept = all
content.headers.user_agent = Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.128 Safari/537.36
content.host_blocking.enabled = true
content.javascript.can_open_tabs_automatically = false
file://*: content.javascript.enabled = true
chrome://*/*: content.javascript.enabled = true
qute://*/*: content.javascript.enabled = true
content.plugins = true
content.proxy = system
fonts.completion.category = bold 12pt monospace
fonts.completion.entry = 12pt monospace
fonts.debug_console = 12pt monospace
fonts.downloads = 12pt monospace
fonts.hints = bold 10pt monospace
fonts.keyhint = 12pt monospace
fonts.messages.error = 12pt monospace
fonts.messages.info = 12pt monospace
fonts.messages.warning = 12pt monospace
fonts.monospace = "xos4 Terminus", Terminus, Monospace, "DejaVu Sans Mono", Monaco, "Bitstream Vera Sans Mono", "Andale Mono", "Courier New", Courier, "Liberation Mono", monospace, Fixed, Consolas, Terminal
fonts.prompts = 12pt sans-serif
fonts.statusbar = 12pt monospace
fonts.tabs = 12pt monospace
fonts.web.family.cursive = 
fonts.web.family.fantasy = 
fonts.web.family.fixed = 
fonts.web.family.sans_serif = 
fonts.web.family.serif = 
fonts.web.family.standard = 
fonts.web.size.default = 16
fonts.web.size.default_fixed = 12
fonts.web.size.minimum = 8
fonts.web.size.minimum_logical = 6
hints.mode = letter
history_gap_interval = 30
input.partial_timeout = 0
keyhint.blacklist = 
keyhint.delay = 100
keyhint.radius = 6
messages.timeout = 0
new_instance_open_target = tab
new_instance_open_target_window = last-focused
qt.args = 
qt.highdpi = true
search.ignore_case = smart
search.incremental = true
session.default_name = 
session.lazy_restore = false
tabs.select_on_remove = last-used
zoom.default = 100%
zoom.levels = ["25%", "33%", "50%", "67%", "75%", "90%", "100%", "110%", "125%", "150%", "175%", "200%", "250%", "300%", "400%", "500%"]
zoom.mouse_divider = 512

@pmiddend
Copy link

Note that for me, removing .local/share/qutebrowser/webengine/IndexedDB/https_web.whatsapp.com_0.indexeddb.leveldb worked. I didn't have to clear all the cache.

@Aster89
Copy link
Contributor

Aster89 commented Dec 13, 2018

If removing that folder is the only thing that was enough for you to solve the problem, then I confirm that it doesn't work for me, unfortunately.

@pmiddend
Copy link

@Aster89 Sorry, it wasn't. I had to switch the User-Agent, too.

@Aster89
Copy link
Contributor

Aster89 commented Dec 14, 2018

Which one?

@The-Compiler
Copy link
Member

See #4445 (comment)...

@Enzime
Copy link
Contributor

Enzime commented Dec 15, 2018

If you don't want to delete everything, you just need to delete any files/folders containing whatsapp inside the webengine/IndexedDB folder.

@hseg
Copy link

hseg commented Dec 15, 2018

Note: UA only needs to be changed once, to get a working login. After that WhatsApp seems to set some local flag that allows the browser to pass through with old UAs. So once that flag is on the system, there's no need to set the UA in config.py. Weird, though.

@The-Compiler
Copy link
Member

Since WhatsApp support seems to ignore people, it'd be good to have a workaround for this. Also see:

The-Compiler added a commit that referenced this issue Dec 20, 2019
WhatsApp Web:
See #4445

Google Accounts:
See #5147

Slack:
See #4669 (With older QtWebEngine versions, Slack refuses to work, despite
it (seemingly) working fine.)

Dell Support

Google Docs:
See #4805 and https://bugreports.qt.io/browse/QTBUG-69652
Note that the default UA with Chrome/... shows a "browser not supported"
warning.

Fixes #4810
The-Compiler added a commit that referenced this issue Dec 20, 2019
WhatsApp Web:
See #4445

Google Accounts:
See #5147

Slack:
See #4669 (With older QtWebEngine versions, Slack refuses to work, despite
it (seemingly) working fine.)

Dell Support

Google Docs:
See #4805 and https://bugreports.qt.io/browse/QTBUG-69652
Note that the default UA with Chrome/... shows a "browser not supported"
warning.

Fixes #4810
The-Compiler added a commit that referenced this issue Dec 20, 2019
WhatsApp Web:
See #4445

Google Accounts:
See #5147

Slack:
See #4669 (With older QtWebEngine versions, Slack refuses to work, despite
it (seemingly) working fine.)

Dell Support

Google Docs:
See #4805 and https://bugreports.qt.io/browse/QTBUG-69652
Note that the default UA with Chrome/... shows a "browser not supported"
warning.

Fixes #4810
The-Compiler added a commit that referenced this issue Dec 20, 2019
WhatsApp Web:
See #4445

Google Accounts:
See #5147

Slack:
See #4669 (With older QtWebEngine versions, Slack refuses to work, despite
it (seemingly) working fine.)

Dell Support

Google Docs:
See #4805 and https://bugreports.qt.io/browse/QTBUG-69652
Note that the default UA with Chrome/... shows a "browser not supported"
warning.

Fixes #4810
The-Compiler added a commit that referenced this issue Dec 20, 2019
WhatsApp Web:
See #4445

Google Accounts:
See #5147

Slack:
See #4669 (With older QtWebEngine versions, Slack refuses to work, despite
it (seemingly) working fine.)

Dell Support

Google Docs:
See #4805 and https://bugreports.qt.io/browse/QTBUG-69652
Note that the default UA with Chrome/... shows a "browser not supported"
warning.

Fixes #4810
@The-Compiler
Copy link
Member

I now pushed a fix for known-broken sites (WhatsApp, Google login, etc.) to the user-agent branch. If you're affected by one of those, could you please try that branch without any custom user agent set? Thanks!

@prosoitos
Copy link
Contributor

prosoitos commented Jan 4, 2020

Whatsapp now works for me without a custom user agent (while I used to get the same message as @AckslD before the fix).

Thanks!

(note: I imagine that you have now merged the user-agent branch with master as master works for me).

@hseg
Copy link

hseg commented Jan 5, 2020 via email

@The-Compiler
Copy link
Member

@hseg That seems unrelated to this issue, see #4657.

@hseg
Copy link

hseg commented Jan 6, 2020 via email

@The-Compiler
Copy link
Member

@hseg You seem to be running the v1.8.3 release. The fix for this issue happened after that, and isn't in a release yet.

@hseg
Copy link

hseg commented Jan 7, 2020 via email

@svmhdvn
Copy link

svmhdvn commented Jan 15, 2020

I'm seeing this issue again on v1.9.0. I can confirm that whatsapp web was working for a while (after installing v1.9.0 a few days ago) but I'm trying it now and the problem has returned. Can anyone else reproduce this?

@The-Compiler
Copy link
Member

Argh 😠. I'll see what I can do.

FWIW, people at nativefier/nativefier#719 seem to report the same.

@The-Compiler The-Compiler reopened this Jan 15, 2020
@The-Compiler The-Compiler added this to the v1.10.0 milestone Jan 15, 2020
@The-Compiler
Copy link
Member

Doing a :reload --force (Shift-R) seems to fix it.

Not sure what's going on here. The workaround from #4920 (comment) doesn't seem to work here...

@prosoitos
Copy link
Contributor

I think that everybody should just stop using WhatsApp, Skype, Slack and co and start using Matrix instead 😏

@The-Compiler
Copy link
Member

I just tried reproducing this again and it seems to be fine now/today - @svmhdvn can you still reproduce?

@svmhdvn
Copy link

svmhdvn commented Jan 20, 2020 via email

@The-Compiler
Copy link
Member

Probably just WhatsApp doing stuff server-side. ¯\_(ツ)_/¯

@The-Compiler
Copy link
Member

Oh, that being said - please let me know if it comes back though, then I'll still check if I can add a workaround of some sorts.

@The-Compiler
Copy link
Member

I just caught this issue again, and added a workaround for it (which will ship with v1.10.0).

The-Compiler added a commit that referenced this issue Jan 31, 2020
@The-Compiler
Copy link
Member

The-Compiler commented Jan 31, 2020

FWIW as a workaround, you can put this in a greasemonkey/whatsapp.user.js file inside qutebrowser's data directory (see :version):

// ==UserScript==
// @include https://web.whatsapp.com/
// ==/UserScript==
if (document.body.innerText.replace(/\n/g, ' ').search(/whatsapp works with.*to use whatsapp.*update/i) !== -1)
	navigator.serviceWorker.getRegistration().then(function (r) { r.unregister(); document.location.reload() });

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug: behavior Something doesn't work as intended, but doesn't crash. priority: 0 - high Issues which are currently the primary focus.
Projects
None yet
Development

No branches or pull requests