* Fixed UI test problems introduced after the accessibility identifier changes
* Disable parallel UITests, they don't seem to work properly
* Fix UITests `elementFallbackLanguage`
* 127 Attach Screenshot in Bug Report Screen
* #127 code improvement
* #127 Code improvements, and changed the loading... label to sending...
* using a statically defined identifier for the new defined ui element
* added the RowLabelStyle and improved the design of the view
* code improvement
* code improvement
* making alignment private
* synthesised init
* Rename onboarding and login user/pass accessibility ids.
* Refactor remaining server change accessibility IDs
* Avoid accessibilityIdentifier spreading to all decorations on the textBox.
Required because otherwise there are multiple items tagged with the accessibilityId
which means we can't click on "the" item.
* Move all accessibility identifiers to `AccessibilityIdentifiers.swft`
- use same naming convention on all of them
- remove the unused ones
- fix build errors in integration tests and invalid identifiers (still broken until autodiscovery lands on rosa)
---------
Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
Add locale to signalling service name.
Type strings character by character.
Add a default test timeout of 1 minute.
* Directly set UI Tests screens as the root screen.
Speeds up test runs by removing scrolling and searching for buttons.
* Parallelise test runs from Xcode (not fastlane).
* Disable signalling based tests.
* Deleted project file
* Add back SPM Package.resolved + .gitignore
* Generate project file on release builds
* Converge on single CI setup scripts within `ci_scripts/ci_common.sh`
* Fix unit tests
* Use new `ci_common/setup_github_actions_environment` setup script on all workflows
* Move lfs validation check to the pre-commit hooks. Remove validate-lfs github actions workflow
* Fix integration tests workflow
* Tweaks following code review
* BrowserStack support
* Add fastlane step to automatically upload builds to BrowserStack
* Add error log for when Application Groups are not available
* Use better applicationSupportDirectory API
* updated the tests
* updated ui tests
* removed unused files
* fixed a bug that prevented the image to be added in the avatar of the rooms from the mock, and improved some UI tests
* swiftformat
* fixed an issue where the room Id was not matching the real room id coming from the timelineController, also updated some tests, and added a test for the case where the RoomAvatar is available.
* added some waitForExistence checks to allow the CI to find the UI elements
* this should make the loading bar always match at the HStack size
* code improvement for the tests
* fix for the max frame of the loading screen
* updated tests
* regenerated and improved some tests
* sonarcloud improvements
* changelog
* created a progress tracker class and passed it in the user notification to be observed by the progress view
* improved the publishing by dispatching it on RunLoop.main
* bug report struct created and progress tracker class moved into the Other folder
* some swiftlint adjustments
* fixed tests
* fixed another test BugReportServiceTests
* changelog 495 - change
* added a mock preview
* fixing some linting suggestions
* no need to use KVO, achieve the same result using a publisher
* some refactors to address PR comments
* some code improvements
* fixed the issue that prevented the avatar of the room to be displayed in the mocks, and updated the tests
* Revert "fixed the issue that prevented the avatar of the room to be displayed in the mocks, and updated the tests"
This reverts commit 113d6091d91a3aac1f9a59ff6c5e07610ed59859.
* Automatic discovery of the sliding sync proxy.
* Handle homeserver detection from a MXID.
* Update sliding sync info link, SDK and bump patch.
Add a migration on the new version. The change in restoration token format requires the user to sign in again, but this will fail with the existing device ID.
* Pass full attributed string to TimelineItems and let the UI level handle blockquote coalescing
* Add permalink detection and attribute embedding within the attributed string
- Decryption banner on the timeline
- Bubble colours
- Background insets
- Multiline composer corner radius
- Read marker
- GIF indicator
- Reactions shape
- Use RoomTimelineViewLabelStyle everywhere possible
- Only set a line limit on reply quotes, allow all the lines for regular quotes.
- Message label icons
- Yes/No button casing
- Make sender profiles immutable.
- Enable copy link and invite buttons.
- Fix layout loop detecting multiline composer text.
- Add animation to the encryption banner.
* removing unused event id link
* changelog
* Revert "removing unused event id link"
This reverts commit aacd1124498674662123d5598604ef8bfcdfe02e.
* commented the event id add link code
* better changelog
* commenting a tes that is related to the use of event id links which we don't handle for now
* 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>
* Format the last message date correctly.
* Update room cell layout - fixes an issue where the longer the date got the smaller the last message width was.
* Store and reuse room list placeholder avatars and last messages
* Cache and reuse HomeScreenRooms
* Reduce RoomSummaryProvider diff collection time
* Promote more logs to info
* Slighty tweak RustTracing to make it easier to configure
* Move TimelineProvider and RoomTimelineController item processing to background queues
* Prevent the timeline from stopping an ogoing decelerating scroll when starting backpaginating
* Add the message delivery status to the plain timeline styler and display it outside of the main content
* Fix glitchy timeline scroll to bottom button
* Fixed bubbled reactions padding
* Simplified the emoji picker, double tapping a timeline item directly opens it now and added a context menu option. Linked it to rust side reaction sending
* Fix the sliding sync cold cache: treat invalidated rooms as filled
* Make splash screen view full screen
* Fix the offline indicator popping up when first setting up the network monitor
* Expose presentationDetents on the NavigationStackCoordinator and start using them for the EmojiPicker
* Fix link tint color
* Linked TimelineReactionsView reaction sending
* Remove now unused/unnecessary classes
* Add changelog
* Fix formatting issue
* Create screen module
* Display details on header tap
* Add strings
* Add room avatar size on details
* Update members method signature
* Use room proxy values
* Create room members screen
* Display room members on tap
* Update previews and mock room proxy
* Commit project file
* Various tweaks and cleanup following code review
* More small tweaks + UI and screenshot tests
Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
* Fixes#361 - Reset everything if the app has been deleted since the last run
* Cleaned up and renamed the ElementSettings to ApplicationSettings. Removed its singleton and moved it to the service locator.
* Moved the ApplicationSettings to the Application folder
* Merged together the BuildSettings and ApplicationSettings
* Reset the UserDefaults too when resetting the application state
* Rename ServiceLocator.applicationSettings to just settings
* Fix indentation
* Rename ApplicationSettings to AppSettings
* Various tweaks following code review
* Fix unit tests
* Increase integration tests time limits again as they're still ocasionally failing
* Fixed NavigationRootCoordinator name in logs
* Refactor UI tests hierarchy and introduce new userFlowScreen
* Introduce a RoomTimelineControllerFactory so that it can be mocked in the UserFlow UI tests
* Start using a mock timeline controller for the UserSession flows
* Remove the WeakDictionary dependency and replce it with a plain NSMapTable in the BackgroundTaskService
* Allow multiple UITests screenshots per screen
* Prevent the view hierarchy changing when taking screenshots
* Add UserSessionScreen UI tests
* Fix label triaging workflow project identifier as per vector-im/element-ios/pull/7150
* Fix settings screen tests
* Fix roomPlainNoAvatar and roomEncryptedWithAvatar UI tests
* Fix modal server selection screen UI tests
* Fix bug report and login screen UI tests
* Fix text typing missing characters on UI tests
* Fix sliding sync configuration on integration tests
* Stop crashing if not finding a particular room through the MockClientProxy
Rename navigation components: SplitScreenCoordinator -> NavigationSplitCoordinator, StackScreenCoordinator -> NavigationStackCoordinator and SingleScreenCoordinator -> NavigationRootCoordinator
[0c161039] Tweak navigation logging
[826c19cf] Move the navigation dismissal callbacks to the NavigationModule, add SingleScreenCoordinator tests
[b8830d9c] Add tests
[252ad119] Merge the StackScreenCoordinator and SplitScreenCoordinators into a single file and stop publicly exposing their internal workings. Add more documentation.
[37671699] Cleanup navigation logging
[51406184] Use the parent SplitScreenCoordinator to present embedded StackScreenCoordinator sheets
[b94b04c9] Retract the room "syncing" indicator when dismissing a room
[1467b0ac] Correctly move to the no room selected state when popping in compact layouts
[10bf2ad8] Allow nilling root coordinators, replace present/dismiss sheet with setSheetCoordinator(?)
[33716784] Add single screen coordinator fade transition animation
[3cbe65e7] Prevent the timeline table view from being reused between different rooms
[9c94c50b] Move files around
[c10b6bc5] Adapt the user session state machine to the split layout
[7115a319] Fix unit and UI tests
[1ece59e8] Fix login flows
[6884dc3b] Use modules everywhere the underlying object is a NavigationModule
[ab08d44c] Rename navigation components to: SingleScreenCoordinator, SplitScreenCoordinator and StackScreenCoordinator
[ada2be57] Add SplitNavigationController
* Remove the navigationRootCoordinator from the UserSessionFlowCoordinator