* Create AnalyticsServiceProtocol and conform AnalyticsService
* Replace AnalyticsService properties and arguments with AnalyticsServiceProtocol
* Inline AnalyticsServiceMock replacing old mock
* handle more complex AnalyticsServiceMock callsites
* move documentation from AnalyticsService to AnalyticsServiceProtocol
* Introduce a basic StartChatFlowCoordinator.
* Move the rest of the start chat flow from the screen coordinator into the flow coordinator.
* Add a UI test for the entire start chat flow.
* Refactor CreateRoom… to CreateRoomScreen…
* Present members of a space
* present the members modally from the space
* Implemented a room members flow coordinator to make such flow more modular and reusable
this is required since we will need to reuse this module also in the space settings, and later we could also replace it in the RoomFlowCoordinator.
* the implementation to support at least the SpaceFlowCoordinator is done a follow UP should do the refactor.
* remove modal usage from the flow, we want to always be a navigation flow
* Improved and implemented the room navigation in the members flow coordinator
* pr suggestions and refactored the start chat flow and the invite screen
* updated copies for managing room members
* Update ElementX/Sources/Screens/Spaces/SpaceScreen/SpaceScreenViewModel.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
---------
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* Allow MediaPickerScreen users to select the media selection mode (single or multiple)
* Fix cancellation
* Add support for multiple media URLs on the MediaUploadPreviewScreen.
* Support processing more URLs on the `MediaUploadingPreprocessor` and sending more on the `MediaUploadPreviewScreen`
* Add feature flag for `multipleAttachmentUploadEnabled`
* Add a label showing the current preview item index in the MediaUploadPreviewScreen
* Add support for dragging and dropping or pasting multiple items at the same time.
* Support sharing more than one file through the share extension.
* Limit the number of items that can be shared in one go to 5.
* Fix unit tests
* Fix incorrect fatal error when dealing with single selection media pickers.
* Document the `multipleAttachmentUploadEnabled` usage in the context of the MediaPicker.
* Use a task group for processing selected media in the photo library picker.
* Use a task group for processing multiple selected media in the MediaUploadingPreprocessor
* Switch the maximum number of items that can be shared to 10.
* Allow multiple items to be pasted at the same time.
* Fix a bug where some files sizes were sent as 0.
* Make FileManger.sizeForItem(at:) a UInt.
The docs specifically say that FileAttributeKey.size returns an unsigned long long so I have no idea why we were returning a Double here…
* Add the maxMediaUploadSize property on ClientProxy.
* Use the maxUploadSize to set a target video size and to show a file too big error.
* Refactor media upload parameter order.
* Implemented join room by address
* improved the text field typing
* some improvements to how the text is edited
* remove navigation link
* moved room directory search to the start chat flow
* updated preview tests
* added unit tests and improved the code
* updated strings
* some pr suggestions:
- moving the file
- changing the name of the action
- reintroduce the debounce text queries
- add comments
* renamed the auth text field style to Element
updated tests
* #750 - Convert the SoftLogoutScreen to combine
* #750 - Convert the UserSessionFlowCoordinator to Combine
* #750 - Convert the AnalyticsPromptScreen to Combine
* #750 - Convert the LoginScreen to Combine
* #750 - Convert the ServerSelectionScreen to Combine
* #750 - Convert the EmojiPickerScreen to Combine
* #750 - Convert the HomeScreen to Combine
* #750 - Convert the MediaUploadPreviewScreen to Combine
* #750 - Convert the OnboardingScreen to Combine
* Rename `Onboarding` to `OnboardingScreen`
* #750 - Convert the ReportContentScreen to Combine
* #750 - Convert the RoomDetailsSscreen to Combine
* #750 - Convert the RoomMemberDetailsScreen to Combine
* #750 - Convert the RoomMembersListScreen to Combine
* #750 - Convert the SessionVerificationScreen to Combine
* #750 - Convert the SettingsScreen to Combine
* #750 - Convert the AdvancedSettingsScreen to Combine
* #750 - Convert the DeveloperOptionsScreen to Combine
* Fix the unit tests
* Use .sink action and the same cancellables constructor everywhere
* Cleanup cancellables when setting up tests
Squashed commits:
[d64bb3bb] Stop using the ServiceLocator directly in the ScreenTrackerViewModifier
[37c46ab9] Rename Analytics to AnalyticsService
[8852a371] #920 - Cleanup ServiceLocator usages
- Fix sheet backgrounds in dark mode.
- Fix background colours for reaction buttons.
- Reply view layout.
- Update separator colours.
- Don't show sender name/avatar in DMs.
- Fix inconsistent line heights with formatted body text.
- Use plain text for reply
- Increase tappable size of collapsed state changes button.
- Blockquote layout and text colour.
- Tap to expand the topic in room details.
- Change the topic and security font size in room details.
- Add cancel button when inviting someone to an existing room.
- Reword Add Friends to Add People in start chat screen.
- Update compound.
* Inject user id into room’s details
* Refactor member fetch logic in RoomDetailsScreenViewModel
* Refactor DI
* Fetch members in RoomMembersListScreenViewModel
* Fetch members in InviteUsersScreen
* Use joinedMembersCount in room members list
* Cleanup
* Limit members refresh
* Cleanup binding
* Fix UT build errors
* Fix RoomDetailsScreenViewModelTests
* Fix RoomMembersListScreenViewModelTests
* Fix UTs
* Fix RoomDetailsScreenUITests
* Refine RoomDetailsScreenViewModelTests
* Add roomProxy extension
* PR comments
* Refactor room’s counter to Int
* Improve updateMembers() performances
* Fix memory leaks
* image media upload for room creation
* fix remove duplicate logic
* use Async Image, add Focusable Fields in create room
* remove alert message which doesn't have a copy
* add remove duplicates on crete room image
* add button style for preventing undesired touches
* add changelog, add error case for file too large
* Fix iPad sheet presentation
* add error media preprocess
* dismissing focus on image picker