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

Fix Rendering Issues #32

Closed
cblgh opened this issue May 31, 2018 · 4 comments
Closed

Fix Rendering Issues #32

cblgh opened this issue May 31, 2018 · 4 comments
Assignees
Labels
bug Something isn't working

Comments

@cblgh
Copy link
Member

cblgh commented May 31, 2018

Cabals with many messages have issues rendering them properly. Often times the input bar is overwritten, or collides with the backlog and the nick window seemingly has duplicates.

I think these issues stem from bugs in diffy and maybe also from txt-blit (since they are used in combination).

I want to start august's coding off by either finding and defeating these bugs, or by writing a new cli-frontend that doesn't suffer from them.

Rendering issues

@hackergrrl
Copy link
Member

This would be so wonderful @cblgh ❤️ 🎉 🌟

@julianpistorius
Copy link

I think I've started disentangling things.

I also see issue #10, and I suspect this warning might be causing a rendering issues for me as soon as the app starts - but only on Node 10.3.0.

When I use Node 9.11.1 I don't see this warning, and I also don't see the rendering issue when the app starts. But I do see the same rendering issue later on if I type long sentences with many words.

Fundamentally what I think triggers the rendering issue is when the input in the text entry area at the bottom of the screen grows beyond a certain size. Issue #10 just happens to trigger the rendering issue earlier.

Test environment

Operating System: Mac OS X 10.11.6 (El Capitan)
Cabal version: 2.3.1
Git hash: 49ab4b4276a4360e3dc5a98ac44e9df1f31f5ef8
Bash: GNU bash, version 4.4.19(1)-release (x86_64-apple-darwin15.6.0)
Readline: stable 7.0.3 (bottled), devel 8.0-alpha [keg-only]

Screencast

asciicast

Screenshots

Screenshot: Node 10, with warning and rendering issue

node_10_warning_and_rendering_issue

Screenshot: Node 9, no warning, but still rendering issue

node_9_no_warning_but_still_rendering_issue

@cblgh cblgh changed the title rendering bug deep dive Fix Rendering Issues Jul 9, 2018
@cblgh
Copy link
Member Author

cblgh commented Jul 9, 2018

@julianpistorius wow i can't believe i missed this excellent screencast, thank you so much!

i think you might be right in the problems stemming from text areas becoming outsized. it looks like this causes issues in diffy

scat has had problems with this as well, but fixed them through limiting text output stripedpajamas/scat#3

@cblgh
Copy link
Member Author

cblgh commented Apr 7, 2019

closed!!!

commits:

  1. emojis caused rendering problems
  2. fullwidth characters (CJK, chinese japanese korean) caused rendering problems
    to solve 1: use a grapheme-splitting library to correctly chunk messages into their constituents (individual characters, emojis + COMBINED emojis like purple hearts or people kissing)
    use the split string to filter out characters in the upper astral planes of unicode (i.e. only keep characters in the basic plane, or with a code point below 65536)
    to solve 2: patch txt-blit to account for fullwidth characters, see Add support for fullwidth characters hackergrrl/txt-blit#3

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

3 participants