Commit Graph

81 Commits

Author SHA1 Message Date
renovate[bot] b4395d948f Update dependency siteline/SwiftUI-Introspect to v26.0.2 (#6104)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-04 08:58:42 +01:00
ElementRobot 9b22ca3cd2 Translations update (#6088)
* Translations update

* swiftformat .

* update previews

---------

Co-authored-by: Element CI <ci@element.io>
Co-authored-by: Mauro Romito <mauro.romito@element.io>
2026-08-31 12:30:26 +02:00
Doug b6a7188fb5 Pin project dependencies to exact versions given we have Renovate. (#6078) 2026-08-27 12:39:48 +01:00
renovate[bot] dd84da15b0 Update dependency element-hq/compound-design-tokens to v10.2.4 2026-08-21 12:28:41 +03:00
Doug 2228da3eb9 Make sure the Tab Rail's background matches the split view's detail background. (#6003) 2026-08-11 11:07:24 +01:00
renovate[bot] 68f7f2b301 Update dependency pointfreeco/swift-snapshot-testing to v1.19.4 2026-08-05 08:26:21 +03:00
Jürgen Wischer 99ba9eb235 Fix CI failures: SwiftFormat indentation and stale text field snapshot
Reformat two files to satisfy SwiftFormat's indent rule on blank lines
introduced by the accessibility fixes in this branch, and re-record the
compoundTextFieldStyle preview snapshots to match the new resting-state
border rendering on raised text fields.
2026-07-17 14:14:45 +02:00
Jürgen Wischer 003c608cc5 Revert "Add a visible custom focus ring to the standard button style"
This reverts commit 3f2434c94761877b96fe5bc2e9acc9dfc2b8db2a.
2026-07-17 14:14:45 +02:00
Jürgen Wischer 5198533242 Add a visible custom focus ring to the standard button style 2026-07-17 14:14:45 +02:00
Jürgen Wischer 814cb99105 Show a resting-state border on raised text fields 2026-07-17 14:14:45 +02:00
renovate[bot] f61c700092 Update dependency pointfreeco/swift-snapshot-testing to v1.19.3 2026-07-16 10:23:33 +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
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
Stefan Ceriu b8e6421551 Fix various project warnings 2026-07-03 19:30:28 +03:00
Doug 942ecf9965 Remove Hyperion from the Compound Inspector app. (#5828)
It was barely working and the repo no longer exists now anyway.
2026-07-02 11:12:35 +01:00
Doug 036c9ce248 Stop reserving space for the non-existant icon background in ListRowLabel on iOS 26. (#5822)
* Stop reserving space for the non-existant icon background in ListRowLabel on iOS 26.

* Use the .avatar label style for NotificationSettingsEditScreenRoomCell.
2026-07-01 12:58:33 +01:00
renovate[bot] 17ae3bcce7 Update dependency swiftlang/swift-syntax to v603 (#5803)
* Update dependency swiftlang/swift-syntax to v603

* Stop hiding Package.resolved file contents in GH reviews.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Doug <douglase@element.io>
2026-06-30 08:50:37 +01:00
Mauro Romito 3aedd0ccff swiftformat now enforces newlines for ifs 2026-06-19 15:28:27 +02:00
Mauro 6a381dcef0 Fix some issues with missing a11y labels (#5747)
* add a11y label to the bug report field

* include a11y label to the list row directly

* remove is header trait from poll form question header section

* a11y label added to the create room screen name textfield
2026-06-19 11:48:13 +02:00
Doug b38c216185 Add support for defining the text entry type on CompoundTextFieldStyle. (#5757)
* Add support for defining the text entry type on CompoundTextFieldStyle.

* Use Xcode 26.5 when running Compound tests too.
2026-06-18 19:18:44 +01:00
Mauro a520d94760 Swift 6 Migration (#5733)
* Enable Swift 6.2 with default main actor isolation for the app target

Turn on SWIFT_VERSION 6.2, SWIFT_APPROACHABLE_CONCURRENCY and SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor for the ElementX target, matching the NSE and Share Extension (which already use 6.2 without the main actor default).

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

* Update the code generation templates for Swift 6

Emit nonisolated/@unchecked Sendable mocks and nonisolated string enums, and mark async mock methods @concurrent so they keep suspending like the real implementations (otherwise intermediate states are unobservable in tests). Includes the regenerated mocks and strings.

# Conflicts:
#	ElementX/Sources/Mocks/Generated/GeneratedMocks.swift

* Make the data layer and services nonisolated and Sendable

Annotate the value-type models, Rust SDK proxy wrappers, timeline item graph, settings, logging and NSE-shared types as nonisolated, and conform the service protocols to Sendable so their existentials can cross isolation boundaries. These types run off the main actor and no longer inherit the target's default main actor isolation.

* Adopt the new isolation across call sites, mocks and signatures

Update call sites, closure signatures and mock configuration helpers to match the nonisolated/Sendable data layer, including the main actor isolated mock inits and the @Sendable filter on recentlyVisitedRooms.

^ Conflicts:
^	ElementX/Sources/Services/SecureBackup/SecureBackupController.swift

* Remove redundant @MainActor annotations

With the app target defaulting to main actor isolation, the explicit @MainActor on view models, coordinators, views and their protocols is no longer required.

* Fix concurrency hotspots surfaced by the migration

Resolve the room summary main-thread deadlock by moving diff processing onto AsyncStreams, add the SDKListener.onMainActor FIFO bridge for SDK callbacks, hop KVO/timer/UIKit callbacks to the main actor via assumeIsolated, add isolated deinits, and apply the few justified nonisolated(unsafe) escapes for queue-confined Apple APIs.

* Fix the unit tests for Swift 6 concurrency

Hop the waitForConfirmation body onto the caller's actor (Swift Testing runs confirmation closures off-actor), and adjust the affected suites and async signatures.

* offload diffs on concurrent threads instead of main actor

* make room info protocols sendable

* use a task group for fetching data so that everything runs concurrently in the TextRoomTimelineView when getting the preview.

* use the generic onMainActor implementation, which already makes a stream and send the continuation on the main actor.

* small pr comments issues being addressed

* update enterprise

* Update StaticCode to 1.1.0 and specify the required Swift isolation.

* fix ElementCallServiceTests

* update enterprise

* re-generate mocks

* update enterprise

* enterprise new code conformed to swift 6

---------

Co-authored-by: Doug <douglase@element.io>
2026-06-18 17:55:31 +02:00
renovate[bot] b6943a6142 Update Compound to v10.2.2 2026-06-12 16:34:34 +03:00
Doug 097d055dbe Some more tweaks to compound for User Status. (#5708)
* Add a plain list modifier to Compound.

* Move ElementTextFieldStyle into Compound and support more styles from the Figma

- More accurately reflects our Liquid Glass updates.
- Adds support for the .raised style.

* Update Element X snapshots.
2026-06-05 15:59:34 +01:00
Doug e9f66bda37 Use the new crop icon from Compound. (#5691) 2026-06-03 11:11:39 +01:00
Doug 915b1fb718 Update ListRowLabel with the correct icon spacing when using LiquidGlass. 2026-06-03 08:15:32 +03:00
Doug fa67713726 Run SwiftFormat. 2026-05-27 17:11:42 +01:00
renovate[bot] d06418a436 Update dependency element-hq/compound-design-tokens to v10.2.0 2026-05-26 14:11:32 +03:00
renovate[bot] 5f5fc15c11 Update dependency element-hq/compound-design-tokens to v10.1.1 (#5526)
* Update dependency element-hq/compound-design-tokens to v10.1.1

* Fix Compound workflow.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Doug <douglase@element.io>
2026-05-01 23:52:06 +01:00
Doug 117a96609a Use macOS 26 for all workflows. (#5442)
And check in an out-dated Package.resolved file.
2026-04-20 10:15:34 +01:00
Mauro Romito e1a390e52b update compound-ios snapshotting package 2026-04-17 15:22:15 +02:00
Doug 63422f8f6b Upgrade the project to use Xcode 26.4 (and the 26.4 simulator for tests). (#5375)
* Upgrade the project to use Xcode 26.4 (and iOS 26.4 when running tests).

* Update the test OS assertions.

* updated preview tests

# Conflicts:
#	PreviewTests/Sources/__Snapshots__/PreviewTests/homeScreenInviteCell.iPhone-en-GB-0.png
#	PreviewTests/Sources/__Snapshots__/PreviewTests/homeScreenInviteCell.iPhone-pseudo-0.png

* update compound preview tests

---------

Co-authored-by: Mauro Romito <mauro.romito@element.io>
2026-04-16 14:33:20 +02:00
renovate[bot] 48794a2c42 Update dependency element-hq/compound-design-tokens to v10 (#5340)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-01 13:33:21 +01:00
renovate[bot] ada2c73c1f Update dependency element-hq/compound-design-tokens to v9 2026-03-31 10:38:07 +03: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
renovate[bot] 8b411697a4 Update dependency element-hq/compound-design-tokens to v8 2026-03-19 14:18:22 +02:00
renovate[bot] 860a7de35e Update dependency siteline/SwiftUI-Introspect to from: "26.0.1" (#5221)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-18 12:24:12 +00:00
renovate[bot] abb1274154 Update dependency element-hq/compound-design-tokens to v7 2026-03-12 16:47:10 +02:00
renovate[bot] 785903e8d3 Update dependency element-hq/compound-design-tokens to v6.10.2 (#5180) 2026-03-10 14:28:19 +02:00
Stefan Ceriu 0ab6458e4e Fix new redundantSendable and redundantSwiftTestingSuite swiftformat errors 2026-03-04 17:02:11 +02:00
renovate[bot] 08a866bf87 Update dependency element-hq/compound-design-tokens to v6.10.1 (#5123)
* Update dependency element-hq/compound-design-tokens to v6.10.0

* Further Compound updates.

The gradients have been simplified and are now opaque.

* Missed snapshots.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Doug <douglase@element.io>
2026-02-25 21:45:10 +00:00
Mauro 7982aef855 Swift Testing for Unit Tests PART 1 (#5119)
* migrated a lot of unit tests to Swift Testing and added a new implementation for deferred fulfillment

more tests migration

Cleaned the code manually to establish some good patterns

more code improvements

some more code improvements

removed empty tests

update project

* more pr suggestions and cleanups

* removed the TestSetup pattern

* fixing claude not reusing tests

* pr suggestion + added indent rule to swiftformat so that we can prevent AIs to change that
2026-02-19 16:20:47 +01:00
Mauro e8a6af1956 Swift Testing for Compound (#5110) 2026-02-16 14:04:04 +01:00
Mauro 26bfa6ed7c Compound - Swift 6.2 and Main actor isolation (#5109)
* compound is now using 6.2 and main actor isolation + some tweaks to make it build tests and EX

* better handling of the nonisolated context for CompoundUIColors

* improving docs

* fix comment

* remove unused Sendable conformance
2026-02-16 10:19:12 +00:00
Mauro Romito 20657de097 Updated compound icons to match ios 26 designs 2026-01-30 17:33:24 +01:00
renovate[bot] 3d5269fa19 Update dependency element-hq/compound-design-tokens to v6.9.0 (#5011)
* Update dependency element-hq/compound-design-tokens to v6.9.0

* Update Package.resolved files.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Doug <douglase@element.io>
2026-01-27 14:14:16 +00:00
Stefan Ceriu 23062901c0 Update files following swiftformat upgrade 2026-01-27 12:50:57 +02:00
Doug b0bb41a726 Enable Swift 6 and default actor isolation on the Compound Inspector app. (#4966) 2026-01-19 09:15:28 +00:00
renovate[bot] a861c15d96 Update dependency element-hq/compound-design-tokens to v6.8.0 (#4959)
* Update dependency element-hq/compound-design-tokens to v6.8.0

* Update the Package.resolved files.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Doug <douglase@element.io>
2026-01-16 11:30:20 +00:00
Doug 99e160ddc4 Update dependencies. (#4940)
* Minor dependency updates.

Plus SwiftSyntax 509 → 601

* Update MapLibre to v6.

* Update Sentry to v9.
2026-01-09 16:48:03 +00:00
Mauro 34123a4567 Empty spaces list screen (#4936)
* Added an FF to create spaces + empty spaces list state

* removed learn more button and improved spacing

* updated toolbar for chats and spaces to match ios 26 designs
2026-01-09 15:17:43 +01:00