AppFlowy-IO / AppFlowy-IO/appflowy-editor
[Bug] Cursor movement in nested (todo) blocks has various issues
- Langage dominant
- Dart
- Étoiles
- 684
- Forks
- 329
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
### Bug Description
Sorry if this is a plain duplicate; I did try to find related issues, but most seem closed or just related. Here's the ones I found:
* https://github.com/AppFlowy-IO/AppFlowy/issues/4478
* https://github.com/AppFlowy-IO/AppFlowy/issues/4923
* https://github.com/AppFlowy-IO/appflowy-editor/issues/745
* https://github.com/AppFlowy-IO/appflowy-editor/issues/53
### How to Reproduce
I use this simple example snippet to try out navigation:
```markdown
- [ ] `1` OK: ➡️ & ⬇️ go to `2` as expected
- [ ] `2` ERROR: ⬅️ & ⬆️ go to `1`, ⬇️ goes to `3`, but ➡️ at the end of the line goes to `5`.
- [ ] `3` OK: ⬅️ & ⬆️ go to `2`, ➡️ & ⬇️ go to `4`
- [ ] `4` ERROR: ⬅️ & ⬆️ go to `2`, ⬇️ goes to `5`, but ➡️ doesn't work
- [ ] `5` ERROR: ⬅️ goes to `4`, but ⬆️ behaves differently depending on cursor position and line content
_Sometimes_ it jumps to `2` but it's not quite clear when.
```
Visually, that's this:

Try navigating between adjacent (next/previous) lines with all four arrow keys, while the cursor is at the beginning of a line, in the middle, or at the end.
Especially the last line is confusing to me. It *sometimes* works as expected, but not always. I haven't figured out how to reliably reproduce this, but it seems to be related to the line content?!
### Expected Behavior
Essentially, navigation should be...
* Unsurprising
Pressing ⬅️ at the beginning of a line should take me to the preceding (visual) line.
Pressing ➡️ at the end of a line should take me to the next (visual) line
Pressing ⬆️ or ⬇️ while the cursor is anywhere on the line (incl start and end) should do the same.
* Symmetric
Pressing ⬅️➡️ in sequence should always put my cursor back where it started.
Pressing ⬆️⬇️ in sequence should always put my cursor back on the same (visual) line. I'd be willing to have it end up in a different *position* on that line though, if e.g. I navigate from a very long line to a short one and back.
When I say "visual line" I mean that it should take soft linebreaks into account.
### Operating System
Linux (debian unstable)
### AppFlowy Editor Version(s)
AppFlowy desktop 0.8.7, so... not entirely sure how that translates to an editor version. 🙂
### Screenshots
_No response_
### Additional Context
_No response_
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Évaluation
Cette issue n'a pas encore été évaluée.