-
-
Notifications
You must be signed in to change notification settings - Fork 193
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 scrolling #1935
Fix scrolling #1935
Conversation
cc67d05
to
8e84abf
Compare
New revision
|
6cd05b6
to
2e122e8
Compare
New revision
|
e4a33aa
to
afff1f1
Compare
afff1f1
to
6acc63a
Compare
New revision
|
6acc63a
to
d1d3611
Compare
New revision
|
What were your thoughts here exactly? I think id that you used is correct. |
d1d3611
to
873e0b9
Compare
New revisionAddressed the issues outlined in the review. |
873e0b9
to
5ad376d
Compare
addressed |
Was this already the case before your change? |
5ad376d
to
fb851e9
Compare
fb851e9
to
3160b96
Compare
New revision
|
Affect how? Should we wait with merging/reviewing the code before this is solved? I would prefer to not include something "wrong" in master because several of our users use master to help us find bugs. So this might annoy them or make them report something that we are aware of. |
It might've affected in a previous version, currently it was removed, hence no one should be affected in any negative way (at least I don't see a problem currently, I might've missed something obviously). |
|
||
ProfMessage* msg = message_init(); | ||
msg->id = id ? strdup(id) : NULL; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see you introduced STRDUP_OR_NULL
in buffer.c
. I wonder if it would be worth it to have this in common.h and use it here (and in other places) as well? @sjaeckel ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sjaeckel ping
Before there was a problem of overscrolling: when messages longer than y axis of the terminal are fetched from the DB, profanity scroll "jumps" to the top, skipping some messages. It's resolved by keeping messages' starting and ending line in the internal profanity buffer, which allows to track proper message positions and to adjust window position accordingly. Message size is now tracked as part of the buffer's record in `_line` variable, which allows calculation of the total buffer size, which might be a part of the improved solution for the "underscrolling" problem, if we are going to limit profanity's buffer size by amount of lines as opposed to the limitation based on the amount of message which is currently used. Before adding a limitation by amount of lines, careful consideration is required, as some users don't use history and their temporary message history can be cut to minimal limit because of 1 long received/sent message. Underscrolling problem was fixed in a previous commit d7e46d6 Short recap of the problem: Despite user scrolling to top/bottom of history, factual position is offset from the intended location Another feature of this commit is a minor change which adds fetching message stanza IDs from the DB. It allows correcting messages fetched from history. Fixes profanity-im#1934
3160b96
to
4fe2c42
Compare
New revision
|
Current state:
Currently it's full of debugging lines with some issues which are to be fixed before release:
This line is for github CI/CD system to link the issue
Fix #1934