Commit Graph

50 Commits

Author SHA1 Message Date
Doug 9590443aac Remove the Spaces Announcement sheet. (#5376) 2026-04-10 17:49:28 +01:00
Mauro Romito 95f3edac7f floating date feature is now out of the feature flag 2026-04-08 14:55:07 +02:00
Mauro Romito d9a480b1c6 pr suggestions 2026-04-03 12:36:45 +02:00
Mauro Romito df5570281b implement the start, send and stop functions 2026-04-03 12:36:45 +02:00
Stefan Ceriu 9406148689 Add a feature flag for the new RoomThreadList screen. 2026-03-31 18:21:14 +03:00
Mauro Romito a1029132c5 PR Suggestions 2026-03-31 12:58:27 +02:00
Mauro Romito b31d0cad75 implemented the LiveLocationManager as part of the user session and setup of permissions in the plist. 2026-03-31 12:58:27 +02:00
Mauro Romito eafe1f25e3 added an FF for the floating date 2026-03-30 14:05:31 +02:00
Mauro bbbb2e9dee Refactor and redesign Location Sharing Screen (#5155)
* refactored the static location screen to the location sharing screen

# Conflicts:
#	UnitTests/Sources/LocationSharingScreenViewModelTests.swift

# Conflicts:
#	ElementX.xcodeproj/project.pbxproj

* implemented a custom pin with an overlayable view

* implemented the render of the user when the location is sender instead of the pin type

* removed description and body they are not used at all.

* reimplemented single button for sharing this or user location + implemented an experimental way to update annotations

* removed unnecessary @Suite description

* implemented a way to display the alert on top of the sheet and added a spinner to the center user location button

* fixed alerts strings

* fixed a failing test

* improved preview tests
2026-03-06 12:51:16 +01:00
Mauro Romito ce97fec477 remove space FFs 2026-02-26 16:29:52 +01:00
Mauro Romito d6eccd3a64 pr suggestions 2026-02-19 22:40:31 +01:00
Mauro Romito 3dfcb6912f improved the code so that we can use the AudioPlayerState directly to check the playback speed and added localization 2026-02-19 22:40:31 +01:00
Florian 285f8b7834 Voice message: variable play back speed (#5121)
* Implement voice message variable playback speed

* Move playback speed string to Untranslated

https://github.com/element-hq/element-x-ios/pull/5121#discussion_r2822631371

* Address review feedback for voice message playback speed

- Persist voice message playback speed as an enum in AppSettings instead of storing an index.
- Update playback speed cycling to derive from enum allCases and safely fall back to `.default` if the stored value cannot be resolved.
- Apply runtime speed updates in AudioPlayer only when the player is in the `.playing` state.
- Keep MediaPlayerProviderTests formatting/indentation style intact while retaining mock playback speed setup.
- Regenerate preview snapshots for:
  - PlaybackSpeedButton
  - VoiceMessageRoomPlaybackView
  - VoiceMessageRoomTimelineView

* Move VoiceMessagePlaybackSpeed outside AppSettings, remove speedRatio

* Stabilize PlaybackSpeedButton width

* Sync voice-message speed label

- Add voiceMessagePlaybackSpeed to TimelineViewState and bind it from appSettings.$voiceMessagePlaybackSpeed.
- Pass that timeline-level speed into VoiceMessageRoomPlaybackView and use it for PlaybackSpeedButton, so labels update consistently across items.
- Use @EnvironmentObject in VoiceMessageRoomTimelineContent so the view re-renders when timeline context state changes.
- In WaveformInteractionModifier, add .allowsHitTesting(showCursor) to the cursor interaction view so hidden pre-playback cursor hit area does not steal taps from the speed button.
2026-02-19 22:40:31 +01:00
Doug 9207f004b0 Define the notification sound name in AppSettings. (#5106) 2026-02-13 16:36:45 +00:00
Stefan Ceriu 8f9d507e28 Update the RustSDK and adopt the new tracing configuration that allows maximum size and age limits on all logs.
Set that 100Mb and a week and remove previous rageshake uploading checks as they are no longer required.
2026-02-13 18:00:23 +02:00
Mauro Romito b725d8be80 make the FFs volatile and initialised to true by default 2026-02-10 17:08:07 +01:00
Mauro Romito 2cd58b93e8 Enable spaces second iteration FFs 2026-02-10 17:08:07 +01:00
Doug 7532a792b7 Add boot detection in the NSE and use this to inform the user that there may be more notifications. (#5054)
* Add an initial implementation of the receivedWhileOfflineNotification.

* Only deliver a single receivedWhileOffline notification per boot and clarify the API.

* Add a 15-minute threshold for the receiveWhileOfflineNotification.
2026-02-06 15:18:09 +00:00
Stefan Ceriu 8b768f74f8 Align with android on sentry settings. 2026-01-30 13:19:05 +02:00
Stefan Ceriu 23062901c0 Update files following swiftformat upgrade 2026-01-27 12:50:57 +02:00
Skye Elliot 2d5a86f161 Remove "history may be shared banner" (#4999)
* Revert "Do not show history visible banner when the user cannot send messages. (#4892)"

This reverts commit 2e09914cb7.

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

This reverts commit 6153480d90.
2026-01-26 14:59:48 +00:00
Stefan Ceriu b4b9f6affa 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
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
Skye Elliot 6153480d90 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 8164c88437 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 2eb02cdbaf Revert "Add a banner to encrypted rooms with visible history. (#4738)" (#4850)
This reverts commit aa525a52b1.
2025-12-12 11:44:13 +00:00
Skye Elliot aa525a52b1 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 4ea1aaecdd Add a Link New Device screen (behind a feature flag). (#4811) 2025-12-11 11:45:23 +00:00
Doug dc8f5ef5a9 Enable the latest event sorter. 2025-11-27 16:43:48 +00:00
Mauro Romito 74f51367e6 FF to enable/disable focussing the event on notification tap 2025-11-04 15:32:09 +01:00
Mauro Romito dfd757f2b6 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
Stefan Ceriu a4d99279fd 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 f7dd9cdcf8 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
Doug 27f7085dc1 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 93f712779d Add the spaces feature announcement sheet. (#4571) 2025-10-06 16:59:56 +01:00
Doug 7e7cf1587f 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 621b72f162 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 8236893290 Enable the next gen html parser and attributed string builder by default. 2025-09-24 14:55:30 +03:00
Doug c29123b99b 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 bfaca7cff9 Implement link previews for text messages using Apple's LinkPreview framework (#4520) 2025-09-19 12:48:09 +00:00
Stefan Ceriu 94db3adf3a Add an app setting to disable rendering the chrome around the app logo/brand. 2025-09-19 15:15:25 +03:00
Stefan Ceriu 530810354d Add next gen HTML parser feature flag 2025-09-09 17:17:40 +01:00
Doug 4bd846118a 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 15fdc2c334 Remove the multipleAttachmentUploadEnabled feature flag. 2025-08-20 14:20:13 +03:00
Copilot 8c38c11146 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 192f4765c3 Remove the share_pos developer option. (#4406) 2025-08-13 08:36:40 +00:00
Stefan Ceriu df335bd2b1 Multi file uploads (#4358)
* Allow MediaPickerScreen users to select the media selection mode (single or multiple)

* Fix cancellation

* Add support for multiple media URLs on the MediaUploadPreviewScreen.

* Support processing more URLs on the `MediaUploadingPreprocessor` and sending more on the `MediaUploadPreviewScreen`

* Add feature flag for `multipleAttachmentUploadEnabled`

* Add a label showing the current preview item index in the MediaUploadPreviewScreen

* Add support for dragging and dropping or pasting multiple items at the same time.

* Support sharing more than one file through the share extension.

* Limit the number of items that can be shared in one go to 5.

* Fix unit tests

* Fix incorrect fatal error when dealing with single selection media pickers.

* Document the `multipleAttachmentUploadEnabled` usage in the context of the MediaPicker.

* Use a task group for processing selected media in the photo library picker.

* Use a task group for processing multiple selected media in the MediaUploadingPreprocessor

* Switch the maximum number of items that can be shared to 10.

* Allow multiple items to be pasted at the same time.
2025-07-30 15:44:05 +03:00
Doug 0824fedd6e Re-enable share_pos persistance. (#4355) 2025-07-25 12:12:48 +00:00
Doug 5e165be8c3 Make the remote settings hook usable within the app extensions. (#4342) 2025-07-22 17:09:53 +01:00
Doug 82c659f3da Refactor Rageshake URL and Target configuration. (#4337)
* Move the rageshakeURL configuration from the BugReportService to AppSettings.

* Refactor Target to return a handle when configuring.

This helps with reconfiguration and removes the @MainActor constraint.
2025-07-22 10:19:26 +01:00