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

Native editing parity #115

Open
8 of 20 tasks
tcr opened this issue Jul 20, 2018 · 0 comments
Open
8 of 20 tasks

Native editing parity #115

tcr opened this issue Jul 20, 2018 · 0 comments
Labels
A-text-editor Area: text editor

Comments

@tcr
Copy link
Owner

tcr commented Jul 20, 2018

This is a dump of different things that are missing before native editing parity (that is, native editing on macOS or Linux or Windows) is achieved. Most of these require emulating native behavior in software and just haven't been implemented yet:

Functional (with future test names):

  • caret-keynudge-vertical Moving the cursor in up/down directions doesn't always work consistently.

  • caret-drag-vertical Dragging between paragraphs we see the cursor jump to beginning and end of the prior and next paragraphs (respectively), rather than travel in a straight line.

  • caret-click-blockend, caret-click-documentend Clicking at the whitespace end of a block or of the entire document doesn't move the cursor to the right area, it often does nothing.

  • scroll-follows-caret While typing, page focus (scrolling) should follow the caret we are typing with.

  • selection-clear-on-delete A selection should be deleted when delete is pressed.

  • selection-clear-on-backspace A selection should be deleted when backspace is pressed.

  • selection-clear-on-char A selection should be deleted when a character is inserted.

  • selection-shift-horizontal Using shift and the arrow keys should expand a selection horizontally.

  • selection-meta-shift-horizontal Using shift and the arrow keys + command should select and skip entire words.

  • selection-all Command or Control A should select all text.

Bugs:

  • <hr> at beginning of paragraph will create an empty paragraph immediately before the hr because it's split the paragraph it started in.

Product:

  • The origin caret in a selection should not have a cursor color.

  • The selections of other clients should have a much lighter selection color.

  • Holding ctrl delete should delete the entire previous word, in the same way as deleting selections.

  • Empty list items should not fluxuate in height so radically.

  • It's very easy to accidentally drag-select text.

  • Proper testing on Windows and Linux for each platform's selection/typing idioms.

  • Bold/italic/clear buttons should be unified into toggling buttons.

  • Client editing feels slow. Metrics for how long each key -> op operation takes would help radically here. Sentry might be able to report timing metrics like this?

  • Copying could copy as Markdown. It would delete from beginning to the point that the first cursor is, and then after the end, and the result would be the copyable markdown section. Likewise, it could be used to paste INTO the doc (but this would have to be through a serialization in HTML.... which is awkward, because it means it needs to have a seamless round trip. To follow up with real paste APIs probably.

@tcr tcr added the A-text-editor Area: text editor label Jul 24, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-text-editor Area: text editor
Projects
None yet
Development

No branches or pull requests

1 participant