"." Shortcut does not work on iOS #1372

Open
opened 2023-05-02 01:19:10 +02:00 by chrisdeeming · 12 comments
chrisdeeming commented 2023-05-02 01:19:10 +02:00 (Migrated from github.com)

image

With the above setting enabled in iOS, tapping space twice does not produce a "." as expected.

Quite an unexpected and unusual omission. Not seen a RTE be affected by this before. Note this affects TipTap too.

![image](https://user-images.githubusercontent.com/2158514/235547585-af8d6abd-bcdc-424b-ac28-4740af5bff3f.jpeg) With the above setting enabled in iOS, tapping space twice does not produce a "." as expected. Quite an unexpected and unusual omission. Not seen a RTE be affected by this before. Note this affects TipTap too.
josephdpurcell commented 2023-05-02 05:24:21 +02:00 (Migrated from github.com)

On iOS 15.6.1 I do not see the issue. Screen recording attached using the example website https://prosemirror.net/

If helpful, here is some context:

Details

For some context, I was looking into various Markdown editors as part of a discussion on Directus https://github.com/directus/directus/discussions/16762, and I ended up creating a spreadsheet evaluating various editors that have issues with iOS features: https://docs.google.com/spreadsheets/d/18v2G44v0ix41xbAseOIcMcFOMNluc67IJz9f2U5IpRo/edit?usp=sharing

Then (and now) I found that ProseMirror does not have the issue, but TipTap (which is based on ProseMirror) has the issue which I filed here: https://github.com/ueberdosis/tiptap/issues/3578, which I see is commented. I did not investigate if ProseMirror actually had the issue and the example site was somehow masking it, or if TipTap introduces the issue on top of ProseMirror. Worth noting is that CodeMirror 6 does not have the issue, which is authored by the same or similar people.

https://user-images.githubusercontent.com/778111/235573048-70df792a-804e-452c-8243-2d5403ba723f.MOV

Edit: fixed link formatting.

On iOS 15.6.1 I do not see the issue. Screen recording attached using the example website https://prosemirror.net/ If helpful, here is some context: <details> <summary>Details</summary> For some context, I was looking into various Markdown editors as part of a discussion on Directus https://github.com/directus/directus/discussions/16762, and I ended up creating a spreadsheet evaluating various editors that have issues with iOS features: [https://docs.google.com/spreadsheets/d/18v2G44v0ix41xbAseOIcMcFOMNluc67IJz9f2U5IpRo/edit?usp=sharing](https://docs.google.com/spreadsheets/d/18v2G44v0ix41xbAseOIcMcFOMNluc67IJz9f2U5IpRo/edit?usp=sharing) Then (and now) I found that ProseMirror does not have the issue, but TipTap (which is based on ProseMirror) has the issue which I filed here: https://github.com/ueberdosis/tiptap/issues/3578, which I see is commented. I did not investigate if ProseMirror actually had the issue and the example site was somehow masking it, or if TipTap introduces the issue on top of ProseMirror. Worth noting is that CodeMirror 6 does not have the issue, which is authored by the same or similar people. </details> https://user-images.githubusercontent.com/778111/235573048-70df792a-804e-452c-8243-2d5403ba723f.MOV Edit: fixed link formatting.
chrisdeeming commented 2023-05-02 09:51:56 +02:00 (Migrated from github.com)

@josephdpurcell I can reproduce it in PM too though on iOS 16.5 beta.

Somewhat intermittent.

Not working:

https://user-images.githubusercontent.com/2158514/235609403-c8af5004-46db-4fa2-985b-30feb87b87f1.MOV

Working:

https://user-images.githubusercontent.com/2158514/235609469-38ccaa2b-2f24-4ea4-880b-c2f09d37a901.MOV

It may be the case that the caret position affects the ability to use double space. In between existing paragraphs and it doesn't work. Place at the end of the last paragraph and it works:

https://user-images.githubusercontent.com/2158514/235609904-fc8d8a60-8f05-428d-a74a-c025629e21f6.MOV

@josephdpurcell I can reproduce it in PM too though on iOS 16.5 beta. Somewhat intermittent. Not working: https://user-images.githubusercontent.com/2158514/235609403-c8af5004-46db-4fa2-985b-30feb87b87f1.MOV Working: https://user-images.githubusercontent.com/2158514/235609469-38ccaa2b-2f24-4ea4-880b-c2f09d37a901.MOV It may be the case that the caret position affects the ability to use double space. In between existing paragraphs and it doesn't work. Place at the end of the last paragraph and it works: https://user-images.githubusercontent.com/2158514/235609904-fc8d8a60-8f05-428d-a74a-c025629e21f6.MOV
neongreen commented 2023-06-18 14:31:49 +02:00 (Migrated from github.com)

Can also reproduce with current https://prosemirror.net and iOS 16.5 (not beta).

Is it something that’s supposed to work in a custom editor, even? Or would ProseMirror have to exactly reimplement iOS behavior?

Any workarounds are very welcome.

https://github.com/ProseMirror/prosemirror/assets/1523306/780e316b-4869-4b90-857e-dc3865c72b17

Can also reproduce with current https://prosemirror.net and iOS 16.5 (not beta). Is it something that’s supposed to work in a custom editor, even? Or would ProseMirror have to exactly reimplement iOS behavior? Any workarounds are very welcome. https://github.com/ProseMirror/prosemirror/assets/1523306/780e316b-4869-4b90-857e-dc3865c72b17
chrisdeeming commented 2023-06-19 01:06:48 +02:00 (Migrated from github.com)

@neongreen I’ve not previously come across any rich text editor where it doesn’t work. Not sure what in ProseMirror is blocking it.

That being said; I’m running iOS 17 and I cannot currently reproduce it.

@neongreen I’ve not previously come across any rich text editor where it doesn’t work. Not sure what in ProseMirror is blocking it. That being said; I’m running iOS 17 and I cannot currently reproduce it.
josephdpurcell commented 2023-06-19 04:36:10 +02:00 (Migrated from github.com)

Interesting. Im on iOS 15 and can reproduce it, and have reproduced it on several text editors. I've been surprised by the behavior and kept track of the issues here: https://docs.google.com/spreadsheets/d/18v2G44v0ix41xbAseOIcMcFOMNluc67IJz9f2U5IpRo/edit?usp=sharing

If the hypothesis is true that the issue lies with iOS, that might explain the confusion I see in issue queues. The hypothesis would be that there is some issue in iOS 15 and 16 (possibly other versions) that prevent autocomplete, autocorrect, and autopunctuation from behaving correctly on some (but not all) text editors, and is resolved in iOS 17.

If the hypothesis is not correct then confusion remains and I don't have a suggestion.

I'll make a note and if I have time I will test iOS 17 on the text editors I found issues on and report back.

Interesting. Im on iOS 15 and can reproduce it, and have reproduced it on several text editors. I've been surprised by the behavior and kept track of the issues here: https://docs.google.com/spreadsheets/d/18v2G44v0ix41xbAseOIcMcFOMNluc67IJz9f2U5IpRo/edit?usp=sharing If the hypothesis is true that the issue lies with iOS, that might explain the confusion I see in issue queues. The hypothesis would be that there is some issue in iOS 15 and 16 (possibly other versions) that prevent autocomplete, autocorrect, and autopunctuation from behaving correctly on some (but not all) text editors, and is resolved in iOS 17. If the hypothesis is not correct then confusion remains and I don't have a suggestion. I'll make a note and if I have time I will test iOS 17 on the text editors I found issues on and report back.
gingersoulrecords commented 2024-04-15 18:12:19 +02:00 (Migrated from github.com)

@josephdpurcell what did you find?

@josephdpurcell what did you find?
chrisdeeming commented 2024-09-20 12:22:25 +02:00 (Migrated from github.com)

Hey @marijnh

I hope you're doing well.

Just wanted to point out that this continues to be an issue. I have experience with a bunch of rich text editors and I cannot reproduce this on any of those.

The issue seems to be exclusively when you are typing between two existing nodes, e.g.

Paragraph 1

Paragraph 2

Paragraph 3

If you move the caret back to the end of Paragraph 2 and write " is broken" then double tap the space bar, you get two spaces rather than a full stop/period followed by a space.

This can be somewhat exacerbated if you have, for example, a plugin or extension which intentionally keeps a trailing node (see: https://tiptap.dev/docs/examples/experiments/trailing-node)

Incidentally, macOS also has a double space shortcut for . but it works fine there. It wouldn't surprise me if this was exclusive to iOS but, again, this doesn't affect other editors.

Sorry to flag this directly but this will potentially impact a large number of our users when we start using this (via Tiptap) in production so it would be very useful to figure this out.

Thank you!

Hey @marijnh I hope you're doing well. Just wanted to point out that this continues to be an issue. I have experience with a bunch of rich text editors and I cannot reproduce this on any of those. The issue seems to be exclusively when you are typing between two existing nodes, e.g. ``` Paragraph 1 Paragraph 2 Paragraph 3 ``` If you move the caret back to the end of Paragraph 2 and write " is broken" then double tap the space bar, you get two spaces rather than a full stop/period followed by a space. This can be somewhat exacerbated if you have, for example, a plugin or extension which intentionally keeps a trailing node (see: https://tiptap.dev/docs/examples/experiments/trailing-node) Incidentally, macOS also has a double space shortcut for `.` but it works fine there. It wouldn't surprise me if this was exclusive to iOS but, again, this doesn't affect other editors. Sorry to flag this directly but this will potentially impact a large number of our users when we start using this (via Tiptap) in production so it would be very useful to figure this out. Thank you!
josephdpurcell commented 2024-11-18 11:11:18 +01:00 (Migrated from github.com)

I can still confirm this issue on iOS 16 using Safari. I haven't had a chance to test yet on iOS 17.

@chrisdeeming Have you tested with iOS 17?

I can still confirm this issue on iOS 16 using Safari. I haven't had a chance to test yet on iOS 17. @chrisdeeming Have you tested with iOS 17?
chrisdeeming commented 2024-11-18 11:14:03 +01:00 (Migrated from github.com)

It continues to be an issue on iOS 16, 17, and 18.

It continues to be an issue on iOS 16, 17, and 18.
josephdpurcell commented 2024-11-18 11:28:59 +01:00 (Migrated from github.com)

@chrisdeeming Thanks for the confirmation. Can you list 2 or 3 other editors that support the "." shortcut on iOS? I made a list of editors a while back and want to see if the ones you're testing overlap.

@chrisdeeming Thanks for the confirmation. Can you list 2 or 3 other editors that support the "." shortcut on iOS? [I made a list of editors](https://docs.google.com/spreadsheets/d/18v2G44v0ix41xbAseOIcMcFOMNluc67IJz9f2U5IpRo/edit?gid=0#gid=0) a while back and want to see if the ones you're testing overlap.
chrisdeeming commented 2024-11-18 11:36:34 +01:00 (Migrated from github.com)

I've never found another rich text editor that has this issue (aside from Tiptap, naturally, but that comes from ProseMirror).

TinyMCE, Redactor, CKEditor, Froala, Editor.js, Lexical. Even CodeMirror 5 & 6 are fine.

I've never found another rich text editor that has this issue (aside from Tiptap, naturally, but that comes from ProseMirror). TinyMCE, Redactor, CKEditor, Froala, Editor.js, Lexical. Even CodeMirror 5 & 6 are fine.
gingersoulrecords commented 2024-11-18 14:53:38 +01:00 (Migrated from github.com)

Is there a hacky solution to this? Like, browser sniffing and picking up a second spacebar press within a certain time interval?

Is there a hacky solution to this? Like, browser sniffing and picking up a second spacebar press within a certain time interval?
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
prosemirror/prosemirror#1372
No description provided.