Commit Graph

502 Commits

Author SHA1 Message Date
Stefan Ceriu
04053ae69b Update files following swiftformat upgrade 2026-01-27 12:50:57 +02:00
Stefan Ceriu
b08da80e18 Fix incorrect empty lines in doc comments 2026-01-27 12:50:57 +02:00
Skye Elliot
67497408b4 Remove "history may be shared banner" (#4999)
* Revert "Do not show history visible banner when the user cannot send messages. (#4892)"

This reverts commit 6117ee3a2b.

* Revert "Add a banner to encrypted rooms with visible history. (#4851)"

This reverts commit ae38dc54d4.
2026-01-26 14:59:48 +00:00
Stefan Ceriu
d1f1a598d5 Space filters (#4977)
* Add support for SpaceFilters on the SpaceServiceProxy level and a screen that renders them

* Add aliases to a couple of space room mocks

* Update translations and related snapshots

* Add a feature flag for space filters

* Add a new room summary provider filter that takes a list of room identifiers next to the normal state filters

This will take the SpaceFilter's descendants and combine it with the normal filters to reduce the rooms shown

* Add a new space filter button to the home screen and link it to the SpaceFiltersScreen and the actual RoomSummaryProvider room list filters

* Bump the RustSDK to v26.01.20-2 for SpaceFilter support.

* Add a cancellation button to the space filters screen

* Make the filter presentation mode liquidy, move the sheet to within the home screen.

* Address PR comments
2026-01-21 20:19:39 +00:00
Doug
99805c0932 Fake an actual title bar on macOS Tahoe. (#4971) 2026-01-19 18:56:59 +00:00
Doug
52d823fb03 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
2d1d62552a 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
Skye Elliot
ae38dc54d4 Add a banner to encrypted rooms with visible history. (#4851)
* Add a banner to encrypted rooms with visible history. (#4738)

* feat: Add history visible alert.

- Adds a dismissable alert that is displayed whenever the user
  opens a room with `history_visibility` != `joined`. When cleared,
  this is recorded in the app's data store.
- When opening a room with `history_visibility` = `joined`, this
  flag is cleared.

Issue: element-hq/element-meta#2875

* tests: Add unit tests for history sharing in `RoomScreenFooterView`.

* feat: Rename flag to `hasSeenHistoryVisibleBannerRooms`, document.

* refactor: Merge enum variants, use function for banner description.

* feat: Use `AppSettings.historyVisibleDetailsURL` over hard-coded value.

* tests: Correct potential race condition with deferred assertion.

* chore: Use Localazy translation string over project-defined.

* fix: Final tweaks and review comments.

* chore: Checkout `Enterprise` submodule.

* tests: Final fixes.

* fix: Condition banner visibility on feature flag state.

* fix: Prioritise identity violations over history visibility banner.

* tests: Add snapshots for history visible banner.

* tests: Use deferred failure timeout for improved test power.

* chore: Tweaks to spelling, simplify state logic.

* fix: Remove "g".

* fix: Show banner for shared/world-readable rooms, not invited.

* refactor: Use `else-if` instead of `if`.
2025-12-19 15:26:45 +00:00
Stefan Ceriu
2880ee9135 Perform client store optimizations when migrating versions. 2025-12-19 11:12:36 +02:00
Stefan Ceriu
b762ce4fc0 Update history visible settings (#4861)
* Fixes #4852 - Update history visible settings

* Address PR comments and move attributed strings to the view state
2025-12-17 15:04:02 +02:00
Doug
e9d6116c5f Revert "Add a banner to encrypted rooms with visible history. (#4738)" (#4850)
This reverts commit 1e0bbce3c4.
2025-12-12 11:44:13 +00:00
Skye Elliot
1e0bbce3c4 Add a banner to encrypted rooms with visible history. (#4738)
* feat: Add history visible alert.

- Adds a dismissable alert that is displayed whenever the user
  opens a room with `history_visibility` != `joined`. When cleared,
  this is recorded in the app's data store.
- When opening a room with `history_visibility` = `joined`, this
  flag is cleared.

Issue: element-hq/element-meta#2875

* tests: Add unit tests for history sharing in `RoomScreenFooterView`.

* feat: Rename flag to `hasSeenHistoryVisibleBannerRooms`, document.

* refactor: Merge enum variants, use function for banner description.

* feat: Use `AppSettings.historyVisibleDetailsURL` over hard-coded value.

* tests: Correct potential race condition with deferred assertion.

* chore: Use Localazy translation string over project-defined.

* fix: Final tweaks and review comments.

* chore: Checkout `Enterprise` submodule.

* tests: Final fixes.
2025-12-11 17:07:57 +00:00
Doug
fe9aa48aab Add a Link New Device screen (behind a feature flag). (#4811) 2025-12-11 11:45:23 +00:00
Doug
27ce6d94df Favour network over homeserver reachability when computing the offline indicator. (#4805)
For a whole host of reasons we don't support air-gapped operation anyway and as the SDK is super slow to tell us about the homeserver's reachability the indicator wasn't really working.
2025-12-02 11:21:47 +00:00
Mauro Romito
24febbeaee drop iOS 17 and removed all #available and #unavaible checks for 17 and 18 2025-12-01 14:19:52 +01:00
Doug
ecd5ee426f Enable the latest event sorter. 2025-11-27 16:43:48 +00:00
Doug
3852711c84 Disable the cross-fade animation on the split view detail. (#4737) 2025-11-13 10:52:32 +00:00
Mauro Romito
5b4a3af1c7 pr suggestions and implemented a simpler way to clear the route, that always brings back to the initial coordinator 2025-11-06 12:57:39 +01:00
Mauro Romito
76d24b9972 FF to enable/disable focussing the event on notification tap 2025-11-04 15:32:09 +01:00
Mauro Romito
943e550658 implemented the basics of the flow coordinator, the logic and the navigation flow to get to the space settings view 2025-10-30 15:23:03 +01:00
Mauro Romito
0002065833 added animated to the start of a flow coordinator 2025-10-28 14:56:36 +01:00
Stefan Ceriu
ec15d06154 Remove the first version of the AttributedString builder
Remvoe test stuf

# Conflicts:
#	ElementX/Sources/Other/HTMLParsing/AttributedStringBuilder.swift
#	ElementX/Sources/Other/HTMLParsing/AttributedStringBuilderV1.swift
#	ElementX/Sources/Other/HTMLParsing/DTHTMLElement+AttributedStringBuilder.swift
2025-10-28 09:53:15 +00:00
Mauro
dfa5214136 Threaded notifications (#4644)
* implemented grouping

* implemented presenting the thread

* improved the implementation by reusing the presentation action

* add Thread group to DMs to differentiate from non threaded messages of the same DM

* name for a threaded notification in group room

* focus event when tapping on a notification

* pr suggestions

* document
2025-10-23 15:28:45 +02:00
Mauro
6160c44d67 Update copyright holding and dates (#4640)
* Update copyright holding and dates

* compound IDE Macros updated

* update copyright

* update copyrights done

* update templates and README
2025-10-21 14:34:56 +02:00
Stefan Ceriu
a49cc47936 Prevent the system from automatically hiding the sidebar when backgrounding the app 2025-10-10 21:08:19 +03:00
Doug
19bf29e854 Even more space tweaks (#4588)
* Bring back the button to share a space on iOS 26.

* Remove the setting and disable the space tab on iOS 17.

(The tab bar is broken on iPadOS 17).
2025-10-07 14:34:10 +01:00
Doug
6f5ba297eb Add the spaces feature announcement sheet. (#4571) 2025-10-06 16:59:56 +01:00
Doug
f806706f75 Use the new notification sound. (#4572)
* Use the new notification sound.

* Add a banner informing the user of the new notification sound.
2025-10-03 21:09:50 +01:00
Doug
c91c69b86b Joining a space from the room flow. (#4563)
* Add the More menu to SpaceScreen.

And a simple way to leave a space for testing.

* Start a space flow when accepting a space invite from the room flow.

* Minimise the tab bar on iOS 26 when scrolling down.

* Enable spaces by default!
2025-10-02 10:58:38 +01:00
Stefan Ceriu
063d0e4f52 Properly use the new hideBrandChrome in the AuthenticationStartLogo 2025-09-24 15:00:30 +03:00
Stefan Ceriu
137d02242a Enable the next gen html parser and attributed string builder by default. 2025-09-24 14:55:30 +03:00
Doug
a9f91c25c2 Update the SDK and Element Call. (#4527)
* Update Element Call to RC3

* Update the SDK.

* Add feature flag for latest event sorter.
2025-09-19 18:06:48 +01:00
Stefan Ceriu
a2fffe35f0 Implement link previews for text messages using Apple's LinkPreview framework (#4520) 2025-09-19 12:48:09 +00:00
Stefan Ceriu
afc09fd618 Add an app setting to disable rendering the chrome around the app logo/brand. 2025-09-19 15:15:25 +03:00
Stefan Ceriu
af2c13c7dd Automatically clear temporary folders whenever migrating versions as the system rarely does. 2025-09-18 09:56:05 +03:00
Doug
f135c0a622 Await user session migrations rather than launching a task. (#4502)
Fixes a bug where they would be run *after* startSync had been called, and expiring the sessions stopped the sync.
2025-09-11 12:05:01 +01:00
Stefan Ceriu
23a5d50067 Add a V2 version of the AttributedStringBuilder as a verbatim copy of the original one (for now) 2025-09-09 17:17:40 +01:00
Stefan Ceriu
e57a4ef52a Add next gen HTML parser feature flag 2025-09-09 17:17:40 +01:00
Doug
c6f3de8be7 Add a migration to expire sync sessions so that m.space.* state is up to date. (#4482) 2025-09-09 15:35:32 +01:00
Doug
2b65844ac6 Use the SDK's offline detection everywhere (except for restarting the sync loop). (#4472)
* Use the SDK's offline state to drive the offline indicator.

* Only use network reachability for restarting the sync loop, use the homeserver reachability for requests.

* Add a separate indicator to distinguish when the server is unreachable but the device is online.
2025-09-08 12:18:02 +00:00
Doug
26eda3ccfd Move call presentation from the chats flow into the user session flow. (#4459) 2025-09-03 17:01:07 +01:00
Doug
88131ce776 Remove the BugReportService from the ServiceLocator.
It is directly injected everywhere now.
2025-08-27 18:13:03 +01:00
Doug
3138c854c4 Remove all uses of the ServiceLocator from within Coordinators and View Models.
It is still used for mocks in tests, previews etc, and still used in the AppCoordinator.
2025-08-27 18:13:03 +01:00
Doug
8c68ec3b83 Introduce flow parameters to simplify dependencies for child flows. (#4448) 2025-08-27 12:56:06 +00:00
Doug
4e53bd070d Hide the tab bar when pushing screens on iPhone as requested by the designs. (#4444)
Make the tab bar hide when pushing screens on iPhone as requested by the designs.

Annoyingly we couldn't simply add a second call to .toolbar(.hidden, for:.tabBar) on the pushed screens, but this way is automatic and there's still an override so it's good enough for now.
2025-08-27 10:31:56 +01:00
Doug
aabae58c9e Tidy up some logs that have a prefix. (#4443)
We haven't needed these for ages, Rust adds them to the log lines.
2025-08-26 16:21:10 +01:00
Doug
9ff82a478e Add a feature flag for spaces. (#4429)
* Remove the huge conditional compilation block on AppSettings.

It is still required for the ElementCallBaseURL however.

* Add a feature flag for spaces.
2025-08-22 13:47:23 +01:00
Stefan Ceriu
035d35e38b Remove the multipleAttachmentUploadEnabled feature flag. 2025-08-20 14:20:13 +03:00
Copilot
9fab9f9c9a Add a Low Priority room filter behind a feature flag. (#4394)
* Add Low Priority room filter with incompatibility rules

Co-authored-by: pixlwave <6060466+pixlwave@users.noreply.github.com>

* Add a feature flag and use the SDK filters.

* Fix filter tests and add RoomSummaryProvider tests for the default filters.

* Remove unnecessary comment.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: pixlwave <6060466+pixlwave@users.noreply.github.com>
Co-authored-by: Doug <douglase@element.io>
2025-08-20 11:56:44 +01:00
Doug
624f74816e Remove the share_pos developer option. (#4406) 2025-08-13 08:36:40 +00:00