Commit Graph

455 Commits

Author SHA1 Message Date
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
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
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
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
Mauro
1b3e172450 Fix for offset 1 not making new messages auto scroll (#1371)
* bett docs + fix

* better doc

* small code improvement

* code improvement

* code improvement
2023-07-20 13:52:02 +00:00
Alfonso Grillo
931d39da7e Location event body representation (#1368)
* Change GeoURI body format

* Update location event representation
2023-07-20 13:04:13 +00:00
Mauro
76b0cede77 Flipping the tableView (#1366)
* I can't believe this works so well.

* code improvements

* we probably just need to change the TODO

* better naming

* done, there is only one small bug to fix

* fix

* this needs to be decided

* fixed the backpagination issue and improved the scroll to top gesture triggered by tapping on the clock (but won't work when I am at the bottom)

* fix
2023-07-20 11:29:45 +00:00
Stefan Ceriu
db8b89cd40 Fixes #1262 - Compute correct sizes for portrait videos (#1367)
* Fixes #1262 - Compute correct sizes for portrait videos

* Add unit test

* Tweaks following code review
2023-07-20 10:30:43 +00:00
Mauro
529779968f Better identification system for virtual items (#1361)
* better identification system

* better handling for unknown
2023-07-19 14:29:56 +00:00
Alfonso Grillo
b871abce1a Delete Location Sharing feature flags (#1358)
* Delete location sharing feature flags

* Add changelog.d file

* Update localizations

* Amend changelog file
2023-07-19 12:15:26 +02:00
Alfonso Grillo
051e1f29a0 Remove ”copy” action for location events (#1355)
* Hide ”copy” action for location events

* Cleanup
2023-07-18 15:54:42 +00:00
Mauro Romito
0a89c6d427 sdk bump 2023-07-18 17:32:11 +02:00
Mauro
8e39102daa Diffable fade animations (#1343)
* animate only 2 seconds after the appearence

* scrolling is stable

* code improvement

* comment and removing code that is not necessary anymore

* feature flag

* comment

* better code

* the day divider ID is the timestamp itself as ISO

* Apply suggestions from code review

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

* format fix

---------

Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com>
2023-07-18 14:18:11 +00:00
Doug
73a7615b7b Log the crash event's ID to see if duplicate logs are for the same event. (#1350) 2023-07-18 15:00:33 +01:00
Mauro
7557baf30a Redacting is now displayed for moderators in groups (#1324)
* basic implementation

* sdk update

* format

* changelog
2023-07-18 13:51:27 +00:00
Stefan Ceriu
0451612f99 Cleanup sync service state management using new currentState sdk support 2023-07-18 13:52:51 +03:00
Doug
455edab11d Tidy up Developer screen, add button to crash the app. (#1348)
* ID all the things
2023-07-18 11:25:07 +01:00
Mauro Romito
3875521936 sdk bump 2023-07-18 10:03:25 +02:00
Stefan Ceriu
5bd59a34d5 Fix syncing not restaring because of relying on the roomList service state instead of the sync service one 2023-07-17 14:36:46 +03:00
David Langley
814d8a44a6 Sort reactions on the timeline by count and then timestamp and show the date on the summary view (#1320)
* Sort timetamps on timeline and show the date on the summary view

- Sort reaction aggregations on the timeline by count and then by most recent timestamp ascending(tagging new reactions on the end)
- Show the timestamp on the summary view and sort descending(newest at the top)

* Address comments.

- Fix ID case.
- Improve readability of components in body.
- Improve the comments that describe the sorting.
2023-07-14 17:18:32 +01:00
David Langley
d7d8f27d35 Remove Task.sleep from NotificationTests. (#1326)
- Add `weak` to mock variables called `delegate`
- Delete `UserNotificationCenterSpy` and use `UserNotificationCenterMock`
- Remove Task.sleep in favour of mock closures along with expectations/fulfillment.
2023-07-14 13:45:42 +01:00
Nicolas Mauri
e986fad1e5 Add a "Mute" shortcut and a "Notifications" section in the room details screen #1318 2023-07-14 11:43:19 +02:00
Doug
e1a88521a2 Update SDK (#1323)
Handle async start.
2023-07-13 16:10:09 +00:00
Mauro
a3671e9685 SDK Changes Refactor (#1312)
* internal id

* notification refactor

* client proxy refactor

* required self

* better identifier system

* using the event id when required

* tests fixed

* tested some stuff

* fixed merge conflict

* improved the test wait

* animation disabled

* Bump Rust SDK version to 1.0.98-alpha (#1310)

* code improvement

* pause sync

* pr suggestions

* result

* Apply suggestions from code review

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

* enum based debug identifier

---------

Co-authored-by: aringenbach <80891108+aringenbach@users.noreply.github.com>
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-07-12 10:28:41 +00:00
Alfonso Grillo
25af9ff31a Send location uncertainty within a geo uri (#1309)
* Add uncertainty

* Add UTs

* Delete verticalAccuracy
2023-07-12 09:02:05 +00:00
Mauro
93609a03be Contact me added in Bug Report Screen (#1307)
* contact me added

* fixing tests
2023-07-12 08:20:51 +00:00
Alfonso Grillo
bfe9ef426b Fix membersPublisher queue (#1308) 2023-07-11 15:09:18 +02:00
Flescio
e93af88ea5 Send current user location (#1272)
* add new asset for location, add logic for sharing user current location

* work on default zoom and auth for location

* add attribution button

* fix attribution button position, fix isSharingUserLocation

* Add NSLocationWhenInUseUsageDescription back

* Fix initial animation

* change map logo and attribution position

* Add annotation just in the setup

* add errors and alert for map vies

* location unit test

* add unit test for location sharing

* add changelog

* Update ElementX/Sources/Other/MapLibre/MapLibreMapView.swift

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

* add comments and minor parameters refactor

* Update ElementX/Sources/Screens/LocationSharing/StaticLocationScreenCoordinator.swift

Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>

* Update ElementX/Sources/Screens/LocationSharing/StaticLocationScreenViewModel.swift

Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>

* Sort assets

* Cleanup

* Cleanup

* Fix error localizations

* Fix tests

---------

Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com>
Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>
2023-07-11 10:42:59 +00:00
Michael Kaye
a1b66c170f Performance tests (#1301)
* Add signposts to performance tests.

- Update flow to include support for the migration screen.

* If the welcome screen shows, click on the button.

* Ensure a clean simulator each run.

* Add accessibility identifier for migration screen if required.

* Handle walking into the room and back out again.

* use iphone 14 pro to match what's used in xcode.

* Remove ApplicationTests as duplicated in LoginTests.

We measure app startup time in LoginTests as part of the flow - we may as well avoid spending 60s doing only that measurement in ApplicationTests

* Sleep 10s, the ui is otherwise showing up in random order.

* Revert "Remove ApplicationTests as duplicated in LoginTests."

This reverts commit 8670710315bcd0d6c3c3046f534b32b4c728b837.

* Update script to parse out correct values from results file.

* Allow cancellation of password prompt in any order.

* Remove test timeout, performance tests will always take a while.

* Adjust parsing further

* Remove ApplicationTests.

* Move to a more elegant way to wait for something to disappear.

* Linting.

* Fix unit tests.

---------

Co-authored-by: Doug <douglase@element.io>
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-07-11 10:32:24 +01:00
Mauro
66448921da Removing Delivered Notifications (#1305)
* completed

* changelog

* tests

* more tests

* better naming

* fix

* a bit more waiting time

* generated mocks

* xcodegen
2023-07-11 10:44:06 +02:00
Alfonso Grillo
cd6b2cbbb4 Optimize invites list (part 2) (#1268)
* Optimise invites list

* Fix failing tests

* Cleanup

* Add weak self

* Refactor ReportContentViewModelTests
2023-07-11 08:08:27 +00:00
Nicolas Mauri
e8c5e0625c New notifications section in settings (#1273) 2023-07-10 17:26:49 +00:00
David Langley
3b03b711a7 Add expand/collapse UI for reactions (#1249)
* Add expand/collapse UI for reactions

- Adds a CollapsibleFlowLayout for controlling the layout
- Adds tests for  this layout and some mocks for testing layouts generally
- Improves the rendering of the reaction buttons which were not pixel perfect
- Adds the UI for the expand collapse buttons including the count of hidden items in the collapsed state.

* Add comment for reactionsCollapsed binding.

* Remove Flow and simplify implementation

- Remove SwiftUI-Flow
- Add strings by importing from Localyse
- Remove count on expand button as requires GeometryReader and can cause loops
- Don't use GeometryReader for hiding reactions with opacity(just put them way off screen for now)
- Fix unit and UI tests

* Address PR comments

- use synthesized inits
- use rows rather than lines for naming flow layout
- other naming improvements
- reactions were already rendered in another ui test, removing my test on favour of those and updating the screenshots for those.
2023-07-10 15:13:58 +00:00
David Langley
0dc0bea945 Add xcDeferFulfillment to help with tests that have publishers. (#1278)
* Add xcAwaitDeferred to aid with tests that have publishers.

* Improve naming

* Address Comments

- Fix naming
- Add optional expectation message
- Use trailing closure syntax
2023-07-07 15:08:32 +01:00
Mauro
0e5ba1fa6f SDK Bump + Back pagination state listener (#1274)
* backPagination improved

* sdk bump

* removed unused line

* Update ElementX/Sources/Services/Timeline/TimelineController/RoomTimelineController.swift

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

* cancelling the TaskHandle on deallocation

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-07-07 07:54:40 +00:00
Alfonso Grillo
5c12591c9a Improve user profile search (#1266)
* Filter account owner in UserDiscoveryService

* Add tests and refine logics
2023-07-06 15:53:31 +02:00
Doug
e8ddaaa249 isDM in Notifications (#1254)
* isDm

* isDm added and some code improvements

* Bump SDK and fix one name.

* changelog

---------

Co-authored-by: Mauro Romito <mauro.romito@element.io>
2023-07-05 19:40:05 +02:00
Doug
aa011acdc4 Add encryption history banner and update session verification banner strings. (#1250)
* Add a hard wall on back-pagination in encrypted rooms.
Until the app supports key backup, the history will never be decryptable.

* Fix initial display of the timeline table view.

* Update session verification banner strings.
2023-07-05 14:08:31 +01:00
Mauro
2221dfc79a Notification Placeholder Image Caching (#1248)
* placeholder image caching

* code improvement

* code is now clearer
2023-07-05 12:28:45 +00:00
Alfonso Grillo
af5ed2fed1 Add location related analytics (#1241)
* Refactor trackComposer method

* Track location screen

* Refactor isPinDropSharing -> isSharingUserLocation

* Add trackComposer event

* Fix UTs

* Cleanup

* Add AnalyticsLocationType
2023-07-05 12:54:03 +02:00
Mauro
d8331ce5b9 Refactor the NSDiffableDataSourceLayer (#1235)
* first part, using references

* better animations

* delete view provider and replaced wth two files

* ordered dictionary usage

* bubbled styler view previews

* plain style is back

* fix

* read marker previews restored

* updated tests

* code improvements

* better naming
2023-07-04 14:08:43 +00:00
Alfonso Grillo
5cf41347ca Update SDK to 1.0.94-alpha (#1232)
* Update SDK

* Map new location fields

* Add LocationRoomTimelineItemContent.AssetType
2023-07-04 06:39:32 +00:00
Doug
b3b239d577 Migration Screen (#1224)
- Hide bottom bar when in skeletons.
- Use the new design for the Waitlist screen too.
2023-06-30 13:27:49 +01:00
Mauro Romito
748a0d499f bump 2023-06-30 15:18:03 +03:00