* provider can now check the current session
* More testable code
* created the test condition
* it works but not always not sure why, need to dig deeper
* sadly we need to use textkit 1 to solve this issue
* removed developer option screen test
* this experimental solution kinda works but I need a way to pill recomputation is weird
* format
* display improvement
* better and faster solution
* pilished the code
* better coloring
* swift format
* just need to solve the caching issue
* fix caching issue
* tests done!
* changelog
* pr comments addressed
* all pr comments addressed
* docs
* line lenght
* updated tests and fixed a parsing permalink issue
* MentionBuilder
* pr comments
* swiftformat
* code blocks should not have links
* Update ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* Update ElementX/Sources/Services/Client/ClientProxy.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* Update UnitTests/Sources/AttributedStringBuilderTests.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* Update ElementX/Sources/UITests/UITestsAppCoordinator.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* Update ElementX/Sources/Other/Pills/PillAttachmentViewProvider.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* Update ElementX/Sources/Other/Pills/MentionBuilder.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* pr comments
* swiftformat
---------
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* Fix flakey emoji provider tests
* Fix flakey RoomScreenViewModel tests
* Fix flakey HomeScreenViewModel tests
* Fix flakey RoomMemberListScreen tests, problem with bindings getting overriden and deferFulfillment cancellable not getting stored
* Fix flakey RoomNotificationSettingsScreen tests and crashes
* Fix flakey RoomMemberDetailsScreen tests
* Deprecate old `deferFulfillment` and `nextViewState` methods
* Convert more files to the new `deferFulfillment`
* Converted the rest of the tests to the new deferFulfillment
* Removed now unused `nextViewState` and `deferFulfillment`
* Remove automatic retries from unit tests
* Reset analytics flag after running unit tests
* Address PR comments
* Introduce a new `deferFulfillment(publisher, keyPath, transitionValues)` method and use it where appropiate
* xcode ready solution
* now the previews won't fail but get generated
* delay in some screens that require a waiting state (the bloom does not work in previews)
* better code
* longer delay
removed and redone lfs
readded as lfs
* prefire basic implementation
force the unit tests to run on iPhone 14
skipping plugin validation
archive artifacts
better workflow
removed the OS restriction
lfs
custom stencil
new test file
deleting
* git lfs
* lfs
* test
* customised the stencil to support our internal protocol
* for now we can remove the OS check from the stencil
* added a delay
* tests have been moved
* improvement
* recommit
* perceptual precision lowered
* updated snapshot testing and selected also iOS version
* added ios version control
* 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>
* #750 - Convert the SoftLogoutScreen to combine
* #750 - Convert the UserSessionFlowCoordinator to Combine
* #750 - Convert the AnalyticsPromptScreen to Combine
* #750 - Convert the LoginScreen to Combine
* #750 - Convert the ServerSelectionScreen to Combine
* #750 - Convert the EmojiPickerScreen to Combine
* #750 - Convert the HomeScreen to Combine
* #750 - Convert the MediaUploadPreviewScreen to Combine
* #750 - Convert the OnboardingScreen to Combine
* Rename `Onboarding` to `OnboardingScreen`
* #750 - Convert the ReportContentScreen to Combine
* #750 - Convert the RoomDetailsSscreen to Combine
* #750 - Convert the RoomMemberDetailsScreen to Combine
* #750 - Convert the RoomMembersListScreen to Combine
* #750 - Convert the SessionVerificationScreen to Combine
* #750 - Convert the SettingsScreen to Combine
* #750 - Convert the AdvancedSettingsScreen to Combine
* #750 - Convert the DeveloperOptionsScreen to Combine
* Fix the unit tests
* Use .sink action and the same cancellables constructor everywhere
* Cleanup cancellables when setting up tests
* Extract notification content building outside of the NotificationItemProxy. First step in a bigger refactoring of the NSE
* Import the attributed string buider into the NSE, sort `sources` imports
* Extract message event string building into the RoomMessageEventStringBuilder and reuse it building content for push notifications
* Cleanup
* Add changelog
* Remove swift-url-routing and replace it with a custom implementation. It fails parsing the fragments in app.element.io links and it doesn't bring any value
* Add handling for opening generic element call links
* Add applinks support for call.element.io
* Enable VoIP and Audio playback background modes
* Allow using custom tracing configuration from the developer options screen. Clean up RustTracing
* Move log level configurations to a separate view
* Disable autocorrection
* Fix unit tests
* Use TracingConfiguration.info as the default text value, switch to a TextEditor
* Initial integration of RTE
* Fix `clipped`, `focused` and composer view type
* Remove horizontal padding
* Add `ComposerToolbar` mock
* Restore `composerFocusedSubject`
* Allow using HTML from RTE on message sent
* Fix new message content API
* Add feature flag for Rich Text Editor
* MessageText component
* swiftformat
* fix swift format being a bit crazy
* link tapping support
* new test + fix for font + dynamic support
* fix for blockquote issue.
* code improvement
* small code improvement and fixed tests not working due to weird swiftformat behaviour
* fix boost emoji
* updated swiftformat
* better testing
* UI tests updated
* fixing the issue with the cache overriding the size category changes
* whitespaces
* appropriate color + better info plist parsing
* cleaned the code and fixed links
* tapping link fixes
* list bug fix
* ui tests regenerated
* 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