Bug 434963 - [feature-request] Jump to mentions
Summary: [feature-request] Jump to mentions
Status: REPORTED
Alias: None
Product: Ruqola
Classification: Applications
Component: frontend (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Laurent Montel
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-03-26 10:17 UTC by Angel Docampo
Modified: 2024-03-22 12:46 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
mentions go to message does not work (2.83 MB, image/gif)
2021-03-26 12:10 UTC, Angel Docampo
Details
cannot see the last unread messages (3.64 MB, video/mp4)
2021-03-31 09:03 UTC, Angel Docampo
Details
unkwnon icon (2.20 KB, image/png)
2021-04-01 06:42 UTC, Angel Docampo
Details
jump to first unread crashes ruqola (918.26 KB, video/mp4)
2021-04-14 12:59 UTC, Angel Docampo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Angel Docampo 2021-03-26 10:17:40 UTC
SUMMARY
On RC client, you can see where you've been mentioned with a red line on the scroll bar. On ruqola there is no way to see it, just an "@" sign on the chat list says you've N mentions to read, but once you enter the chat, you need to manually scroll up to see the mentions, and look for them reading all the text. 

STEPS TO REPRODUCE
1. Say somebody to chat you while you are away, if possible, more than once and with quite text between mention and mention
2. After a while, enter in ruqola, and you'll see the chat notification and the at sign with a number in parentheses meaning the number of unread mentions. 
3. Enter the chat and look for your mentions manually.

OBSERVED RESULT
You need to manually scroll up to the red line of unread message and then manually scroll down reading all the messages until you find the mentions

EXPECTED RESULT
It should be a graphical or automatical way to "jump" to the mentions: a modal window, a key combination (like Ctrl+M... or if you can throttle through mentions Crtr+J for the previous mention, Ctrl+K for the next mention) or it would be awesome (for me at least) if it can be done, a chat preview (like kate's side minipreview) instead of the scrollbar where mentions are highlighted.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Arch Linux
KDE Plasma Version: 5.21.2
KDE Frameworks Version: 5.79.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION
Comment 1 Angel Docampo 2021-03-26 10:19:17 UTC
Attachment too large, I'm posting a link to see what I'm talking about
https://cloud.docampo.net/index.php/s/7K4ipi6RrftnEGK
Comment 2 Laurent Montel 2021-03-26 10:56:04 UTC
you have a show mention dialog =>right click =>go to message
Comment 3 Angel Docampo 2021-03-26 12:10:44 UTC
Created attachment 137084 [details]
mentions go to message does not work
Comment 4 Angel Docampo 2021-03-26 12:14:21 UTC
(In reply to Laurent Montel from comment #2)
> you have a show mention dialog =>right click =>go to message

damn, I've posted the image and not the comment. It doesn't seem to work on my side
Comment 5 Laurent Montel 2021-03-26 12:21:38 UTC
(In reply to Angel Docampo from comment #4)
> (In reply to Laurent Montel from comment #2)
> > you have a show mention dialog =>right click =>go to message
> 
> damn, I've posted the image and not the comment. It doesn't seem to work on
> my side

indeed when message is too old it will not work yet as I don't want to load all history. It's on my todo list to load only specific message.
Comment 6 Angel Docampo 2021-03-26 12:41:23 UTC
Nice to know. Anyway "too old" is a message from yesterday? It seems to work just wiht today's metions.
Comment 7 Laurent Montel 2021-03-26 12:55:18 UTC
by default it loads 50 messages if I remember.
So if you scroll on history it will work.
But by default no as message can't be found if it's not loaded
Comment 8 Angel Docampo 2021-03-26 13:38:26 UTC
50 messages of history? But this won't do even the current day.

Yes, seems that if I scroll up to the day someone's mentioned me, forcing ruqola to load more messages from the server, then jumps to the message, but, imo, if I need to scroll up the history, the "Go to mention" feature loses all the utility.

Bonus: I've just tried the "Search tool" and it does the same, it shows the results, but  I cannot go to the message either, so I guess both are using the same method.

I don't know other people, but where I work, jump to -very- old conversations is quite important, that's one of the main reason I convinced the boss to left Skype in favour of RC, because Skype' search was a pain in the **s

I'm glad you already have this in your TODO :D
Comment 9 Laurent Montel 2021-03-30 07:00:55 UTC
now we can move to last unread message.
I will work for move to specific message now
Comment 10 Angel Docampo 2021-03-31 09:03:11 UTC
Created attachment 137191 [details]
cannot see the last unread messages

I've scrolled up the chat up to yesterday, and changed to another chat and waited for someone to chat me, the counter of unreaded messages apperared, then I changed back to the chat, but I cannot see how can I jump to the unread messages.
What am i doing wrong?
Comment 11 Laurent Montel 2021-03-31 11:07:03 UTC
Yep master there is a bug fixed soon.
Comment 12 Laurent Montel 2021-03-31 15:19:34 UTC
(In reply to Laurent Montel from comment #11)
> Yep master there is a bug fixed soon.

It was fixed. It's ok for you now ?
Comment 13 Angel Docampo 2021-04-01 06:42:12 UTC
Created attachment 137220 [details]
unkwnon icon

I don't know how to do it.  I noticed an icon which I don't know the meaning, and I thought it could be, but it's disabled -see attachemnt-. I've search on the hotkeys, so see if there were any hotkey for that like for "Jump to Next Unread Channel", but I didn't find it either.
Comment 14 Laurent Montel 2021-04-01 06:50:45 UTC
(In reply to Angel Docampo from comment #13)
> Created attachment 137220 [details]
> unkwnon icon
> 
> I don't know how to do it.  I noticed an icon which I don't know the
> meaning, and I thought it could be, but it's disabled -see attachemnt-. I've
> search on the hotkeys, so see if there were any hotkey for that like for
> "Jump to Next Unread Channel", but I didn't find it either.

? 
it's icon for sending message if you want.
Comment 15 Angel Docampo 2021-04-01 06:53:54 UTC
(facepalm)
Sorry, I slept just 4h today, and I'm a bit slow... I never used it before that button.

So, how can we jump to the next unread message? Is there a way I'm too sleepy I can't see either?
Comment 16 Angel Docampo 2021-04-14 12:59:54 UTC
Created attachment 137598 [details]
jump to first unread crashes ruqola

Today I've noticed the banner on top when you have unread messages, unfortunately, it crashes ruqola every time I click on it.
Comment 17 Angel Docampo 2021-04-14 13:03:11 UTC
This is the backtrace

Application: Ruqola (ruqola), signal: Aborted

[KCrash Handler]
#4  0x00007ff32a305ef5 in raise () from /usr/lib/libc.so.6
#5  0x00007ff32a2ef862 in abort () from /usr/lib/libc.so.6
#6  0x00007ff32a8629ac in QMessageLogger::fatal(char const*, ...) const () from /usr/lib/libQt5Core.so.5
#7  0x00007ff32a861db6 in qt_assert_x(char const*, char const*, char const*, int) () from /usr/lib/libQt5Core.so.5
#8  0x00007ff32ccd244f in QVector<Message>::at (this=0x55a8a7b32ed8, i=-3) at /usr/include/qt/QtCore/qvector.h:449
#9  0x00007ff32cccbfcd in MessageModel::messageIdFromIndex (this=0x55a8a7b32ec0, rowIndex=-3) at /home/malevolent/development/ruqola/src/core/model/messagemodel.cpp:170
#10 0x00007ff32d05e8c1 in operator() (__closure=0x55a8a7c0f440, obj=...) at /home/malevolent/development/ruqola/src/widgets/room/roomwidget.cpp:571
#11 0x00007ff32d060b49 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<const QJsonObject&>, void, RoomWidget::slotJumpToUnreadMessage(qint64)::<lambda(const QJsonObject&)> >::call(struct {...} &, void **) (f=..., arg=0x7ffe96245d70) at /usr/include/qt/QtCore/qobjectdefs_impl.h:146
#12 0x00007ff32d06092b in QtPrivate::Functor<RoomWidget::slotJumpToUnreadMessage(qint64)::<lambda(const QJsonObject&)>, 1>::call<QtPrivate::List<QJsonObject const&>, void>(struct {...} &, void *, void **) (f=..., arg=0x7ffe96245d70) at /usr/include/qt/QtCore/qobjectdefs_impl.h:256
#13 0x00007ff32d06078e in QtPrivate::QFunctorSlotObject<RoomWidget::slotJumpToUnreadMessage(qint64)::<lambda(const QJsonObject&)>, 1, QtPrivate::List<const QJsonObject&>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0x55a8a7c0f430, r=0x55a8a778a910, a=0x7ffe96245d70, ret=0x0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443
#14 0x00007ff32aabf996 in ?? () from /usr/lib/libQt5Core.so.5
#15 0x00007ff32c7a6cba in RocketChatRestApi::ChannelHistoryJob::channelHistoryDone (this=0x55a8a88bc580, _t1=..., _t2=...) at /home/malevolent/development/ruqola/build/src/rocketchatrestapi-qt5/librocketchatrestapi-qt5_autogen/GKMA37ZLDK/moc_channelhistoryjob.cpp:152
#16 0x00007ff32c81d546 in RocketChatRestApi::ChannelHistoryJob::slotLoadHistoryChannelFinished (this=0x55a8a88bc580) at /home/malevolent/development/ruqola/src/rocketchatrestapi-qt5/channels/channelhistoryjob.cpp:60
#17 0x00007ff32c81e7ff in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (RocketChatRestApi::ChannelHistoryJob::*)()>::call(void (RocketChatRestApi::ChannelHistoryJob::*)(), RocketChatRestApi::ChannelHistoryJob*, void**) (f=(void (RocketChatRestApi::ChannelHistoryJob::*)(RocketChatRestApi::ChannelHistoryJob * const)) 0x7ff32c81d3ca <RocketChatRestApi::ChannelHistoryJob::slotLoadHistoryChannelFinished()>, o=0x55a8a88bc580, arg=0x7ffe96245f80) at /usr/include/qt/QtCore/qobjectdefs_impl.h:152
#18 0x00007ff32c81e782 in QtPrivate::FunctionPointer<void (RocketChatRestApi::ChannelHistoryJob::*)()>::call<QtPrivate::List<>, void>(void (RocketChatRestApi::ChannelHistoryJob::*)(), RocketChatRestApi::ChannelHistoryJob*, void**) (f=(void (RocketChatRestApi::ChannelHistoryJob::*)(RocketChatRestApi::ChannelHistoryJob * const)) 0x7ff32c81d3ca <RocketChatRestApi::ChannelHistoryJob::slotLoadHistoryChannelFinished()>, o=0x55a8a88bc580, arg=0x7ffe96245f80) at /usr/include/qt/QtCore/qobjectdefs_impl.h:185
#19 0x00007ff32c81e6ed in QtPrivate::QSlotObject<void (RocketChatRestApi::ChannelHistoryJob::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55a8a8848b40, r=0x55a8a88bc580, a=0x7ffe96245f80, ret=0x0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:418
#20 0x00007ff32aabf996 in ?? () from /usr/lib/libQt5Core.so.5
#21 0x00007ff32adcdcd5 in ?? () from /usr/lib/libQt5Network.so.5
#22 0x00007ff32aab5142 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#23 0x00007ff32b739762 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#24 0x00007ff32aa8863a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#25 0x00007ff32aa8b133 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5
#26 0x00007ff32aae1b04 in ?? () from /usr/lib/libQt5Core.so.5
#27 0x00007ff329e5002c in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#28 0x00007ff329ea3b59 in ?? () from /usr/lib/libglib-2.0.so.0
#29 0x00007ff329e4d781 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#30 0x00007ff32aae1141 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#31 0x00007ff32aa86f9c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#32 0x00007ff32aa8f454 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#33 0x000055a8a691ffb1 in main (argc=1, argv=0x7ffe96246608) at /home/malevolent/development/ruqola/src/apps/widget/main.cpp:132
[Inferior 1 (process 318784) detached]
Comment 18 Laurent Montel 2024-03-22 12:46:36 UTC
Did you still have crash ?
Regards