357 Commits

Author SHA1 Message Date
Doug 01f42546e1 Enable database encryption for new logins on Nightly/PR builds. (#2328)
- Slightly reworks where the pusher client ID is generated.
2024-01-12 16:45:59 +00:00
Mauro e51e2ac2af updateMembers now is chain of membersNoSync + membersWithSync (#2324) 2024-01-12 09:46:51 +01:00
Stefan Ceriu 8e4e9603e4 Move navigation coordination away from the SettingsScreenCoordinator and into the SettingsFlowCoordinator 2024-01-08 13:08:17 +02:00
Mauro f844cd1a2f MentionBadge FF (#2281) 2023-12-22 17:57:07 +01:00
Stefan Ceriu 0ae71f740d Secure backup tweaks (#2277)
* Use a custom SDK build that might fix incomplete recovery state false positives. Enable chat backup by default

* Get rid of the chat backup feature flag

* Fix force unwrap warning

* Fix long line warning

* Prevent the recovery key confirmation banner popping up before the verification state is fetched. Stop showing secure backup user avatar and menu badges while the session is not verified.

* Switch back to the release version of the SDK

* Fix inconsistent session verification states, improve/simplify how to deal with it

* Fix unit tests

* Cleanup and hopefully simplify home screen banner presentations
2023-12-21 17:08:29 +02:00
Mauro 09fb5461e6 Removing dead code part 3 (#2264) 2023-12-19 12:12:16 +01:00
Nicolas Mauri 72a84badcb Polls history (#2244) 2023-12-18 15:38:39 +00:00
Mauro 123164f398 Removing dead code part 2 (#2235)
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-12-15 20:16:16 +01:00
Mauro d99d26fcdc Removing Dead Code part 1 (#2234) 2023-12-13 09:51:57 +01:00
Mauro b2e99bcfc5 Remove Read Receipts Feature Flag (#2228) 2023-12-12 15:27:15 +01:00
Mauro b9a6ebe03a Periphery to detect dead code (#2227) 2023-12-12 10:17:15 +00:00
Doug e8b446c909 Replace searchable modifiers with a custom implementation using UISearchController. (#2209)
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.
2023-12-06 17:43:55 +00:00
Doug c7531be44c Add toggle not invite notifications. (#2207) 2023-12-06 09:53:10 +00:00
Stefan Ceriu 3fe5ec5ffa Fix secure backup recovery badges not being show when incomplete 2023-12-04 14:01:52 +02:00
Doug f2b4525d91 Use Compound List in more screens. (#2099)
* Use Compound List in room member details, secure backup, notification settings.

* Use ListRow in CreateRoomScreen.

* Fix ListRow layout when isWaiting && !isSelected.
2023-11-17 17:07:27 +00:00
Stefan Ceriu d245a4f158 Secure backup tweaks (#2095)
* Show a loading indicator when confirming the recovery key

* Hide the passphrase characters when confirming the recovery key

* Don't show the settings security section until session verification state is retrieved (async)

* Fix preview screenshots
2023-11-17 12:06:36 +02:00
Mauro 342feb4113 Added a disclaimer in Notification Settings for "Mentions Only" (#2081) 2023-11-15 14:57:17 +00:00
Stefan Ceriu eb6f7e0409 Fixes #2083 - Expose options for overriding the system appearance in the advanced settings menu 2023-11-15 14:23:11 +02:00
Doug 4b3a373782 Use more Compound icons (part 2!) (#2082)
* Use Compound icons in ListRow.

* Add CompoundIcon(asset:) convenience initialiser.
2023-11-15 09:54:43 +00:00
Doug 2c1e61a1bc Add SwiftLint rule to enforce stack spacing. (#2080)
Xcode 15 changes the default behaviour and given we're always working from designs, we shouldn't rely on it for our layout.
2023-11-14 12:38:38 +00:00
Doug 4257c20bc9 First round of icon updates. (#2076)
Update Compound too.
2023-11-13 16:44:29 +00:00
Stefan Ceriu 4b26a798dc Have the UserIndicatorController use a separate window, switch to using one single instance throughout the application 2023-11-09 16:18:11 +02:00
Stefan Ceriu 5dcb24add7 Expose Element Call settings in the developer options. Start using th… (#2039)
* Expose Element Call settings in the developer options. Start using the encryption widget parameter.

* Remove the Element Call feature flag
2023-11-07 16:12:03 +02:00
Doug af3732541e Enable the App Lock feature. (#1990) 2023-10-31 08:55:30 +00:00
Stefan Ceriu 4077f5f4bb Session verification fixes and bump SDK to v0.0.1-october23 (#1954)
* Fixes vector-im/element-x-ios/issues/1868 Incorrect `is_verified` flag after successfully running verification flow
- the inner user_identity isn't automatically updated when the flow finishes, needs to be fetched again from encryption
- also replaces `UserIdentity.is_verified` with `Device.is_cross_signed_by_owner`
- depends on matrix-org/matrix-rust-sdk/pull/2775

---------

Co-authored-by: Doug <douglase@element.io>
2023-10-27 19:39:21 +01:00
Mauro 0b31446817 Resizable Composer With Completion Suggestion View (#1971)
* resizable composer with suggestions view

* FF cleanup

* removing the view when the vertical size is compact

* merge conflict fix

* done

* solving a conflict

* Update ElementX/Sources/Screens/ComposerToolbar/View/CompletionSuggestionView.swift

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

* pr suggestion

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-10-27 13:54:30 +00:00
Doug 84a16091b2 Handle invalid PIN input in the settings flow. (#1972) 2023-10-27 14:08:06 +01:00
Alfonso Grillo acfc564490 Remove feature flag for voice messages (#1964)
* Delete voice messages feature flag

* Fix preview tests

* Update snapshots
2023-10-27 13:45:15 +02:00
Doug c6e4dc2a37 Initial implementation for AppLockSetupFlowCoordinator. (#1949)
Rename AppLockSettingsScreen to AppLockSetupSettingsScreen.
Implement forced logout and persist PIN entry attempts.
2023-10-25 11:03:37 +00:00
Stefan Ceriu 37f1a79a11 Key backup returns (#1951)
* Converge on UserSessionFlowCoordinator logout confirmation

* Add logout confirmation screen strings to untranslated.

* Fix chat backup learn more URl fragment.

* Implement logout flows that check recovery and key backup for the last session

* Move logout confirmation screen strings to localazy

* Change encrypted timeline item copy to "Waiting for decryption key"

* Use different encrypted history banner based on key backup states

* Introduce a SettingsFlowCoordinator and implement navigation directly to the secure backup screen from the logout flows.

* Fix **mocked** secure backup controller flows

* Simplify encrypted history banner logic

* Address PR comments
2023-10-24 18:38:41 +03:00
Doug ceee6b1853 Implement AppLockScreen as per the designs. (#1925)
Fix a bug in the unlock flow
2023-10-20 17:35:57 +01:00
Stefan Ceriu c8b9d95122 #1899, #1900, #1901 - Implement chat backup setting screens 2023-10-19 15:34:10 +03:00
Doug ebd9f4c916 Add App Lock settings screen (#1917) 2023-10-19 12:26:34 +01:00
Stefan Ceriu 6e8dff2ef6 Implement support for ElementCall through Rust side widgets (#1906)
* Implement support for ElementCall through Rust side widgets

* Add Element Call feature flag

* Fix the unit tests

* Address PR comments
2023-10-17 12:41:56 +03:00
Nicolas Mauri 2f0b5a42f5 Prevent multiple conversion of the same voice message audio file. (#1887) 2023-10-13 09:48:11 +00:00
Doug 2c5662a278 Remove DesignKit package (#1886)
- Move button styles to Compound
- Rename text style to AuthenticationTextStyle as its only in the auth flow.
- Add the brand colour locally for now until its included in Compound.

* Update snapshots.

---------

Co-authored-by: Stefan Ceriu <stefan.ceriu@gmail.com>
2023-10-12 15:45:27 +01:00
Doug b6470c9651 Initial setup ready for PIN/Biometric app lock. (#1876)
* Add AppLockCoordinator and WindowManager.
2023-10-11 12:59:47 +00:00
Stefan Ceriu 72a96b6850 Advanced settings fixes (#1857)
* vector-im/element-meta/issues/2042 - Fix advanced options ordering and capitalisation

* Bump swiftlint's type_body_length warning to 1000, make it match error.

* Fix unit tests
2023-10-05 17:26:02 +03:00
Mauro 7124f24d7c supported versions (#1848) 2023-10-03 10:10:38 +02:00
Mauro 7bde419e85 Pill View (#1797)
* provider can now check the current session

* More testable code

* created the test condition

* it works but not always not sure why, need to dig deeper

* sadly we need to use textkit 1 to solve this issue

* removed developer option screen test

* this experimental solution kinda works but I need a way to pill recomputation is weird

* format

* display improvement

* better and faster solution

* pilished the code

* better coloring

* swift format

* just need to solve the caching issue

* fix caching issue

* tests done!

* changelog

* pr comments addressed

* all pr comments addressed

* docs

* line lenght

* updated tests and fixed a parsing permalink issue

* MentionBuilder

* pr comments

* swiftformat

* code blocks should not have links

* Update ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

* Update ElementX/Sources/Services/Client/ClientProxy.swift

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

* Update UnitTests/Sources/AttributedStringBuilderTests.swift

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

* Update ElementX/Sources/UITests/UITestsAppCoordinator.swift

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

* Update ElementX/Sources/Other/Pills/PillAttachmentViewProvider.swift

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

* Update ElementX/Sources/Other/Pills/MentionBuilder.swift

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

* pr comments

* swiftformat

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-09-27 17:27:07 +00:00
Nicolas Mauri b8e5611c00 Add voice message rendering to the timeline (#1776) 2023-09-21 14:36:21 +00:00
Doug 4e6fe278db Update iconography visible in launch video (#1762) 2023-09-21 12:38:09 +01:00
Mauro 9d91cd4fc0 Preview Tests (#1768)
* preview testing

* removed some views that are not really testabl in UnitTests and improved other tests
2023-09-20 17:33:31 +02:00
Nicolas Mauri 03603d13e5 Update room notification settings mismatch screen (#1733) 2023-09-18 09:11:27 +00:00
Stefan Ceriu dd937cb86a Various small UI tweaks for the new user details edit screen 2023-09-15 17:29:24 +03:00
Stefan Ceriu fe711a9a40 Change user display name and avatar (#1718)
* Fixes #1715, #1716 - Add new user profile editing screen

* Bump SDK, adopt new `client.removeAvatar()` method

* Address PR review comments
2023-09-15 16:20:33 +03:00
Alfonso Grillo 058fe79f25 Move RTE feature flag to settings (#1703)
* Update matrix-wysiwyg-composer-swift to 2.10.1

* Delete MessageComposerTextField

* Always use rte composer

* Fix corner radius

* Cleanup
2023-09-14 13:10:42 +02:00
Stefan Ceriu a4e5e4f0ed Switch callbacks to combine (#1710)
* #750 - Convert the SoftLogoutScreen to combine

* #750 - Convert the UserSessionFlowCoordinator to Combine

* #750 - Convert the AnalyticsPromptScreen to Combine

* #750 - Convert the LoginScreen to Combine

* #750 - Convert the ServerSelectionScreen to Combine

* #750 - Convert the EmojiPickerScreen to Combine

* #750 - Convert the HomeScreen to Combine

* #750 - Convert the MediaUploadPreviewScreen to Combine

* #750 - Convert the OnboardingScreen to Combine

* Rename `Onboarding` to `OnboardingScreen`

* #750 - Convert the ReportContentScreen to Combine

* #750 - Convert the RoomDetailsSscreen to Combine

* #750 - Convert the RoomMemberDetailsScreen to Combine

* #750 - Convert the RoomMembersListScreen to Combine

* #750 - Convert the SessionVerificationScreen to Combine

* #750 - Convert the SettingsScreen to Combine

* #750 - Convert the AdvancedSettingsScreen to Combine

* #750 - Convert the DeveloperOptionsScreen to Combine

* Fix the unit tests

* Use .sink action and the same cancellables constructor everywhere

* Cleanup cancellables when setting up tests
2023-09-14 12:53:33 +03:00
Nicolas Mauri a0d40b6f0c Fix: hide call notification settings until calls are available (#1709) 2023-09-14 07:46:16 +00:00
Stefan Ceriu 761d508ae5 Fixes #1699 - Introduce a new advanced settings screen (#1700) 2023-09-14 08:37:42 +03:00