philc / vimium

The hacker's browser.
https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb
MIT License
23.54k stars 2.49k forks source link

Facebook Messenger "Could not display composer." #2501

Open bennyty opened 7 years ago

bennyty commented 7 years ago

Facebook Messenger (specifically the version available at https://www.messenger.com/) started displaying "Could not display composer." where you would normally enter text. I've never redacted anything so this was fun

Vimium version: 1.59 Chrome version: 58.0.3029.96 (64-bit) OS: macOS 10.12.4

smblott-github commented 7 years ago

@bennyty. Thanks for this, but I cannot reproduce it.

(Separately, at first cut, this doesn't sound like Vimium problem. Perhaps you could try isolating the issue in a clean account.)

bennyty commented 7 years ago

Sure I will try to reproduce on another computer with clean accounts. I narrowed it down to Vimium as it resolves when I disable the plugin (through the extensions page) OR when I disable the keybindings for the page (through the Vimium options). Only started happening recently, FB has been changing their messenger a lot recently.

teranex commented 7 years ago

I'm also seeing this problem on messenger.com. When I disable vimium the problem goes away.

mrmr1993 commented 7 years ago

Can't repro here either (on Chrome or Firefox).

Suggestion here is to try a hard refresh (Ctrl+F5). Does that help?

bennyty commented 7 years ago

Hard refresh / clearing cache does not fix. I was unable to reproduce it on another computer or on Chrome Canary.

mrmr1993 commented 7 years ago

I know that Facebook does some A/B testing and gradual rollout, so it may be that your account has been chosen for a new feature/experiment that doesn't play nicely with Vimium.

bennyty commented 7 years ago

It does happen on a new account (maybe new accounts get tested on 😢 ) There are some warnings in the console but they look like they are from fb js.

[Violation] Added non-passive event  listener to a scroll-blocking 'wheel' event. Consider marking event handler as 'passive' to make the page more responsive. content.js:139
[Violation] Added non-passive event listener to a scroll-blocking 'mousewheel' event. Consider marking event handler as 'passive' to make the page more responsive. LhysVuKt5Hx.js:123

And there were no errors in the vimium background page when I checked on issue creation. Now I have this (but I think its an unrelated bug / corner case)

Unchecked runtime.lastError while running browserAction.setBadgeText: No tab with id: 552.
    at Object.onIconReady [as callback] (chrome-extension://cjpalhdlnbpafiamejdnhcphjbkeiagm/js/vapi-background.js:615:30)
background.html:1 Unchecked runtime.lastError while running browserAction.setBadgeBackgroundColor: No tab with id: 552.
    at Object.onIconReady [as callback] (chrome-extension://cjpalhdlnbpafiamejdnhcphjbkeiagm/js/vapi-background.js:617:34)

I also get the issue in https://www.facebook.com/messages/ which looks like just an embedded version of https://www.messenger.com/.

smblott-github commented 7 years ago

None of those four error messages are coming from Vimium. The latter two seem to be from uBlock Origin. And the first two are probably from FB, as you say.

bennyty commented 7 years ago

Agreed, apologies, I must have clicked the wrong background page. There is nothing in the Vimium log (chrome-extension://dbepggeogbaibhgnhhndojpepiihcmeb/pages/logging.html) but in the console of that page there is an error

chrome-extension://dbepggeogbaibhgnhhndojpepiihcmeb/.git/HEAD Failed to load resource: net::ERR_FILE_NOT_FOUND

Unsure if related.

mrmr1993 commented 7 years ago
teranex commented 7 years ago

Do you have the "Don't let pages steal the focus on load" Vimium option active? (under advanced options)

Yes

(If so) does the error stop showing if you disable it?

Also yes. This option seems to be the problem indeed.

bennyty commented 7 years ago

@mrmr1993 Yes I had that enabled (I must have had a reason at some point). And I thought I had tested disabling it. Disabling it stops the error, same as teranex.

TheMikeyR commented 7 years ago

Had the error in facebook messenger (pop up box) and full screen, can confirm disabling the "don't let pages steal the focus on load" fix the issue with not being able to type.

robbyoconnor commented 7 years ago

This is an issue for me too. I blocked the URL patterns and it worked fine

neil-s commented 7 years ago

I'm seeing the same issue, and resolved by disabling Vimium on messenger.com. Here's the relevant error in Console: XMLHttpRequest cannot load https://5-edge-chat.facebook.com/sub?<redacted>. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://www.messenger.com' is therefore not allowed access. The response had HTTP status code 400.

(I've removed the params on the URL in case there's anything sensitive in there.

bennyty commented 7 years ago

@robbyoconnor @neil-s

Do you have the "Don't let pages steal the focus on load" Vimium option active? (under advanced options) (If so) does the error stop showing if you disable it?

robbyoconnor commented 7 years ago

@bennyty That fixed it! Now why does it happen with that setting?

rationalis commented 7 years ago

Is it possible to add a URL whitelist for the "Don't let pages steal the focus on load"?

HaleTom commented 7 years ago

@rationalis +{many} for that idea.

smblott-github commented 7 years ago

@rationalis... That's a lot a of extra user-interface machinery for something that seems to be an issue on just one page (albeit an important page).

(Might we just hard wire an exception for Facebook Messenger.)

mrmr1993 commented 7 years ago

That's a lot a of extra user-interface machinery for something that seems to be an issue on just one page

This could be as simple as adding a checkbox for it to the exclusion rules. It might not be a wasted effort either: I could see this also being useful for e.g. the Google homepage, where the input being focused is probably more desirable than not.

ultibo commented 7 years ago

Hello, I have the same problem as well latest mac OS, vimium 1.60.3, chrome 60.0.3112.113

When the option "Don't let pages steal the focus on load" is checked, facebook messenger displays "Could not display composer." and I cannot type text. Disabling the option in vimium solves the issue with facebook messenger

robbyoconnor commented 7 years ago

@ultibo -- That should fix it -- my issue went away.

pestaa commented 7 years ago

@ultibo Thanks! Saved my sanity. (I was using mbasic.facebook.com to post to messenger rooms.)

preactive commented 6 years ago

I have had this happen on two different systems and it always occurs when I try to paste in a fully formatted phone number to share with a contact by itself.
Clipboard: (123) 456-7890 composer: ctrl+v instant error message locking the composer

Google Chrome | 62.0.3202.62 (Official Build) (64-bit)
-- | --
Revision | 9da914b118cb0d10d715ccc4ad20575a0305a304-refs/branch-heads/3202@{#700}
OS | Linux
JavaScript | V8 6.2.414.32
Flash | 27.0.0.187 /home/user/.config/google-chrome/PepperFlash/27.0.0.187/libpepflashplayer.so
User Agent | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36
Command Line | /usr/bin/google-chrome-stable --flag-switches-begin --flag-switches-end
uname -a
Linux fedora-01 4.13.5-200.fc26.x86_64 #1 SMP Thu Oct 5 16:53:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
gnome: Version 3.24.2
robbyoconnor commented 6 years ago

@preactive did you try what was suggested by others on this issue?

preactive commented 6 years ago

@robbyoconnor I may have posted this is the wrong ticket issue. I am not running vimium. But that may also point to an underlying issue with FB messenger. I cleared my cache and did a force refresh to no avail. I am going to try a $ killall chrome to see if it will load correctly on relaunch of chrome. I'll edit this comment if it works.

robbyoconnor commented 6 years ago

Disable all extensions and enable them one by one to find the culprit.

matsest commented 5 years ago

If any one else ends up here after searching for this issue: For me, the issue was not with Vimium (as I thought), but with the cosmetic filtering in uBlock Origin. If disabled (on facebook.com), Messenger acts as intended.

therealfartkontrol commented 4 years ago

What caused this issue for me in Firefox was disabling dom.event.clipboardevents in about:config, and re-enabling it fixed it. Facebook doesn't like not being able to see when I copy or paste things, I guess.

robbyoconnor commented 4 years ago

What caused this issue for me in Firefox was disabling dom.event.clipboardevents in about:config, and re-enabling it fixed it. Facebook doesn't like not being able to see when I copy or paste things, I guess.

The solution is in the thread.