Timeline item sender profiles (#463)

* Adopt timeline item sender profiles for displaying user avatars and display names
* Prevent images from automatically being evicted from the in-memory cache when entering background
* Get rid of all the `urlString: String`s and start using proper URLs
* Add back manual display name loading as the sender profiles aren't working properly yet
* Implement a sender profile.
* Bump the RustSDK to v1.0.32-alpha

Co-authored-by: Doug <douglase@element.io>
This commit is contained in:
Stefan Ceriu
2023-01-18 16:29:44 +02:00
committed by GitHub
parent 8f906c7be7
commit 8f3f83167b
70 changed files with 390 additions and 495 deletions
@@ -95,8 +95,11 @@ struct EventTimelineItemProxy: CustomDebugStringConvertible {
item.isEditable()
}
var sender: String {
item.sender()
var sender: TimelineItemSender {
let profile = item.senderProfile()
return .init(id: item.sender(),
displayName: profile.displayName,
avatarURL: profile.avatarUrl.flatMap(URL.init(string:)))
}
var reactions: [Reaction] {