575 Commits

Author SHA1 Message Date
Letro Bot
77d685cf89 Merge upstream/main into main 2026-05-09 14:51:17 +04:00
Stefan Ceriu
586929a77f Remove the RoomDirectorySearch feature flag and enable the feature by default. 2026-05-06 15:12:59 +03:00
Doug
345cbcf637 Add an OAuthPresenterHook. (#5545)
* Add an OAuthPresenterHook.

* Update the enterprise submodule.
2026-05-06 10:29:25 +01:00
Doug
fe6c62b60f Rename OIDC to OAuth. (#5525)
* Rename OIDC to OAuth.

* Update the enterprise submodule.
2026-05-05 14:07:06 +01:00
Doug
e989463d91 Restore the .oidcCallback route for external authentication. (#5391)
* Restore the .oidcCallback route (partially reverts #3461) for external authentication.

* Make sure OIDC also works for non-http URLs.

* Remove oidcAuthentication from the state machine.

There isn't a reliable way to detect failure/cancellation when e.g. the user returns from an external app without interacting with the MAS page.
2026-05-05 12:47:07 +01:00
Daniel Anderson
1058c17511 Fix a crash on iOS 26 when the scene's keyWindow is nil at cold start.
On iOS 26, `UIWindowScene.keyWindow` can be nil during scene connection
until the scene becomes active. The implicitly-unwrapped `mainWindow`
then crashes on the next line. Fall back to `scene.windows.first`, which
is the SwiftUI WindowGroup's window and is already attached to the scene
at this point.
2026-05-05 12:08:30 +02:00
Letro Bot
c5c037ee92 Fix pushGatewayBaseURL 2026-05-04 23:03:04 +04:00
Doug
6cfcd7d41f Fixes for multi-window support. (#5528)
* Correctly handle the re-opening of the main window.

Add an additional safe-guard to ensure only one main window exists.
Make sure all secondary windows use the correct tint colour.

* Fix a bug where the settings screen isn't shown on macOS when the AppLock feature is enabled.
2026-05-01 14:44:04 +01:00
Mauro
11584d6bfe Live Location Sharing - handle server echoes (#5514)
* Track active live location sessions by ID instead of timeout.

# Conflicts:
#	ElementX/Sources/Services/Location/LiveLocationManager.swift

* implemented a system to promote starting session to active sesessions to send locations at the right time, and a system to remove a local session if it's handled by an external device.

* pr suggestions

---------

Co-authored-by: Doug <douglase@element.io>
2026-04-30 13:18:36 +00:00
Stefan Ceriu
51d9c4e13a #5504 - Add logs around route handling and the global search window presentation 2026-04-30 13:00:35 +03:00
Doug
df1a407142 Remove support for handling SPA calls within the app. (#5515)
* Remove support for handling SPA call links.

They were a stop-gap solution whilst we were building support for embedded room calling.

* Simplify ElementCallConfiguration now that there is only 1 type of call to handle.

* Remove the unused overlayModule from NavigationRoomCoordinator.
2026-04-29 19:32:38 +01:00
Stefan Ceriu
aa36bebd84 Avoid logouts when resetting the caches
The SDK is reporting a `Failed to run migrations: locking protocol` but in practice
we tear down the session before using said session to access the `clearCaches` method
on its client, which is obviously wrong.

This patch removes that step and the delay as everything seems to work properly
without them.
2026-04-28 13:16:07 +03:00
Doug
1c8c5ea711 Update the SDK, handling OIDC/OAuth API breaks. (#5497)
Update the SDK handling API breaks.
2026-04-27 14:46:53 +01:00
Mauro Romito
af08010370 removed LLS feature flag 2026-04-27 15:13:07 +02:00
Richard van der Hoff
bc32a05a2c Promote "history sharing on invite" out of developer options (#5480)
* Enable key-share-on-invite irrespective of feature flag

* Remove feature-flag dep: warning on starting chat with new people

* Remove feature-flag dep: invite from room member details

* Remove feature-flag dep: warning on new users in invite screen

* Remove feature-flag dep: from room details screen

* Remove feature-flag dep: starting chat from user profile screen

* Remove feature-flag dep: timeline info on forwarded keys

* Remove feature-flag dep: RoomScreenModel

* Remove `enableKeyShareOnInvite` from AppSettings

* Remove `enableKeyShareOnInvite` feature flag

* Remove outdated comments

* Update preview test room snapshots as their header now includes the history sharing icon
2026-04-27 14:43:18 +03:00
Doug
7d703337d7 Add a Developer Options button to the AuthenticationStartScreen on Nightly builds. (#5472)
* Add a Developer Options button to the AuthenticationStartScreen on Nightly builds.

* Make sure the Developer Options are actually shown in the settings screen on Nightlies.
2026-04-23 15:52:47 +01:00
Mauro Romito
b1d82add91 stop showing live location disclaimer when accepted. 2026-04-22 18:17:17 +02:00
Doug
ac2fdba3f1 Fix a potential crash caused by using old Sentry transactions. (#5459)
* Fix a deprecation warning.

* Remove unused method.

* Fix a crash caused by using old Sentry transactions.
2026-04-21 17:14:17 +01:00
amshak
b16bbdcc72 Notification Decoration Revised (#5312)
1. I removed the grey dots for when there is activity in rooms set to mentions or mute.
2. For all unread rooms, I made the message preview text bold for better legibility
3. For rooms with no unreads, I made the font weight regular, again for legibility

We have also mergeg the new room list activity rendering with the existing feature hide unread badge feature flag and provide 3 variations: current production behavior, no badge but bolding, and no bolding and no badge
2026-04-21 14:12:07 +03:00
Doug
e51e93c3f1 Enable automatic Verification when already signed in with Element Classic. (#5453)
Enable automatic Verification with Element Classic.
2026-04-21 11:43:51 +01:00
Mauro Romito
693a76ecf0 allow users to set live location minimum distance update 2026-04-21 12:32:50 +02:00
Doug
fc97cbc006 Add a feature flag for automatic back pagination. (#5445) 2026-04-20 17:47:26 +01:00
Doug
726ab435a0 Revert the space filters Toggle and instead don't try to use glass when in the sidebar.
This reverts commit 283029b14976cda1aa567c947c27b09916c88824.
2026-04-17 15:22:56 +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
Letro Bot
6774697c17 Change a few links in AppSettings 2026-04-14 18:20:28 +04: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
Doug
e3a074b8b2 Remove the Spaces Announcement sheet. (#5376) 2026-04-10 17:49:28 +01:00
Letro Bot
fdc627eb38 Customize tabs text color 2026-04-10 01:07:36 +04:00
Letro Bot
1896637645 Add a mechanism to customize app icons and colors 2026-04-10 01:07:36 +04:00
Letro Bot
6d68517328 Force light theme 2026-04-10 01:07:36 +04:00
Letro Bot
310cfc530e Change default account provider (server address) 2026-04-10 01:07:36 +04:00
Letro Bot
7a60a278de Implement login page redesign 2026-04-10 01:07:36 +04:00
Mauro Romito
5c00311e59 floating date feature is now out of the feature flag 2026-04-08 14:55:07 +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
Stefan Ceriu
64614cdfb5 Rename "Auxiliary" windows to "Secondary" windows 2026-03-31 20:33:33 +03:00
Stefan Ceriu
256cc5c35a Disable creating new windows (duplicates) 2026-03-31 20:33:33 +03:00
Stefan Ceriu
50522b5261 Use different auxiliary window sizes on mac vs iPad 2026-03-31 20:33:33 +03:00
Stefan Ceriu
d52f392758 Disable multiple windows when screen lock is enabled. 2026-03-31 20:33:33 +03:00
Stefan Ceriu
2b2b926fdc Clean up the window manager and its protocols 2026-03-31 20:33:33 +03:00
Stefan Ceriu
685d2d083c 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
92ebfed4e1 Programatically focus the main window when invoking the global search 2026-03-31 20:33:33 +03:00
Stefan Ceriu
b9c5c3446a 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
aae95a9489 Best effort attempt at cleaning up the WindowManger registered coordinators. 2026-03-31 20:33:33 +03:00
Stefan Ceriu
a33c2b6f39 Prevent the window manager from being setup more than once. 2026-03-31 20:33:33 +03:00
Stefan Ceriu
b034fffb1f Close all secondary windows on logout 2026-03-31 20:33:33 +03:00
Stefan Ceriu
806767be7f Set a default size for all the detached windows 2026-03-31 20:33:33 +03:00
Stefan Ceriu
89f56b4c55 Hook up the settings screen 2026-03-31 20:33:33 +03:00
Stefan Ceriu
c66e737ee0 Automatically dismiss (now) empty windows 2026-03-31 20:33:33 +03:00
Stefan Ceriu
12b6b7ec74 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