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

Rendering issue regarding zero width joiners #1554

Open
bcspragu opened this issue Nov 6, 2024 · 5 comments
Open

Rendering issue regarding zero width joiners #1554

bcspragu opened this issue Nov 6, 2024 · 5 comments
Labels
bug Something isn't working

Comments

@bcspragu
Copy link

bcspragu commented Nov 6, 2024

Bug description

Occasionally, a single vertical pane will be out of place in the UI. While writing this bug, I just realized that it seems to correlate 1:1 with the light blue color being used somewhere on that horizontal line. Specifically, the first time that shade of blue shows up on a line, everything to the right will have this 1 column shift.

** Between the left panel and the center **

2024-11-06_07-23-03

** On the left edge of the help menu **

2024-11-06_07-22-55

** The one next to the blue horizontal line scrolls as the center pane moves, the others are generally fixed (because they come from something on the left side of the page **

2024-11-06_07-21-10

How is the bug triggered?

How can you reproduce the bug?

  1. Open zulip-term

It occurs on every stock theme (they all use the same blue highlight) and in both Alacritty and xterm. This happens in both 256-color mode and 24-bit mode

What did you expect to happen?

Uninterrupted vertical lines.

How are you running the application?

Please include as many of the following as possible:

  • Zulip-terminal version:
    • Latest main ([d88adae](https://github.com/zulip/zulip-terminal/commit/d88adaeb21f76182970e076693f397abe2c715f3)) as of this writing
  • Zulip server version(s):
    • Zulip Cloud
  • Operating system (and version):
    • Arch Linux
  • Python version (and implementation):
    • 3.10, CPython

If possible, please provide details from the About menu: (hotkey: Meta + ?)
(this can provide some of the details above)

This is probably for a separate bug report, but I can't open the About menu. Meta + m works for markdown, but neither of Meta + / and Meta + Shift + / trigger the About page for me.

2024-11-06_07-33-09

@bcspragu bcspragu added the bug Something isn't working label Nov 6, 2024
@neiljp
Copy link
Collaborator

neiljp commented Nov 6, 2024

Does this occur with the light blue color, or rather with a specific emoji, or channel/stream or topic which may have one in their name?

If so, this could be related to #333.

@neiljp
Copy link
Collaborator

neiljp commented Nov 6, 2024

Re the About popup, briefly:

  • I wouldn't expect that meta + / would work, based on our settings
  • Do you have ? as the shift-modified version of / on your keyboard layout?
  • I would query if you had meta set differently to alt in some way, since generally the latter is what works for me, but you said meta + m works for you 😦
  • Is it possible your desktop environment or window manager is connected to that keypress in some way?

It would be good to get to the bottom of this if possible - particularly since alt m appears to work! Alt/meta can be a challenging modifier at the best of times, at least until we have easily configurable keys.

Depending how you installed ZT, you can edit the keys config file in the source to try another key in the mean time.

@bcspragu
Copy link
Author

bcspragu commented Nov 7, 2024

Does this occur with the light blue color, or rather with a specific emoji, or channel/stream or topic which may have one in their name?

Ah, I think you might be onto something! All the light blues are from the same channel, and it does have emojis in its name, which don't render with the font I'm using (or any other fonts I tried while diagnosing this bug)

2024-11-06_20-30-59

Looking in the web UI, that emoji is 🧑‍💻, which is one of those combo emojis with a zero width joiner, specifically:

🧑 Person, Zero Width Joiner and 💻 Laptop.

It's likely the Zero Width Joiner causing problems here?

@bcspragu
Copy link
Author

bcspragu commented Nov 7, 2024

It would be good to get to the bottom of this if possible - particularly since alt m appears to work! Alt/meta can be a challenging modifier at the best of times, at least until we have easily configurable keys.

I should definitely have been more specific: I'm using Alt any time I said Meta in that previous message. Like you said, the actual Meta/Super/Windows key is what I use for my window manager, but I double checked my sxhkd keybindings and nothing is mapped to alt + ?, it's all Meta/Super/Windows

@bcspragu bcspragu changed the title Rendering issue with vertical columns including a specific shade of blue Rendering issue regarding zero width joiners Dec 6, 2024
@bcspragu
Copy link
Author

bcspragu commented Dec 6, 2024

So I bit the bullet to just render real emojis in my terminal, but the issue persists:

2024-12-05_20-40-15

My best guess is that the calculation of "how many characters have we rendered in this row" is off by one because of the Zero Width Joiner.

I'd be happy to try and contribute a patch here with some pointers as to where to look.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants