-
Notifications
You must be signed in to change notification settings - Fork 226
Permalink timeline #2759
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
Permalink timeline #2759
Conversation
…ward insertion to "auto-scroll")
…ward pagination (and remove usage of PaginationStatus)
…ult on liveTimeline
…on (edit, reply, reaction)
📱 Scan the QR code below to install the build (arm64 only) for this PR. |
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.
LGTM in general, I have a few comments but nothing blocking. I'll wait until it's ready for the final review.
...t/android/features/messages/impl/timeline/components/virtual/TimelineLoadingMoreIndicator.kt
Show resolved
Hide resolved
.../kotlin/io/element/android/features/messages/impl/timeline/factories/TimelineItemsFactory.kt
Outdated
Show resolved
Hide resolved
fun `test TimelineItemIndexer`() { | ||
val eventIds = mutableListOf<EventId>() | ||
val data = listOf( | ||
aTimelineItemEvent().also { eventIds.add(it.eventId!!) }, |
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.
Maybe make sure all ids used here don't match? They're random, so there's not much of a chance of it happening, so up to you.
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.
Yes, I guess it's fine. I preferred to keep the randomness and store ids in eventIds
, another solution would have been to create AN_EVENT_ID_3
and AN_EVENT_ID_4
. Let's revisit later if it's worth it.
libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt
Show resolved
Hide resolved
...t/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessor.kt
Show resolved
Hide resolved
|
||
/** | ||
* This timeline post-processor removes the room creation event and the self-join event from the timeline for DMs. | ||
* This timeline post-processor removes the room creation event and the self-join event from the timeline for DMs | ||
* or add the RoomBeginning item for non DM room. |
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 think I'd have split this in 2 processors, but it's no big deal.
… and `TimelineEvents.JumpToLive`
I think there is an issue with Line 270 in bf87b97
But then message edition or reply is invoked on the live timeline, in RustMatrixRoom.
I think special modes, and so reply and edition have to occurs on the current timeline, because the Event have to be known. But we will not have local echo, which are only handled by the live timeline. |
|
Type of change
Content
Handle permalink navigation to Event.
Internal room and event navigation is fully supported with this changes. External link navigation will be handled separately.
Clicking on a replied Event preview navigate to the original Event.
Motivation and context
Permalink navigation
Screenshots / GIFs
See recorded ones
Tests
Tested devices
Checklist