Commit Graph

1925 Commits

Author SHA1 Message Date
Doug
ee24764b08 Rework the presentation of the media browser quick look view to use SwiftUI. (#3619)
* Embed the media preview quick look inside a full screen cover

With a zoom transition on iOS 18.

* Use a the representable coordinator properly.

* Fix a bug with the toolbar appearance.

* Format

* Try prevent the zoom transition being upside down.

* Fix the snapshot test configuration.
2024-12-16 15:27:50 +00:00
Mauro
89ac38c91b Implement Knock Logic (#3573)
* WIP RequestToJoin struct

* implemented the logic to display the cells

* knock request banner accept flow

* mark all knocks as seen implemented

* details logic

* implemented accept, decline and ban in the list

* added a loader and modified the stacked view

of the banner

* pr suggestions

* updated naming and loading strings

* added the initial loading state

improved code and the tests

* updated a string that has changed

* code improvement

* tests for the room screen view model

* room details tests

and improved the knock requests tests for the room screen

* knock requests list tests

* added error state alerts with retry

* struct has been renamed on the sdk

so I renamed it also on the app side

* update SDK
2024-12-16 15:32:45 +01:00
Stefan Ceriu
9aef0c6f7c Add a comment on bubble background modifier default parameter values. 2024-12-13 19:31:35 +02:00
Stefan Ceriu
dc06f3c301 Fix MediaFileRoomTimelineContent tap gesture taking over media event timeline taps. 2024-12-13 19:31:35 +02:00
Stefan Ceriu
07c8b0e8b2 Add empty states for the media gallery sections 2024-12-13 19:31:35 +02:00
Stefan Ceriu
6ce0c720ab Simplify how we build bubbles for previewing purposes, make use of the new bubbleBackground modifier. 2024-12-13 19:31:35 +02:00
Stefan Ceriu
fbdbc562ca Stop adding empty groups to the gallery. 2024-12-13 19:31:35 +02:00
Stefan Ceriu
1b684d269e Stop passing the whole timeline item to the bubble background modifier. 2024-12-13 19:31:35 +02:00
Mauro
35e24656d7 Security and privacy part 1 (#3617)
* added the security and settings button in details

* added content to the view

* added enable encryption alert

* updated preview tests and the UI

* removed wrong plists committed by mistake

* pr suggestions
2024-12-13 18:29:17 +01:00
Valere
7e078e746f feat(posthog): wire support for extra utd error properties 2024-12-13 12:56:35 +02:00
Stefan Ceriu
828e4c4b03 Custom media gallery views for files and voice messages (#3610)
* Extract the timeline item background from the BubbledStyler.
* Use different views for files and voices messages, reuse the timeline content but only keep the bubble background instead of the whole TimelineStyler.
* Add back max voice message width and add missing accessibility label
2024-12-12 17:48:41 +02:00
Doug
aa6487ed22 Hook up the actions in the media details sheet. (#3607) 2024-12-12 09:22:36 +00:00
Stefan Ceriu
ffa53e6100 Media gallery - support for files and voice messages (#3605)
* Move the voice message views to where they belong
* Add separate struct for each media events timeline view
* Add support for all the different media gallery message types and get the files section working
2024-12-12 10:02:10 +02:00
Doug
7943dbd6df Fix a bug where you're shown the remove caption action when it isn't available. 2024-12-12 08:29:15 +02:00
Mauro
4e057fe195 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
Doug
1c3d410e3f Configure the media preview screen based on the event and presentation. (#3604)
* Configure media previews based on the presenting screen.

* Switch on TimelineKind instead of having an isPinnedEventsTimeline Bool.
2024-12-11 15:40:31 +00:00
Mauro
1196e0b013 Fix tap knockable room and custom keyboard did show scrolling (#3603)
* making knockable rooms tappable

* added a way to customise the keyboard scrolling

in case we want the focussed view/textview to display something outside its content

* better documentation
2024-12-11 16:09:52 +01:00
Stefan Ceriu
2c69019046 Monthly media gallery separators (#3601)
* Fix the order of the items in the media grid.
* Add media gallery timeline separators.
* Change the `SeparatorRoomTimelineItem` to have it expose a Date timestamp instead of a text string.
2024-12-11 13:32:29 +02:00
Stefan Ceriu
a297643443 Bump the RustSDK to v1.0.79; add a feature flag for the new rust side ClientBuilder::useEventCachePersistentStorage 2024-12-10 18:19:31 +02:00
Doug
e596c4b43f Use TimelineMediaQuickLook in the MediaEventsTimelineScreen. (#3598) 2024-12-10 14:56:51 +02:00
Doug
e09b687470 Update the timeline media QuickLook modifier. (#3593)
Not hooked up to any flows yet.
2024-12-09 15:23:12 +00:00
ElementRobot
6936d6a472 Translations update (#3592)
Co-authored-by: pixlwave <6060466+pixlwave@users.noreply.github.com>
2024-12-09 09:24:29 +00:00
Stefan Ceriu
e75c930d8f 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
Doug
64da80c6cb Use a Date for the timestamp in all timeline items. (#3590)
* Use a Date for the timestamp in all timeline items.

* UI test snapshots.

* Update snapshots

---------

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2024-12-06 13:55:29 +00:00
Mauro
e69f1a490b Update sdk to 1.0.78 (#3586)
* updated sdk

* added cases

* correct error tracking

* right error label
2024-12-05 10:55:49 +01:00
fkwp
de1abd5bce increase ringing timeout from 15 seconds to 90 seconds 2024-12-04 10:40:11 +02:00
Doug
054da5b914 Add new development assets and use in mocks/previews. (#3581) 2024-12-03 17:14:05 +00:00
Mauro
9d7ad59dca added historical message error label string (#3580) 2024-12-03 17:21:02 +01:00
Doug
4fc18402a8 Enable local echoes for media uploads for all builds. (#3579)
* Enable local echoes for media uploads for all builds.

* Update a string.
2024-12-03 11:28:21 +00:00
Mauro
c213b5c227 Update SDK 1.0.77 (#3578)
* update SDK

* added new cause case

* added historical message
2024-12-03 12:18:16 +01:00
Mauro
f53df97c9b Knock a room - added a char counter for the message (#3570)
* added a char counter

* moved code
2024-12-02 17:28:50 +01:00
ElementRobot
0045c94965 Translations update (#3576)
* Translations update

* fix a test

---------

Co-authored-by: pixlwave <6060466+pixlwave@users.noreply.github.com>
Co-authored-by: Mauro Romito <mauro.romito@element.io>
2024-12-02 10:21:08 +00:00
Doug
a6a8f53b30 Add a warning to the media caption composer. (#3574)
We can now remove the feature flag.
2024-11-29 16:23:20 +00:00
Mauro Romito
31ef71b614 Move pinned messages button in details 2024-11-29 17:04:15 +01:00
Doug
5c2814c238 Fix a compile error. 2024-11-29 13:11:14 +00:00
Doug
acda16ddc3 Handle media source validation more gracefully. (#3571)
* Handle media source validation more gracefully.

* Fix unit tests.
2024-11-29 12:42:27 +00:00
Doug
b5acb7178d Add support for copying a caption. (#3563)
* Add timeline item action for copying a media caption.

* Fix the action colours when long pressing a timeline item.

Nice side effect: Reasonable sized buttons when button shapes are enabled.

* Re-arrange the Timeline Item Menu.

* Add timeline item menu snapshots for media items.
2024-11-29 12:26:59 +00:00
Doug
9da03c03cf Wait until the sync has stopped before marking the task as complete. (#3564) 2024-11-28 17:30:07 +00:00
Mauro
b17606e7bf Small Knock adjustments (#3568)
* small adjustments

* autocorrection disabled
2024-11-28 18:02:07 +01:00
Doug
54f3796fad Fix a bug on iOS 17 where you couldn't long press on a message. (#3567) 2024-11-28 14:44:34 +00:00
Doug
7980b4f464 Update the SDK. (#3565)
* Update the SDK.

* Add mockMXC URLs to fix all the crashes during tests.

* Refactor Voice Messages to not use a MediaSource for local files.
2024-11-28 08:34:38 +00:00
Doug
fbafe5f51e Add back missing send button when media captions are disabled. (#3561) 2024-11-27 11:35:53 +00:00
Stefan Ceriu
59ede9e31b Stop delaying ElementCall until the next sync loop and only notify other participants when presumed to already be up to date. (#3559) 2024-11-27 09:57:18 +02:00
Doug
9f0b65b7cf Move the media caption composer (and Add Caption action) behind a feature flag for now. (#3560) 2024-11-27 08:30:10 +02:00
Stefan Ceriu
d5c672296b Bump the RustSDK to v1.0.75 2024-11-27 08:28:28 +02:00
Stefan Ceriu
b7db983bad Move timeline item tap gestures to the items themselves instead of the bubbled styler (#3553)
* Stop observing the timeline context where not necessary.
* Rename the timeline `itemTapped` action to `mediaTapped`
2024-11-26 16:25:46 +02:00
Doug
c288ab421f Fix the presentation of QuickLook when viewing logs on macOS. (#3556) 2024-11-26 14:23:20 +00:00
Mauro
3ffd37d4ae Knock Requests navigation flows (#3555)
* implemented navigations

* better naming for the enum

* removed list to banned users navigation

* polished the code

* avatarURL
2024-11-26 11:47:34 +00:00
Doug
1aad48823b Update how file captions are rendered (#3554)
* Update the File/Audio captions layout to match Figma.

* Fix caption sizing issues.

The send info label was being added incorrectly.

* Update icon size and regenerate snapshots.

* Fix a regression in the location timeline item layout.
2024-11-26 10:36:46 +00:00
Mauro
3ce794ebfc Knock Requests banner display logic (#3550)
* added the join rule to the info

* update SDK and added logic to display the banner

in the room screen

* added the logic to display the banner
2024-11-25 13:14:02 +01:00