* Setup simple share extension
* Switch the app url scheme to be the full bundle identifier
* Setup a share extension that show a SwiftUI view, uses rust tracing and redirects to the hosting aplication
* Move media as json through the custom scheme into the main app and deep link into the media upload preview screen
* Fix message forwarding and global search screen room summary provider filtering.
* Tweak the message forwarding and global search screen designs.
* Add a room selection screen to use after receiving a share request from the share extension
* Fix share extension entitlements
* Share the temporary directory between the main app and the extensions; rename the caches one.
* Remove the no longer needed notification avatar flipping fix.
* Extract the placeholder avatar image generator from the NSE
* Nest `AvatarSize` within the new `Avatars` enum
* Donate an `INSendMessageIntent` to the system every time we send a message so they appear as share suggestions
* Support suggestions in the share extension itself
* Improve sharing animations and fix presentation when room already on the stack
* Clear all routes when sharing without a preselected room.
* Fix broken unit tests
* Various initial tweaks following code review.
* Correctly clean up and dismiss the share extension for all paths.
* Move the share extension path to a constants enum
* Rename UserSessionFlowCoordinator specific share extension states and events
* Add UserSession and Room flow coordinator share route tests
* Tweak the share extension logic.
* Add the networkMonitor to the NSE and delete the old MockMediaLoader
* Generate a MediaLoaderMock through AutoMockable and use it in the MediaProviderTests
* Implement an ImageProvider mechanism that automatically tries reloading images when connectivity is established again and use it for LoadableImages
* Merge the ImageProvider protocol back into the MediaProvider
* Address PR review comments
* Provide a default sdk client request configuration
* Address tasks not automatically cancelling themselves when views get deallocated
- stop using multiple background task, the appCoordinator sync one is enough for the whole app
- move the AppMeditor to the MainActor
- expose the WindowManager through the AppMediator
- hide sensitive WindowManager API behind a different protocol
- remove the now unnecessary `BackgroundTaskService`
* changed how the notifications are handled
* local notifications can be decrypted and shown!
* Improved the handling for the mock and for the normal messages
* Avatar images are also displayed
* pr ready, commented some code that is not supposed to be releaaed yet, adjusted some tests and added some source code in the targets
* fixing some swiftlint complaints and removed an unused function
* better swiftlint disable
* addressing PR comments
* Structured logging support
* Bump the SDK, fix breaking changes
* Enabled more logging of timeline diffs
* Keep only source file last path components in logs
* Bump the SDK, tweaks following code review
* loading a cached avatar at first, and then actually doing the request so that the avatar can still be displayed without connection
* improved the code
* fix + changelog
* policy on how to fetch the avatar url added
* code improvements
* addressed al PR comments
* improved the error handling
* improved the async task code
* fixed a typo
* fixed another typo
* 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>
* 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>