Skip to content

Fix the Timeline Part 1

James Graham requested to merge work/nvrwhere/timeline_delegate into master

This introduces a new base delegate that handles sizing the content of delegate in the timeline, i.e. it handles all the size helper stuff. This is then used for all the other main delegates:

  • messages
  • state
  • read marker

This means they now all have identical base code to do the sizing (read marker still had legacy code).

Because the new base delegate is called TimelineDelegate both TimelineContainer and MessageDelegate have been renamed:

  • MessageDelegate -> TextDelegate - this never made sense before images, videos, etc are all technically messages in Matrix parlance
  • TimelineContainer -> MessageDelegate - this has always really been the base for messages

Note - this is mostly groundwork for dealing with the layout polish loop spam which will hopefully be fixed in part 2 with a bubble rework.

Merge request reports