Commit Graph

4787 Commits

Author SHA1 Message Date
Element CI fd5b3813d4 Prepare next release 2026-07-15 06:36:17 -07:00
Doug a2ba9c4999 Update the SDK. (#5889) 2026-07-15 14:19:50 +01:00
Element CI 9e2696a395 Run XcodeGen, update Package.resolved and Settings.bundle 2026-07-15 14:07:27 +02:00
Element CI 8bc676e2d0 Run XcodeGen, update Package.resolved and Settings.bundle 2026-07-15 14:07:27 +02:00
renovate[bot] 4f29cf6b7a Update Project Dependencies 2026-07-15 14:07:27 +02:00
Element CI 6e3a6b986a Run XcodeGen, update Package.resolved and Settings.bundle 2026-07-15 12:18:46 +02:00
renovate[bot] fd6fb944ad Update dependency Mantis to v3 2026-07-15 12:18:46 +02:00
Mauro 0be5693779 Constrained tests tool implementation + skill (#5873)
* constrained tests tool implementation + skill

* pr suggestions
2026-07-15 12:17:51 +02:00
Matthew Hodgson 1062e2c6dd Add CurrentValuePublisherTests to the UnitTests target (#5884)
Regenerating the project with XcodeGen picks it up.
2026-07-15 07:48:00 +00:00
Mauro 39bd882a27 Fix for flaky tests (#5869)
* possible logging tests fix

* fix for flaky tests

* use timelimit for max test time

* pr suggestions

* remove comment
2026-07-14 18:01:36 +02:00
Doug 85f28d017d Update the SDK and handle API breaks. (#5871)
* Update the SDK and handle API breaks.

* Rename sdkUserThing to rustUserThing for consistency.

* Add user status ClientProxy methods.

* Rename UserStatus.UserSet to UserStatus.Raw.
2026-07-14 16:35:37 +01:00
Doug f776ea7133 Fix a bug where rooms couldn't be opened when returning to the foreground whilst offline. (#5867)
The stores weren't being resumed.
2026-07-14 15:32:19 +01:00
Matthew Hodgson d8a2ac75a8 Fix CurrentValuePublisher.map dropping updates when the mapped publisher is chained inline (#5870)
* Fix CurrentValuePublisher.map dropping updates when the mapped publisher is chained inline

The eager implementation bridged through a second CurrentValueSubject fed by
a sink whose AnyCancellable was stored on the returned struct. Combine
consumes publisher structs when building a subscription, so chaining the
mapped publisher inline (e.g. `publisher.map { … }.removeDuplicates(…)
.sink { … }`, as RoomScreenViewModel and RoomDetailsScreenViewModel do for
knock requests) dropped the only copy holding that cancellable: the feeding
sink was cancelled and subscribers only ever received the initial value.

In practice this meant a room admin viewing a knockable room never saw the
"wants to join" banner (or a live "Requests to join" badge) for a knock
arriving while the room was open — it only appeared when the knock predated
opening the room. Caught by a live cross-client knocking test; the
double-execution of the transform at subscription time (eager transform +
current-value replay) was the giveaway.

Make map lazy instead: keep the transformed AnyPublisher and a value
provider, so subscribers attach straight through to the source subject (which
replays its current value itself) and no keep-alive is needed. Adds a
regression test chaining a mapped publisher inline.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* swiftformat

* better docs

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Mauro Romito <mauro.romito@element.io>
2026-07-14 15:02:56 +02:00
Mauro Romito b730815842 disable creation and enabling of e2ee if remote preference for disabling it is true 2026-07-13 15:51:13 +02:00
Timo 3ba5c08c13 Use dark theme for Element Call (#5860)
* Use dark theme for element Call

* Make sure only the call screen is shown in dark mode.

Otherwise when you go into PiP the entire app has become dark.

---------

Co-authored-by: Doug <douglase@element.io>
2026-07-13 13:28:28 +01:00
Michael c69ebd8898 Fix for NSE and ShareExtension individual builds (#5856) 2026-07-13 12:33:36 +02:00
ElementRobot e8db3cff77 Translations update (#5865)
Co-authored-by: Element CI <ci@element.io>
2026-07-13 11:10:27 +01:00
Mauro e2c573b1eb Use deferFulfillment in flow coordinator tests (#5861)
* use deferFulfillment in coordinator tests

* pr suggestions
2026-07-13 11:52:22 +02:00
Doug 97990b2877 Update the SDK and Compound tokens. (#5857)
* Update Compound Design Tokens.

No changes, just makes some new ones available.

* Update the SDK.
2026-07-13 09:49:15 +01:00
Doug 80ad39e877 Fix UI tests (#5862)
* Fix UI tests compilation error.

* Update UI Snapshots.
2026-07-10 18:12:05 +01:00
Doug 6635113f0b Fix a spacing issue. 2026-07-10 17:59:42 +01:00
Doug aad1b71782 Update the Enterprise submodule. 2026-07-10 17:59:42 +01:00
Doug 73d101c55f Update snapshots. 2026-07-10 17:59:42 +01:00
Doug 23b3fc62cb Show user statuses in the rooms list. 2026-07-10 17:59:42 +01:00
Doug 7b1333c9b8 Show user statuses in the room members list. 2026-07-10 17:59:42 +01:00
Doug e80717f63d Show user statuses in mention suggestions. 2026-07-10 17:59:42 +01:00
Doug 6199ab596f Show user statuses in mention pills. 2026-07-10 17:59:42 +01:00
Doug 01b946926f Show user statuses in the DM room header. 2026-07-10 17:59:42 +01:00
Doug 64908ae642 Show user statuses in the timeline. 2026-07-10 17:59:42 +01:00
Doug bbe6931906 Show user statuses in AvatarHeaderView.
Also tweaks the layout to more closely match Figma.
2026-07-10 17:59:42 +01:00
Doug 2c4775f357 Add the UserStatus and a status field on UserProfile/RoomMember/TimelineItemSender. 2026-07-10 17:59:42 +01:00
Element CI 5743f263b6 Prepare next release 2026-07-09 10:01:57 -07:00
Mauro 6bd8423675 Media Preview content scanning (#5851)
* implemented checkSourceSafetyIfNeeded in the timeline media preview

* added a subtitle to the spinner when scanning and an animated drag gesture for the error and loading states

* pr suggestions

* pr suggestions part 2
2026-07-09 18:46:14 +02:00
Mauro ee89f8846f Fix for the media browser showing also images and videos in file mode (#5853)
* fix for the bug that makes the images appear in the file list of the media browser

* pr suggestions
2026-07-09 15:51:46 +02:00
Doug 5915713a02 Introduce a build setting to detect Nightly builds. (#5852)
* Allow the AppIconBanner tool to be called with purely the build number.

And use that for the Element Pro Nightly.

* Use a build setting to determine Nightly builds.
2026-07-09 13:56:26 +01:00
Mauro Romito 5ba9296a65 new location request permission strings 2026-07-09 14:54:24 +02:00
Doug 81b33da6ab Switch back to using the stable version of SwiftFormat. (#5850) 2026-07-08 11:01:55 +01:00
Mauro 5fd4551099 Scanning states for the media events timeline screen (#5847)
* implemented the scanning states for the media events timeline screen

* add mock urls to the URL.mock...
2026-07-08 11:51:56 +02:00
Mauro 9e1d95db1c Content scanning view for reply preview (#5842)
* implement a MediaView to delegate at the view level the usage of the content scanner service, to determine how to render the media.

* fix for a small design mismatch

* fix for greedy error state

* updated naming

* just making some screenshot that have been affected by a string change on Localazy

* pr suggestions + updated strings

* implemented content scanning in the timeline reply view

* pr suggestions
2026-07-07 17:49:16 +02:00
Matthew Hodgson 834938f585 don't keep re-prompting the user to migrate if they get spontaneously logged out. (#5844) 2026-07-07 15:28:40 +02:00
Element CI 9234060fb6 Translations update 2026-07-06 20:28:38 +02:00
renovate[bot] 1e451ac3e3 Update Project Dependencies (#5818)
* Update Project Dependencies

* Run XcodeGen, update Package.resolved and Settings.bundle

# Conflicts:
#	ElementX.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

* Run XcodeGen, update Package.resolved and Settings.bundle

* updated package

* Run XcodeGen, update Package.resolved and Settings.bundle

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Element CI <ci@element.io>
Co-authored-by: Mauro Romito <mauro.romito@element.io>
2026-07-06 18:01:05 +02:00
Mauro a2c1ca06dd Content Scanning View (#5831)
* implement a MediaView to delegate at the view level the usage of the content scanner service, to determine how to render the media.

* fix for a small design mismatch

* fix for greedy error state

* updated naming

* just making some screenshot that have been affected by a string change on Localazy

* pr suggestions + updated strings
2026-07-06 16:15:27 +02:00
Mauro 0a77ba6c90 Swift format enforce isEmpty rule (#5843)
* swift format enforce isEmpty rule

* revert scheme

* use trailing closure
2026-07-06 15:39:16 +02:00
Mauro d2ef1e71f9 Remove the "unflip" of the timeline when in voice over mode (#5835)
Keep the timeline as it is in voice over mode, and don't "unflip" it
2026-07-06 14:00:53 +02:00
Stefan Ceriu b8e6421551 Fix various project warnings 2026-07-03 19:30:28 +03:00
Stefan Ceriu 2815b52f49 Update the readme to fix the unit tests shield and remove the SonarCloud ones (#5832)
Fix unit tests shield and remove SonarCloud
2026-07-03 17:10:43 +01:00
Stefan Ceriu 000bf81f95 Bump the RustSDK to a new "apple-release" profile build distribution
and hopefuly a smaller binary size
2026-07-03 16:34:14 +03:00
Stefan Ceriu dd6f8bc281 Group RoomTimelineItemFactory public methods under Public/Private marks
Move the protocol methods to the top under a Public mark and gather the
helpers beneath a Private mark.
2026-07-03 13:39:45 +03:00
Stefan Ceriu 02d9ed1f0e Address search PR review comments
- Drop the redundant searchService coordinator/view model parameter; derive it from the client proxy.
- Rename the globalSearch avatar size to search.
- Lift the query observation streams out of their tasks.
- Restore the appeared and updateVisibleRange comments.
- Use CompoundIcon defaults and a scaledFrame for media previews.
- Simplify the result mapping with compactMap(makeResult) and drop unsupported events by returning nil.
- Move the preview helpers beneath the previews.
2026-07-03 13:39:45 +03:00