* audio timeline item support
* improved the code to reduce cognitive complexity
* no need anymore for this swiftlint disabling of a rule
* pr comments
* Use an imageProvider directly from the view in the home screen
* Add support for media request coalescing
* Rename MediaProxy to MediaLoader
* Add new image loading mechanism to the room details screen avatar.
* Use the `SettingsScreen` prefix for all settings screen related components
* Add new image loading mechanism to the room header
* Add new image loading mechanism to the room member details screen
* Introduce a LoadableImage SwiftUI view that will automatically handle image loading
* Adopt the new LoadableImage where possible
* Fix LoadableImage not using/storing loaded images properly
* Simplify media loader enqueueing
* Made LodableImage load content after mediaSource updates. Adopt it on the home and settings screens
* Introduce a LoadableAvatarImage component and reuse it throughout the app
* Small logging tweaks, made some LoadableImage properties private
* Fix redacted skeletons avatar background color
* Fix placeholder avatars changing when backgrounding the app
* PR comments.
- Trim the @ sign off of mxid placeholders.
- Only expose AvatarSize on the avatar image, use CGSize elsewhere.
Co-authored-by: Doug <douglase@element.io>
* Format the last message date correctly.
* Update room cell layout - fixes an issue where the longer the date got the smaller the last message width was.
* Store and reuse room list placeholder avatars and last messages
* Cache and reuse HomeScreenRooms
* Reduce RoomSummaryProvider diff collection time
* Promote more logs to info
* Slighty tweak RustTracing to make it easier to configure
* Move TimelineProvider and RoomTimelineController item processing to background queues
* Prevent the timeline from stopping an ogoing decelerating scroll when starting backpaginating
* 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>
* Media provider tests
* Moved classes to separate files
* Moved image file
* Removed unused image file
* Rebase and refactor.
Replace removed error type.
Refactor XYZMock to MockXYZ.
Co-authored-by: Doug <douglase@element.io>