Commit Graph

479 Commits

Author SHA1 Message Date
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
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
Alfonso Grillo
1618af5857 Reduce boilerplate in Developer Options Screen (#1378)
* Reduce developer options boilerplate

* Add protocol DeveloperOptions

* Delete timelineDiffableAnimationsEnabled

* Refactor DeveloperOptions -> DeveloperOptionsProtocol
2023-07-24 08:42:14 +00:00
Mauro Romito
cdefbb5be1 better code 2023-07-21 17:57:23 +02:00
Mauro Romito
dff679d994 avoid problems 2023-07-21 17:57:23 +02:00
Doug
8bd586d441 Compound Room Details (#1369) 2023-07-21 14:22:09 +01:00
Mauro
7b202fef7e fix (#1375) 2023-07-20 15:55:34 +00:00
Alfonso Grillo
af97ca17f3 Refactor map styles for forking (#1364)
* Add MapLibreStyle

* Refactor url builders

* Add doc

* Add UTs

* Rename style

* Improve doc

* Update project

* Amend doc

* Improve documentation
2023-07-20 15:09:50 +00: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
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
Doug
59dcb9cef4 Fix visibility of navigation bar when searching the forwarding screen. (#1357)
* Fix visibility of navigation bar when searching the forwarding screen.

- Update Introspect and replace deprecated calls with new ones.
- Remove obsoleted colours from DesignKit.
2023-07-19 15:55:21 +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
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
a46ebfe7fe Fixes #1332 - Pasting an image from MobileSafari gives both url and file upload 2023-07-18 13:53:42 +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
Alfonso Grillo
57f48a4b9e Update errorMissingLocationAuth (#1341) 2023-07-17 13:19:28 +00:00
Mauro
87b38c9380 Updating members after an ignore/unignore action has been performed. (#1327)
* fix

* format

* update members
2023-07-17 10:57:47 +00:00
David Langley
9f7808e8da Reactions: Add more button (#1314)
* 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.

* Add the add more button and change the layout to be reactions specific and account for the add more button specifics.

* Update CollapsibleReactionLayout.swift

* Rename lines to rows, to hopefully ease the incoming merge.

* Add LayoutValueKey to organise subviews by item type.

- create ReactionLayoutItemType to tag subviews with ReactionLayoutItem
- Add LayoutValueKey support to the layout mocks
- Fix some mistakes in the merge
- Make the test code a bit more DRY
- Make the animation of the addMore and collapse buttons consistent

* Fix naming of the add more button label

* Address comments and fix padding

- Fix typos
- Use pdf/svg for icon
- Fix incorrect padding from a bad merge

* Fix "Add more" button padding to match designs

* Update snapshot test reference images.

* Fix naming, add Preserves Vector Data
2023-07-14 16:32:32 +00: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
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
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
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
05f42aa6df Welcome Screen (#1259)
* the screen renders and changed the analytics checkmark to be more generic

* welcome screen

* transition

* tests... TODO

* changelog

* changed assets and added multilineTextAlignment

* better naming

* fix for missing after migration but has a weird presentaiton bug

* fix

* icon color
2023-07-05 17:55:24 +00:00
Alfonso Grillo
d7434ef111 Show location's description when sharing to Apple Maps (#1253)
* Add location description for Apple Maps

* Show location’s description on Apple maps

* Cleanup ShareToMapsAppActivity
2023-07-05 16:12:57 +00: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
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