* Correctly handle the re-opening of the main window.
Add an additional safe-guard to ensure only one main window exists.
Make sure all secondary windows use the correct tint colour.
* Fix a bug where the settings screen isn't shown on macOS when the AppLock feature is enabled.
Once the app starts the WindowManager is configured with SwiftUI's environment OpenWindowAction. It can then be used to register coordinators (that provide the toPresentable view) and an optional flow coordinator (as most of the screens are part of a flow, especially rooms).
Once a coordinator is registed, the WindowManager invokes the OpenWindowAction which in turn makes the Application call its newly introduced WindowManagerWindowType WindowGroup's block to instantiate a new visual window rooting that view.
The WindowManager is also responsible for wrapping the presentable in a disappearance block and clean up the coordinator stack.
# Conflicts:
# ElementX/Sources/Application/AppCoordinator.swift
we now check when building the string through the `AttributedStringBuilder` if a URL is actually hiding a different link, if so, we create a custom URL that contains both the external and the internal URL to advise the user through an Alert about the risk
* Introduce a `MediaEventsTimelineFlowCoordinator`
* Update SDK API and architecture
* Add a feature flag, add translations
* Move the media events timeline presentation under the room flow coordinator state machine
* Rename `TimelineViewState.timelineViewState` of type `TimelineState` to `timelineState`
* Enabled SwiftLint's `trailing_closure` rule and fix the warnings.
* 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>
* 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
* Structured logging support
* Bump the SDK, fix breaking changes
* Enabled more logging of timeline diffs
* Keep only source file last path components in logs
* Bump the SDK, tweaks following code review
* Remove status bars when running UITests
* Remove simulator OS versions from screenshot names, be less lenient with image diffing
* Rename UITests splash screen to onboarding
* Switch tests to Xcode 14.1, remove version names for used simulators and switched from iPhone 13 Pro Max to iPhone 14
* Fix ServiceLocator and fallbackLaguage for UI tests
* Drop snapshot diffing precision to 0.99 as 0.999 triggers false negatives
* Fix server selection UI tests after exposing the sliding sync proxy configuration
* Update reference screenshots