166 Commits

Author SHA1 Message Date
Doug
246879f1bf
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
e2f2604ec0
Removed Edit/Reply Dimming (#606)
* #542 removed reply/edit dimming

* removed unneeded didSet
2023-02-21 10:02:35 +00:00
Mauro
2396f761ea
Associated Domains (#604)
* added support for all the new and old applinks domains (for backwards compatibility)

* changelog

* removed riot and vector based ones.
2023-02-21 09:48:22 +01:00
Stefan Ceriu
cc6201ed31 Fix incorrect visible room ranges: correctly remove duplicates and ignore appearance changes while filtering 2023-02-20 18:20:26 +02:00
Mauro
e91e0513b6
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
872c911cb5
Use files instead of UDP for signalling. (#585) 2023-02-15 14:02:50 +00:00
Doug
6211f121a0
Enable shorthand_optional_binding SwiftLint rule. (#582) 2023-02-15 09:34:48 +00:00
Doug
21154c7eef
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
d7f80807df 547 refactored userNotification into userIndicator 2023-02-14 11:35:17 +01:00
Doug
b2d99e27a5
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
Doug
f0a4cfd946
Update PR Build workflow. (#564) 2023-02-10 13:01:51 +00:00
Stefan Ceriu
8932e83929 Fixes #464 - Incorrect regex usage on extended grapheme clusters 2023-02-10 09:50:52 +02:00
Mauro
910a8e2067
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
Mauro
e5522e7753
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
4d87701ae9
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
22a99482a0
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
588975d53f
Minor tweaks to the message composer. (#548) 2023-02-08 12:21:41 +00:00
Doug
993ecfb46d
Add shimmer effect to room skeletons. (#544) 2023-02-07 13:19:57 +00:00
Doug
591a8679e9
Explicitly pass the context into the cell's environment. (#539) 2023-02-06 15:55:00 +00:00
Doug
2734a18217
Allow blockquote bubbles to fill the message bubble (#527)
Use a custom layout to prevent them from unnecessarily widening the bubble.
2023-02-06 13:42:19 +00:00
Element CI
3015896d46 Prepare next release 2023-02-03 06:21:42 -08:00
Doug
2aaeb576d2
Further design updates to the timeline. (#524)
- 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.
2023-02-03 14:09:48 +00:00
Doug
93997efef9
Allow different states for the last message. (#514) 2023-02-02 11:05:23 +00:00
Velin92
a8f154740e
iOS: Removing event id links (#509)
* 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
2023-01-31 19:42:45 +01:00
Doug
f6629e0d6e
Hardcode the sliding sync proxy. (#502)
* Add support for migrating between versions.
* Rename InfoPlistReader property.
* Bump SDK version.
2023-01-31 17:48:24 +00:00
Doug
17568a6a2e
Initial timeline design tweaks (#505) 2023-01-31 13:27:35 +00:00
Element CI
d44ce9f44c Prepare next release 2023-01-26 07:52:56 -08:00
Gil Eluard
eeb69d1971
Design review for first public TestFlight (#492)
* 430 - Design review for first public TestFlight
2023-01-26 15:32:39 +00:00
Doug
3a74f13097
Add support for aliases to RoomProxy and bump the SDK. (#486) 2023-01-24 17:01:00 +00:00
Doug
b8e2d6f823
Show the date on a room when the last message is older than today. (#484)
* 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.
2023-01-24 11:02:51 +00:00
Stefan Ceriu
e8b48d4897 Fixes #448 - Prevent room timelines from becoming stale if the room drops out of the sliding sync window 2023-01-23 19:54:01 +02:00
Element CI
e6d0cbec50 Prepare next release 2023-01-20 07:27:02 -08:00
Doug
f05fa630c1
Render state items in the timeline and as the last message on the home screen. (#473)
* State events in the timeline WIP
* Implement membership change strings.
* Add other state event types and use in RoomSummaryProvider.

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2023-01-20 13:37:39 +00:00
Doug
5017ba7122
Mark rooms as read on push and pop. (#462)
We don't have visibility into timeline item read status so can't do this continuously yet.

* Simplify RoomTimelineProvider's responsibilities.
2023-01-18 15:14:03 +00:00
Stefan Ceriu
b835b55394
Fixes #388 - Prevent long room names from breaking the room navigation bar layout (#453) 2023-01-18 07:24:21 +00:00
Doug
f7ddaacb64
Break out DesignKit into its own sub-package (#459)
We'll be using https://github.com/vector-im/compound-ios eventually so this tidies up the Xcode project dependencies in the mean time.
2023-01-17 12:26:07 +00:00
Doug
c8937505d7
Improvements to logging (#457)
* Use `.info` logging in most places.
* Remove old objc logging support.
* Fix table view controller.
* Make sure timeline item content isn't logged.
* Add tests.
2023-01-17 09:28:01 +00:00
Stefan Ceriu
4b56e4af73
Room member details cleanup (#452)
* Fixes #421 - Stop loading room members twice for displaying the members screen
* Rename RoomMembers to RoomMemberDetails throughout
* Add changelog
2023-01-17 09:31:53 +02:00
Element CI
ab4c5a6267 Prepare next release 2023-01-13 07:59:38 -08:00
Doug
c383029203
QuickLook media. (#447)
* Use QL previews for video and present full screen.
* Use URL(staticString:) in more places.
* Fix DesignKit issues.
2023-01-12 17:37:33 +00:00
Doug
e509165d52 Fix playback of encrypted videos.
Encrypted videos from Element iOS were being stored with a `.Video` extension which was confusing AVFoundation.
2023-01-12 10:33:30 +02:00
manuroe
3d06190b13
GH board: Send all issues to the EX board (#439)
We will be able to triage everything in one place
2023-01-11 15:57:34 +01:00
Stefan Ceriu
357d493e5a
Various fixes (#437)
* Fix information leaking on RoomSummaryDetails logging

* Prevent crashes when force quitting the application

* Cleanup crash detected alert presentation and exposed home screen view model actions

* Fixes #340 - Wait for logout confirmation before changing the app state

* Add changelogs

* Fix unit tests

* Add missing softLogout logout handling
2023-01-11 15:10:26 +02:00
Doug
08b333839a
Fix back pagination (#432)
* Use pagination and start items for view state.

isBackPaginating and canBackPaginate are updated each time the timeline is rebuilt

* Update some timeline snapshots

The top section has gone, which has altered the layout slightly.
2023-01-11 09:11:36 +00:00
Stefan Ceriu
d70a240869 New timeline items (#424)
* Cleanup session verification state machine configuration

* Add support for new timeline items: loading indicators, stickers and invalid/unsupported events

* Add sticker accessibility label, fix session verification ones

* Add support for the new TimelineStart timeline item and new pagination API. Remove identifiers from individual timeline items and only set them in the TimelineTableViewController

* Add changelog
2023-01-10 13:41:07 +02:00
Stefan Ceriu
956e92a9ac Add support for manually starting SaS verification flows and accepting remotely started ones 2023-01-10 13:41:07 +02:00
Doug
7888736a4d
Remove French Locale from UI tests. (#420)
* Remove French Snapshots.

* Remove unused sources from UITests.
2023-01-06 16:11:25 +00:00
Aleksandrs Proskurins
bf9b82334d
User sessions tests (#390)
* User sessions tests

* Refactor

- Merge SessionVerificationControllerProxyMock into MockSessionVerificationControllerProxy.
- Merge ClientProxyMock into MockClientProxy.
- Simplify naming.

Co-authored-by: Doug <douglase@element.io>
2023-01-06 10:53:19 +00:00
Stefan Ceriu
34eb835a0b
Storage location change (#404)
* Remove LegacyRestorationToken and handling
* Fixes #389 - Migrate and store session data in Application Support instead of Caches
2023-01-06 10:27:27 +02:00
Aleksandrs Proskurins
e573bc0dd2
Added MediaProvider tests (#386)
* Media provider tests

* Moved classes to separate files

* Moved image file

* Removed unused image file

* Rebase and refactor.

Replace removed error type.
Refactor XYZMock to MockXYZ.

Co-authored-by: Doug <douglase@element.io>
2023-01-05 18:20:49 +00:00