* WIP, added support for receiver id and managed a way to store the app router state
* WIP, added support for receiver id and managed a way to store the app router state
* Notification Manager is now becoming the UNUserNotificationDelegate ASAP
* code improvements + changelog
* fixed Unit Tests
* pr suggestions
* Notifications Enabled with default static text
notifications enabled with default static text
code improvement
added the share key
* added the changelog
* notification ID is added to the json only if it exists
* renamed Bundle.mainApp to app and updated the strings from localazy
* made a struct for the APNSPayload
* APNS Payload fix
* Fixed the issue, added tests and italian translation
* changelog
* improved translation handling code and added more tests
* Update UnitTests/Sources/LocalizationTests.swift
Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
---------
Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
* Basic implementation completed but it requires some bug fixing and polishing (+4 squashed commits)
Squashed commits:
[43f0064e] now the content of the room details reflects the expected dm details content when the conditions are met
[fe6f2b5e] replaced existing headers with a composable and reusable HeaderView
[3c00120a] now the members are fetched every time the room is opened
[421d539b] refactored the members fetching to be immediate in case the room could be a direct chat
* polished the code and fixed some bugs that prevented the updated state of the members to be displayed in the room details view (+1 squashed commit)
Squashed commits:
[6bf98473] fix for the button not being destructive in room details screen
* removed copy button and updated copy
* moved a file and renamed header view
* addressed all PR comments
* sdk bump
* UI tests
* unit tests
* changelog
* updated mocks
* removed a duplicated signature in a mock
- room composer contextual menu for selecting source
- coordinator for presenting the different sources
- system picker handling and URL passback
- file preview after selection
- feature flag
* Update snapshots.
* Fix timeline grouping and UI tests.
* Remove German UI tests with double-length pseudolanguage.
Avoids tests breaking when translations are updated.
* generated files
* Revert "generated files"
This reverts commit f62c1dbcd9e505083ad4ff17532e2c054e253187.
* renaming files to RoomMembersList
* completed the renaming of the list files
* added generated files
* basic setup of the view and the mock
* added a new mock with a avatar
* share/copy link
* copyUserLink implemented
* removed unimplemented tests
* block user UI
* navigation to room member details added
* implemented but we require a sync from the Rust side
* adjusted some UI test screens
* alert for unblocking
* completed
* some tests
* changelog
* ignore user ui enabled
* loader inside the button when the request is fetching
* removed unused code
* blocking the button while loading
* improved the code
* changelog
* UI tests
* unit tests
* added collection concurrency kit
* Revert "added collection concurrency kit"
This reverts commit 499fbe129f73a75e903d9f4952fe2ad672930f04.
* replaced the asyncMap with a @MainActor builder function
* pr comments
* added localazy to setup
* sdk bump to 1.0.49
* generated files
* Revert "generated files"
This reverts commit f62c1dbcd9e505083ad4ff17532e2c054e253187.
* renaming files to RoomMembersList
* completed the renaming of the list files
* added generated files
* basic setup of the view and the mock
* added a new mock with a avatar
* share/copy link
* copyUserLink implemented
* removed unimplemented tests
* block user UI
* navigation to room member details added
* implemented but we require a sync from the Rust side
* adjusted some UI test screens
* alert for unblocking
* completed
* some tests
* changelog
* some unit tests
* improved the tests
* removed unused comment
* Update ElementX/Sources/Services/Room/RoomProxy.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* optional displayName
* removing toggle
* removed cancel title
* Update UnitTests/Sources/RoomMemberDetailsViewModelTests.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* removing Group
* pr suggestion
* better naming
* removed capitalizingFirstLetter
* Update ElementX/Sources/Other/Extensions/Alert.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* trailing closure
* removed useless catch clause
* naming conformed to ignore
---------
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* add start chat flow with UI
* add feature flag for start chat
* add changelog
* fix naming and tests
* fix empty display name in user cell
* Update ElementX/Sources/Application/AppSettings.swift
Co-authored-by: Alfonso Grillo <alfogrillo@element.io>
* add screenshots from UI test
* fix swiftFormat and add identifiers
* fix warnings
* add the create or open already existing direct room feature
* add changelog
* add UserProfile object, add loading indicator in start chat flow
* fix test
* add new section for user profile in start chat
* fix duplicates input on search bar
* Update ElementX/Sources/Services/Client/ClientProxy.swift
Co-authored-by: Alfonso Grillo <alfogrillo@element.io>
* Update ElementX/Sources/Services/Client/ClientProxy.swift
Co-authored-by: Alfonso Grillo <alfogrillo@element.io>
---------
Co-authored-by: Alfonso Grillo <alfogrillo@element.io>
* created the row in the view and the alert, and added the new function to the RoomProxy
* fixed an issue with the alert function
* handling the navigation
* fixed a bug with the detail coordinators being dismissed incorrectly when inside a stack
* implementation completed
* replaced UI screenshots
* added a test for the fixed bug of the coordinators
* trying to increase the wait time for the expectation
* improved the test
* improved the buttons UI
* uploading artifacts for unit tests
* added result bundle true
* improved the tests
* added a new test
* pr suggestions
* updating mock
* PR suggestions
* improved tests
* fixed UI tests
* pr should be ready now
* removed testing code
* reduced complexity
* fixed test
* added a an assert to the new test case
* more tests and messages cases
* pr comments addressed
* completed
* updated set_pusher function from the SDK
* this fixes a crash and allows for the navigation to work by using the threadIdentifier of the notification
* adding NCE target
* project setup completed with xcodegen
* no need for those ugly storyboards
* code improvement
* removing unused outlet
* mocks generated with the comment instead of the marker protocol
* updated stencil
* fixed unit tests
* updated swiftformat
* pr comments
* add start chat flow with UI
* add feature flag for start chat
* add changelog
* fix naming and tests
* fix empty display name in user cell
* Update ElementX/Sources/Application/AppSettings.swift
Co-authored-by: Alfonso Grillo <alfogrillo@element.io>
* add screenshots from UI test
* fix swiftFormat and add identifiers
* fix warnings
---------
Co-authored-by: Alfonso Grillo <alfogrillo@element.io>
* loading a cached avatar at first, and then actually doing the request so that the avatar can still be displayed without connection
* improved the code
* fix + changelog
* policy on how to fetch the avatar url added
* code improvements
* addressed al PR comments
* improved the error handling
* improved the async task code
* fixed a typo
* fixed another typo
* work in progress, was able to generate a mock for the RoomProxyProtocol, I'll try if I can swap the mock we have with this one
* removing swiftformat from generated
* added the disable of swiftlint directly into the .stencil
* testing if danger still complains
* improved the stencil
* session verification controller proxy using auto mockable
* BugReport mocks and tests added
* changelog
* fixing a typo
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* fix typo in the test
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* removing the Protocol word from the type if present
* using extension in place of a subclass
* removed unused imports
* improved the yielding code
* moved Sourcery files
* stencil master
---------
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* Remove isSoftLogout from everywhere except the client delegate
- bump the RustSDK to v1.0.43
- cleanup the app coordinator state machine and login/logout flows
* Merge `succeededSigningIn` and `succeededRestoringSession` into `createdUserSession` in order to simplify the logic
* created the empty files
* set up the view content
* connected the Room Coordinator to the ReportContent Coordinator
* added the loading indicators and the dismiss behaviour
* almost completed but I need to display the success indicator when the report is sent succesfully
* completed
* added an untranslated string
* tests
* Update ElementX/Sources/Screens/RoomScreen/RoomScreenCoordinator.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* Update ElementX/Sources/Screens/ReportContent/View/ReportContentScreen.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* pr comment
* pr suggestion
* removing unused identifiers
* fixing compilation error
* added a form text editor view
* changelog
---------
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
Squashed commits:
[42e45fc] Even more tweaks following code review
[5dcd5be] Add swift-algoritms and switch bubbling detection to its `chunked` method
[4ac70ed] Move the groupBy implementation to Collection instead of Array
[6aeffc3] Tweaks following code review
[0ca5ac2] Bubbles working again, grouping computed closer to the UI level
[3a66030] Refactor how timeline items are built in the RoomTimelineController
[57d51e9] Remove grouping from timeline items
[8608950] Remove the RoomTimelineViewFactory, update the GroupRoomTimelineView
[9e52e61] Add array grouping extension, unit tests and switched the timeline controller to it
[7d213a1] First attempt
[90bb1d7] Remove now unused `RoomTimelineController` `updatedTimelineItem` calback
* Fix navigationStackCoordinator getting torn down when being reset on the navigationSplitCoordinator, added unit tests for it
* Guard against using the same coordinator more than once
* 127 Attach Screenshot in Bug Report Screen
* #127 code improvement
* #127 Code improvements, and changed the loading... label to sending...
* using a statically defined identifier for the new defined ui element
* added the RowLabelStyle and improved the design of the view
* code improvement
* code improvement
* making alignment private
* synthesised init
* Deleted project file
* Add back SPM Package.resolved + .gitignore
* Generate project file on release builds
* Converge on single CI setup scripts within `ci_scripts/ci_common.sh`
* Fix unit tests
* Use new `ci_common/setup_github_actions_environment` setup script on all workflows
* Move lfs validation check to the pre-commit hooks. Remove validate-lfs github actions workflow
* Fix integration tests workflow
* Tweaks following code review
* created a progress tracker class and passed it in the user notification to be observed by the progress view
* improved the publishing by dispatching it on RunLoop.main
* bug report struct created and progress tracker class moved into the Other folder
* some swiftlint adjustments
* fixed tests
* fixed another test BugReportServiceTests
* changelog 495 - change
* added a mock preview
* fixing some linting suggestions
* no need to use KVO, achieve the same result using a publisher
* some refactors to address PR comments
* some code improvements
* fixed the issue that prevented the avatar of the room to be displayed in the mocks, and updated the tests
* Revert "fixed the issue that prevented the avatar of the room to be displayed in the mocks, and updated the tests"
This reverts commit 113d6091d91a3aac1f9a59ff6c5e07610ed59859.
* Automatic discovery of the sliding sync proxy.
* Handle homeserver detection from a MXID.
* Update sliding sync info link, SDK and bump patch.
Add a migration on the new version. The change in restoration token format requires the user to sign in again, but this will fail with the existing device ID.
* Pass full attributed string to TimelineItems and let the UI level handle blockquote coalescing
* Add permalink detection and attribute embedding within the attributed string
- Decryption banner on the timeline
- Bubble colours
- Background insets
- Multiline composer corner radius
- Read marker
- GIF indicator
- Reactions shape
- Use RoomTimelineViewLabelStyle everywhere possible
- Only set a line limit on reply quotes, allow all the lines for regular quotes.
- Message label icons
- Yes/No button casing
- Make sender profiles immutable.
- Enable copy link and invite buttons.
- Fix layout loop detecting multiline composer text.
- Add animation to the encryption banner.