Commit Graph

386 Commits

Author SHA1 Message Date
Stefan Ceriu
ef97844a95 Bump the Rust SDK to 1.0.42-alpha, fix breaking changes 2023-03-02 17:12:42 +02:00
sem pruijs
f9fd3b9cb3 Ignore background images in OnboardingBackgroundView for VoiceOver users (#658) 2023-03-02 13:02:50 +00:00
Doug
ec80b55d77 Remove unused media loading from URL. (#663)
We are now using `MediaSource` everywhere (and should continue to do so).
2023-03-02 11:32:04 +00:00
Stefan Ceriu
73dcfe2f27 Prevent the dismissal callback from being called multiple times if changes happen on the navigation coordinators directly from it 2023-03-01 11:52:57 +02:00
Stefan Ceriu
cadae2170b Revert "Fix bug in which teardowns can be called multiple times on the same coordinator"
This reverts commit 4ae3b3b2dba033d560fe5321686635c96bd53f95.
2023-03-01 11:52:57 +02:00
Stefan Ceriu
0765788e9c Bump the RustSDK to v1.0.41 (#654)
* Handle breaking changes.
* Fix a couple of warnings
* Bump the SDK to v1.0.41
2023-02-28 18:03:19 +02:00
Stefan Ceriu
6e409f1ad0 Fix settings screen session verification crash 2023-02-28 15:33:55 +02:00
Stefan Ceriu
4ade260277 Fix bug in which teardowns can be called multiple times on the same coordinator 2023-02-28 15:33:55 +02:00
Stefan Ceriu
833d586adb Collapsible timeline item tweaks (#646)
* Fix collapsible timeline items grouping just one item, remove duplicate timeline item checking, clean up the logic

* Cleanup collapsible, separator and state room timeline view paddings

* Add changelog
2023-02-27 17:57:41 +02:00
Doug
8c6adae95e Put back the initial pagination. (#635) 2023-02-24 17:46:19 +00:00
Stefan Ceriu
0aca8c25c1 Fixes #614 - Add the user and device identifiers to rageshakes (#620)
* Fixes #614 - Add the user and device identifiers to rageshakes

* Add `base_bundle_identifier` to rageshakes
2023-02-24 14:51:36 +02:00
Stefan Ceriu
a1300d0b82 Sliding sync session reset manual backpagination (#628)
* Force a timeline backpagination when the app becomes active again in case the sliding sync session expires and it no longer shows any items

* Better way to load up timeline items when empty
2023-02-24 14:41:44 +02:00
Doug
5580e5c118 Naming consistency and improve conformance (a bit) (#625) 2023-02-24 11:44:41 +00:00
Stefan Ceriu
bf19e3e00b Made room state event collapsing configurable, expose it in the developer menu. Allow the UserSetting property wrappers to only store values in memory (+11 squashed commits)
Squashed commits:
[42e45fc] Even more tweaks following code review
[5dcd5be] Add swift-algoritms and switch bubbling detection to its `chunked` method
[4ac70ed] Move the groupBy implementation to Collection instead of Array
[6aeffc3] Tweaks following code review
[0ca5ac2] Bubbles working again, grouping computed closer to the UI level
[3a66030] Refactor how timeline items are built in the RoomTimelineController
[57d51e9] Remove grouping from timeline items
[8608950] Remove the RoomTimelineViewFactory, update the GroupRoomTimelineView
[9e52e61] Add array grouping extension, unit tests and switched the timeline controller to it
[7d213a1] First attempt
[90bb1d7] Remove now unused `RoomTimelineController` `updatedTimelineItem` calback
2023-02-24 07:34:07 +02:00
Doug
5a759d777d Add UI_TESTS_SCREEN as a disabled env var for quicker debugging. (#619) 2023-02-23 15:07:33 +00:00
Stefan Ceriu
f608d28c0d Fix navigationStackCoordinator getting torn down when being reset on … (#613)
* Fix navigationStackCoordinator getting torn down when being reset on the navigationSplitCoordinator, added unit tests for it

* Guard against using the same coordinator more than once
2023-02-23 16:01:48 +02:00
Stefan Ceriu
31120a1193 Manually cancel timeline listeners when a RoomScreen is torn down instead of waiting for a delayed deinit 2023-02-23 16:00:05 +02:00
Mauro
949b9c7d55 Audio Timeline Item support (#612)
* audio timeline item support

* improved the code to reduce cognitive complexity

* no need anymore for this swiftlint disabling of a rule

* pr comments
2023-02-23 11:06:31 +00:00
Mauro
5d5f788a77 Report Content (#587)
* ui for reporting content has been implemented

* implementation done, will only work withe a mx rust sdk that supports report content

* fix

* code improvements

* code improvement

* fix typo

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>

* removing unneeded task

* code improvement

* changelog

---------

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2023-02-22 17:14:43 +00:00
Stefan Ceriu
1e8d9fd6b2 Fix visible room sliding sync view ranges changing while inside rooms 2023-02-22 18:15:47 +02:00
Doug
b4a7d41cbd Bump SDK version and fix breaking changes. (#610) 2023-02-22 14:31:17 +00:00
Doug
9fd3b9816e Design: Forms, Login and Members screen. (#608)
* Rename Settings styles to Form styles.

* Removed redundant FormPickerRow.

* Use the button style everywhere and fix icon shapes.
2023-02-22 13:37:02 +00:00
Mauro
7694b6c392 Removed Edit/Reply Dimming (#606)
* #542 removed reply/edit dimming

* removed unneeded didSet
2023-02-21 10:02:35 +00:00
Stefan Ceriu
8235225f6d Fix incorrect visible room ranges: correctly remove duplicates and ignore appearance changes while filtering 2023-02-20 18:20:26 +02:00
Stefan Ceriu
15b7735079 Fixes #594 - Do not disable the session verification banner if the room list is the empty or loading state 2023-02-20 11:39:46 +02:00
Doug
389eb1f2b5 Add required state on subscribe. (#589) 2023-02-16 16:06:15 +00:00
Stefan Ceriu
93e263211d Fixed UI test problems introduced after the accessibility identifier … (#586)
* Fixed UI test problems introduced after the accessibility identifier changes
* Disable parallel UITests, they don't seem to work properly
* Fix UITests `elementFallbackLanguage`
2023-02-16 12:42:50 +02:00
Mauro
9515977c6a Attach Screenshot in Bug Report Screen (#578)
* 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
2023-02-15 16:46:53 +00:00
Doug
05c51e7821 Use files instead of UDP for signalling. (#585) 2023-02-15 14:02:50 +00:00
Stefan Ceriu
e3b557cf0c Fixes #322 - Developer options menu (#581) 2023-02-15 11:07:06 +00:00
Doug
654ed1196a Enable shorthand_optional_binding SwiftLint rule. (#582) 2023-02-15 09:34:48 +00:00
Doug
bd1e532d0e Add SwiftFormat wraparguments (#579)
Matches the wrapparameters rule, seems it was missed.
2023-02-15 08:53:10 +00:00
Michael Kaye
23ce41ec11 Align accessibility IDs with elementX android (#567)
* 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>
2023-02-15 07:53:04 +02:00
Doug
e4b6ba6596 Disable broken UI Tests and remove navigation. (#577)
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.
2023-02-14 16:25:24 +00:00
Mauro Romito
823a824b5b 547 refactored userNotification into userIndicator 2023-02-14 11:35:17 +01:00
Doug
f016903c65 Tweak the design of various Forms to match Figma (#573)
Add formBackground and formRowBackground colours and adopt them.

* Include topic in UI tests.
2023-02-14 10:14:13 +00:00
Stefan Ceriu
91cf139162 Project file removal (#569)
* 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
2023-02-13 12:53:01 +00:00
Stefan Ceriu
16d0708ed5 #396 - Work around duplicated room list items and add error logs (#571) 2023-02-13 12:21:49 +00:00
Stefan Ceriu
3096d11ddc BrowserStack support (#561)
* 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
2023-02-10 16:52:15 +02:00
Doug
683860a924 Message composer icon and scroll to bottom button dark mode (#562)
Remove animations on the composer when entering/exiting edit/reply mode too.
2023-02-10 09:48:01 +00:00
Stefan Ceriu
ba50a8050c Fixes #464 - Incorrect regex usage on extended grapheme clusters 2023-02-10 09:50:52 +02:00
Mauro
4af8f2860d Updated Screenshot Tests and fixed an issue with the MockMediaProvider (#554)
* 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
2023-02-09 14:57:55 +01:00
Stefan Ceriu
c4343d3dd9 Switch to weakAssign for all AppSettings listeners 2023-02-09 11:41:14 +02:00
Stefan Ceriu
359c314cb7 Fixes #367 - Refactor AppSettings usage patterns 2023-02-09 11:41:14 +02:00
Mauro
062bf35fcf Added a progress tracker to the bug report view (#513)
* 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.
2023-02-08 21:52:31 +01:00
Doug
becbcc84e1 Automatic discovery of the sliding sync proxy. (#535)
* 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.
2023-02-08 19:07:02 +00:00
Doug
73a5bca386 Update the timeline to correctly fix it to the bottom in UI tests. (#553) 2023-02-08 18:58:12 +01:00
Doug
838b496499 Fix UI Tests for OnboardingScreen, BugReportScreen, ServerSelectionScreen, and UserSessionFlows. (#549)
* Fix OnboardingScreen UI Tests

Disable the swipe tests for now as there is only a single page.

* Fix BugReportScreen UI Tests.

Use snapshots more and remove manual validation method.

* Fix ServerSelectionScreen UI Tests.

* Fix SessionVerificationScreen UI Tests.

* Fix UserSessionFlows UI Tests
2023-02-08 14:11:09 +00:00
Doug
97fbc0990d Minor tweaks to the message composer. (#548) 2023-02-08 12:21:41 +00:00
Doug
bbbd6b3b9d Add shimmer effect to room skeletons. (#544) 2023-02-07 13:19:57 +00:00