Valere Fedronic
b05ab3ac0b
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
7434d531b2
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
1a5a709e27
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
f26b4a1cd0
Update the SDK handling breaking changes. ( #5364 )
2026-04-08 21:11:57 +01:00
Mauro Romito
9b05df399d
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
95f3edac7f
floating date feature is now out of the feature flag
2026-04-08 14:55:07 +02:00
Doug
6978f96f91
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
ac14265869
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
70fdfed634
Translations update ( #5357 )
2026-04-07 11:32:54 +01:00
Mauro Romito
dfaeea0ff7
add a spinner when starting LLS
2026-04-03 16:46:20 +02:00
Mauro Romito
ac7f259b93
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
93a6917d8a
add new tests to LocationSharingViewModel
2026-04-03 14:19:42 +02:00
Mauro Romito
208c21c2a0
implement the stop action in the LiveLocationRoomTimelineView
2026-04-03 14:19:42 +02:00
Mauro Romito
960183d516
implement the start live location handling in the LocationSharingScreenViewModel
2026-04-03 14:19:42 +02:00
Mauro Romito
d9a480b1c6
pr suggestions
2026-04-03 12:36:45 +02:00
Mauro Romito
df5570281b
implement the start, send and stop functions
2026-04-03 12:36:45 +02:00
Stefan Ceriu
e66bbab63c
Remove now unneeded waitForInitialItems TimelineProvider method.
2026-04-02 16:42:50 +03:00
Stefan Ceriu
5984001720
Remove the shouldDisambiguateDisplayNames parameter from the RoomEvent and RoomStateEvent string builders.
2026-04-02 12:30:43 +03:00
Stefan Ceriu
2b8c21afd1
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
a358cacf31
Hook up the RoomThreadList to the RoomFlowCoordinator state machine and presenting threads.
2026-04-01 14:09:23 +03:00
Stefan Ceriu
212cd42161
Fix a couple of warnings
2026-04-01 14:09:23 +03:00
Stefan Ceriu
4abf9112f4
Rename "Auxiliary" windows to "Secondary" windows
2026-03-31 20:33:33 +03:00
Stefan Ceriu
ec9cf76f2d
Fix which roomID is used when dismissing windows and unit test mocks.
2026-03-31 20:33:33 +03:00
Stefan Ceriu
4a4cdce090
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
a39c150ec7
Use the environment's supportsMultipleWindows instead of UIDevice.current.isPhone
2026-03-31 20:33:33 +03:00
Stefan Ceriu
2277d0deae
Disable creating new windows (duplicates)
2026-03-31 20:33:33 +03:00
Stefan Ceriu
c3a79cd9f2
Use different auxiliary window sizes on mac vs iPad
2026-03-31 20:33:33 +03:00
Stefan Ceriu
3b858a4073
Disable multiple windows when screen lock is enabled.
2026-03-31 20:33:33 +03:00
Stefan Ceriu
b7333b9b5f
Clean up the window manager and its protocols
2026-03-31 20:33:33 +03:00
Stefan Ceriu
bb61db285b
Dismiss a room's window when its flow finishes as there's no longer a reason for it to be alive.
2026-03-31 20:33:33 +03:00
Stefan Ceriu
ac5b61c973
Programatically focus the main window when invoking the global search
2026-03-31 20:33:33 +03:00
Stefan Ceriu
a010306b41
Move the global search shortcut to application commands so it's more reliable with multiple windows
2026-03-31 20:33:33 +03:00
Stefan Ceriu
d4e3b11486
Best effort attempt at cleaning up the WindowManger registered coordinators.
2026-03-31 20:33:33 +03:00
Stefan Ceriu
e080c7d35a
Prevent the window manager from being setup more than once.
2026-03-31 20:33:33 +03:00
Stefan Ceriu
891c3fffd4
Close all secondary windows on logout
2026-03-31 20:33:33 +03:00
Stefan Ceriu
deaa2727db
Set a default size for all the detached windows
2026-03-31 20:33:33 +03:00
Stefan Ceriu
e6f269b9f2
Hook up the settings screen
2026-03-31 20:33:33 +03:00
Stefan Ceriu
35198460ce
Automatically dismiss (now) empty windows
2026-03-31 20:33:33 +03:00
Stefan Ceriu
f1ef968975
Introduce support for multiple windows on mac and iPad OS
...
Once the app starts the WindowManager is configured with SwiftUI's environment OpenWindowAction. It can then be used to register coordinators (that provide the toPresentable view) and an optional flow coordinator (as most of the screens are part of a flow, especially rooms).
Once a coordinator is registed, the WindowManager invokes the OpenWindowAction which in turn makes the Application call its newly introduced WindowManagerWindowType WindowGroup's block to instantiate a new visual window rooting that view.
The WindowManager is also responsible for wrapping the presentable in a disappearance block and clean up the coordinator stack.
# Conflicts:
# ElementX/Sources/Application/AppCoordinator.swift
2026-03-31 20:33:33 +03:00
Stefan Ceriu
91a10f4d51
Add RoomThreadListScreen preview snapshots.
2026-03-31 18:21:14 +03:00
Stefan Ceriu
9406148689
Add a feature flag for the new RoomThreadList screen.
2026-03-31 18:21:14 +03:00
Stefan Ceriu
e7e1e990db
Add a new RoomThreadListScreen and hook it up to the RoomThreadListService
...
It will automatically paginate to fill the screen and update the list as updates come in.
2026-03-31 18:21:14 +03:00
Stefan Ceriu
e97ed6ec5c
Introduce the RoomThreadListServiceProxy and expose it from the RoomProxy
...
Also update the sdk and app mocks and add a simple `RoomThreadListServiceProxyMock`
# Conflicts:
# ElementX.xcodeproj/project.pbxproj
# ElementX.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
# SDKMocks/Sources/Generated/SDKGeneratedMocks.swift
# project.yml
2026-03-31 18:21:14 +03:00
Stefan Ceriu
823e2afa97
Refactor the RoomMessageEventStringBuilder to take a Style instead of a Destination
...
This make its usage clearer and makes different styles reusable
2026-03-31 18:21:14 +03:00
Mauro Romito
d7f8d6d890
reactively determine with a timer if the lls timeline item has expired or not.
...
Move mockToday410/420/430 to private Date extension in LiveLocationRoomTimelineView
Agent-Logs-Url: https://github.com/element-hq/element-x-ios/sessions/d2136882-1acc-455d-a363-815e0fb73e89
Co-authored-by: Velin92 <34335419+Velin92@users.noreply.github.com >
fix
2026-03-31 14:29:04 +02:00
Mauro Romito
a1029132c5
PR Suggestions
2026-03-31 12:58:27 +02:00
Mauro Romito
f31c256037
added tests
2026-03-31 12:58:27 +02:00
Mauro Romito
d67c1a93db
implemented the usage of the live location manager permission handling in the location sharing screen.
2026-03-31 12:58:27 +02:00
Mauro Romito
b31d0cad75
implemented the LiveLocationManager as part of the user session and setup of permissions in the plist.
2026-03-31 12:58:27 +02:00
Hugh Nimmo-Smith
220ccfe61e
Don't check scanned server against app config and use baseUrl from QR if available
2026-03-30 19:41:33 +02:00