Commit Graph

3038 Commits

Author SHA1 Message Date
Mauro
2e9a499fc3 LLS Sheet implementation (#5420)
* Add LiveLocationSheet and refactor existing views to share code

* Implement logic for highlighting a specific LLS from a user once selected in the sheet

* Updated tests, project and added new previews for the LLS sheet.

# Conflicts:
#	PreviewTests/Sources/__Snapshots__/PreviewTests/liveLocationRoomTimelineView.Bubbles-iPad-pseudo.png
#	PreviewTests/Sources/__Snapshots__/PreviewTests/liveLocationRoomTimelineView.Bubbles-iPhone-pseudo.png

* add Equatable conformance to CLLocationCoordinate2D
2026-04-17 11:13:16 +00:00
Doug
350c04b0f3 Add support for homeserver capabilities to disable the UserDetailsEditScreen UI. (#5421)
Add support for homeserver capabilities to disable editing your user profile.

Also updates editable avatar size/formatting to match the latest Figma at the same time.
2026-04-17 11:52:46 +01:00
Aaron Thornburgh
ce0363ad20 Update the icon for "Remove this device" on the Settings screen. (#5415)
* SettingsScreen > Update the icon for "Remove this device"

Change the icon from "Sign Out" to "Close"

* Update snapshots.

---------

Co-authored-by: Doug <douglase@element.io>
2026-04-17 10:34:02 +00:00
Doug
945e34baa6 Tweak the font/icon sizes on the Space visibility label. (#5396) 2026-04-17 09:57:18 +00:00
Stefan Ceriu
100d4d92dc Switch to fatalErroring on SDK background task panics in release builds too 2026-04-17 12:16:20 +03:00
Stefan Ceriu
33ffea4eb8 Fix various warnings 2026-04-17 10:55:48 +03:00
Stefan Ceriu
827b0ba8f3 Remove more DTCoreText/Foundation references as they are no longer directly imported or used 2026-04-17 10:55:48 +03:00
Stefan Ceriu
d0b8da33c4 Manually update project and resolved packages following Renovate XcodeGen update 2026-04-17 10:47:33 +03:00
Doug
a0baa82471 Use a VStack for invite buttons when the HStack doesn't fit. (#5403)
The Accept/Decline labels were being wrapped onto 2 lines.
2026-04-16 13:01:53 +01:00
Doug
8736a9f842 Add a build flag for Verify with Classic to disable it for the next RC. (#5406) 2026-04-16 12:19:09 +01:00
Mauro
a27effdac6 Render LiveLocations in the map (#5394) 2026-04-14 18:27:34 +02:00
Mauro Romito
c9cafe0106 pr suggestions 2026-04-14 14:17:27 +02:00
Mauro Romito
074de88017 implement APIs for LLS observation 2026-04-14 14:17:27 +02:00
Skye Elliot
477bf859c5 Prompt user when inviting users with uncached identities (#5331)
If the user attempts to invite someone (to a room or creating a DM) whose identity is not cached, we prompt them to make sure this was their intention.
2026-04-14 14:51:58 +03:00
Stefan Ceriu
03fbf8fbd5 Add an action to the newly introduced FloatingDateBadge that scrolls the timeline to that day. (#5350)
and replace the TimelnieTableViewController's `floatingDateText` with a pure date.
2026-04-14 11:27:27 +03:00
Mauro
df7f8e0510 Fix LiveLocationManager flaky tests (#5389) 2026-04-13 18:05:47 +02:00
Doug
252e2f75df Verify Element X with an existing Element Classic account. (#5374)
* Read and import the secrets from ClassicAppAccounts.

* Record snapshots.

* Add some documentation, tidy up tests and fix the dismissal of the backup instructions.

* Workaround flakey tests (the fulfilments weren't always firing).

* Allow a custom Classic App deep link URL to be configured.
2026-04-13 15:30:09 +01:00
Mauro Romito
3eeade36e0 swiftformat 2026-04-13 11:40:22 +02:00
Mauro Romito
16e9fb041f translation update 2026-04-13 11:40:22 +02:00
Doug
e3a074b8b2 Remove the Spaces Announcement sheet. (#5376) 2026-04-10 17:49:28 +01:00
Mauro Romito
1ee86357b4 use swift regex and also apply the same logic to stringsdict 2026-04-10 16:21:57 +02:00
Mauro Romito
e8a5123cc9 order strings alphabetically by key after downloading them 2026-04-10 16:21:57 +02:00
Mauro
2d2295bcc1 Live Location Sharing Banner (#5370)
* Live Location Sharing Banner

# Conflicts:
#	ElementX.xcodeproj/project.pbxproj

* updated the top banner modifier and the top banner views

# Conflicts:
#	ElementX/Resources/Localizations/en-US.lproj/Localizable.strings
#	ElementX/Resources/Localizations/en.lproj/Localizable.strings

* improved the stopping function from the timeline item

* stop live location sharing before starting a new one.

* added some tests for LiveLocationManager

* pr suggestions
2026-04-10 14:50:42 +02:00
ElementRobot
1e0b26816b Translations update 2026-04-10 10:55:52 +02:00
Valere Fedronic
ec00eac164 Add support for starting voice calls from a DM (#5305)
* feat: Start voice call from DM

* rename voiceCall:bool to isVoiceCall

* review: Fix a typo

* review: use one displayCall(bool) instead of 2 actions

* review: Add a new specific preview for DM calls

* combine startCall and startVoiceCall in single enum with isVoiceCall

* review: add isVoiceCall to presentCallScreen action

* review: Use proper a11y for voice vs  video

* add voice/video options to UserProfile Screen

* fixup: move config params to the roomInfo object

* review: Revert changes on preview as the toolbar cannot be snapshot'd

* review: Extract call controls in specific file

* oups: Add voice call option in room details screen

* Update room details screenshots

* Update user profile screenshots

* Update room member details screenshots

* fixup: remove dead code
2026-04-09 16:22:31 +01:00
Valere Fedronic
d792f6e4f9 Require video for callkit even if voice call only to workaround a bug answering calls on the lock screen (#5366) 2026-04-09 14:18:06 +00:00
Doug
d6cd2c696e Add a view to show the user's account from Element Classic. (#5361)
No presentation logic yet.
2026-04-08 21:18:03 +01:00
Doug
ff4270addc Update the SDK handling breaking changes. (#5364) 2026-04-08 21:11:57 +01:00
Mauro Romito
b5261272ed fixes an issue where the playback speed was preventing the a11y label to be read 2026-04-08 17:48:35 +02:00
Mauro Romito
5c00311e59 floating date feature is now out of the feature flag 2026-04-08 14:55:07 +02:00
Doug
d34c38d48a Add a view with instructions for enabling backups in Element Classic. (#5359)
No presentation logic yet.
2026-04-08 11:03:30 +01:00
Hugh Nimmo-Smith
5574dc8ab7 Improve detection of link device completion when linking a new device via QR (#5323)
* Improve detection of link device completion

* Fix tests to match
2026-04-08 09:48:00 +01:00
ElementRobot
979ca55b0b Translations update (#5357) 2026-04-07 11:32:54 +01:00
Mauro Romito
e8cc722054 add a spinner when starting LLS 2026-04-03 16:46:20 +02:00
Mauro Romito
2715ffdb17 force the timeline to render as expired as soon as the stop button is pressed 2026-04-03 16:46:20 +02:00
Mauro Romito
524bef6d60 add new tests to LocationSharingViewModel 2026-04-03 14:19:42 +02:00
Mauro Romito
a5054f506a implement the stop action in the LiveLocationRoomTimelineView 2026-04-03 14:19:42 +02:00
Mauro Romito
0fb321576d implement the start live location handling in the LocationSharingScreenViewModel 2026-04-03 14:19:42 +02:00
Mauro Romito
299649abbd pr suggestions 2026-04-03 12:36:45 +02:00
Mauro Romito
eabfdcd035 implement the start, send and stop functions 2026-04-03 12:36:45 +02:00
Mauro Romito
41db3a1815 update plist to include background location updates 2026-04-03 12:36:45 +02:00
Stefan Ceriu
22b1ecf6be Remove now unneeded waitForInitialItems TimelineProvider method. 2026-04-02 16:42:50 +03:00
Stefan Ceriu
e375950ba1 Remove the shouldDisambiguateDisplayNames parameter from the RoomEvent and RoomStateEvent string builders. 2026-04-02 12:30:43 +03:00
Stefan Ceriu
33fe72041f Update reply view border corner radii and color
And also update relating preview test snapshots
2026-04-01 18:42:45 +03:00
Stefan Ceriu
79e706e5d9 Hook up the RoomThreadList to the RoomFlowCoordinator state machine and presenting threads. 2026-04-01 14:09:23 +03:00
Stefan Ceriu
5f8d7d75a1 Fix a couple of warnings 2026-04-01 14:09:23 +03:00
Stefan Ceriu
64614cdfb5 Rename "Auxiliary" windows to "Secondary" windows 2026-03-31 20:33:33 +03:00
Stefan Ceriu
a41da0616c Fix which roomID is used when dismissing windows and unit test mocks. 2026-03-31 20:33:33 +03:00
Stefan Ceriu
aef8d79104 Change the "open in new window" room list cell action underneath mark as read/unread and change its icon 2026-03-31 20:33:33 +03:00
Stefan Ceriu
bbc27d17ec Use the environment's supportsMultipleWindows instead of UIDevice.current.isPhone 2026-03-31 20:33:33 +03:00