790 Commits

Author SHA1 Message Date
Alfonso Grillo
faefb00626
Optimize leaving a room from home screen (#868)
* Use joinedMembersCount in HomeScreenViewModel

* Update matrix-rust-sdk to 1.0.62-alpha
2023-05-09 17:06:19 +02:00
Stefan Ceriu
1bd6e461ed
Reply rendering (#861)
* Cleanup how we use message timeline items in preparation for rich reply rendering

* Expose reply details up to the UI level

* Render replies in the timeline (textual for now). Remove now unused AttributedStringBuilderComponent isReply flag.

* Move reply detail loading to when the item appears instead of when it's created.

* Fix unit tests

* Fetch event details also when the reply details are in the error state

* Tweaks following code review

* Localise emote bodies

* Fix replies not loading sometimes, use the current event identifier instead of the one being replied to
2023-05-09 16:09:38 +03:00
Mauro Romito
483d261504 removed clean process.environment 2023-05-09 11:56:48 +02:00
Stefan Ceriu
061e66ff57 Improve media uploading content type selection. Fix pasting in screenshots not working 2023-05-09 12:45:09 +03:00
Stefan Ceriu
ba02c439dd
No restart sliding sync (#866)
* Adopt new sliding sync list interaction APIs

* Re-enable summary providers, be more leninent in the list proxy and remove now unnecessary restartSync method

* Rename all sliding sync views to lists

* Bump the SDK to v1.0.61-alpha
2023-05-09 07:46:46 +03:00
Stefan Ceriu
521eeb2ecf
Fix missing UI tests simulator (#860)
* Fix UI and integration tests missing simulators (older)

* Update fastlane and dependencies
2023-05-09 07:43:44 +03:00
Mauro
542cefd703
Fix for the sender icon not being rendered in notifications sometimes (#862)
* fix for the sender icon not being rendered sometimes in notifications

* removing a line

* removing the environment every time we run a zsh command

* removed unused parameters that we already have stored in the notification

* changelog
2023-05-08 15:05:55 +00:00
Velin92
8cfb415410 Translations update 2023-05-08 08:14:56 +03:00
Stefan Ceriu
abc3523e7f Fix live photos failing to upload 2023-05-05 19:42:25 +03:00
Stefan Ceriu
574424024c
Add developer option for clearing the application cache (#852)
* Add developer option for clearing the application cache

* Tweaks following code review
2023-05-05 19:41:21 +03:00
Mauro
f679c0ca2a
Remote Push Notifications can now be decrypted (#854)
* refactored the NSE to use the client function

* removed unused imports in the target.yml

* some code improvements

* changelog

* code improvement

* code improvement

* more code improvements

* separated the client and the media provider in a dedicated NSEUserSession

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

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

* pr suggestions

* logging the error

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-05-05 15:29:46 +00:00
Mauro Romito
b17c987fd0 sdk bump to 1.0.60 2023-05-05 15:44:18 +02:00
Stefan Ceriu
93e3a1a80b
Media uploading (#851)
* MediaUploadingPreprocessor - Prevent images without any GPS metadata from being changed

* Add support for sending images

* Add support for sending video, audio and file attachments

* Rename MediaPickerPreview to MediaUploadPreview

* Move media uploading to the MediaUploadPreviewScreen, add waiting indicators and error handling

* Add support for pasting and drag&dropping in media for upload

* Adopt new media picker source UI, remove developer flag

* Set minimum heights for timeline loadable images

* Fix invalid camera picker file names

* Fix flakey MediaUploadingPreprocessor image tests, improve gps metadata stripping

* UITests: Update existing screenshots and add new step for the room attachment picker

* Switch all github action runners to macos-13

* Cleanup enter key and paste message composer handlers
2023-05-04 16:09:29 +03:00
Alfonso Grillo
e9c07c9f8f
Contextual menu for rooms (#842)
* Add room contextual menu

* Add room context menu view actions

* Add navigation to room’s detail

* Show leave alert in HomeScreen

* Implement leave logic

* Refine leave navigation for iPad

* Optimize leave from homescreen

* Refactor roomSettings -> roomDetails

* Refactor room for id mock

* Add UTs

* Cleanup

* Fix alert presentation in RoomDetailsScreenViewModel

* Fix animation flag
2023-05-04 10:02:18 +00:00
Stefan Ceriu
86aebfb9ef Pass attachment bodies when loading media 2023-05-04 11:32:44 +03:00
Mauro
95492d7e10
Avoid race and duplication conditions between local and remote notifications (#848)
* added timestamp control of the local notification

* improved the code, and implemented the solution, just needs some testing

* sdk bump

* UserPreference init with initialValue instead of defaultValue

* pr suggestions

* changelog

* notifications sliding sync view added
2023-05-03 14:28:07 +00:00
Mauro
60c2692a26
SDK Bump to 1.0.58 and updated dependencies (#849)
* sdk bump and updated depdencies to the latest semantic version

* updated outdated dependencies
2023-05-03 10:04:57 +02:00
Velin92
8b181bdc7a Translations update 2023-05-02 09:52:38 +02:00
Mauro Romito
1cd351ff78 fix for missing image for groups in notifications 2023-04-28 16:42:29 +02:00
Mauro
ccccdce0fc
Notification Handler to handle notifications in foreground (#837)
* changed how the notifications are handled

* local notifications can be decrypted and shown!

* Improved the handling for the mock and for the normal messages

* Avatar images are also displayed

* pr ready, commented some code that is not supposed to be releaaed yet, adjusted some tests and added some source code in the targets

* fixing some swiftlint complaints and removed an unused function

* better swiftlint disable

* addressing PR comments
2023-04-28 12:36:16 +00:00
Stefan Ceriu
3fb0829b88 Fixes #687 - Incorrect link detection and handling 2023-04-28 14:11:21 +03:00
Doug
18766d5852
Use search field style from Compound. (#839) 2023-04-28 11:59:40 +01:00
Mauro
c96ccd0f26
SDK Updated to 1.0.57-alpha (#840)
* sdk bump

* fixing tests
2023-04-28 09:34:33 +02:00
Stefan Ceriu
ffa2644ed8 Fix glitches when loading the timeline: use locally generated stable identifiers for all possible timeline items 2023-04-27 17:10:25 +03:00
Doug
2146c71232 Add UnitTestsAppCoordinator. 2023-04-25 21:17:03 +03:00
Doug
1782f3058b Await specific states. 2023-04-25 21:17:03 +03:00
Doug
5bb2ceedf4
Compound Fonts (#834)
* Use CompoundFonts in DesignKit (deprecate ElementFonts).

* Use compound fonts everywhere.

* Update Authentication snapshots.

* Update RoomMembersListScreen snapshots.

Delete unused snapshots.

* Fix tests.
2023-04-25 16:42:06 +01:00
Stefan Ceriu
8b36e0faa5
Adopt the bump event types sliding sync proxy API. Allow only `m.room… (#833)
* Adopt the bump event types sliding sync proxy API. Allow only `m.room.message` and `m.room.encrypted` to reorder the room list
- matrix-org/matrix-rust-sdk/pull/1812
- matrix-org/matrix-rust-sdk/issues/1728
- matrix-org/sliding-sync/pull/34

* Allow `m.sticker`s to reorder the room list
2023-04-25 16:23:10 +03:00
Stefan Ceriu
be8adb19b5
Structured logging (#831)
* Structured logging support

* Bump the SDK, fix breaking changes

* Enabled more logging of timeline diffs

* Keep only source file last path components in logs

* Bump the SDK, tweaks following code review
2023-04-25 14:48:20 +03:00
Kat Gerasimova
0d3e823b69 Update labelled issue automation
Migrate from graphql to actions.

Add platform and QA teams
2023-04-25 13:45:56 +03:00
Stefan Ceriu
b726cd149a
Renaming screens returns (#829)
* Rename: StartChat -> StartChatScreen

* Rename: Login -> LoginScreen

* Rename: ServerSelection -> ServerSelectionScreen

* Rename: SoftLogout -> SoftLogoutScreen
2023-04-25 12:13:03 +03:00
Stefan Ceriu
24572c6582
Rename screens (#826)
* Rename: AnalyticsPrompt -> AnalyticsPromptScreen

* Rename: AnalyticsSettings -> AnalyticsSettingsScreen

* Rename: Settings -> SettingsScreen

* Rename: SessionVerification -> SessionVerificationScreen

* Rename: BugReport -> BugReportScreen

* Rename: FilePreview -> FilePreviewScreen

* Rename: AnalyticsPrompt -> AnalyticsPromptScreen

* Rename: Invites -> InvitesScreen

* Rename: InviteUsers -> InviteUsersScreen

* Rename: MediaPicker -> MediaPickerScreen

* Delete unused UIActivityViewControllerWrapper

* Rename: ReportContent -> ReportContentScreen

* Rename: RoomDetails -> RoomDetailsScreen

* Rename: RoomMemberDetails -> RoomMemberDetailsScreen

* Rename: RoomMemberList -> RoomMemberListScreen

* Rename: Cleanup

* Renaming missed items

* Low effort attempt at fixing the flakey unit tests
2023-04-24 18:48:07 +03:00
Stefan Ceriu
9911ad2b9b #821 - Remove lazy room list filter (long shot) 2023-04-24 18:21:26 +03:00
Stefan Ceriu
178e1a61da Fixes #641 - Prevent large ranges before the view renders the room list 2023-04-24 18:16:21 +03:00
Stefan Ceriu
5a14c700cc
Add animated gif support (#825) 2023-04-24 17:44:58 +03:00
Doug
50f674a111
Update template screen naming. (#824)
Update the script too.
2023-04-24 15:03:46 +01:00
Doug
e81d515f7d
Use renamed (and linked) analytics strings. (#823) 2023-04-24 09:25:30 +00:00
Velin92
bdf9cfb32e Translations update 2023-04-24 09:54:19 +01:00
Stefan Ceriu
0cbb5e6d26
Media uploading preprocessor tests (#820)
* Add sample files to use in the MediaUploadingPreprocessor unit tests
* Add MediaUploadingPreprocessor unit tests
2023-04-21 19:04:02 +03:00
Nicolas Mauri
b432bd6fe4
Fix: forget the user’s consents for analytics on logout (#816)
* Fix: forget the user’s consents for analytics on logout

* Fix: change how analytics consent state is stored

* Fix: renaming of AnalyticsConsentState entries
2023-04-21 15:05:39 +00:00
Alfonso Grillo
078799c1e2
Add invites badges (#819) 2023-04-21 11:14:27 +00:00
Alfonso Grillo
4db6e68d79
Refactor UserSetting property wrapper to support Codable (#814)
* Add UserPreference property wrapper

* Delete UserSetting property wrapper

* Add PlistRepresentable support

* Add more convenience inits

* Add documentation

* Add UTs

* Fix flaky tests

* Fix more flaky tests

* Fix double optional problem in UserPreference

* Refine UTs

* Delete cache in UserPreference

* Conform Date to PlistRepresentable
2023-04-21 10:46:04 +00:00
Stefan Ceriu
1815b0a7ac Remove unused ScreenshotDetector 2023-04-21 13:27:19 +03:00
Stefan Ceriu
7a1cbdf6b1 Fix IS_RUNNING_UNIT_TESTS not being set in the right place 2023-04-21 13:27:19 +03:00
Stefan Ceriu
6700d4301d
#748 - Implement methods for processing various media types and prepa… (#772)
* #748 - Implement methods for processing various media types and preparing them for upload

* Various tweaks following code review:
- added blurhash generation
- changed thumbnails to jpeg
- throwing if file size cannot be retrieved
- move MediaProvider files to separate folder so they can cleanly be imported in the NSE
- added audio file processing
- switched all image resizing methods to ImageIO
- various renames

* Fix blurhash formatting issues, `swift-format-ignore-file` doesn't work

* Processing all media within unique folders to avoid conflicts

* Fix various warnings

* Rename `sizeForItemAt(_ url: URL)` to `sizeForItem(at url: URL)`

* Remove unnecessary resizeImage(UIImage) method, start by copying not moving the file to the unique location

* Add back warning for roomDetails.avatarURL
2023-04-21 12:13:36 +03:00
Flescio
88d3faf77d
Move search users into a dedicated service (#789)
* add users provider with test

* add ui test for search users

* add changelog

* Update ElementX/Sources/Services/Users/UsersProvider.swift

Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com>

* add error handling in usersprovider

* remove empty section

* add search in invite users

* add CancellableTask, add setup App Settings in UnitTest, screenshots

* rename of UserDiscoveryService

* Update ElementX/Sources/Other/Extensions/Publisher.swift

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

* new error management for User Discovery Service

* Update ElementX/Sources/Other/CancellableTask.swift

Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com>

* Update ElementX/Sources/Services/Users/UserDiscoveryService.swift

Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com>

* fix invite users and start chat errors

* use only one task to fetch user profile

---------

Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com>
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-04-21 09:11:15 +01:00
Stefan Ceriu
b564036b68 Fixes #641 - Room previews failing to load because of incorrect sliding sync view ranges 2023-04-20 19:41:16 +03:00
Stefan Ceriu
0ed69d5649 Add integration tests support for password saving, notifications and the analytics screen 2023-04-20 16:12:01 +03:00
Stefan Ceriu
59a4e0ac7c
Adopt new timeline item debug info and overhaul the timeline item deb… (#781)
* Adopt new timeline item debug info and overhaul the timeline item debug menu
2023-04-19 18:07:51 +03:00
Stefan Ceriu
df2784114a Bump the RustSDK in Package.resolved 2023-04-19 18:06:41 +03:00