1983 Commits

Author SHA1 Message Date
Alfonso Grillo 6898419211 Enable voiceover in timeline menu (#1907) 2023-10-16 14:00:36 +00:00
Mauro 8e03b89641 Pills performance improvements (#1891)
* big performance improvement for pills

* small overall performance improvement

* code improvements
2023-10-13 14:40:18 +02:00
Alfonso Grillo 293834cf94 Remove ‘copy’ action for "media like" types (#1889)
* Remove ‘copy’ action when useless

* Delete unused property
2023-10-13 10:52:30 +00:00
Nicolas Mauri 2f0b5a42f5 Prevent multiple conversion of the same voice message audio file. (#1887) 2023-10-13 09:48:11 +00:00
Mauro ad0b2f114f @room in user suggestions (#1880)
* for now I am using a local RTE solution, need to fix one test

* fixed a test

* new rte version

* pr suggestions

* @room added to the suggestions

* removed empty space

* revert

* code improvement

* project updated

* package
2023-10-12 16:15:47 +00:00
Doug 2c5662a278 Remove DesignKit package (#1886)
- Move button styles to Compound
- Rename text style to AuthenticationTextStyle as its only in the auth flow.
- Add the brand colour locally for now until its included in Compound.

* Update snapshots.

---------

Co-authored-by: Stefan Ceriu <stefan.ceriu@gmail.com>
2023-10-12 15:45:27 +01:00
Mauro c358150449 Render pills in RTE (#1874)
* for now this can only work locally

* works

* added a test

* updated RTE

* revert package

* pr suggestion

* reverting package versions

* better naming
2023-10-11 16:40:52 +02:00
Stefan Ceriu ff4d59bac7 Various optimisations (#1878)
* Cache TimelineBubbleLayout subview sizes

* Cache MessageText sizes, avoid extra updates

* Only use the `CollapsibleReactionLayout` if there's more than 5 reactions on a particular message

* Upgrade Sentry to 8.13.0, disable various options as they're not useful and impact performance

* Address PR comments, fix unit tests
2023-10-11 16:21:45 +03:00
Doug b6470c9651 Initial setup ready for PIN/Biometric app lock. (#1876)
* Add AppLockCoordinator and WindowManager.
2023-10-11 12:59:47 +00:00
Mauro f7bf4b6e20 Mention in RTE (but without the pill yet) (#1863)
* suggestions in RTE, but they do not render as pills yet.

* remove unused code

* Update ElementX/Sources/Screens/RoomScreen/RoomScreenCoordinator.swift

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

* PR suggestions

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-10-09 12:26:53 +00:00
Stefan Ceriu 1f12a7cb2f Fixes 1864 - Message forwarding room list filtering and pagination problems (#1867)
* Fixes 1864 - Message forwarding room list filtering and pagination problems

* Fix SwiftFormat redundant closures body error

* Prevent crashes when writing to the localization bundle cache from different threads

* Fix unit tests

* Fix unit tests

* Address PR comments
2023-10-09 14:59:31 +03:00
Mauro 8270a868a7 Completion Suggestion view for user mentions (#1859)
* created the list but I need to find a way to overlay it

* make the list able to have an intrinsic height

* best solution so far but does not work with expansion

* needs testing

* more scalable solution

* tests completed

* changelog

* injecting the media provider

* fix tests

* pr suggestions

* better testing
2023-10-06 15:47:31 +02:00
Stefan Ceriu 72a96b6850 Advanced settings fixes (#1857)
* vector-im/element-meta/issues/2042 - Fix advanced options ordering and capitalisation

* Bump swiftlint's type_body_length warning to 1000, make it match error.

* Fix unit tests
2023-10-05 17:26:02 +03:00
Nicolas Mauri 3ff983a48b Fix the room summary and reply view for voice messages (#1856) 2023-10-05 09:22:16 +00:00
Nicolas Mauri 82abd0aaf3 Add voice message playback from the timeline (#1844) 2023-10-04 16:32:45 +00:00
Matthew Hodgson 68ec7bbc9e Implement emotes (/me) (#1841)
* implement emotes (/me)

requires matthew/emotes branch of matrix-rust-sdk

* changelog + whitespace

* remove apparently superfluous swiftlint

* fix constness

* remove inout params and incorporate review

* switch to new api based on sdk PR feedback

* Bump the RustSDK to v1.1.21

* Address PR comments

---------

Co-authored-by: Stefan Ceriu <stefan.ceriu@gmail.com>
2023-10-03 16:17:03 +03:00
Mauro 7124f24d7c supported versions (#1848) 2023-10-03 10:10:38 +02:00
Stefan Ceriu a22bde91b2 Introduce primitives for working with fragment url query items; switch the generic call links to it. 2023-09-30 09:59:40 +03:00
Doug 56a9820ded Add remaining iOS 17 introspections. (#1806)
* Update compound.

* Update Ruby gems.

* Skip smudging in Fastlane.

* Link Git LFS for Xcode in setup-project.
2023-09-29 17:29:27 +01:00
Mauro b7c46ceac3 @room pill (#1834)
* all users mention pill + red higlight for own mentions

* more tests

* changelog

* removed useless if let
2023-09-29 15:40:31 +02:00
Doug 1e842fd8cf Update strings that will be removed. (#1827) 2023-09-29 12:09:21 +01:00
Doug ec3f5d425e Use a universal link for the OIDC callback. (#1681) 2023-09-28 14:12:57 +01:00
Mauro 7bde419e85 Pill View (#1797)
* provider can now check the current session

* More testable code

* created the test condition

* it works but not always not sure why, need to dig deeper

* sadly we need to use textkit 1 to solve this issue

* removed developer option screen test

* this experimental solution kinda works but I need a way to pill recomputation is weird

* format

* display improvement

* better and faster solution

* pilished the code

* better coloring

* swift format

* just need to solve the caching issue

* fix caching issue

* tests done!

* changelog

* pr comments addressed

* all pr comments addressed

* docs

* line lenght

* updated tests and fixed a parsing permalink issue

* MentionBuilder

* pr comments

* swiftformat

* code blocks should not have links

* Update ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift

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

* Update ElementX/Sources/Services/Client/ClientProxy.swift

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

* Update UnitTests/Sources/AttributedStringBuilderTests.swift

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

* Update ElementX/Sources/UITests/UITestsAppCoordinator.swift

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

* Update ElementX/Sources/Other/Pills/PillAttachmentViewProvider.swift

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

* Update ElementX/Sources/Other/Pills/MentionBuilder.swift

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

* pr comments

* swiftformat

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-09-27 17:27:07 +00:00
Stefan Ceriu 61968cb3fb Add support for replying to events different than room messages 2023-09-27 08:28:46 +03:00
Alfonso Grillo 423604b18c Add "end poll" confirmation dialog (#1799)
* Add poll end confirmation dialog

* Fix button role in CreatePollScreenViewModel
2023-09-26 12:57:40 +00:00
Stefan Ceriu dad6560ed4 Room list searching tweaks (#1800)
* Prevent the room list from flashing previous rooms when searching

* Remove reset diff chunking now that the whole list is limited

* Bump the Rust SDK to v1.1.19 and fix breaking API changes
2023-09-26 14:33:15 +03:00
Stefan Ceriu a05c3e3774 Fix various flakey unit tests (#1783)
* Fix flakey emoji provider tests

* Fix flakey RoomScreenViewModel tests

* Fix flakey HomeScreenViewModel tests

* Fix flakey RoomMemberListScreen tests, problem with bindings getting overriden and deferFulfillment cancellable not getting stored

* Fix flakey RoomNotificationSettingsScreen tests and crashes

* Fix flakey RoomMemberDetailsScreen tests

* Deprecate old `deferFulfillment` and `nextViewState` methods

* Convert more files to the new `deferFulfillment`

* Converted the rest of the tests to the new deferFulfillment

* Removed now unused `nextViewState` and `deferFulfillment`

* Remove automatic retries from unit tests

* Reset analytics flag after running unit tests

* Address PR comments

* Introduce a new `deferFulfillment(publisher, keyPath, transitionValues)` method and use it where appropiate
2023-09-26 13:28:29 +03:00
Mauro 1f3898c69d remove reply in thread in the swipe action (#1795)
* remove `reply in thread` in the swipe action

* changelog

* removed v stack
2023-09-25 16:17:36 +00:00
Doug 2a6cf390d6 Fix replying in UI tests. (#1792) 2023-09-25 11:12:59 +01:00
Stefan Ceriu 01d7134075 Pass in custom call URL query parameters 2023-09-25 11:04:54 +03:00
Nicolas Mauri e9ce24fd9c Improved rendering of voice messages (#1782) 2023-09-22 16:53:17 +02:00
Alfonso Grillo bc1910e9bb Consider tests for animations (#1779) 2023-09-21 15:49:38 +00:00
Alfonso Grillo 37afc8c253 Add polls "creator view" (#1765)
* Add end button in PollRoomTimelineView

* Add creator logic

* Refine PollRoomTimelineView previews

* Add UI tests

* Update preview tests
2023-09-21 14:59:17 +00:00
Nicolas Mauri b8e5611c00 Add voice message rendering to the timeline (#1776) 2023-09-21 14:36:21 +00:00
Alfonso Grillo eba3e25373 Improve message edit with RTE (#1742)
* Improv edit for RTE

* Refine code block style in composer

* Update matrix-wysiwyg-composer-swift to 2.13.0

* Remove workaround

* Update ElementX/Sources/Services/Timeline/TimelineItems/Items/Messages/TextRoomTimelineItemContent.swift

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

* Refactor rawFormattedBody -> formattedBodyHTMLString

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-09-21 13:45:43 +00:00
Doug 4e6fe278db Update iconography visible in launch video (#1762) 2023-09-21 12:38:09 +01:00
Doug 057c33e680 Replace timeline animation delay with a check on the item count. (#1777) 2023-09-21 11:57:11 +01:00
Mauro 8b69308e05 Prefire compatibility with Xcode 15 (#1773)
* xcode ready solution

* now the previews won't fail but get generated

* delay in some screens that require a waiting state (the bloom does not work in previews)

* better code

* longer delay

removed and redone lfs

readded as lfs
2023-09-21 11:02:50 +02:00
Mauro 9d91cd4fc0 Preview Tests (#1768)
* preview testing

* removed some views that are not really testabl in UnitTests and improved other tests
2023-09-20 17:33:31 +02:00
Stefan Ceriu bba3fab31d Conform to UIAccessibility.isReduceMotionEnabled 2023-09-20 15:13:48 +03:00
Stefan Ceriu 29bcc5371a #1246 - Prevent timeline items from being computed on the main thread when instantiating the RoomTimelineController; speed up the room selection animation. 2023-09-20 15:12:35 +03:00
Stefan Ceriu 82981f33e9 Prevent mapping members on the main queue inside the room screen view model 2023-09-20 15:09:29 +03:00
Mauro 341b177e23 Prefire basic implementation (#1743)
* prefire basic implementation

force the unit tests to run on iPhone 14

skipping plugin validation

archive artifacts

better workflow

removed the OS restriction

lfs

custom stencil

new test file

deleting

* git lfs

* lfs

* test

* customised the stencil to support our internal protocol

* for now we can remove the OS check from the stencil

* added a delay

* tests have been moved

* improvement

* recommit

* perceptual precision lowered

* updated snapshot testing and selected also iOS version

* added ios version control
2023-09-20 14:07:18 +02:00
Mauro Romito 94c6ad9e38 speeding up the bloom a bit 2023-09-19 17:52:49 +02:00
Stefan Ceriu 501c3aed23 Disable reply actions for local echoes 2023-09-19 17:39:04 +03:00
Doug fe656450ef Change timeline animations to use .top (flipped). (#1751) 2023-09-19 15:13:44 +01:00
Alfonso Grillo 8ca3500981 Composer and RTE polish (#1719)
* Move link button

* Always show indent buttons

* Fix code blocks and quote block styles

* Fix code blocks and quotes style

* Update composer attachment icon

* Fix send message icon

* Fix composer border

* Fix rte border

* Update RTE button assets

* Update close rte icon

* Refactor RTE and composer layout

* more padding fixes

* Update compound

* Update WysiwygComposer to 2.11.0

* Fix ui tests

* Fix composer bottom padding

* Update snapshot tests
2023-09-18 14:11:22 +00:00
Stefan Ceriu 472ff53fe1 Remove debouncing from room list searches as everything is faster now 2023-09-18 15:41:56 +03:00
Stefan Ceriu be1543129a Cleanup home screen state handling after rust side fixes 2023-09-18 15:41:56 +03:00
Stefan Ceriu aff3b781ad Threaded layout fixes (#1730)
* Fixes #1727 - Layout issues caused by the new timelineMediaFrame

* Better handle small media thumbnails

* fixed an issue where sometimes the reply gets greedier than the content

---------

Co-authored-by: Mauro Romito <mauro.romito@element.io>
2023-09-18 13:12:35 +03:00