Closed Bug 1497518 Opened Last year Closed 11 months ago

Some keyboard shortcuts broken in GMail, GSuite, Remember The Milk, etc. if keyCode of keypress event is same as its charCode

Categories

(Web Compatibility :: Desktop, defect, P1, blocker)

defect

Tracking

(firefox62 unaffected, firefox63 unaffected, firefox64blocking disabled)

RESOLVED FIXED
Tracking Status
firefox62 --- unaffected
firefox63 --- unaffected
firefox64 blocking disabled

People

(Reporter: overholt, Assigned: masayuki)

References

Details

This just started with today's nightly AFAICT.
Masayuki's been working on some related stuff here so perhaps he knows what's going on.
Flags: needinfo?(masayuki)
See Also: → 1497519
Hmm, must be regression of bug 1479964. Is it fixed with disabling "dom.keyboardevent.keypress.set_keycode_and_charcode_to_same_value"?
Flags: needinfo?(masayuki) → needinfo?(overholt)
(In reply to Masayuki Nakano [:masayuki] (JST, +0900) from comment #2)
> Hmm, must be regression of bug 1479964. Is it fixed with disabling
> "dom.keyboardevent.keypress.set_keycode_and_charcode_to_same_value"?

Yes, thanks.
Flags: needinfo?(overholt)
Sigh, that means that the change breaks Closure...
Duplicate of this bug: 1497519
Summary: Can't enter 't' or 'v' in rememberthemilk.com "Add a task..." field → Some keyboard shortcuts broken in GMail, Remember The Milk, etc. with 2018-10-09 nightly
This also causes Google Docs to misbehave, not just on keyboard shortcuts, I couldn't type anymore a lot of chars like R, T, down, left, backspace in a document, it made it pretty much unusable. Reverting the pref fixed it.
Summary: Some keyboard shortcuts broken in GMail, Remember The Milk, etc. with 2018-10-09 nightly → Some keyboard shortcuts broken in GMail, GSuite, Remember The Milk, etc. with 2018-10-09 nightly
Sigh. There are some UA name check around keyCode referrers in the source code of rememberthemilk <https://www.rememberthemilk.com/app/_/2256/compiled.2256.ja.js>. Anyway, we need to contact Closure team before making bug 1479964 ride the train.
Reminiscent of (but different than) bug 1474476.
Blocks: 1497546
No longer depends on: 1497546
See Also: 1497519
I'll investigate what actually caused breaking the apps today.
Duplicate of this bug: 1497685
Severity: normal → blocker
Assignee: nobody → masayuki
Component: Event Handling → DOM: Events
Priority: -- → P1
Oh, sorry. I should've posted here rather than bug 1479964.

As far as I've checked roughly, Google Closure needs to update by themselves around here (at least):
https://github.com/google/closure-library/blob/719529feafc9d60eecd2f620756d3e5cc84a9250/closure/goog/events/keyhandler.js#L400-L413
https://github.com/google/closure-library/blob/719529feafc9d60eecd2f620756d3e5cc84a9250/closure/goog/events/keyhandler.js#L439-L449
https://github.com/google/closure-library/blob/719529feafc9d60eecd2f620756d3e5cc84a9250/closure/goog/events/keycodes.js#L413-L415
because they check both UA string and keyCode. So, if UA is Gecko, they assumes that one of keyCode or charCode of keypress event is 0, but we need to change it for compatibility with the other browsers.

Can somebody contact the developers?

It might be better to release bug 968056.  If so, they don't need to check if keypress event is caused by non-printable key with checking whether keyCode value is non-zero. (Although if they need to support ESR60, they need more checks!!)

On the other hand, I'm not sure changing our behavior is safer than making broken web sites fix by themselves.
Duplicate of this bug: 1497888
> Can somebody contact the developers?

I'll carve out time for this tomorrow.
Flags: needinfo?(miket)
I've filed https://github.com/google/closure-library/issues/932, Adam, can you contact Google on our ML to raise there as well? Thanks.
Flags: needinfo?(miket) → needinfo?(astevenson)
Contacted via partner mailing list.
Flags: needinfo?(astevenson)
Duplicate of this bug: 1498439
Well, looks like that Google Docs works fine even without the blacklist. Could you verify that more? Because I don't usually use Google Docs. If they have already fixed, I'll file a bug to remove Google Docs from the blacklist.
I emailed to rememberthemilk.com.
Hi Florin,
Could your team help to verify this issue that has been no longer valid on these websites?
- Google docs
- rememberthemilk.com
- medium.com

Thank you.
Flags: needinfo?(florin.mezei)
I got a reply from rememberthemilk.com. They fixed their bug on Beta channel today. I confirmed it. And they said that it'll be shipped this week in Stable channel. So, we can remove rememberthemilk.com from the blacklist this weekend.

On the other hand, could you somebody to check whether Google Docs has already fixed their bug with removing "docs.google.com" from "dom.keyboardevent.keypress.hack.use_legacy_keycode_and_charcode" on your Nightly build? After somebody verified that, I'll remove docs.google.com from the blacklist by default.
(In reply to Hsin-Yi Tsai [:hsinyi] from comment #19)
> Hi Florin,
> Could your team help to verify this issue that has been no longer valid on
> these websites?
> - medium.com

Ah, no, medium.com didn't block this bug. They blocked bug 1483553 which blocked bug 1440189.
Hello guys,

We no longer encountered the issues described above on Google Docs,rememberthemilk.com,Google Email.

Testing was done on the following platforms:
- Windows 10x64
- macOS 10.12.6
- Ubuntu 16.04x64

And on the following builds:
- 65.0a1 (2018-11-25)
- 64.0b12
Flags: needinfo?(florin.mezei)
(In reply to Vlad Lucaci (:vlucaci) from comment #22)
> Hello guys,
> 
> We no longer encountered the issues described above on Google
> Docs,rememberthemilk.com,Google Email.
> 
> Testing was done on the following platforms:
> - Windows 10x64
> - macOS 10.12.6
> - Ubuntu 16.04x64
> 
> And on the following builds:
> - 65.0a1 (2018-11-25)
> - 64.0b12

Thanks :vlucaci :)
Both Google and Remember The Milk fixed the issues!
Status: NEW → RESOLVED
Closed: 11 months ago
Component: DOM: Events → Desktop
Keywords: regression
OS: Unspecified → All
Product: Core → Tech Evangelism
Hardware: Unspecified → All
Resolution: --- → FIXED
Summary: Some keyboard shortcuts broken in GMail, GSuite, Remember The Milk, etc. with 2018-10-09 nightly → Some keyboard shortcuts broken in GMail, GSuite, Remember The Milk, etc. if keyCode of keypress event is same as its charCode
Product: Tech Evangelism → Web Compatibility
You need to log in before you can comment on or make changes to this bug.