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

Various issues with latest versions of Firefox #4104

Closed
doc75 opened this issue Nov 19, 2020 · 50 comments · Fixed by #4163
Closed

Various issues with latest versions of Firefox #4104

doc75 opened this issue Nov 19, 2020 · 50 comments · Fixed by #4163

Comments

@doc75
Copy link
Contributor

doc75 commented Nov 19, 2020

Expected behavior

Writing mail, I should be able to delete text by using delete or backspace key. I also should be able to copy/paste text.

Actual behavior

When I answer a mail, I can delete 1 or 2 chars with backspace and then it stops working and I cannot anymore delete chars (even with delete key). The only solution is to select text with mouse and type another text to overwrite it (though the final result that the recipient will receive may not look the same as what you see).

Copying text to the clipboard doesn't work neither.

Issues are not reproducible in Chromium 84.

Mail app

Mail app version: 1.4.1

Mailserver or service: Personal server (Dovecot + Postfix)

Server configuration

Operating system: Official Docker fpm image

Web server: Nginx

Database: PostgreSQL

PHP version: Official docker image

Nextcloud Version: 19.0.4

Client configuration

Browser: Firefox 83

Operating system: Windows

@doc75
Copy link
Contributor Author

doc75 commented Nov 19, 2020

I can find in the web console this type of error when the issue occurs:

Uncaught CKEditorError: a is undefined                                                                    mail.js:1:64080
    <anonymous> VueJS
    value range.js:348
    value deletecommand.js:107
    value model.js:805
    value model.js:231
    value deletecommand.js:76
    decorate observablemixin.js:255
    fire emittermixin.js:209
    e observablemixin.js:259
    value commandcollection.js:68
    value editor.js:288
    value delete.js:55
    fire emittermixin.js:209
    c deleteobserver.js:87
    u deleteobserver.js:50
    fire emittermixin.js:209
    value domeventobserver.js:96
    value keyobserver.js:28
    value domeventobserver.js:79
    fire emittermixin.js:209
    r emittermixin.js:235
    construct self-hosted:2653
    s mail.js:1
    r mail.js:1
    construct self-hosted:2653
    f mail.js:5
    d ckeditorerror.js:66
    value ckeditorerror.js:118
    value model.js:236
    value deletecommand.js:76
    decorate observablemixin.js:255
    fire emittermixin.js:209
    e observablemixin.js:259
    value commandcollection.js:68
    value editor.js:288
    value delete.js:55
    fire emittermixin.js:209
    c deleteobserver.js:87
    u deleteobserver.js:50
    fire emittermixin.js:209
    value domeventobserver.js:96
    value keyobserver.js:28
    value domeventobserver.js:79
    fire emittermixin.js:209
    r emittermixin.js:235
Uncaught CKEditorError: model-nodelist-offset-out-of-bounds: Given offset cannot be found in the node list. Read more: https://ckeditor.com/docs/ckeditor5/latest/framework/guides/…t/error-codes.html#error-model-nodelist-offset-out-of-bounds
 {"offset":10,"nodeList":[{"data":"Ho  can i"}]}                                            mail.js:1:63758
    r mail.js:1
    f mail.js:5
    d ckeditorerror.js:66
    value nodelist.js:161
    value element.js:188
    d position.js:1091
    get position.js:221
    v document.js:481
    value document.js:390
    n documentselection.js:646
    fire emittermixin.js:209
    value selection.js:479
    value selection.js:370
    value documentselection.js:734
    value documentselection.js:421
    value writer.js:1177
    convertSelectionChange upcasthelpers.js:413
    value model.js:173
    convertSelectionChange upcasthelpers.js:412
    fire emittermixin.js:209
    value selectionobserver.js:183
    value selectionobserver.js:104
    fire emittermixin.js:209
    r emittermixin.js:235
    construct self-hosted:2653
    r mail.js:1
    construct self-hosted:2653
    f mail.js:5
    d ckeditorerror.js:66
    value nodelist.js:161
    value element.js:188
    d position.js:1091
    get position.js:221
    v document.js:481
    value document.js:390
    n documentselection.js:646
    fire emittermixin.js:209
    value selection.js:479
    value selection.js:370
    value documentselection.js:734
    value documentselection.js:421
    value writer.js:1177
    convertSelectionChange upcasthelpers.js:413
    value model.js:173
    convertSelectionChange upcasthelpers.js:412
    fire emittermixin.js:209
    value selectionobserver.js:183
    value selectionobserver.js:104
    fire emittermixin.js:209
    r emittermixin.js:235

@ChristophWurst
Copy link
Member

Hmmmm I've seen that Given offset cannot be found in the node list a while ago.

Do you have formatting enabled for that reply or is it off?

@doc75
Copy link
Contributor Author

doc75 commented Nov 20, 2020

@ChristophWurst by default formatting is not activated on my side.
I just checked and I am able to reproduce the issue with and without formatting activated.

@alexanderdd
Copy link

Can reproduce on Linux Mint 19.3, Firefox 83.0, same server and mail app as report (Nextcloud 19.04, Mail 1.4.1)

@ChristophWurst unusable interface, please assign a high priority to this bug! A coworker complained about this today, people can't work because of this. (I know, buy a Nextcloud subscription..... just telling you that probably thousands of other people have this problem right now, but they don't know that it can be reported here).

@doc75 Does updating to 19.0.5 help?

Let me know if you need info from me.

@doc75
Copy link
Contributor Author

doc75 commented Nov 21, 2020

@alexanderdd @ChristophWurst , same issue on NC 19.0.5 and also on Linux (with Firefox 83).
Not reproducible on Chromium 86 on Linux

@alexanderdd
Copy link

Just noticed: everthing works fine (also enter, delete keys) until you use the backspace key. Then the backspace, enter, delete key does not work anymore.

This is only in Firefox, Chromium works fine.

@bernatnan
Copy link

I have the same problem, as how @alexanderdd say, only fail with Firefox. Brave (based on Chromium) works well too.

I'm using Firefox v83.0 too, but Nextcloud 20.0.2 and MAil 1.7.0.

Any thing that you need ¿?

@ChristophWurst
Copy link
Member

@ChristophWurst unusable interface, please assign a high priority to this bug! A coworker complained about this today, people can't work because of this. (I know, buy a Nextcloud subscription..... just telling you that probably thousands of other people have this problem right now, but they don't know that it can be reported here).

More than 200k installations of Mail and three users reported this.

I'm fine with the label. But with the assignment we don't fix it. We need someone who can reproduce this in a development environment.

So, who wants to dive into this?

@ChristophWurst
Copy link
Member

The first thing to check would be bug reports of the CKEditor version in use in an affected version and if anything like that has been reported upstream.

@joober

This comment has been minimized.

@laurentiu2

This comment has been minimized.

@ChristophWurst

This comment has been minimized.

@ChristophWurst
Copy link
Member

This also happens on latest master: Uncaught CKEditorError: Range.setStart: Argument 1 is not an object..

Did anyone check CKEditor for existing bug reports?

@doc75
Copy link
Contributor Author

doc75 commented Nov 24, 2020

@ChristophWurst
Copy link
Member

Thanks a lot. I'll check them :)

@StCyr
Copy link
Collaborator

StCyr commented Nov 24, 2020

Hello @ChristophWurst

Can I help?

@johanneshorak
Copy link

johanneshorak commented Nov 25, 2020

For me this problem occurs too, both when composing a new message or replying to an existing one. I type some characters and then back space wont do anything. I'm using Firefox 83.0. I tested with Chrome as well, the problem did not occur there.

edit: I'm running nextcloud 20.0.2 and Mail app version 1.7.0

What can I provide to help finding the issue?

@ChristophWurst
Copy link
Member

ChristophWurst commented Nov 26, 2020

What I find a bit strange is that this is showing up now for so many different versions of Mail at the same time. The 1.4.x for 19 was released in early July. And since then we updated CKEditor a at least two times as far as I remember. Therefore it's possible to be something that changed in the browser(s).

Does anyone have access to older Firefoxes (e.g. ESR) to check if the problem is reproducible there as well?

FWIW I can't reproduce the bug at https://ckeditor.com/ckeditor-5/demo/

@bernatnan

This comment has been minimized.

@joober
Copy link

joober commented Nov 26, 2020

Does anyone have access to older Firefoxes (e.g. ESR) to check if the problem is reproducible there as well?

I just tried this on Firefox 68.12.0esr on Windows 10. The problem doesn't appear to exist there. I wrote a rather long email, used Enter and Backspace a lot on purpose. Didn't run into an issue.

Let me know if you need me to test anything specific.

@bernatnan
Copy link

In the end, I was able to do the test. Tried on a Firefox 78.5.0esr and works well too.

@TheFoxStudio
Copy link

TheFoxStudio commented Nov 26, 2020

I am "happy" to join in. Same issue in reply AND new mails since I updated to Nextcloud 20.0.2, Mail Version 1.7.0
No backspace or delete. Usually happens a few seconds after I start writing the reply.
Using Firefox 83.0.

Keeping the console open during writing / answering a mail comes up with the same. CK Editor seems to cause the problem.
Error log says: Uncaught CKEditorError: a is undefined

@StCyr StCyr pinned this issue Nov 27, 2020
@ChristophWurst
Copy link
Member

Some findings

    // notify change
    ob.dep.notify();

Bildschirmfoto von 2020-12-01 15-54-45

… as far as I understand the __ob__ is Vue's reactive object. For some reason it's not available on this object and therefore we see an error. I think the out of bounds error is just another symptom and possible fixed as soon as this original error is resolved.

@ChristophWurst
Copy link
Member

Did anyone see any consistent steps that reliably trigger the error? For me it seems rather random. One time it occurs soon, the next time I have to try rather long until this shows. 🤔

@joober
Copy link

joober commented Dec 1, 2020 via email

@nursoda
Copy link

nursoda commented Dec 1, 2020

I can also provide access to a system/account where it is triggered all the time.

@ChristophWurst
Copy link
Member

Thanks for the offer @nursoda. The problem with that is that I can't modify the sources. Hence I would preferably have this locally where I can add debug statements and try a few things to see if they make the situation any better.

@cdehe7519
Copy link

For me, it seems to happen immediately after a copy of the message I am currently working on is sending a copy to draft.

@nursoda
Copy link

nursoda commented Dec 1, 2020

I understand that adding debug is necessary, but at least I could increase log level and you could see what is logged when it happens? Or are you beyond this point ;)

@cdehe7519
Copy link

If a take the copy in draft it works again for a few seconds. Then again impossible do correct the text . Possibly another copy in dradt added

@nursoda
Copy link

nursoda commented Dec 1, 2020

I can backspace ONCE, it seems that this triggers something. After that, I cannot backspace or delete in that session. But I can overwrite text that I mark with Shift+Arrows.

@StCyr
Copy link
Collaborator

StCyr commented Dec 1, 2020 via email

@ChristophWurst
Copy link
Member

Fix is at #4163 for anyone who has a test/dev environment set up ✌️

@nursoda
Copy link

nursoda commented Dec 2, 2020

Hmmm, it seems like an easy fix (delete one line of code) and I can edit files within my setup, but I was unable to locate that file. I have no real dev setup, but if you'd --verbose a bit, I'd like to try!

@StCyr
Copy link
Collaborator

StCyr commented Dec 2, 2020

Hmmm, it seems like an easy fix (delete one line of code) and I can edit files within my setup, but I was unable to locate that file. I have no real dev setup, but if you'd --verbose a bit, I'd like to try!

Just update your app. I'm guessing the update will be available from the store as from tomorrow.

@ChristophWurst
Copy link
Member

I will try to release updates soon. You can't edit that file on your production instance because our javascript code gets compiled and you don't have the source file.

@StCyr
Copy link
Collaborator

StCyr commented Dec 2, 2020

Oups. Sorry. I thought releases were automaticaly published

@ChristophWurst
Copy link
Member

I'm the automatism that publishes :P

@doc75
Copy link
Contributor Author

doc75 commented Dec 2, 2020

@ChristophWurst gald you find how to fix.
Too bad that the version compatible with NC19 is not getting the fix as far as I saw (1.4 branch did not get the fix) ;-(

@ChristophWurst
Copy link
Member

yeah, I haven't totally given up on that but somehow the CI pipeline for the stable1.4 branch broke. If I get it working again I can look into a release for that as well. But since we're moving rather quickly at the moment and add lots of features the backporting effort is high, hence I'm putting more focus on the new releases. Sorry for that, we'll do better once everything stabilized a bit again.

@cdehe7519
Copy link

An update was available today. Was applied. Its now working fine for me. Thanks.

@johanneshorak
Copy link

Updated the mail app to 1.7.1 and the bug appears to be gone now! I just did some small tests the previously resulted in the described problem (e.g. replying to a mail, writing something and backspacing a couple of times while doing so for good measure).

I'll report back should it stop working or in case I did not trigger the bug that way (even though this behaviour did before).

Thanks for the fix!

@solracsf solracsf changed the title Various issues when writing emails with latest versions of Firefox Various issues with latest versions of Firefox Jan 8, 2021
@StCyr StCyr unpinned this issue Jan 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.