-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prepare main
for 1.0.0
#13
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* chore: add project References: https://outsystemsrd.atlassian.net/browse/RMET-3421 * feat: add structure for opening a url using the browser app Create the Xcode project structure and eliminate the default structure. Add the engine structure with the 'openExternalBrowser' method and the router protocol with 'openInSafari'. This allows the library's caller to add the behaviour to whoever will be responsible for the routing (AppDelegate). Add the unit tests for the feature. References: https://outsystemsrd.atlassian.net/browse/RMET-3421 * chore: add return value to openExternalBrowser This is to indicate if the open was successful or not. Add unit test to validate unsuccessful operation. References: https://outsystemsrd.atlassian.net/browse/RMET-3421 * chore: add the xcframework build script References: https://outsystemsrd.atlassian.net/browse/RMET-3421 * chore: add docc documentation References: https://outsystemsrd.atlassian.net/browse/RMET-3421 * chore: add continuous integration This includes adding fastlane, sonarcloud and github actions configurations. This involves moving the project one folder up. References: https://outsystemsrd.atlassian.net/browse/RMET-3421 * chore: add CHANGELOG entry References: https://outsystemsrd.atlassian.net/browse/RMET-3421
* feat: add openInSystemBrowser To apply a similar logic to what was done for openInExternalBrowser, the OSIABApplicationRouterAdapter (new name) was moved into the library and created a similar structure for SFSafariViewController (OSIABSafariViewControllerRouterAdapter. Refactor to reuse as much code as possible. Add (and refactor) unit tests. References: https://outsystemsrd.atlassian.net/browse/RMET-3423 * feat: add dismissStyle enumerator This new property only applies to SystemBrowser. Add unit tests to validate the feature. References: https://outsystemsrd.atlassian.net/browse/RMET-3423 * feat: add viewStyle enumerator This new property only applies to SystemBrowser. Considering there's more than one enumerator, create a Models folder to hold 'em all. Add unit tests to validate the feature. References: https://outsystemsrd.atlassian.net/browse/RMET-3423 * feat: add animation enumerator This new property only applies to SystemBrowser. Add unit tests to validate the feature. References: https://outsystemsrd.atlassian.net/browse/RMET-3423 * feat: add enableBarsCollapsing boolean This new property only applies to SystemBrowser. Add unit tests to validate the feature. References: https://outsystemsrd.atlassian.net/browse/RMET-3423 * feat: add enableReadersMode boolean This new property only applies to SystemBrowser. Add unit tests to validate the feature. References: https://outsystemsrd.atlassian.net/browse/RMET-3423 * chore: create a Options model Organise all the different properties inside a Options model. Rearrange all the code to accommodate the change. Move options model tests to the SafariViewControllerRouterAdapter test class. References: https://outsystemsrd.atlassian.net/browse/RMET-3423 * feat: add events for SystemBrowser The events are part of the OSIABSafariViewControllerRouterAdapter class. The same applies for the OSIABSystemBrowserOptions structure, to make things clearer. Set the SFSafariViewControllerDelegate and UIAdaptivePresentationControllerDelegate delegates so that the events can be intercepted and the new events triggered. Add unit tests to validate the feature. References: https://outsystemsrd.atlassian.net/browse/RMET-3429 * chore: address Sonarcloud issues Align project structure. * chore: add docc documentation * chore: add CHANGELOG entries * chore: add PR feedback
* feat: open in web view. Add all the logic required to delegate a URL to be opened by a web view. Currently, only the WebView custom configurations are performed, nothing UI-related. Add a new Router Adapter for WebViow. The new 'OSIABOptions' manages the data that is used by both SystemBrowser and WebView. Each has a class to implement its needs. Add two SwiftUI views to display the WebView: A wrapper that manages unhappy paths and the proper view to display a browser-like experience. Add a Cache Manager protocol and implementation so that WebView can perform clearance when applicable. Add unit tests to test the feature. SonarCloud configuration is updated to exclude UI views. Add the event listener logic for Page Load and Close. Add 'CHANGELOG' entries. References: https://outsystemsrd.atlassian.net/browse/RMET-3425 References: https://outsystemsrd.atlassian.net/browse/RMET-3430 * feat: add interface customisations to webview Add the UI customisations to the WebView interface. This involves a new Navigation View to deal with shared views by the toolbars. Create two new structs for WebView configuration. Add unit tests to test the new features. The WebView also contains Previews to validate all possible UI scenarios. References: https://outsystemsrd.atlassian.net/browse/RMET-3489
This is applied to the Router's concrete implementations. To achieve this, a specific subclass was created where the 'dismiss' method is overridden to return the 'onBrowserClosed' callback. With this, previously used methods that did similar were removed (safariViewControllerDidFinish). Create method accelerators to transform OSIABWebViewOptions to OSIABWebViewConfigurationModel and OSIABWebViewUIModel. Update unit tests. References: https://outsystemsrd.atlassian.net/browse/RMET-3427
* feat: add error page for a webview https://outsystemsrd.atlassian.net/browse/RMET-3491
To reduce replication, a new 'OSIABNavigationButton' was added. Make layout direction more customisable. This involves a new 'ViewModifier'. Add docc documentation where missing.
# Conflicts: # CHANGELOG.md
* fix: swiftlint issues * chore: create scripts folder Move 'build_framework.sh' script to the new folder. * feat: create podspec References: https://outsystemsrd.atlassian.net/browse/RMET-3578 * chore: add Gemfile.lock to repo * feat: add bump_versions script Include default values for Xcode's project CURRENT_PROJECT_VERSION and MARKETING_VERSION. References: https://outsystemsrd.atlassian.net/browse/RMET-3578 * feat: new pipeline for preparing releases References: https://outsystemsrd.atlassian.net/browse/RMET-3578 * feat: new pipeline for releasing and publishing on CocoaPods This includes a script to extract the version's Release Notes. References: https://outsystemsrd.atlassian.net/browse/RMET-3578 * fix: update build_framework Include the LICENSE file in the resulting zip file. This aligns with the podspec license definition. References: https://outsystemsrd.atlassian.net/browse/RMET-3578 * chore: update README Since the plugin can now be included as a CocoaPod, update README file to show how to achieve this. References: https://outsystemsrd.atlassian.net/browse/RMET-3578 * chore: add CHANGELOG entry References: https://outsystemsrd.atlassian.net/browse/RMET-3578 * fix: add support for iOS 13 This is needed as Capacitor still supports this version of iOS. Set SWIFT_VERSION with 5.0 at project level. This guarantees that all versions that Xcode 15 supports (all until 5.9) are guaranteed while building the xcframework. The Continuous Integration pipeline is updated to use Xcode 15.0 instead of 15.1 as it's the minimum Xcode version supported by Capacitor.
OS-martacarlos
requested review from
ItsChaceD,
IT-MikeS,
alexgerardojacinto and
OS-ricardomoreirasilva
and removed request for
a team
August 14, 2024 13:54
Quality Gate passedIssues Measures |
OS-ricardomoreirasilva
approved these changes
Aug 14, 2024
alexgerardojacinto
approved these changes
Aug 14, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Merge
development
intomain
, preparing for the release of InAppBrowser.