1973 Commits

Author SHA1 Message Date
Doug ab61e8ab3d Fix the space filters button on iPad using a Toggle for default styling. 2026-04-17 15:22:56 +01:00
Stefan Ceriu 30593909de Simplify and fix implementation 2026-04-17 17:17:55 +03:00
bxdxnn f378e6e926 Make media captions scrollable 2026-04-17 17:17:55 +03:00
Mauro bfb1036aa0 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 eef4a2497a 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 c40454bbd3 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 09438cba7c Tweak the font/icon sizes on the Space visibility label. (#5396) 2026-04-17 09:57:18 +00:00
Stefan Ceriu 8f0f652420 Fix various warnings 2026-04-17 10:55:48 +03:00
Doug efbf47441a 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
Mauro 602d779e3a Render LiveLocations in the map (#5394) 2026-04-14 18:27:34 +02:00
Skye Elliot 78240ebdee 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 7ff2cf618b 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
Doug 7c812201cb 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 d4abb24873 swiftformat 2026-04-13 11:40:22 +02:00
Doug 9590443aac Remove the Spaces Announcement sheet. (#5376) 2026-04-10 17:49:28 +01:00
Mauro 922fcafcd5 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
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
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
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
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
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 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 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 e6f269b9f2 Hook up the settings screen 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 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
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 d67c1a93db implemented the usage of the live location manager permission handling in the location sharing screen. 2026-03-31 12:58:27 +02:00
Valere fec4f7d9ee call: Support voice only incoming call 2026-03-30 17:49:46 +02:00
Valere 867d3476c3 fixup: Missing "log" handling 2026-03-30 16:57:16 +03:00
Valere bec8f55f29 feat: Forward ElementCall logs to the native logs 2026-03-30 16:57:16 +03:00
Mauro Romito 42ac71cbc0 pr suggestions 2026-03-30 14:05:31 +02:00
Mauro Romito 96a13f718e implemented the UI to render the formatted floating date 2026-03-30 14:05:31 +02:00
Mauro Romito e3a8c7f423 implemented the display logic for the formatted date 2026-03-30 14:05:31 +02:00
Mauro Romito eafe1f25e3 added an FF for the floating date 2026-03-30 14:05:31 +02:00
Aaron Thornburgh 96b6d69d5a Update Send button bg color (#5170)
* Update Send button bg color

Change the gradient bg to accent/rest.

* Tidy-up ComposerToolbar to match iOS 18 Figma.

Also simplifies the tests a bit.

* Add a .glassEffect to Compound's SendButton.

* Add a border to TimelineReplyView.

Also use the same sizes in both the message bubbles and the composer.

* Change icon size and container in message bubbles

- Container size = 36x36px
- Icon size = 24x24px

* Update icon of reply contents to be 24x24

* Update the VoiceMessageButton to match the designs.

* Adopt Liquid Glass in the ComposerToolbar.

* Generate and fix snapshots.

---------

Co-authored-by: Doug <douglase@element.io>
2026-03-25 17:42:10 +00:00
Mauro b8d337e4ce Render the live location timeline item (#5209)
* created the data for the timeline item

# Conflicts:
#	ElementX/Sources/Other/Logging/Tracing.swift
#	ElementX/Sources/Services/Authentication/AuthenticationService.swift
#	ElementX/Sources/Services/Authentication/LinkNewDeviceService.swift

* Implemented the LLS timeline item

* updated preview tests

* pr and design suggestions

* previewscrollview is debug only
2026-03-24 10:34:00 +01:00
amshak eae10b2125 Changed ordering of Room details screen (#5290)
* Changed ordering of Room details screen

Added media, polls and pinned section on top, because the user is more likely to access those.

* Update snapshots.
2026-03-20 15:12:53 +00:00