Commit Graph

127 Commits

Author SHA1 Message Date
Stefan Ceriu
c55dddc081 Fixes #2486 - Implement blocked users management in the app settings 2024-02-28 13:21:54 +02:00
Stefan Ceriu
2f9d2cf457 Allow reporting a problem from the onboarding screen 2024-01-22 14:17:36 +02:00
Mauro
3e8a423fcc Lock screen rotation for the camera (#2353) 2024-01-18 13:24:15 +00:00
Doug
63ff979057 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
ff8dc9be14 Reverting RTE to use SDK markdown when in markdown mode (#2327) 2024-01-12 11:58:36 +00:00
Stefan Ceriu
62ea0f5fd4 Add a protocol for the WindowManager 2024-01-08 13:08:17 +02:00
Stefan Ceriu
6b2356109f Move navigation coordination away from the SettingsScreenCoordinator and into the SettingsFlowCoordinator 2024-01-08 13:08:17 +02:00
Stefan Ceriu
7820666756 Fix various small warnings 2024-01-08 12:04:29 +02:00
Mauro
38fe44a50e Send html in plain text mode (#2246) 2023-12-15 10:04:51 +01:00
Mauro
84b0f967e8 Removing Dead Code part 1 (#2234) 2023-12-13 09:51:57 +01:00
Alfonso Grillo
c9c429e159 Add TimelineProxy (update sdk to 0.0.7-november23) (#2178)
* Refactor RoomProxy

* Refactor paginateBackwards

* Refactor sendReadReceipt

* Refactor messageEventContent APIs

* Refactor sendMessage

* Refactor toggleReaction

* Refactor send attachments

* Refactor sendLocation

* Refactor cancel/retry send

* ⚠️ Fix encryption build errors

* Refactor editMessage

* Refactor retryDecryption

* Refactor fetchDetails

* Refactor polls APIs

* Refactor fetchMembers

* Refactor RoomTimelineProviderProtocol

* Update sdk to 0.0.7-november23

* Fix UTs

* Fix comment

* Delete old workaround

* Move TimelineProxyError

* Delete queue warnings

* Fix key listener

* Add pollHistory timeline property

* Refactor room/timeline subscriptions

* Delete unused code
2023-11-28 19:01:35 +00:00
Mauro
14d9fc52d4 Handle Room Routing using the membership state (#2154) 2023-11-22 17:37:26 +00:00
Stefan Ceriu
a846c30305 Fixes #2083 - Expose options for overriding the system appearance in the advanced settings menu 2023-11-15 14:23:11 +02:00
Stefan Ceriu
5e3944c512 Fixes #1619 - Remove push notification registration on logout 2023-11-13 13:47:14 +02:00
Stefan Ceriu
5e28627d22 Have the UserIndicatorController use a separate window, switch to using one single instance throughout the application 2023-11-09 16:18:11 +02:00
Doug
5f2ae12e8f Log the app version number at the start. (#1993) 2023-10-31 13:24:59 +00:00
Doug
cbb9c270f9 Enable the App Lock feature. (#1990) 2023-10-31 08:55:30 +00:00
Doug
f2dd91edd1 Enforce mandatory app lock outside of the authentication flow. (#1982) 2023-10-30 15:52:25 +00:00
Doug
e4225e9db0 Handle invalid PIN input in the settings flow. (#1972) 2023-10-27 14:08:06 +01:00
Doug
5bb85257e2 Add support for Face ID/Touch ID to app lock. (#1966)
* Fix biometrics with low grace period and backgrounding before unlocked.

* Trigger permissions alert when enabling Face ID.
2023-10-27 09:09:12 +00:00
Doug
8ac2829cd0 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
2f5ffd43f8 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
Mauro
04cce54c40 Send Intentional Mentions (#1929)
* updated sdks

* fix waveform

* implementation completed

* intentional mentions test

* removed unused var

* suggestion
2023-10-20 16:51:25 +03:00
Doug
abb824a951 Add App Lock settings screen (#1917) 2023-10-19 12:26:34 +01:00
Doug
81331aa9b2 Initial setup ready for PIN/Biometric app lock. (#1876)
* Add AppLockCoordinator and WindowManager.
2023-10-11 12:59:47 +00:00
Mauro
0e6992a4f6 Tapping on room link (with roomID) (#1853)
* room linking

* chagelog
2023-10-04 15:47:57 +02:00
Mauro
bceebff6cb Handle tap on user mentions (#1850)
* user mention routing implemented

* more tests

* better naming

* fixed a test
2023-10-03 10:11:05 +02:00
Mauro
981a51e61b Fixed a bug that prevented the mentions to be shown as plain text in the room list cell (#1835)
* fix a bug that made the room list not render mentions as plain text

* better naming
2023-09-29 14:49:20 +00:00
Doug
89b84a6c02 Use a universal link for the OIDC callback. (#1681) 2023-09-28 14:12:57 +01:00
Andrew Breckenridge
6b18eac87d Application: pass AppDelegate in initializer, instead of using singleton 2023-09-28 12:35:37 +03:00
Mauro
4c5e6cfd19 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
Stefan Ceriu
af8a13bc91 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
Doug
7cbb064464 Enable OIDC token refresh in the NSE. (#1711)
Update the SDK and handle API changes.
2023-09-15 09:01:09 +00:00
Stefan Ceriu
ce1f213f42 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
Stefan Ceriu
b6ea17c535 Top level deeplink handling (#1660)
* Handle link opening on the top most levels and prepare for percolating them throughout the app
* Add support for a custom app scheme
* Add specific AppRoute parsers.
* Integrate custom scheme in the AppRouteURLParser
* Switch to `element://call` and cleanup route parsing
2023-09-11 12:31:31 +03:00
Stefan Ceriu
c2594fede1 Enable RUST_BACKTRACE by default 2023-09-08 15:27:54 +03:00
Stefan Ceriu
1ceac30198 Adopt the new room list service syncIndicatorListener 2023-09-07 13:10:19 +03:00
Stefan Ceriu
4505712f7b Generic element call link support (#1643)
* Remove swift-url-routing and replace it with a custom implementation. It fails parsing the fragments in app.element.io links and it doesn't bring any value
* Add handling for opening generic element call links
* Add applinks support for call.element.io
* Enable VoIP and Audio playback background modes
2023-09-07 12:06:18 +03:00
Stefan Ceriu
1142dabaa9 Fixes #1573 - Retract all notifications and app badges when signing out 2023-09-06 16:41:59 +03:00
Doug
f415a91962 Initial skeleton for Universal Link handling. 2023-09-06 10:07:22 +03:00
Stefan Ceriu
71db8affb1 Be more lenient with fatalErrors coming out of equal transitions, caused by asynchronicity on the UI layer 2023-09-01 14:59:16 +03:00
Doug
3af8be7dfd Use Safari for OIDC account URL. (#1591)
* Handle RP-Initiated Logout URL.

Safari is only used on devices, the simulator doesn't work properly.
2023-08-30 08:22:22 +00:00
aringenbach
cddacbc146 Initial integration of RTE (#1464)
* Initial integration of RTE

* Fix `clipped`, `focused` and composer view type

* Remove horizontal padding

* Add `ComposerToolbar` mock

* Restore `composerFocusedSubject`

* Allow using HTML from RTE on message sent

* Fix new message content API

* Add feature flag for Rich Text Editor
2023-08-29 12:37:13 +00:00
Stefan Ceriu
cd7fedda97 Fixes #1555, #1562 - Prevent the syncing indicator from showing up every time the app becomes active 2023-08-25 13:37:15 +03:00
Stefan Ceriu
0512fcf329 Move the firstRooms signposts to more relevant locations 2023-08-25 13:33:06 +03:00
Stefan Ceriu
35cf6db6dd Signposting: split sync into initialSync and firstRooms which will track how long the very first sync takes separately from how long the first rooms appear in the list 2023-08-24 18:19:42 +03:00
Stefan Ceriu
9d7fe89bce Feature flag to OTLP tracing 2023-08-24 15:12:19 +03:00
Stefan Ceriu
81bb239f46 Expose the log level in developer settings 2023-08-23 16:17:49 +03:00
Doug
98bfb2ead4 Enable OIDC support (#1541)
Notification content is bypassed for now.
2023-08-22 15:53:27 +01:00
Mauro
eabdd2c3f2 MessageText component (#1521)
* MessageText component

* swiftformat

* fix swift format being a bit crazy

* link tapping support

* new test + fix for font + dynamic support

* fix for blockquote issue.

* code improvement

* small code improvement and fixed tests not working due to weird swiftformat behaviour

* fix boost emoji

* updated swiftformat

* better testing

* UI tests updated

* fixing the issue with the cache overriding the size category changes

* whitespaces

* appropriate color + better info plist parsing

* cleaned the code and fixed links

* tapping link fixes

* list bug fix

* ui tests regenerated
2023-08-22 10:14:23 +00:00