* Refactor the bloom into a modifier.
It currently depends on the home screen context but that will be removed in the future.
* Add an initial implementation of the new bloom using an image on the navigation item's appearance.
* Add a feature flag to control the new bloom.
* Introduce a `TimelineItemThreadSummary` object to hold details about threads starting from that particular item
This patch introduces a thread summary object that will be available on main timeline messages that are the root for a given thread.
It currently provides the latest message content and sender for that thread but it will grow to provide info on the number of replies, unreads etc.
It also add a new UI component called `TimelineThreadSummaryView` that makes use of this data and is in turn used by the bubbled styler to render it in the timeline.
The rest of the PR is about refactoring on the `RoomTimelineItemFactory` so that replies and thread summaries use similar paths and builders.
* Add a feature flag for threads
* Address PR comments
* Converge on single implementation for message previews
* Show the key upload progress when waiting to log out.
Add some basic view model tests too.
* Show a network suggestion if key upload doesn't report any progress during logout.
* Update compound and handle plain to tertiary/textLink button style updates.
* Update the start chat button to use the right icon/style.
* Update preview snapshots.
* Fix remaining snapshots.
* Fetch the OIDC login URL as part of the Server Confirmation screen.
The loading indicator would show and hide while configuring and then immediately show again while fetching the URL.
* Allow the OIDCAuthenticationPresenter to show its own errors.
We no longer need to present errors in the authentication flow coordinator.
* Bump the RustSDK to v25.04.09
* Adopt new MsgLike based timeline item structure.
* Move the `replyDetails` and `isThreaded` to the `RoomTimelineItemProperties`
* Restructure the TimelineItemFactory
* Fix line length warning
* Rename `msgLikeContent` to `messageLikeContent` wherever possible.
* Move the `EventTimelineItem` mocks to the SDK mocks folder.
- adopt new async throwing methods
- use the sdk side TimelineStart virtual timeline item
- remove async from `directRoomForUserID` as it's not async on the rust side
- remove async from `retryDecryption` as it's spawning not blocking on the rust side
* Make the map tiler key optional.
* Make the bug report URL optional.
* Make the sentry URL optional.
* Make the analytics configuration optional and handle consent taking Sentry into account.
* Stop prompting users to report crashes when Sentry is disabled.
* it works but only with the baseURL for now
* works but strings are not referenced properly
and we are using a dummy config.json which maybe is not required at all?
* test with EmbeddedElementCall repo
* updated the version
* ignore our own package
* updated version
removed using EC through the well known URL
* fix for remote URL overriding
* updated version
* fix for microphone and camera using local URL
* better solution
* Use version 0.9.0-release-test.3
* fix project
* removed workaround for emebedded EC url generation
* updated EC
* pr suggestions
* fix
* removed unnecessary configuration flag
---------
Co-authored-by: Hugh Nimmo-Smith <hughns@element.io>