Commit Graph

814 Commits

Author SHA1 Message Date
Alfonso Grillo
8d5ee49e6d Refine polls UI in the timeline (#1474)
* Add summary view in PollRoomTimelineView

* Add selectedPollOption action

* Handle undisclosed polls

* Add more logics in PollRoomTimelineView

* Refine ended poll UI

* Refine poll layout

* More UI refinements

* Fix layout issue

* Refine progress bar

* Add poll mocks and UI tests

* Cleanup
2023-08-11 10:25:16 +00:00
Nicolas Mauri
f018c5ee9c Update SDK to 1.0.106-alpha (#1480) 2023-08-11 11:54:44 +02:00
David Langley
4a242358f4 Integrate emojibase (#1449)
* Integrate emojibase

* pin emojibase to version rather than revision

* Log error in case of failed loading of emojis from emojibase.

* Update Package.resolved

* Fix tests and bindings version
2023-08-10 19:14:18 +01:00
Stefan Ceriu
0a58fbfeac Fixes #1140 - Dismiss all modals when presenting a room 2023-08-10 15:19:43 +03:00
Stefan Ceriu
e891d6a88b Fix reply to media crash caused by missing room context (and implicitly image provider) on the new composer toolbar 2023-08-10 14:50:08 +03:00
Stefan Ceriu
7c3e33954a Fix room list service cold cache support. Make sure we dispatch the initial room list and use it for computing the home screen state 2023-08-10 09:58:46 +03:00
Stefan Ceriu
28625bd904 Various Sentry configuration tweaks to make it more usable 2023-08-09 15:44:23 +03:00
Stefan Ceriu
932a86ff8c Bump the RustSDK to v1.0.105-alpha 2023-08-09 13:33:48 +03:00
Stefan Ceriu
8d6648302a Re-enable and (hopefuly) simplify background app refresh handling 2023-08-09 11:25:44 +03:00
Stefan Ceriu
92cd50ed76 Fixes #1418 - Preserve new lines when parsing html strings 2023-08-08 17:37:11 +03:00
Stefan Ceriu
87d880ac88 Fixes #1270 - Parse the latest room message instead of directly using the body. Add an app wide attributed string caching layer. 2023-08-08 17:02:37 +03:00
Stefan Ceriu
72d02f8c27 #1257 - Prevent the syncing indicator from showing over the offline one 2023-08-08 15:27:48 +03:00
aringenbach
b077e0fd38 Extract composer toolbar to a dedicated component (#1427)
* Extract composer toolbar to a dedicated component

* Use publisher for composer mode

* Introduce `RoomScreenComposerProvider`

* Add `ComposerToolbarViewModelTests`

* Rename protocols and add passthrough subjects for focused and composer mode

* Remove `ComposerToolbarViewActionHandler` and `ComposerToolbarCoordinatorParameters`

* Remove `RoomScreenComposerActionHandlerProtocol` and `RoomScreenComposerProviderProtocol`

* Re-arrange code a bit

* Remove composer mode being stored on `RoomScreen`

* Rename `process(viewAction: ComposerToolbarViewAction)` to `process(composerAction: ComposerToolbarViewAction)`

* Replace PassthroughSubject with direct function call

* Remove `ComposerToolbarCoordinator`

* Remove `cancelEdit` and `cancelReply` from external composer view model actions

* Use `RoomScreenComposerAction` as a sub-`RoomScreenViewModelAction`

* Move `ComposerToolbarViewModel` callback to actionsSubject

* Move `RoomScreenViewModel` callback to actionsSubject

* Fix `RoomScreenViewModelTests`

* Rename `composerAction` parameter to `roomAction`

* Fix unit tests
2023-08-08 14:25:23 +02:00
Stefan Ceriu
127e7f29a6 Tweak swiftlint settings 2023-08-08 11:48:40 +03:00
Stefan Ceriu
fcb4a22079 Fixes #1455 - Use the stable timeline id to match timeline items in between local echo and remote echo states 2023-08-08 11:48:40 +03:00
Stefan Ceriu
f2131a3411 Decrease the time it takes for the timeline long press gesture to trigger 2023-08-08 11:48:40 +03:00
Doug
63fbd5ab60 Add an empty state on the home screen. (#1450) 2023-08-07 10:10:42 +01:00
Velin92
fb649d6704 Translations update 2023-08-07 09:12:33 +03:00
Stefan Ceriu
e8116ae776 Display avatars full screen when tapping on them from the room or member detail screens 2023-08-04 17:45:24 +03:00
Doug
adc7642ab1 Update compound with row selection. (#1439)
Include accessibility traits in old form styles too.
2023-08-03 09:37:34 +00:00
Nicolas Mauri
92db5236a4 Add a link to the global settings in the room notifications settings (#1433) 2023-08-02 16:30:05 +00:00
Stefan Ceriu
1ab56fd8d1 Simplify the screen templates 2023-08-02 14:15:35 +03:00
Stefan Ceriu
65c7dec5c9 Adopt batched timeline diffs and other RustSDK changes 2023-08-02 12:08:57 +03:00
Stefan Ceriu
ccf1706ea0 Send the SDK's short git SHA to rageshakes 2023-08-02 10:27:22 +03:00
Stefan Ceriu
34e6156891 Fix warnings on now non-async methods 2023-08-01 16:30:17 +03:00
Doug
404af0763a Send read receipts as messages are displayed. (#1426) 2023-08-01 11:53:02 +01:00
Doug
553c96521f Fix a bug when dismissing a media preview. (#1428) 2023-08-01 10:45:42 +01:00
David Langley
ea691f718a Highlight selected emoji in picker, correct add more button in menu, fix order of count label on outgoing messages (#1430)
- Highlight selected emoji in picker
- Correct add more button in menu
- Fix the order of count/key label on outgoing messages
- Fix the size padding of emoji in reactions
2023-08-01 08:59:10 +01:00
Stefan Ceriu
86a1097540 Fix unit tests 2023-07-31 14:29:40 +03:00
Stefan Ceriu
58da19c42b Enable all room summary provider logs to track down duplicated room list item problems 2023-07-31 14:29:40 +03:00
Stefan Ceriu
ccb78a9ae5 Delay rendering bottom timeline items when scrolled up and avoid content shifts
- builds on top of langleyd/timeline_defer_new_items
- improve animations
2023-07-31 14:29:40 +03:00
David Langley
0532d98eee Reactions - Design review tweaks (#1417)
* Design review tweaks

- truncate reactions as per spec
- add haptic feedback on reacting
- Remove all collapse/expand animations on reactions
- tweak reaction and summary padding
- Fix alignment of time on reaction summary view
- Made sure reaction summary button in horizontal scroller is on screen on appear
- update screenshots

* Update TimelineReactionsView.swift

* Remove dark add more button and check long rtl reactions

* Set colour of  templated add more button

* Fix padding and only inset from the bubble on the leading side as per designs

- Fix padding
- Only inset from the bubble on the leading side as per designs

* Update screenshots

* Fix line length warning.
2023-07-31 11:16:52 +00:00
Nicolas Mauri
4704069c92 Notification settings screen (#1414) 2023-07-31 09:11:01 +00:00
Stefan Ceriu
3d89d4898f Fix DM avatars not showing up in room headers. Use the roomListItem avatar instead of the fullRoom one. 2023-07-28 18:57:32 +03:00
Mauro
ec92cfeecb FF to enable filtering notifications by push rules (#1412)
* filtering notification by push rules

* changelog

* Apply suggestions from code review

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

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-07-27 14:12:52 +00:00
Alfonso Grillo
232a33626a "View only" polls in the timeline (#1399)
* Add stub methods in RoomTimelineItemFactory

* Add PollRoomTimelineView and PollEndRoomTimelineView

* Add timeline skeleton

* Start poll mapping

* Add comment

* Refine poll UI

* Add feature flags for polls

* Cleanup

* Delete poll end event

* Refine poll mapping

* Refine poll layout

* Reuse FormRowAccessory

* Refine poll bubble layout

* Localise strings

* Update project

* Refine poll preview

* Map poll properties
2023-07-27 15:34:27 +02:00
Doug
bc01134f97 Fix more unit tests. (#1406)
- Randomise test order.
- Use deferred fulfilment in more places.
- Make sure to change something before awaiting the fulfilment.
- Build a fresh AppSettings after reset().
- Retry tests on failure.
2023-07-27 12:38:48 +01:00
Alfonso Grillo
942c3eec33 Update SDK to 1.0.102-alpha (#1408)
* Update SDK to 1.0.102-alpha

* Log error

* Notification Improvements API part 1 (#1410)

* changes

* WIP

* progress

* updated test

* removed unused

* code improvement

* Process diffs as batches provided by the SDK.

---------

Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>
Co-authored-by: Doug <douglase@element.io>
2023-07-27 09:48:56 +00:00
Alfonso Grillo
a6708c0231 Refactor TimelineItemBubbledStylerView for polls (#1404)
* Refactor bubble bg colors and insets

* Improve MapLibreStaticMapView layout

* Add BubbleTimestampLayout

* Refactor BubbleTimestampLayoutType

* Refine .horizontal, .vertical layouts

* Rename layout type

* Add docs

* Restore LocationRoomTimelineItem body

* Refactor whitespaces

* Fix background color for LocationRoomTimelineView.

* Fix UTs

* Fix analytics ui tests

* Fix bug report tests

* Fix settings ui tests

* Rename private property

* Record room screen tests
2023-07-26 15:17:41 +00:00
Mauro
08785683f5 Reverting to TableView but with SwiftUI compatibility (#1407)
* revert but also allows us to keep the existing SwiftUI implementation if we need it

* code improvement

* pr review

* FF is volatile

* message that communicates that is volatile
2023-07-26 13:53:43 +00:00
Mauro
6559e62134 Update RoomScreen and UserSessionScreen UI tests (#1400)
* room tests

* User session screen tests

* regenerated keyboard ones

* fixing some minor issues

* code improvement

* fixed the remaining tests

* fixed last two
2023-07-26 12:23:15 +02:00
Doug
2048de9d18 Use generated UIColors everywhere. (#1405)
- Fix destructive buttons in the menu.
2023-07-26 11:21:34 +01:00
Nicolas Mauri
473f4d8148 Edit the room Notification setting (#1394) 2023-07-26 09:27:14 +00:00
Mauro Romito
5f50847ce1 two sync loop always enabled by default 2023-07-26 10:39:19 +02:00
Doug
d0b8251bec Make the app version and the device ID copyable in the Settings screen. (#1389) 2023-07-25 17:31:42 +00:00
Stefan Ceriu
a13a25384f Fix problem with disclosure groups randomly not disclosing by replacing with custom component
- 99% of the code is the same as we were already massively customising it
2023-07-25 18:46:14 +03:00
Alfonso Grillo
05cf0dd310 Fix LocationRoomTimelineView clipping (#1396) 2023-07-25 16:04:48 +02:00
Mauro
54420f5989 SwiftUI timeline refactor + TimelineViewState decoupling (#1392)
* swiftUI conversion + scroll to bottom

* remove unused

* back pagination implemented, however when a lot of elements are in the scroll the perfomance diminishes not sure what may be causing it

* scroll adapter solution

* way better

* works but height animation in cells are broken

* code improvement

* everything implemented

* rebase fix

* fix

* doc

* fix test compilation

* code improvement and animation improvement

* code improvement

* code improvements

* tests updated.

* pr comments

* better identifiers

* fix

* some PR comments

* pr comments
2023-07-25 12:20:13 +00:00
Doug
f47ccc1ae1 Tweaks for macOS (#1383)
* Fix constant Create Room button animation on macOS.

* Allow right-clicking on timeline items to work again on macOS.

* Use inline media upload previews on macOS

This comes with the caveat that the previews are no longer interactive.
2023-07-24 12:08:50 +00:00
Stefan Ceriu
f400dff471 Default media upload file mime types to application/octet-stream so that uploading doesn't fail rust side 2023-07-24 12:24:13 +03:00