98 Commits

Author SHA1 Message Date
Alfonso Grillo
c9a004ef05
Update rust sdk to 1.0.54-alpha (#810)
* Update rust sdk to 1.0.54-alpha

* Amend SS builder
2023-04-19 10:43:30 +00:00
Mauro
3d0d883637
Notifications are now handled when the app is in a killed state (#801)
* WIP, added support for receiver id and managed a way to store the app router state

* WIP, added support for receiver id and managed a way to store the app router state

* Notification Manager is now becoming the UNUserNotificationDelegate ASAP

* code improvements + changelog

* fixed Unit Tests

* pr suggestions
2023-04-14 14:24:48 +02:00
Stefan Ceriu
cabb8e5442
Sliding sync v2 (#775)
* Adopt latest rust Sliding Sync changes

* Bump SDK, converge on similar to configure both sliding sync lists

* Adopt latest SDK version, fix breaking changes

* Fix unit tests
2023-04-06 18:43:08 +03:00
Stefan Ceriu
7d1ab997ce Bump Rust SDK again after botched release 2023-03-31 21:15:07 +03:00
Stefan Ceriu
2359910857 Bump the RustSDK, bump the app minor version and force user logout 2023-03-31 15:05:22 +03:00
Mauro
e1df5310b7
Ignore User UI (#737)
* generated files

* Revert "generated files"

This reverts commit f62c1dbcd9e505083ad4ff17532e2c054e253187.

* renaming files to RoomMembersList

* completed the renaming of the list files

* added generated files

* basic setup of the view and the mock

* added a new mock with a avatar

* share/copy link

* copyUserLink implemented

* removed unimplemented tests

* block user UI

* navigation to room member details added

* implemented but we require a sync from the Rust side

* adjusted some UI test screens

* alert for unblocking

* completed

* some tests

* changelog

* ignore user ui enabled

* loader inside the button when the request is fetching

* removed unused code

* blocking the button while loading

* improved the code

* changelog

* UI tests

* unit tests

* added collection concurrency kit

* Revert "added collection concurrency kit"

This reverts commit 499fbe129f73a75e903d9f4952fe2ad672930f04.

* replaced the asyncMap with a @MainActor builder function

* pr comments

* added localazy to setup

* sdk bump to 1.0.49
2023-03-28 09:00:40 +00:00
Mauro
ca319e0bfe
Dpendencies update + improved dependencies version management (#721)
* updating dependencies

* minor version pinning

* update completed and also added a tool that checks for outdated swiftpm packages

* changelog

* DTCoreText uses exact version

* minor version for analytics

* pushing OutdatedPackages

* package.swift for the repo also using upToNextMinor

* fixing a typo

* Update Tools/Sources/OutdatedPackages.swift

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

* Update Tools/Sources/SetupProject.swift

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

* removing unused comment

* removed trailing comma

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-03-23 11:26:20 +01:00
Mauro
fe72d34d11
Room Member is now an interface SDK update (#711)
* migrated to the usage of a Protocol for the RoomMember

* removed unused file

* code improvement

* sliding sync new states

* sdk bump

* fix for tests

* fixing tests

* package resolved rollback

* rollback package.resolved

* fixed a mistakenly removed dependency

* Revert "fixed a mistakenly removed dependency"

This reverts commit 096d9da6142d8117bc1dfa6d5bbbd797b43b31ad.

* removing unnecessary Identifiable conformance

* pr suggestions

* pr comment
2023-03-22 12:36:08 +00:00
Doug
8c89b06f3b
Adopt Compound for the settings and bug report screens. (#708)
* Use compound tokens for Settings and Bug Report.
2023-03-21 14:52:10 +00:00
Doug
66651c0f34
Bump SDK version and fix breaking changes. (#709) 2023-03-20 19:26:07 +01:00
Mauro
7544619a55
Updated setPusher function (#684)
* updated set_pusher function from the SDK

* this fixes a crash and allows for the navigation to work by using the threadIdentifier of the notification

* adding NCE target

* project setup completed with xcodegen

* no need for those ugly storyboards

* code improvement

* removing unused outlet

* mocks generated with the comment instead of the marker protocol

* updated stencil

* fixed unit tests

* updated swiftformat

* pr comments
2023-03-16 16:39:10 +01:00
Doug
701581f4a1
Use asset catalog for tint colour. Update Sentry. (#705)
Sentry had a bug where the colour was being ignored due to access of the main screen.
2023-03-16 13:32:14 +01:00
Doug
266fccefbb
Bump SDK version and fix breaking changes. (#703) 2023-03-15 12:42:19 +00:00
Doug
0ae664933b
Allow theming of the search bar. (#700) 2023-03-15 10:02:51 +00:00
Element CI
1fbeec6182 Prepare next release 2023-03-10 02:08:48 -08:00
Mauro
fb27efee10
Cached avatar support (from Rust) (#633)
* loading a cached avatar at first, and then actually doing the request so that the avatar can still be displayed without connection

* improved the code

* fix + changelog

* policy on how to fetch the avatar url added

* code improvements

* addressed al PR comments

* improved the error handling

* improved the async task code

* fixed a typo

* fixed another typo
2023-03-08 17:50:06 +00:00
Stefan Ceriu
e4117e3205
Soft logout removal (#672)
* Remove isSoftLogout from everywhere except the client delegate
- bump the RustSDK to v1.0.43
- cleanup the app coordinator state machine and login/logout flows

* Merge `succeededSigningIn` and `succeededRestoringSession` into `createdUserSession` in order to simplify the logic
2023-03-06 14:58:50 +02:00
Stefan Ceriu
b5055d1680 Bump the Rust SDK to 1.0.42-alpha, fix breaking changes 2023-03-02 17:12:42 +02:00
Stefan Ceriu
802279d8af
Bump the RustSDK to v1.0.41 (#654)
* Handle breaking changes.
* Fix a couple of warnings
* Bump the SDK to v1.0.41
2023-02-28 18:03:19 +02:00
Element CI
8bcbe84c61 Prepare next release 2023-02-24 10:04:39 -08:00
Element CI
f8c1f41c6c Prepare next release 2023-02-24 05:09:55 -08:00
Stefan Ceriu
a3c7c47a69 Made room state event collapsing configurable, expose it in the developer menu. Allow the UserSetting property wrappers to only store values in memory (+11 squashed commits)
Squashed commits:
[42e45fc] Even more tweaks following code review
[5dcd5be] Add swift-algoritms and switch bubbling detection to its `chunked` method
[4ac70ed] Move the groupBy implementation to Collection instead of Array
[6aeffc3] Tweaks following code review
[0ca5ac2] Bubbles working again, grouping computed closer to the UI level
[3a66030] Refactor how timeline items are built in the RoomTimelineController
[57d51e9] Remove grouping from timeline items
[8608950] Remove the RoomTimelineViewFactory, update the GroupRoomTimelineView
[9e52e61] Add array grouping extension, unit tests and switched the timeline controller to it
[7d213a1] First attempt
[90bb1d7] Remove now unused `RoomTimelineController` `updatedTimelineItem` calback
2023-02-24 07:34:07 +02:00
Element CI
4eb26c9b11 Prepare next release 2023-02-23 06:15:44 -08:00
Element CI
bd61793798 Prepare next release 2023-02-22 06:54:40 -08:00
Doug
2399088084
Bump SDK version and fix breaking changes. (#610) 2023-02-22 14:31:17 +00:00
Doug
872c911cb5
Use files instead of UDP for signalling. (#585) 2023-02-15 14:02:50 +00:00
Doug
4d87701ae9
Automatic discovery of the sliding sync proxy. (#535)
* Automatic discovery of the sliding sync proxy.

* Handle homeserver detection from a MXID.

* Update sliding sync info link, SDK and bump patch.

Add a migration on the new version. The change in restoration token format requires the user to sign in again, but this will fail with the existing device ID.
2023-02-08 19:07:02 +00:00
Element CI
027de707fa Prepare next release 2023-02-03 08:35:05 -08:00
Element CI
3015896d46 Prepare next release 2023-02-03 06:21:42 -08:00
Stefan Ceriu
183cc88114
Load member profiles through the timeline (#522) 2023-02-03 10:12:36 +00:00
Doug
f6629e0d6e
Hardcode the sliding sync proxy. (#502)
* Add support for migrating between versions.
* Rename InfoPlistReader property.
* Bump SDK version.
2023-01-31 17:48:24 +00:00
Doug
4f8cc08989
Handle API changes from Rust. (#506)
There are some bad assumptions about profile changes in here.

* Remove assumption FIXME's

Profile changes that come from other members will be state event of None.

* Bump SDK version.
2023-01-31 13:28:28 +00:00
Element CI
d44ce9f44c Prepare next release 2023-01-26 07:52:56 -08:00
Doug
3a74f13097
Add support for aliases to RoomProxy and bump the SDK. (#486) 2023-01-24 17:01:00 +00:00
Element CI
e6d0cbec50 Prepare next release 2023-01-20 07:27:02 -08:00
Stefan Ceriu
ae8009d040
Various performance tweaks (#474)
* Store and reuse room list placeholder avatars and last messages

* Cache and reuse HomeScreenRooms

* Reduce RoomSummaryProvider diff collection time

* Promote more logs to info

* Slighty tweak RustTracing to make it easier to configure

* Move TimelineProvider and RoomTimelineController item processing to background queues

* Prevent the timeline from stopping an ogoing decelerating scroll when starting backpaginating
2023-01-20 14:40:23 +00:00
Stefan Ceriu
8f3f83167b
Timeline item sender profiles (#463)
* Adopt timeline item sender profiles for displaying user avatars and display names
* Prevent images from automatically being evicted from the in-memory cache when entering background
* Get rid of all the `urlString: String`s and start using proper URLs
* Add back manual display name loading as the sender profiles aren't working properly yet
* Implement a sender profile.
* Bump the RustSDK to v1.0.32-alpha

Co-authored-by: Doug <douglase@element.io>
2023-01-18 14:29:44 +00:00
Doug
f7ddaacb64
Break out DesignKit into its own sub-package (#459)
We'll be using https://github.com/vector-im/compound-ios eventually so this tidies up the Xcode project dependencies in the mean time.
2023-01-17 12:26:07 +00:00
Element CI
ab4c5a6267 Prepare next release 2023-01-13 07:59:38 -08:00
Stefan Ceriu
83e6ba8f6b
Various sliding sync tweaks (#446)
* Refactor SS configuration and add (unfinished) support for adding views dynamically.

* Implement pop and clear support on the room summary provider

* Register views against sliding sync

* Read invalidated vislbeRoomsSummaryProvider from the allRoomSummaryProvider

* Switch SS window range setting from the ScrollViewAdapter to a publisher debounce

* Tweak allRoomsView addition: switch from listening the visibleRoomsView's state to when it publishes the first diff update

* Cleanup client delegate and sliding sync observers and lifecycle

* Bump the RustSDK to 1.0.30-alpha

* Reuse startSync within restartSync
2023-01-13 17:09:37 +02:00
Stefan Ceriu
d70a240869 New timeline items (#424)
* Cleanup session verification state machine configuration

* Add support for new timeline items: loading indicators, stickers and invalid/unsupported events

* Add sticker accessibility label, fix session verification ones

* Add support for the new TimelineStart timeline item and new pagination API. Remove identifiers from individual timeline items and only set them in the TimelineTableViewController

* Add changelog
2023-01-10 13:41:07 +02:00
Element CI
5c92e0b2fe Prepare next release 2023-01-04 12:09:31 -08:00
Element CI
6df6417cfb Prepare next release 2023-01-04 10:49:00 -08:00
Stefan Ceriu
c661b24f08 Bump the RustSDK to v1.0.27-alpha 2023-01-04 20:39:24 +02:00
Stefan Ceriu
ed0ebc0f8f Bump the RustSDK to v1.0.26-alpha 2023-01-04 11:40:18 +02:00
Element CI
9ca7f4cb4d Prepare next release 2022-12-22 04:09:06 -08:00
Stefan Ceriu
ac77743c7a
Add retry decryption encrypted timeline item debug menu option (#384)
* Fixed a couple of warnings (+2 squashed commits)
Squashed commits:
[21fbc3b0] Add changelog
[abb092c6] Add retry decryption encrypted timeline item debug menu option

* Cleanup room list state computations

* Bump the RustSDK to v1.0.25-alpha

* Fix brew CI errors: remove imagemagick and brew lock file entirely

* Fix release script version bumping

* Bump ruby dependencies
2022-12-22 13:59:38 +02:00
Stefan Ceriu
131197b7d7
Add timeline day separators and read markers (#383)
* Add timeline day separators and read markers
2022-12-21 15:35:45 +02:00
Doug
4b29318147
Use matrix-rust-sdk for local development. (#377)
The SDK will be setup as a Swift package when using the Swift xtask so this is a much easier way to do local dev (for anyone who doesn't want to use #362).
2022-12-19 11:28:56 +00:00
Element CI
787175fb0a Prepare next release 2022-12-16 14:45:47 +02:00