Bug 465285

Summary: [Feature] History beginning indicator in timeline
Product: [Applications] NeoChat Reporter: Jack Hill <jackhill3103>
Component: GeneralAssignee: Tobias Fella <fella>
Status: RESOLVED FIXED    
Severity: wishlist CC: carl, james.h.graham
Priority: NOR    
Version First Reported In: 23.01.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Jack Hill 2023-02-04 18:52:21 UTC
SUMMARY
It would be nice if there was some placeholder text at the very top of a room. Otherwise a user may think that there are more messages that just haven't loaded.

Discord has the following:
(Bold/Title font): Welcome to #channel-name!
(Regular text font): This is the start of the #channel-name channel.

STEPS TO REPRODUCE
1. Open a room
2. Scroll to the top

OBSERVED RESULT
There's nothing to indicate that you're at the top of the room. A user may think that there are more messages that just haven't loaded.

EXPECTED RESULT
Some text explaining that the user is at the top of the room, and that there are no more messages.

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20230201
KDE Plasma Version: 5.26.5
KDE Frameworks Version: 5.102.0
Qt Version: 5.15.8
Kernel Version: 6.1.8-1-default (64-bit)
Graphics Platform: Wayland

ADDITIONAL INFORMATION
Comment 1 James Graham 2023-02-12 20:27:52 UTC
Updated to title to make clear the difference between this and https://bugs.kde.org/show_bug.cgi?id=455045. This would be to track the request to show that the entire history of the room has been loaded whereas the linked is for some form of loading indicator to show that there are more messages to come.

It should be noted that the beginning of every room does have a series of state events for it's creation that show it's the start, but I wouldn't be against adding something to make this obvious to users who don't know the spec well or who have hidden state events.
Comment 2 Bug Janitor Service 2023-11-18 14:43:59 UTC
A possibly relevant merge request was started @ https://invent.kde.org/network/neochat/-/merge_requests/1447
Comment 3 James Graham 2023-11-20 17:11:14 UTC
Git commit 5efd17d370eee22e11d98a08f2fb2d67fded14c6 by James Graham.
Committed on 20/11/2023 at 18:10.
Pushed by nvrwhere into branch 'master'.

Loading and End of Timeline Delegates

Add delegate for showing the user a loading indicator and for the beginning of the timeline.
Related: bug 455045

M  +4    -0    src/CMakeLists.txt
M  +2    -0    src/enums/delegatetype.h
M  +2    -9    src/models/messageeventmodel.cpp
M  +4    -3    src/models/messagefiltermodel.cpp
M  +2    -1    src/models/messagefiltermodel.h
A  +95   -0    src/models/timelinemodel.cpp     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
A  +112  -0    src/models/timelinemodel.h     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
M  +13   -0    src/qml/EventDelegate.qml
A  +15   -0    src/qml/LoadingDelegate.qml     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
M  +8    -8    src/qml/RoomPage.qml
M  +1    -1    src/qml/RoomWindow.qml
A  +90   -0    src/qml/TimelineEndDelegate.qml     [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)]
M  +10   -10   src/qml/TimelineView.qml
M  +7    -5    src/roommanager.cpp
M  +5    -4    src/roommanager.h

https://invent.kde.org/network/neochat/-/commit/5efd17d370eee22e11d98a08f2fb2d67fded14c6