* 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
* 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
* 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.
- 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.
* 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
* 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
* 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.
- Add `weak` to mock variables called `delegate`
- Delete `UserNotificationCenterSpy` and use `UserNotificationCenterMock`
- Remove Task.sleep in favour of mock closures along with expectations/fulfillment.
* 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>
* 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>
* 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.
* Add xcAwaitDeferred to aid with tests that have publishers.
* Improve naming
* Address Comments
- Fix naming
- Add optional expectation message
- Use trailing closure syntax
* 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
* Add reaction summary view
* Add avatars and display names and flowlayout for reactions
- Add avatars to summary view
- Add display names to summary view
- Add flow layout to reaction buttons as per designs(long press on scolling buttons is difficult to achieve so prioritised this).
* Add and use SwiftUI-Flow for reaction layout.
* Correct Swift-Flow inclusion via xcodegen
* Remove own FlowLayout implementation and Fix unit tests
* Improve naming and correct spacing on summary view as per design.
* Fix safe area insets on summary view bottom sheet
* Scroll to selected reaction in the case that it is offscreen when the sheet is displayed.
* Add more reactions to UITests to ensure the new flow layout is displayed(wraps on to second line).
* Fix snapshot image.
* Address review comments.
* Use onLongPressGesture for reactions also to fix double actions bug and for consistency.
* Respect RTL languages.
* Fix unit test.