* replace NavigationStack with ElementNavigationStack to allow the content to be rendered without a NavigationStack in a11y tests
* fix a11y tests
* update xcodeproject
* swiftformat fix
* use iOS 26.1 for CI
* use a wrapper to solve the issue for a11y tests
* ElementNavigationStack only uses the trick in DEBUG mode, and added a swiftlint rule to prevent the usage of NavigationStack
* Update proxies ready for adding rooms to a space.
- ClientProxy.recentlyVisitedRooms to take a filter and to return room proxies.
- Expose SpaceServiceProxy.addChildToSpace.
* Implement the SpaceAddRoomsScreen.
* Fix the designs of the selected carousels.
Add more snapshot tests for inviting users.
* Fix for screen using wrong avatar size.
* 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>
* 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
Unfortunately the introspection became unreliable from iOS 17.1 onwards.
* Replace disableInteractiveDismissOnSearch and dismissSearchOnDisappear.
These can be handled within our searchController implementation now.
* Fix preview snapshots.
Weirdly, the search field is bigger in these, although it hasn't changed in the UI tests or the app itself.
* Fix visibility of navigation bar when searching the forwarding screen.
- Update Introspect and replace deprecated calls with new ones.
- Remove obsoleted colours from DesignKit.
Squashed commits:
[d64bb3bb] Stop using the ServiceLocator directly in the ScreenTrackerViewModifier
[37c46ab9] Rename Analytics to AnalyticsService
[8852a371] #920 - Cleanup ServiceLocator usages
- Add an animation to long press on messages.
- Make emojis bigger on the reactions picker screen.
- Remove quote menu action.
- Fix emoji picker handle overlapping focused search field.
- Update launch, splash and onboarding screens.
- Use elevation tokens in Forms.
- Move the cancel button on the Start Chat flow.
* Add support for message forwarding
* Move the TimelineProvider within the RoomProxy to avoid it going out of sync and have it automatically register for timeline updates on init
* Implement single selection form button style for message forwarding
* Add searching and filter out the source room from the list
* Fixed emoji screen initial search bar height
* Add view models tests
* Add changelog
* Update strings
* Tweaks following code review
- 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.
* Delete deprecated font tokens.
* Migrate from primaryContent to textPrimary/iconPrimary.
* Migrate from links to textLinkExternal.
* Migrate from secondaryContent to textSecondary/iconSecondary.
* Migrate from accent to textActionPrimary.
- Some uses changed to textPrimary or iconPrimary as necessary.
- Some manual tints removed now that that Sentry is fixed.
* Migrate alert to textCriticalPrimary/iconCriticalPrimary.
* Migrate from brand to textActionAccent/iconAccentTertiary.
* Migrate from background to bgCanvasDefault or text/iconOnSolidPrimary
* Migrate system to bgSubtleSecondary.
* Remove ElementUIColors and obsolete migrated colours.
* Migrate tertiaryContent/quaternaryContent/quinaryContent to Compound.
* Migrate bubblesYou/bubblesNotYou to use Compound.
* Update Compound.
* refactored alert info to not use the soon to be deprecated API
* missing files and changelog
* updated some tests
* Update ElementX/Sources/Screens/RoomMemberDetailsScreen/View/RoomMemberDetailsScreen.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
---------
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* 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