cryptee / web-client

Cryptee's web client source code for all platforms.
https://crypt.ee
Other
444 stars 22 forks source link

[Bug] Weird glitch switches all checklists backwards to opposite state #162

Closed ghost closed 1 year ago

ghost commented 1 year ago

Important Note If you have any account-specific issues, like having problems signing-in, resetting your password, or issues related to your payments etc, you should first contact our helpdesk. We use Github to track issues affecting all users / bugs with the apps or service, and due to the fact that we can't exchange account-specific information on Github, our Helpdesk is much better equipped to handle account related issues.

Describe the bug A clear and concise description of what the bug is.

We have a list of checkboxes (marked 'entry') which are not ticked in this example, and we have one ticked before and one after these. If we delete the characters in the ticked box (marked delete) then press delete one more time, all the checkboxes before the one we deleted that are alsl different from the deleted one will inherit the state of the deleted entry. For example:

To Reproduce Steps to reproduce the behavior:

It will look like this:

Note that this regression only rolls until there is another box that is different to the ones inheriting (or it rolls until the beginning of the list if theres none) and it will not work if you delete an entry that has the same status before it (marked 'don't delete this').

This works interchangibly with both ticked and non ticked boxes.

Expected behavior A clear and concise description of what you expected to happen.

The status of the boxes that are not supposed to change, do not change.

Screenshots If applicable, add screenshots to help explain your problem.

This recording also shows that the view is glitchy, it jumps all over the place when modifying box ticks. You can see this in the first part of the video.

https://user-images.githubusercontent.com/94188674/185908598-bc092b79-672f-43cd-af24-2be958486411.mp4

System Information (please complete the following information):

Additional context Add any other context about the problem here.

ghost commented 1 year ago

Tested on desktop, does not happen there.

johnozbay commented 1 year ago

Hi there!

Thanks for filing this! Could you give things a try in Chrome on the same Android device? (as it's also chromium it'll give us a good baseline)

I have a feeling that this has to do with how checkboxes are treated in mobile. Since you still have to place your finger down and 'tap' on the element while scrolling, depending on how your browser handles cursor placing it might be doing some silly things like check/uncheck when it detects the initial tap. (which would explain why it's not an issue on desktop)

β€”Β And it could even be an android vendor / OS specific bug in Bromite, since cursor positioning and typing are handled by each vendor OS modifications in android AND each keyboard. β€” Hence the different copy paste popups in different android flavors, and different copy paste keyboard cursor behaviors in different browsers ... and you'd be surprised how long it takes browsers to fix these types of cursor input bugs ... ahem ... https://github.com/mozilla-mobile/fenix/issues/11301 πŸ˜…

I hope this makes sense and helps! Looking forward to hearing from you so we can run further tests and file a report if this is a bug with chromium itself, android itself, or Cryptee.

Best,

J

ghost commented 1 year ago

Bromite bundles a parallel vanilla Chromium build with their repository, I used that to test it. Same things happen. About to test it in a Firefox fork (Mull) as well. Here are the versions for Chromium meanwhile.

Screenshot_20220821-100724_Chromium

johnozbay commented 1 year ago

I'm quite confident there's something else at play here now that I saw your bug report in #156. Please double check to see if you have any other extensions / config that could be messing things up.

ghost commented 1 year ago

The checkbox glitch does not happen in Mull but it should be noted that Mull is not a conventional Firefox fork, it is heavily hardened. Build:

103.1.0 (Build #21031020), 346356a60+ AC: 103.0.9, 8031ffeaf2 GV: 103.0-20220729040356 AS: 93.5.0

Downloaded vanilla Firefox too, no settings changed, same thing as Mull. Build:

104.1.0 (Build #2015898515), 99759dd72+ AC: 104.0.8, 3dc0ff00e7 GV: 104.0-20220816115024 AS: 93.7.2

I did modify settings in Vanilla Chromium so now I did a test full factory settings and data wiped (except the "experience" checkbox at the startup unchecked). Same thing as Bromite and Chromium (with better settings). The view glitch happens everywhere on Android.

ghost commented 1 year ago

Ok so tested this on Brave hardened, Vanilla Chrome and vanilla Firefox webapp on desktop and vanilla Chromium and vanilla Firefox on Android. Only Brave is installed as flatpak, couldn't install Firefox desktop as webapp, so regular browser.

Desktop builds: Brave: Version 1.42.88 Chromium: 104.0.5112.81 (Official Build) (64-bit) Chromium: Version 104.0.5112.101 (Official Build) (64-bit) Firefox: Version 103.0.2, Build 20220812143858, Fedora

This bug only happens on Android Chromium browsers, on all of desktop, after deleting the text after the box, then deleting once more, the checkbox disappears, and if deleting once more, then the row gets deleted and the cursor jumps to the end of the previous row. On Android Firefox the deletion of the checkbox gets skipped, so after deleting the text, then pressing delete once more, the row gets deleted with the checkbox and the cursor automatically jumps to the end of the previous row. On Android Chromium the above documented happens.

johnozbay commented 1 year ago

Hi there! This should be fixed in f487c37cd4bb7d2df62f490d6cd0f24ff1286cf4, so I'm closing this for now. If you or someone else experiences this bug again, we can re-open this of course.

Many thanks for filing this and helping us make Cryptee better ✌🏻