* vector-im/element-meta/issues/2230 - Specify `call.member` default power levels when creating a room
* vector-im/element-meta/issues/2229 - Take into account permissions when configuring the room screen call button
* just added the isThreaded property to message based events
* done but I should add a bunch of tests for images and videos and locations
* handling for image and videos, but locations might need to be double checked
* code improvement
* better tests and removed code that is not used, we need to fix first the appearence of replies
* bubble style is solved, we now need plain style
* also added plain style
* better handling for bubble style
* rounded corner only for bubbles in location
* fix for wrong aspect ratio in replies
* all changes done
* better testing
* swift format
* changelog
* PR comments and rebase.
* Simplify corner radius on location timeline view.
---------
Co-authored-by: Doug <douglase@element.io>
* Handle link opening on the top most levels and prepare for percolating them throughout the app
* Add support for a custom app scheme
* Add specific AppRoute parsers.
* Integrate custom scheme in the AppRouteURLParser
* Switch to `element://call` and cleanup route parsing
* 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
- 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
* 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
* 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
* 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.
* 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 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.
* Replace FilePreviewScreen with InteractiveQuickLook.
- Allows full screen presentation.
- Allows dismiss gesture to work.
- Presentation looks much better on macOS.
* Add support for message forwarding
* Move the TimelineProvider within the RoomProxy to avoid it going out of sync and have it automatically register for timeline updates on init
* Implement single selection form button style for message forwarding
* Add searching and filter out the source room from the list
* Fixed emoji screen initial search bar height
* Add view models tests
* Add changelog
* Update strings
* Tweaks following code review
- Fix sheet backgrounds in dark mode.
- Fix background colours for reaction buttons.
- Reply view layout.
- Update separator colours.
- Don't show sender name/avatar in DMs.
- Fix inconsistent line heights with formatted body text.
- Use plain text for reply
- Increase tappable size of collapsed state changes button.
- Blockquote layout and text colour.
- Tap to expand the topic in room details.
- Change the topic and security font size in room details.
- Add cancel button when inviting someone to an existing room.
- Reword Add Friends to Add People in start chat screen.
- Update compound.
* is now possible to open the confirmation dialog and pass the transaction id
* task completed added some tests
* changelog
* title visibility set to .visible
* added the read receipt into the code
* fixed some things lost during merge
* implemented the status view to be always at the trailing side
* preview code for better testing
* removed timelineStyle modifier
* removed also the group style
* added some UI tests for the read receipts
(+10 squashed commits)
[ba1d3160] Update timeline item action menu reaction UI
[410315ac] Move away from item bound action meus plus various tweaks following code review
[c25cd998] Add emoji reactions to the new timeline item action menu
[57001f49] Prevent timeline view layouts from dismissing the action menu
[d1e70538] Various UI tweaks
[652f4143] Switch to a long press gesture, move the header outside of the scroll view
[569a485c] Workaround timeline item action menu presentation state not being stored
[80c29567] Add currently selected item information in the TimelineItemMenu
[ff7790ec] Fixes#974 - Replace the timeline item contex menu with a bottom sheet
[ba1d3160] Rename TimelineItemContextMenu to TimelineIteMenu so that git correctly interprets it
* Fixes#975 - Update editing message UI
* Fixes#976 - Update reply composer mode UI to include message being replied to
* Use different icon corner radii in the timeline reply view depending on its placement
Squashed commits:
Add unit tests and move the state machine into the FlowCoordinator
[bb686861] Replace the RoomFlowCoordinator's public interface with just `handleAppRoute`
[0d9a4f8d] Remove the navigationStackCoordinator dependency from the roomScreenCoordinator
[4b5fbdf2] Allow rooms to be selected from any other state
[41dbd127] Move all missing coordinators to the RoomFlowCoordinator and state machines
[f32431b7] The UserSessionFlowCoordinator does not need to conform to the CoordinatorProtocol
[0f07e87d] Fix leaving a room dismissing the currently selected one when different
[138385a2] Rewind the navigation stack when re-selecting the same room (iPad)
[0727eb93] Fix presenting different room details from the side menu on iPads
[faf4cc60] Fix selecting the same room multiple times
[fb3391da] Move room details presentation responsibility to the RoomFlowCoordinator. Fixed invitation flows.
[fa2a68d9] Rename RoomTimelineFlowCoordinator -> RoomFlowCoordinator
[0c9c06b5] Start moving things away from the RoomScreenCoordinator and into the RoomTimelineFlowCoordinator
[86cbbdcc] Introduce a RoomTimelineFlowCoordinator to deal with timeline related operations
[9b2381be] Introduce the FlowCoordinatorProtocol
* MediaUploadingPreprocessor - Prevent images without any GPS metadata from being changed
* Add support for sending images
* Add support for sending video, audio and file attachments
* Rename MediaPickerPreview to MediaUploadPreview
* Move media uploading to the MediaUploadPreviewScreen, add waiting indicators and error handling
* Add support for pasting and drag&dropping in media for upload
* Adopt new media picker source UI, remove developer flag
* Set minimum heights for timeline loadable images
* Fix invalid camera picker file names
* Fix flakey MediaUploadingPreprocessor image tests, improve gps metadata stripping
* UITests: Update existing screenshots and add new step for the room attachment picker
* Switch all github action runners to macos-13
* Cleanup enter key and paste message composer handlers