26 Commits

Author SHA1 Message Date
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
Stefan Ceriu 3d90a43175 Wrap selected text in a markdown link when pasting a URL over it
Pasting a single link on top of a selection in the message composer now
produces a markdown link, e.g. selecting "Google" and pasting
"google.com" yields "[Google](google.com)". Non-link clipboard
contents and pastes without a selection keep their existing behaviour.
2026-06-16 13:15:04 +03:00
Mauro Romito 6ec1f0eb10 swiftformat 2026-06-08 13:36:03 +02:00
Doug fa67713726 Run SwiftFormat. 2026-05-27 17:11:42 +01: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
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
Stefan Ceriu d2bfcf81d2 Attempt to fix message composer layout crashes when running as an iPad app on MacOS 2025-06-27 11:09:55 +03:00
Stefan Ceriu fb8d69dd92 Fixes #3830 - Editing messages not placing the cursor at the end of the text 2025-02-26 10:56:15 +02:00
Stefan Ceriu e8786be6cd Fix #3794 - Stop the message composer from randomly changing the cursor position 2025-02-17 12:28:43 +02:00
Vickcoo 4b43d901f8 Fix message completion trigger to work anywhere in the message (#3696)
* Fix message completion trigger to work anywhere in the message

* Add tests for display suggestion in difference message positions

* Fix suggestion trigger could support multiple mention symbol

* Remove optional parameter type and tweak argument name to hide

* Optimize the suggestions trigger using regex

* Fix the cursor at wrong position after selected suggestion

* Modify the rawSuggestionText pass data in right way

* Modify mention symbol to use regex type

* Update ElementX/Sources/Screens/RoomScreen/ComposerToolbar/CompletionSuggestionService.swift

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

* Update generated mock

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2025-02-13 15:13:09 +00:00
manuroe 3950cac085 Dual licensing: AGPL + Element Commercial (#3657)
* New LICENSE-COMMERCIAL file

* Apply dual licenses: AGPL + Element Commercial to file headers

* Update README with dual licensing
2025-01-06 11:27:37 +01:00
Stefan Ceriu 665bdd191f Fix #3369 - Composer mention pills showing up as file icons on first use on iOS 18 2024-10-24 14:42:30 +03:00
Stefan Ceriu 4f29821306 Workaround for #1786 - Disable auto correction when running on the Mac 2024-10-03 13:49:37 +03:00
Doug c264e9e590 Use the UIColors directly instead of wrapping the SwiftUI Colors. (#3324) 2024-09-24 12:24:03 +01:00
Stefan Ceriu a5fe629790 Fix message composer presendCallback warnings 2024-09-09 14:42:32 +03:00
Stefan Ceriu 664e87fe87 Switch license to AGPL (#3237)
* Switch license file to AGPL

* Update file copyright headers

* Update the default project file header
2024-09-06 16:34:30 +03:00
Stefan Ceriu 062811cac4 Accept current autocorrection/suggestion before sending a message (#3219)
* Fixes #3216 - Accept current autocorrection/suggestion before sending a message.

* Switch from a temporary textField to `inputDelegate` selection changes
2024-09-02 16:33:40 +03:00
Mauro 1ad361a6e8 RoomScreenViewModel is now TimelineViewModel (#3157)
Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2024-08-13 13:36:40 +02:00
Doug 6a45ffc939 Fix a bug where moving a new line in the composer could move the caret. (#3114) 2024-08-05 14:46:40 +01:00
Stefan Ceriu 45ac47ce16 Fix keyboard escape key not working for cancelling edits and replies on the Mac 2024-05-09 18:48:51 +03:00
Stefan Ceriu 636274df74 Seamlessly switch for the RichTextEditor based message composer to the… (#2753)
* Seemlesly switch for the RichTextEditor based message composer to the plain one depending on whether formatting options are enabled or not.

* Address PR comments

* Fixes #2803 - Add extra padding at the bottom of the composer suggestions list

* Update preview test snapshots

* Update UI test snapshots
2024-05-08 17:57:32 +03:00
Stefan Ceriu e05e664f6d Fixes #2765 - Use the keyboard up arrow to edit the last message, use escape to cancel editing or replying. 2024-05-07 14:38:37 +03:00
Stefan Ceriu 5a28532e90 Prevent the textView from inheriting attributes from mention pills 2024-05-07 14:38:37 +03:00
Stefan Ceriu 17b79c1e80 Remove unused isMultiline binding 2024-05-07 14:38:37 +03:00
Doug 57fffa7fc7 Fix the font when editing a message with RTE off. (#2779)
Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>
2024-05-03 20:45:28 +02:00
Stefan Ceriu 38416dbb5c Plain composer suggestions and pills (#2751)
* Move ComposerToolbar files to withing the RoomScreen folder (as it's not a screen on its own)

* Switch the plain composer to NSAttributedStrings

* Enable suggestions on the plain composer

* Introduce a new `MatrixUserDisplayName` attributed string attributed and use it for mention building

* Implement mention pill rendering and sending on the plain message composer

* Fix plain composer snapshot tests

* Fix broken formatting options layout

* Add clarifying comment.
2024-05-03 10:06:16 +01:00