* swift 6 support for NSE and concurrency safe implementations for it
* enforcing required Sendable conformance for swift 6 migration in NSE
* use Mutex to access the string builder cache
* use an async stream to update timeline items diffs
* fix for Sendable appHooks
* Revert "Address the real lifetime issue of the SDK's `Client` by making `Context.mediaProvider` weak. (#4466)"
This reverts commit c794144ef1.
* Better docs.
* 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
* #748 - Implement methods for processing various media types and preparing them for upload
* Various tweaks following code review:
- added blurhash generation
- changed thumbnails to jpeg
- throwing if file size cannot be retrieved
- move MediaProvider files to separate folder so they can cleanly be imported in the NSE
- added audio file processing
- switched all image resizing methods to ImageIO
- various renames
* Fix blurhash formatting issues, `swift-format-ignore-file` doesn't work
* Processing all media within unique folders to avoid conflicts
* Fix various warnings
* Rename `sizeForItemAt(_ url: URL)` to `sizeForItem(at url: URL)`
* Remove unnecessary resizeImage(UIImage) method, start by copying not moving the file to the unique location
* Add back warning for roomDetails.avatarURL