* Missing changelog.
* Parse bare room aliases as permalinks.
Update the SDK.
* Fix tapping the same permalink twice.
Add a test.
Don't clear the focussed item when reaching the bottom of the timeline.
* Make sure sending a message returns to live.
* Stop running the UI tests on the double localized pseudolanguage
* Fix UI tests signalling comms problem because the json key ordering wasn't defined and the messages wouldn't match.
* Remove UI tests that are now the same as preview tests (i.e. non flow based, only screen based), fixed the rest so they run on iOS 17.2, the iPhone 15 and iPad 10th gen simulators.
* Remove unnecessary gitignore instructions, change UI test snapshot naming convention to be more similar to the unit test ones
* Enable derived data and spm checkout caching for UI tests
* Switch UI tests back to the perf-only runner, moved the integration tests to the iPhone 15 Pro simulator.
* Address PR comments
* room tests
* User session screen tests
* regenerated keyboard ones
* fixing some minor issues
* code improvement
* fixed the remaining tests
* fixed last two
* Add expand/collapse UI for reactions
- Adds a CollapsibleFlowLayout for controlling the layout
- Adds tests for this layout and some mocks for testing layouts generally
- Improves the rendering of the reaction buttons which were not pixel perfect
- Adds the UI for the expand collapse buttons including the count of hidden items in the collapsed state.
* Add comment for reactionsCollapsed binding.
* Remove Flow and simplify implementation
- Remove SwiftUI-Flow
- Add strings by importing from Localyse
- Remove count on expand button as requires GeometryReader and can cause loops
- Don't use GeometryReader for hiding reactions with opacity(just put them way off screen for now)
- Fix unit and UI tests
* Address PR comments
- use synthesized inits
- use rows rather than lines for naming flow layout
- other naming improvements
- reactions were already rendered in another ui test, removing my test on favour of those and updating the screenshots for those.
* Highlight own reactions
- Highlight own reactions on timeline and improve style.
- Highlight reactions on message bottom sheet only when it our own.
* Improve overlay background colours
* pin to new sdk version
* Remove the red used for debug.
* Fix padding, overlap and only display count if > 1.
- Fix reaction padding and overlap of reaction and bubble.
- Only display count if greater than 1.
- Return EmptyView for TimelineDeliveryStatus.cancelled.
* Fix colors as per design recommendations.
* Add Snapshot tests for reactions and documentation.
- Add UITests for the timeline including reactions.
- Add the reference snapshots.
- Add documentation on how to run snapshot tests and update the reference snapshots.
* Fix Package.resolved
* added the read receipt into the code
* fixed some things lost during merge
* implemented the status view to be always at the trailing side
* preview code for better testing
* removed timelineStyle modifier
* removed also the group style
* added some UI tests for the read receipts
* Fixed unstored weak reference warning
* Prevent the timeline from jumping whenever we access XCUIApplication properties
* Prevent UI tests from causing side effects on the timeline
* Update userSession reference screenshots
* Fix create room UI tests
* Update inviteUsers UI test reference screenshots
* Allow certain tests to enable timeline accessibility
* Fix roomLayout tests and update reference screenshots
* Disable the testTimelineLayoutInMiddle test because of flakiness
* Update screenshots following timestamp addition
* Another attempt
* Yet another attempt, replace XCUIScreen screenshots with XCUIApplication ones, decrease delay to 1 second
* Allow tests to retry up to 3 times before failing the run
* web-like solution
* not super polished but working implementation
* polishing the spacing and sizes
* removing unused code
* code improvements
* adding a test case in the preview for RTL
* addressing some PR comments
* added some tests and polished the code
* better naming
* code improvement
* RTL fix
* Revert "RTL fix"
This reverts commit 14e4468a5358769daa57891f4991e9e32da1c985.
* better RTL fix
* updated UI tests
* separated some files
* addressed some PR comments
* some more tests
* let's disable autocorrection
* waiting some more time in flaky tests and updated the content of a test that was failing
* controlled delay waited a bit moe for the timeline to settle
* try await
* trying with a bit more waiting time after the tap and a slow velocity for the swipe
* let's try waiting more time
* workflow for a single ui test
* las try
* slow swiping tests
* commenting out flaky CI tests, for now we'll just disable them
* better description
* flaky test improvement
* disabling animations that are not needed in UITests
* code that already prevents animations in UI tests
* code improv
* settting macOS to 13, and let's runa test of... the tests
* I want the artifacts of the test, might give me some more insight in Xcode
* archive artifact
* trying a thing with the xcode version
* push notifications alert makes this test fail
* test improvement
* let's try with a very long time
* let's disable autocorrection
* sleep
* 1 seconds fixed 90% of the issue, 2 should fix 100%
* waiting some more time in flaky tests and updated the content of a test that was failing
* updated a screenshot test that had a notification
* this integration test is a bit so flaky increased the timing
* controlled delay waited a bit moe for the timeline to settle
* try await
* MainActor everywhere
* milliseconds fix
* trying with a bit more waiting time after the tap and a slow velocity for the swipe
* let's try waiting more time
* 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.
* 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
* 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>
* Only use Client for UI test signalling.
Make the server listen and return a client.
* Refactor to Listener and Connection.
Matches Network.framework naming.
* Wait until the connection is ready before setting the established connection.
* Docs and fix method name.
* Fix CI issues.
- Use Bonjour to allow multiple devices running simultaneously.
- Sleep after establishing the connection to fix issues on Intel.
* Add signalling between UI tests and the app.
* Fix navigationStack on roomLayout screens and update screenshots
Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
* #35 Create `ElementNavigationController` subclass
* #35 Add encryption icons
* #35 Add avatar and encryption badge image to the room screen view model
* #35 Create `RoomHeaderView` class
* #35 Replace room title with a RoomHeaderView instance in the toolbar
* #35 Add changelog
* #35 Introduce `UITestScreenIdentifier` and refactor ui tests
* #35 Fix old tests
* #35 add some tests for room screen
* #35 Use svgs instead of pngs
* #35 Fix PR remarks