Bugs with RTL Text

First, I have to say you are AMAZING for working on RTL support for Bear! :heart::heart:
There is basically no RTL markdown app for mac today (except Katib but it is very outdated and unmaintained), and Bear is already amazing so I am SO excited for this!

Testing version:
Version 1.0 (469)
What were you doing:
Testing RTL (specifically Hebrew)
What feature did you use:
Text, lists, headings.
What happened:
Only UI rendeing issues (nothing crashed / not content lost etc.)
What did you expect to happen:

NOTE: Since I’m a new user I was limited to 2 pictures per post, so I split it and added the rest as comments here, sorry about that!

  1. List (todo/numbers/normal) has text aligned to the right (as should) but writing direction is shown as LTR (the dot on a numbered list is on the right instead left to the number, and the caret is on the right instead left). Once I start typing it fixes itself (including the dot location)

  2. When starting a heading - same issue where the caret is on the right, as if I am typing LTR, even though the heading “icon” is aligned to right.
    image 5

I once tried to help Ulysses to implement proper RTL support, and they sent me a ulyssess document with everything Ulysses can render, and I translated that document to Hebrew so we could see all the bugs they have - if something like that would be valuable to you I would be happy to do the same!

  1. When typing English text at the beginning of a Hebrew line it “jumps” to align to left (as expected), but when deleting the english text it doesn’t jump back to the right. Once I then type another character in Hebrew it then jumps to right. Basically the align correction only happens on the event of typing a character, not when deleting a character.
    a. Expected: image 2 -> aligns to left due to the english character “c”.
    b. Bug: image 3 -> stays on the left after I delete the “c”…

c. Bug corrected: image 4 -> Once I type another hebrew character - “ב” - it goes back to the right.

  1. If I start a line as a list or heading, but don’t enter any text yet (let’s say I Cmd+1 to start a heading, but then move to another line to type somewhere else), once I go back to that line and try to type (whether it’s a list or heading) it puts the caret on the beginning of the line, instead of the end, which “breaks” the list or heading. This might be the same bug as 1 and 2: basically when I only have the heading (ie, # or more if heading 2, 3 etc.) or the list start (ie -, - [ ], etc) the line is aligned to right, but assumes paragraph direction of LTR instead RTL, so when I click with the mouse where I would want to type (ie, to the left of the # in the case of a heading) it actually positions the caret at the beginning of the line, rather than at the end of it, causing me to type before the #, or the - etc. It’s weird to explain it but to repro basically type something in hebrew, hit enter to begin an empty line, Cmd+1 to begin a heading, it should be aligned to the right as expected. Then move to another line, and come back to the line with the heading - by tapping with the cursor where you expect to begin typing the heading. Start typing and you will get what you type before the #, breaking the heading, like this:
    # טקסט (seems like the forum is rendering LTR paragraph, but you can copy-paste to Panda…)

  2. there’s a redundant space to the right of a code block in a line with Hebrew:
    image 7


Thank you so much for this feedback, it’s invaluable for us. Unfortunately we don’t have a team member that write RTL so we don’t have a lot of expertise in this area, we’re trying to support it, but we’re mostly going in blind.

This week is already pretty packed, but I’ll try to get my hands on the RTL as soon as possible!

Thanks again.

1 Like

Glad it was helpful!
Happy to help more however I can to support you guys! I’m also an iOS engineer so feel free to get as technical as needed (: