187 Commits

Author SHA1 Message Date
Mauro 89b9259b76 Design Tweaks (#3606)
* updated the order of the room details

also...
- removed the bloom bg from the join room screen
- now DMs do not necessarily need to be encrypted rooms
- changed bg of the knock banner

* removed unnecessary disabled

* updated join room screen tests
2024-12-11 17:42:33 +00:00
Stefan Ceriu caaa89af62 Media gallery - part 1(#3588)
* Introduce a `MediaEventsTimelineFlowCoordinator`
* Update SDK API and architecture
* Add a feature flag, add translations
* Move the media events timeline presentation under the room flow coordinator state machine
* Rename `TimelineViewState.timelineViewState` of type `TimelineState` to `timelineState`
* Enabled SwiftLint's `trailing_closure` rule and fix the warnings.
2024-12-06 16:58:14 +02:00
Mauro bce3b3a385 using roomPreview API for invited rooms (#3530)
* using roomPreview for invited rooms

* Update ElementX/Sources/Services/Room/RoomInfoProxy.swift

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

* improved code

* fix, but requires a SDK PR

* update sdk

* package resolved

* fixed the tests

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2024-11-19 19:23:06 +00:00
Mauro 2cb7faca88 Fix Rooms that user has knocked not displaying the request sent screen (#3513)
* fix knocked state

* pr suggestion

* code improvement
2024-11-14 13:43:40 +01:00
Stefan Ceriu 79473ef2e9 Bump the RustSDK to v1.0.67 (#3512)
* Bump the RustSDK to v1.0.67

* PR comments

---------

Co-authored-by: Doug <douglase@element.io>
2024-11-13 18:03:30 +00:00
Doug 7c75498b4d Replace individual RoomProxy properties with a stored RoomInfo. (#3445)
* Store RoomInfo updates in JoinedRoomProxy and read from them directly.

* Remove all RoomProxy properties that were reading from the RoomInfo.
2024-10-28 12:29:31 +00:00
Mauro bd4ecdd060 Knock and knocked state for the join room screen (#3424)
* JoinRoomScreen ui for knocking

* code improvement

* updated previews

* added knocked state with tests

* send knock request

* Apply suggestions from code review

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

* pr comments

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2024-10-17 14:00:51 +00:00
Stefan Ceriu 794d0eead1 Fixes element-hq/element-meta/issues/2525 - Display a warning when a user's pinned identity changes 2024-10-07 20:47:31 +03:00
Doug cc4942fb78 Require acknowledgement to send to verified users who have unsigned devices or have changed their identity. (#3215)
* Refactor HeroImage style.

* Add a screen to resolve (crypto-related) timeline item send failures.

* Refactor send failures.

* Update the SDK.
2024-09-10 09:56:11 +01: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 e281a3f242 Introduce a new RoomProxyType and treat rooms differently based on their membership state 2024-08-21 12:24:20 +03:00
Doug e0ba9925e7 Remove GenericCallLinkCoordinator, merging it into CallScreen. (#3181)
* Remove incorrect message send call and fix typo.

* Add overlay coordinator presentation to the NavigationRootCoordinator.

* Remove GenericCallLinkCoordinator, merging it into CallScreen.

This will allow for picture in picture on call links when available.
2024-08-19 17:21:25 +01:00
Stefan Ceriu 0b984cc3eb Fix #3133 - Cancel ElementCall rining once answered elsewhere
- expose `activeRoomCallParticipants` and use them to detect if the user has joined the call from a different device
2024-08-08 16:04:47 +03:00
Mauro ff2c42d53b Pinned items timeline implementation for the banner (#3099) 2024-08-05 14:09:05 +02:00
Doug 0fab3a8afc Add the inviter to JoinRoomScreen when it's an invite. (#3093)
* Add inviter property to RoomProxyProtocol.

* Extract the room cell inviter label into it's own view.

* Use the new RoomInviterLabel in the JoinRoomScreen.

* Fix bug with invite to a public room.
2024-07-29 09:57:49 +01:00
Mauro 0da2d4917b Pin/Unpin Logic (#3084) 2024-07-26 20:41:00 +02:00
Mauro ff33c07596 Fix editing items not in the timeline failing (#3075) 2024-07-22 13:15:57 +02:00
Doug 95d53f1edf Update the SDK fixing a few room list bugs. (#3054)
* Update the SDK.

* Handle API break for editing timeline items.

* Handle API break for Element Call
2024-07-17 15:48:32 +01:00
Stefan Ceriu 239afeb662 Fixes #3042 - Cancel ElementCall ringing as soon as the call ends 2024-07-17 10:24:30 +03:00
Doug a1329d9d54 Replace old visible rooms range with subscriptions in the room list. (#3014)
* Add a SubscriptionTracker actor to RoomProxy.

* Request subscriptions when scrolling rooms.

* Stop unsubscribing in preparation for Simplified Sliding Sync.
2024-07-08 14:32:13 +01:00
Doug 834260c144 Use the room heroes when computing a DM avatar. (#2900)
* Use room heroes for DM avatar content ID.

* Use RoomAvatar.heroes for the DM Details stack.
2024-06-19 10:27:10 +00:00
Mauro cefa38049f Store and restore drafts (#2898) 2024-06-13 12:19:38 +00:00
Stefan Ceriu 8bfd802793 Add support for showing the native OS incoming call screen when starting new Element Calls 2024-05-24 15:32:56 +03:00
Mauro ae06226cbc UI update for room details (#2831) 2024-05-10 17:58:35 +02:00
Doug 7b2168a540 Event Permalink Tweaks (#2754)
* Handle errors focussing the timeline.

* Add a test for focussing on an existing timeline item.
2024-04-29 10:00:41 +01:00
Doug 76e7de40b5 Prepare for event focus and forward pagination (#2745)
Neither are available yet.
2024-04-25 18:32:33 +01:00
Stefan Ceriu c85c1593ee Cleanup proxy errors
- proxy errors have been getting repetitive and not particularly useful
- differentiate between sdk and client errors and keep what provides value
- add error logs everywhere a failure occurs
2024-04-04 14:22:56 +03:00
Stefan Ceriu 834a830952 Use RustSDK permalink builders:
- replace event permalinks on the room screen interaction handler
- replace the one use don the room details screen
- deprecate previous AttributedStringBuilder methods
- there's more work required on the AttributedStringBuilder mentions handler before we can completely drop the iOS implementations
2024-04-02 14:19:35 +03:00
Doug 71721f01b1 Moderation tweaks (#2548)
* Only allow admins to see the roles and permissions screen.

* Hide the selection checkbox on Admins when changing roles.

* Show an empty state for banned users.

* Add separate actions for ban and remove.

* Implement reset permissions and demote self alerts.

* Add tests for resetting permissions and demoting self.

* Add a warning when promoting someone to administrator.
2024-03-11 14:19:53 +00:00
Doug e36db7dd66 Update the SDK adopting new power levels APIs. (#2545)
* Update the SDK adopting new power levels APIs.

* Fix test compilation error.
2024-03-08 15:26:15 +00:00
Mauro c66ddfb71e Filters, Mark Unread/Read/Favourites FF removals + code and tests clean up (#2541) 2024-03-07 17:56:09 +01:00
Doug 046f1dd533 Add RoomChangeRolesScreen. (#2534)
Not part of a flow yet, just the screen.
2024-03-07 16:24:05 +00:00
Doug 1b5db6c63d Update the SDK and handle breaking changes. (#2527) 2024-03-05 15:08:34 +01:00
Doug bd15190b23 Add RoomChangePermissionsScreen (#2513) 2024-03-01 16:11:22 +00:00
Stefan Ceriu 7615e97c7f Fixes #2486 - Implement blocked users management in the app settings 2024-02-28 13:21:54 +02:00
Doug fdbaef5aee Kick/ban room members (#2501)
* Add a temporary membershipChangePublisher on the timeline.

* Kick/Ban users from a room.

* Unit tests.

* Disable autocorrection on the members list search field.
2024-02-27 13:02:35 +00:00
Doug 730d099a76 Add RoomDetails for use (with RoomMemberDetails) in AvatarHeaderView. (#2490)
* Add RoomDetails and refactor AvatarHeaderView to use it.
* Remove old displayName property and use RoomDetails in the RoomDetailsScreenViewState
2024-02-21 14:19:05 +00:00
Mauro 9b949ce84e Configure SDK to use the global/OS proxy (#2493) 2024-02-21 15:17:23 +01:00
Mauro d380c2de56 Removed unused context menu + some unused code cleaning (#2487) 2024-02-20 14:36:04 +01:00
Stefan Ceriu 6d9271ce59 Fixes #2320 - Implement support for (un)marking rooms as favourite from the room list and room detail screens 2024-02-19 17:51:43 +02:00
Stefan Ceriu 5cb5862e5e Bump the RustSDK, adopt new marking/flagging rooms as (un)read API and fix sending read receipts when entering rooms or making the app active again 2024-02-14 12:33:19 +02:00
Stefan Ceriu f2e9c32e8d Fixes #2347, #2348, #2349 - Add support for typing notifications 2024-02-13 15:27:52 +02:00
Stefan Ceriu 9915a33964 Fixes #2360 - Add support for manually marking rooms as unread (#2408)
* Fixes #2360 - Add support for manually marking rooms as unread

* Add analytics for marking rooms as (un)read

* Remove unnecessary analytics abstraction levels

* Fix breaking API changes following SDK bump

* Add changelog

* Handle PR comments

* Fix unit tests
2024-02-05 18:06:50 +02:00
Mauro 30a0561251 App now prevents redacting own messages if there is no permission (#2368) 2024-01-23 11:05:30 +00:00
Mauro dd28261e1f Bump SDK + Mention Badge fix (#2367) 2024-01-22 17:43:39 +00:00
Stefan Ceriu 9bb9c8b31e Make room proxy unsubscriptions explicit. Fixes problems in which creating and deallocating room proxies would unexpectedly unsubscribe other proxies. 2024-01-17 13:21:56 +02:00
Mauro 123164f398 Removing dead code part 2 (#2235)
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-12-15 20:16:16 +01:00
Stefan Ceriu 6cd25fac50 Element Call permission tweaks (#2187)
* vector-im/element-meta/issues/2230 - Specify `call.member` default power levels when creating a room

* vector-im/element-meta/issues/2229 - Take into account permissions when configuring the room screen call button
2023-12-06 13:14:23 +02:00
Stefan Ceriu 8189b0a471 Fixes #2147 - Scroll the timeline to the bottom when sending message as well as media, polls and locations. 2023-12-04 17:32:26 +02:00
Alfonso Grillo e7494164b2 Add TimelineProxy (update sdk to 0.0.7-november23) (#2178)
* Refactor RoomProxy

* Refactor paginateBackwards

* Refactor sendReadReceipt

* Refactor messageEventContent APIs

* Refactor sendMessage

* Refactor toggleReaction

* Refactor send attachments

* Refactor sendLocation

* Refactor cancel/retry send

* ⚠️ Fix encryption build errors

* Refactor editMessage

* Refactor retryDecryption

* Refactor fetchDetails

* Refactor polls APIs

* Refactor fetchMembers

* Refactor RoomTimelineProviderProtocol

* Update sdk to 0.0.7-november23

* Fix UTs

* Fix comment

* Delete old workaround

* Move TimelineProxyError

* Delete queue warnings

* Fix key listener

* Add pollHistory timeline property

* Refactor room/timeline subscriptions

* Delete unused code
2023-11-28 19:01:35 +00:00