Skip to content
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

[Dependency Updates] Update androidxComposeCompilerVersion and kotlinVersion to 1.4.6 and 1.8.20 #18338

Conversation

ParaskP7
Copy link
Contributor

@ParaskP7 ParaskP7 commented Apr 28, 2023

Parent #17563
Batch Branch: deps/main-batch-androidx-compose-kotlin

This PR update androidxComposeCompilerVersion and kotlinVersion to 1.4.6 and 1.8.20 respectively.


PS: @ovitrif I added you as the main reviewer, but not so randomly (context), since I just wanted someone from the WordPress team to be aware of and sign-off on that change for WPAndroid. I also added the @wordpress-mobile/apps-infrastructure team, but this in done only for monitoring purposes, as such, I am not expecting any active review from that team. Thus, feel free to merge this PR if you deem so.


Compile Warnings Resolution List:

  1. Resolve companion object of enum class uninitialized warning

Lint Warnings Resolution List:

  1. Resolve composable naming lint warnings
  2. Resolve use support action bar lint warning

Lint Warnings Suppression List:

  1. Suppress animation set start and recycle related lint warnings

To test:

  1. See the dependency tree diff result and verify correctness.
  2. Per update:
    • Based on the Kotlin update, smoke test both, the WordPress and Jetpack apps, and see if they both work as expected.
    • Based on the Compose Compiler update, thoroughly smoke test any Compose related screens, on both, the WordPress and Jetpack apps, and see if they both work as expected.
  3. In addition to the above smoke test, you can expand the below and follow the inner and more explicitly test steps within:

Kotlin Update:

Comment Editing Screen [UnifiedCommentsEditFragment.kt + UnifiedCommentsEditViewModel.kt + FieldType]

ℹ️ This test applies to both, the Jetpack and WordPress apps.

  • Go to Comments screen.
  • Find a a posts from the list of comments and click on it.
  • Click on the More button (bottom right) and then click Edit.
  • Verify that the Edit Comment screen is shown and functioning as expected. More specifically:
    • Verify that blanking the Name entry results into a User name cannot be empty error.
    • Verify that deleting part of the Web address entry results into a Web address not valid error.
    • Verify that deleting part of the Email address entry results into a User email not valid error.
    • Verify that blanking the Comment entry results into a Comment cannot be empty error.

Compose Compiler Update:

1. Login Screen [LoginPrologueRevampedFragment.kt]

ℹ️ This test applies to both, the WordPress and Jetpack apps.

  • Log out of the app (if already logged-in).
  • Verify that the Login screen is shown and functioning as expected.
2. QR Code Auth Screen [QRCodeAuthFragment.kt]

ℹ️ This test applies to the Jetpack app.
ℹ️ You don't have to follow all 3 steps, just logging in with a non A8C and non 2FA enabled
account, followed by tapping the Scan Login Code item on the Me screen should be enough, which
is effectively just Step.1 and the beginning of Step.3.

Step.1:

  • Build and install the Jetpack app (note that you don't need a release build, a debug build will
    suffice).
  • Login to the Jetpack app with a WP.com account (note that you need to use a non A8C account
    and a non 2FA enabled account).
  • Navigate to the Me screen (click on avatar at top-right).
    (STOP)

Step.2:

  • Head over to your desktop and open a web browser (note that using an incognito tab works best).
  • Browse to wordpress.com (note that if you are logged-in, log-out first).
  • Tap the Log In link (top-right).
  • Tap the Login via the mobile app link in the list of options below the main Continue button
    (bottom-middle).
  • Verify you are on the Login via the mobile app view and Use QR Code to login is shown, along with
    a QR code for you to scan.
  • (STOP)

Step.3:

  • Head back to your mobile.
  • Tap the Scan Login Code item on the Me screen you are currently at.
  • Scan the QR code on the web browser.
  • Follow the remaining prompts on your mobile to login to WordPress on your web browser (desktop),
    verify that you have successfully logged-in and are able to use WordPress as expected.
3a. Jetpack Static Poster Screen [JetpackStaticPosterActivity.kt + JetpackStaticPosterFragment.kt]

ℹ️ This test applies to the WordPress app.

  • Go to My Site tab -> MENU sub-tab.
  • Find the Traffic section in the middle and click on its Stats option.
  • Verify that the Jetpack Static Poster screen is shown and functioning as expected, that is,
    instead of showing the Stats screen (like it is done with the Jetpack app).
3b. Jetpack Static Poster Screen [JetpackStaticPosterFragment.kt]

ℹ️ This test applies to the WordPress app.

  • Go to Reader or Notifications tab.
  • Verify that the Jetpack Static Poster screen is shown and functioning as expected, that is,
    instead of showing the Reader or Notifications screen (like it is done with the Jetpack app).
4a. Jetpack Migration Screen [JetpackMigrationFragment.kt]

ℹ️ This test applies to the Jetpack app.

  • Go to My Site tab -> HOME sub-tab.
  • Find the card on top that prompts the user to uninstall the WordPress app and click on it.
  • Verify that the Jetpack Migration screen is shown and functioning as expected.
4a. Jetpack Migration Flow [JetpackMigrationFragment.kt]

ℹ️ This test applies to the Jetpack app.

  • Install both apps.
  • Clear cache/data of the Jetpack app and restart it.
  • The migration flow should appear, verify that it is shown and functioning as expected.
5. Blaze Screen [BlazeOverlayFragment.kt + BlazeWebViewFragment.kt]

ℹ️ This test applies to the Jetpack app.

  • Go to My Site tab -> MENU sub-tab.
  • Find the Traffic section in the middle and click on its Blaze option.
  • Verify that the Blaze screen is shown and functioning as expected.
6. Blogging Prompts Screen [BloggingPromptsListActivity.kt]

ℹ️ This test applies to the Jetpack app.

  • Go to My Site tab -> HOME sub-tab.
  • Find the Prompts card on top and click on its options (top right).
  • From the options menu, select View more prompts.
  • Verify that the Blogging Prompts screen is shown and functioning as expected.
7. Individual Plugin Screen [WPJetpackIndividualPluginFragment.kt]

ℹ️ This test applies to the WordPress app.
❗️ Apply the provided individual.patch patch to quickly test this screen.

  • Go to My Site tab -> Site Picker (down-arrow).
  • Let individual.patch patch do its magic... 🪄
  • Verify that the Individual Plugin screen is shown and functioning as expected.
8a. Jetpack Full Plugin Install Screen [JetpackFullPluginInstallOnboardingDialogFragment.kt + JetpackFullPluginInstallActivity.kt]

ℹ️ This test applies to the WordPress app.
❗️ Apply the provided full.patch patch to quickly test this screen.

  • Go to My Site tab.
  • Let full.patch patch do its magic... 🪄
  • Verify that the Jetpack Full Plugin Install dialog is shown and functioning as expected.
  • Click on Install the full plugin button.
  • Verify that the Jetpack Full Plugin Install screen is shown and functioning as expected.
8b. Jetpack Install Full Plugin View [JetpackInstallFullPluginCardViewHolder.kt]

ℹ️ This test applies to the Jetpack app.
❗️ Apply the provided card.patch patch to quickly test this screen.

  • Go to Debug Settings and make sure to enable only jetpack_removal_one from all the Jetpack
    removal flags.
  • Go to My Site tab -> HOME sub-tab.
  • Let full.patch patch do its magic... 🪄
  • Find the card in the middle that prompts the user to install the full Jetpack plugin and click on
    Learn more.
  • Verify that the Jetpack Full Plugin Install screen is shown and functioning as expected.
9. Jetpack Remove Install Screen [JetpackRemoteInstallActivity.kt]

ℹ️ This test applies to the Jetpack app.

  • Spin up a self-hosted site via Jurassic Ninja with no Jetpack plugins at all.
    https://fieldguide.automattic.com/jurassic-ninja/
  • Login to the app using the credentials of the new site and then go to Stats.
  • Tap Install Jetpack button.
  • Verify that the Jetpack Remove Install screen is shown and functioning as expected.
10. Site Creation Domain View [SiteCreationDomainViewHolder.kt]
  • Go to Debug Settings and enable the SiteCreationDomainPurchasingFeatureConfig feature flag.
  • Go to Site Picker -> Click the + button -> Chose Create WordPress.com site ->
    Click the SKIP button -> And again, click the SKIP button.
  • Enter any search query in the input (eg. 'awesome').
  • Verify the list of domain suggestions is presented (the item UI is compose)
  • Verify that the Site Creation Domain view and its list is shown and functioning as expected.
11. About App Screen [com.automattic:about]

ℹ️ This test applies to both, the WordPress and Jetpack apps.
❗️ This test makes sure that the About App screen, which comes from the com.automattic:about
library is also working as expected and that any transitive dependency changes aren't affecting
this Compose related screen.

  • Go to My Site tab and navigate to the Me screen (click on avatar at top-right).
  • Tap the About App item on the Me screen you are currently at.
  • Verify that the About App screen is shown and functioning as expected.

Merge instructions


Regression Notes

  1. Potential unintended areas of impact

    • Potential breakage or misbehaviour on any or all Compose related screens, like the Login screen, the Jetpack Migration screens or the Blaze green (to name a few).
  2. What I did to test those areas of impact (or what existing automated tests I relied on)

    • See To test section above.
  3. What automated tests I added (or what prevented me from doing so)

    • N/A

PR submission checklist:

  • I have completed the Regression Notes.
  • I have considered adding accessibility improvements for my changes.
  • I have considered if this change warrants user-facing release notes and have added them to RELEASE-NOTES.txt if necessary.

UI Changes testing checklist:

  • Portrait and landscape orientations.
  • Light and dark modes.
  • Fonts: Larger, smaller and bold text.
  • High contrast.
  • Talkback.
  • Languages with large words or with letters/accents not frequently used in English.
  • Right-to-left languages. (Even if translation isn’t complete, formatting should still respect the right-to-left layout)
  • Large and small screen sizes. (Tablet and smaller phones)
  • Multi-tasking: Split screen and Pop-up view. (Android 10 or higher)

@wpmobilebot
Copy link
Contributor

wpmobilebot commented Apr 28, 2023

WordPress📲 You can test the changes from this Pull Request in WordPress by scanning the QR code below to install the corresponding build.
App NameWordPress WordPress
FlavorJalapeno
Build TypeDebug
Versionpr18338-39baa12
Commit39baa12
Direct Downloadwordpress-prototype-build-pr18338-39baa12.apk
Note: Google Login is not supported on these builds.

@wpmobilebot
Copy link
Contributor

wpmobilebot commented Apr 28, 2023

Jetpack📲 You can test the changes from this Pull Request in Jetpack by scanning the QR code below to install the corresponding build.
App NameJetpack Jetpack
FlavorJalapeno
Build TypeDebug
Versionpr18338-39baa12
Commit39baa12
Direct Downloadjetpack-prototype-build-pr18338-39baa12.apk
Note: Google Login is not supported on these builds.

ParaskP7 added 5 commits May 2, 2023 16:35
Release Notes (Compose Compiler): https://developer.android.com/
jetpack/androidx/releases/compose-compiler#1.4.6
Release Notes (Kotlin): https://github.com/
JetBrains/kotlin/releases/tag/v1.8.20
Warning Message: "Companion object of enum class 'FieldType' is
uninitialized here. This warning will become an error in future
releases. See https://youtrack.jetbrains.com/issue/KT-49110 for details"

FYI: This warning will be raised to error in Kotlin version '1.9.0'.

------------------------------------------------------------------------

Existing Behavior: "When one accesses companion object or its members of
an enum from the enum entry initializer, they can get an NPE there
because the entries of an enum are initialized before the companion
object of that enum at runtime.

Some of such code was prohibited in Kotlin 1.1 (see KT-11769), but there
are still ways to access companion from enum initializer.

Note that sometimes the code does not throw an exception, just like this
case, however it still observes an uninitialized state of a companion
property, and thus needs fixing to avoid any future misbehavior."

Proposed Changes: "It's proposed to prohibit all kinds of access to the
companion object of an enum from an enum entry initializer."

Impact: "Code like this won't compile. This is a rare case, because in
most cases such code throws NPE or acts differently than users expect,
so it should be fixed right away."

------------------------------------------------------------------------

This commit resolves this warning by creating a regular object inside
the enum itself. Initialization of nested objects is not bound to
initialization of the enum itself (in opposite to companion objects),
so it's safe to access them during initialization of enum entries.

Dmitriy Novozhilov (JetBrains): https://youtrack.jetbrains.com/issue/
KT-49110/Prohibit-access-to-members-of-companion-of-enum-class-from-
initializers-of-entries-of-this-enum#focus=Comments-27-7246774.0-0

PS: Another idea would be to extract these function to a file, but I
chose the 'regular object' idea so as to include only the bare minimum
changes here.
Warning Message: "Composable functions with a return type should start
with a lowercase letter"

Explanation: "@composable functions without a return type should use
similar naming to classes, starting with an uppercase letter and ending
with a noun. @composable functions with a return type should be treated
as normal Kotlin functions, starting with a lowercase letter."

------------------------------------------------------------------------

Renaming all composable functions with a return type to lowercase letter
fix these warnings.
Warning Message: "Use AppCompatActivity.setSupportActionBar"

Explanation: "Use AppCompatActivity.setSupportActionBar"

------------------------------------------------------------------------

Renaming 'setActionBar()' extension function to 'initActionBar()'
automatically resolves this Lint warning as the 'setActionBar(...)'
naming no longer collides with the legacy 'android.app.Activity' such,
method, which was causing Lint to report a false positive Lint warning
in the first place.
Warning Message: "This animation should be started with #start()"

Explanation: "Many resources, such as TypedArrays, VelocityTrackers,
etc., should be recycled (with a recycle() call) after use. This lint
check looks for missing recycle() calls."

------------------------------------------------------------------------

These Lint warnings are suppressed, that is, instead of them being
resolved, since a resolution would require a proper investigation and
testing. As such, it might be best to ignore this as out of scope, for
now, and so as to not introduce any breaking changes to this animation
related functionalities that are related to 'AnimatorSet'.

PS: Also the fact that the warning mentions 'start()' not being
called, while it is, but it is calling upon missing 'recycler()' call,
is a bit confusing.
@ParaskP7 ParaskP7 force-pushed the deps/update-androidx-compose-compiler-and-kotlin-to-1.4.6-and-1.8.20 branch from 59a3db1 to 39baa12 Compare May 2, 2023 13:36
@wpmobilebot
Copy link
Contributor

Found 1 violations:

The PR caused the following dependency changes:

 +--- androidx.databinding:viewbinding:7.2.1
 |    \--- androidx.annotation:annotation:1.0.0 -> 1.5.0
-|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.7.20
-|              +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.20
-|              \--- org.jetbrains:annotations:13.0
+|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.8.20
+|              +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.20
+|              \--- org.jetbrains:annotations:13.0
-+--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.20
-|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.20 (*)
-|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.20
-|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.20 (*)
++--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20
+|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.20 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20
+|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.20 (*)
 +--- project :libs:analytics
 |    +--- com.automattic:Automattic-Tracks-Android:2.2.0
-|    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.31 -> 1.7.20 (*)
+|    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.31 -> 1.8.20 (*)
 |    |    \--- io.sentry:sentry-android-okhttp -> 5.4.3
 |    |         +--- com.squareup.okhttp3:okhttp -> 4.10.0
 |    |         |    +--- com.squareup.okio:okio:3.0.0 -> 3.2.0
 |    |         |    |    \--- com.squareup.okio:okio-jvm:3.2.0
-|    |         |    |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.20 -> 1.7.20 (*)
+|    |         |    |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.20 -> 1.8.20 (*)
-|    |         |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.20 -> 1.7.20
+|    |         |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.20 -> 1.8.20
-|    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.20 -> 1.7.20 (*)
+|    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.20 -> 1.8.20 (*)
-|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.32 -> 1.7.20 (*)
+|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.32 -> 1.8.20 (*)
 |    \--- androidx.preference:preference:1.2.0
 |         +--- androidx.appcompat:appcompat:1.1.0 -> 1.4.2
 |         |    +--- androidx.activity:activity:1.2.4 -> 1.5.1
 |         |    |    +--- androidx.lifecycle:lifecycle-viewmodel:2.5.1
-|         |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
+|         |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.8.20 (*)
 |         |    |    +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1
 |         |    |    |    +--- androidx.core:core-ktx:1.2.0 -> 1.8.0
-|         |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
+|         |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.8.20 (*)
 |         |    |    |    +--- androidx.savedstate:savedstate:1.2.0
-|         |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.20 -> 1.7.20 (*)
+|         |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.20 -> 1.8.20 (*)
-|         |    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
+|         |    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.8.20 (*)
 |         |    |    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1 -> 1.6.4
 |         |    |    |         +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4
 |         |    |    |         |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4
-|         |    |    |         |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21 -> 1.7.20 (*)
+|         |    |    |         |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21 -> 1.8.20 (*)
-|         |    |    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.21 -> 1.7.20
+|         |    |    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.21 -> 1.8.20
-|         |    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21 -> 1.7.20 (*)
+|         |    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21 -> 1.8.20 (*)
-|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
+|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.8.20 (*)
 |         |    \--- androidx.fragment:fragment:1.3.6 -> 1.5.5
-|         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
+|         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.8.20 (*)
 |         +--- androidx.fragment:fragment-ktx:1.3.6 -> 1.5.5
 |         |    +--- androidx.activity:activity-ktx:1.5.1
 |         |    |    +--- androidx.lifecycle:lifecycle-runtime-ktx:2.5.1
-|         |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
+|         |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.8.20 (*)
 |         |    |    +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1
-|         |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
+|         |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.8.20 (*)
 |         |    |    +--- androidx.savedstate:savedstate-ktx:1.2.0
-|         |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.20 -> 1.7.20 (*)
+|         |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.20 -> 1.8.20 (*)
-|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
+|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.8.20 (*)
 |         |    +--- androidx.collection:collection-ktx:1.1.0
-|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.20 -> 1.7.20 (*)
+|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.20 -> 1.8.20 (*)
 |         |    +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.5.1
-|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
+|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.8.20 (*)
-|         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
+|         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.8.20 (*)
 |         +--- androidx.recyclerview:recyclerview:1.0.0 -> 1.3.0
 |         |    \--- androidx.customview:customview-poolingcontainer:1.0.0
-|         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
+|         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.8.20 (*)
 |         \--- androidx.slidingpanelayout:slidingpanelayout:1.2.0
 |              \--- androidx.window:window:1.0.0
-|                   \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.7.20 (*)
+|                   \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.8.20 (*)
 +--- project :libs:image-editor
-|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.20 (*)
+|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20 (*)
 |    +--- androidx.navigation:navigation-fragment:2.4.2
 |    |    +--- androidx.navigation:navigation-runtime:2.4.2
 |    |    |    +--- androidx.navigation:navigation-common:2.4.2
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.7.20 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.8.20 (*)
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.7.20 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.8.20 (*)
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.7.20 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.8.20 (*)
-|    \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.7.20
-|         +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.20 (*)
-|         \--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.7.20
-|              \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.20 (*)
+|    \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.8.20
+|         +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.20 (*)
+|         \--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.8.20
+|              \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.20 (*)
 +--- project :libs:editor
 |    +--- org.wordpress:aztec:{strictly v1.6.3} -> v1.6.3
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.20 (*)
 |    +--- org.wordpress.aztec:wordpress-shortcodes:{strictly v1.6.3} -> v1.6.3
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.20 (*)
 |    +--- org.wordpress.aztec:wordpress-comments:{strictly v1.6.3} -> v1.6.3
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.20 (*)
-|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.20 (*)
+|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20 (*)
 |    +--- org.wordpress-mobile.gutenberg-mobile:react-native-gutenberg-bridge:v1.94.0
 |    |    +--- com.github.wordpress-mobile:react-native-gesture-handler:2.3.2-wp-2
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.20 -> 1.7.20 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.20 -> 1.8.20 (*)
 |    |    +--- org.wordpress-mobile.react-native-libraries.v1:react-native-webview:11.6.2
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.10 -> 1.7.20 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.10 -> 1.8.20 (*)
 |    |    +--- org.wordpress-mobile.gutenberg-mobile:react-native-aztec:v1.94.0
 |    |    |    +--- org.wordpress.aztec:glide-loader:v1.6.3
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.20 (*)
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.32 -> 1.7.20 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.32 -> 1.8.20 (*)
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.32 -> 1.7.20 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.32 -> 1.8.20 (*)
-|    \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.7.20 (*)
+|    \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.8.20 (*)
 +--- org.wordpress:fluxc:{strictly 2.26.0} -> 2.26.0
-|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
+|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.20 (*)
-|    +--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.6.10 -> 1.7.20 (*)
+|    +--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.6.10 -> 1.8.20 (*)
 |    +--- com.squareup.okhttp3:okhttp-urlconnection:4.9.0 -> 4.9.2
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10 -> 1.7.20 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10 -> 1.8.20 (*)
 |    \--- androidx.room:room-ktx:2.4.2
-|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.7.20 (*)
+|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.8.20 (*)
 +--- org.wordpress:utils:{strictly 3.6.1} -> 3.6.1
-|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10 -> 1.7.20 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10 -> 1.8.20 (*)
 +--- org.wordpress:login:1.3.0
-|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.20 (*)
 +--- com.automattic:about:1.1.0
-|    +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.5.31 -> 1.7.20 (*)
+|    +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.5.31 -> 1.8.20 (*)
-|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31 -> 1.7.20 (*)
+|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31 -> 1.8.20 (*)
 |    +--- androidx.compose.ui:ui:1.0.5 -> 1.3.3
 |    |    +--- androidx.compose.runtime:runtime:1.3.3
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.7.20 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.8.20 (*)
 |    |    +--- androidx.compose.runtime:runtime-saveable:1.3.3
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.7.20 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.8.20 (*)
 |    |    +--- androidx.compose.ui:ui-geometry:1.3.3
 |    |    |    +--- androidx.compose.ui:ui-util:1.3.3
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.7.20 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.8.20 (*)
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.7.20 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.8.20 (*)
 |    |    +--- androidx.compose.ui:ui-graphics:1.3.3
 |    |    |    +--- androidx.compose.ui:ui-unit:1.3.3
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.7.20 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.8.20 (*)
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10 -> 1.7.20
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10 -> 1.8.20
 |    |    +--- androidx.compose.ui:ui-text:1.3.3
-|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.7.20 (*)
+|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.8.20 (*)
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10 -> 1.7.20
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10 -> 1.8.20
-|    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.7.20 (*)
+|    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.8.20 (*)
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10 -> 1.7.20
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10 -> 1.8.20
 |    +--- androidx.compose.ui:ui-tooling:1.0.5 -> 1.3.3
 |    |    +--- androidx.activity:activity-compose:1.3.0 -> 1.3.1
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.21 -> 1.7.20 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.21 -> 1.8.20 (*)
 |    |    +--- androidx.compose.animation:animation:1.3.3
 |    |    |    +--- androidx.compose.animation:animation-core:1.3.3
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.7.20 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.8.20 (*)
 |    |    |    +--- androidx.compose.foundation:foundation-layout:1.0.0 -> 1.3.1
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10 -> 1.7.20
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10 -> 1.8.20
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10 -> 1.7.20
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10 -> 1.8.20
 |    |    +--- androidx.compose.material:material:1.0.0 -> 1.3.1
 |    |    |    +--- androidx.compose.foundation:foundation:1.2.0 -> 1.3.1
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10 -> 1.7.20
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10 -> 1.8.20
 |    |    |    +--- androidx.compose.material:material-icons-core:1.3.1
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.7.20 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.8.20 (*)
 |    |    |    +--- androidx.compose.material:material-ripple:1.3.1
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10 -> 1.7.20
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10 -> 1.8.20
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10 -> 1.7.20
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10 -> 1.8.20
 |    |    +--- androidx.compose.ui:ui-tooling-data:1.3.3
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.7.20 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.8.20 (*)
 |    |    +--- androidx.compose.ui:ui-tooling-preview:1.3.3
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.7.20 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.8.20 (*)
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.7.20 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.8.20 (*)
 |    +--- androidx.navigation:navigation-compose:2.4.0-beta02
 |    |    +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.4.0-rc01 -> 2.5.1
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.8.20 (*)
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.31 -> 1.7.20 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.31 -> 1.8.20 (*)
 |    \--- com.google.android.material:compose-theme-adapter:1.1.1
-|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.7.20 (*)
+|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.8.20 (*)
 +--- com.automattic:stories:2.1.0
-|    +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.4.20 -> 1.7.20 (*)
+|    +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.4.20 -> 1.8.20 (*)
-|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.20 -> 1.7.20 (*)
+|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.20 -> 1.8.20 (*)
 |    +--- org.jetbrains.kotlinx:kotlinx-serialization-runtime:1.0-M1-1.4.0-rc
 |    |    \--- org.jetbrains.kotlinx:kotlinx-serialization-runtime-jvm:1.0-M1-1.4.0-rc
-|    |         +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.0-rc -> 1.7.20 (*)
+|    |         +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.0-rc -> 1.8.20 (*)
-|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.4.0-rc -> 1.7.20
+|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.4.0-rc -> 1.8.20
 |    +--- org.jetbrains.kotlin:kotlin-reflect:1.4.20
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.20 -> 1.7.20 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.20 -> 1.8.20 (*)
 |    +--- com.automattic.stories:photoeditor:2.1.0
-|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.20 -> 1.7.20 (*)
+|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.20 -> 1.8.20 (*)
 |    |    \--- com.automattic.stories:mp4compose:2.1.0
-|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.20 -> 1.7.20 (*)
+|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.20 -> 1.8.20 (*)
 |    \--- androidx.lifecycle:lifecycle-livedata-ktx:2.2.0 -> 2.5.1
-|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
+|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.8.20 (*)
 +--- com.google.android.flexbox:flexbox:3.0.0
-|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.32 -> 1.7.20 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.32 -> 1.8.20 (*)
 +--- androidx.work:work-runtime-ktx:2.7.1
-|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.30 -> 1.7.20 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.30 -> 1.8.20 (*)
 +--- com.zendesk:support:5.1.1
 |    +--- com.zendesk:support-providers:5.1.1
 |    |    +--- com.zendesk:core:4.0.9
 |    |    |    +--- com.zendesk:java-common:2.0.0
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.32 -> 1.7.20 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.32 -> 1.8.20 (*)
-|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
+|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.20 (*)
 |    |    |    \--- com.squareup.okhttp3:logging-interceptor:4.9.2
-|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10 -> 1.7.20 (*)
+|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10 -> 1.8.20 (*)
 |    |    +--- com.zendesk:guide-providers:1.0.9
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.20 (*)
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.20 (*)
 |    +--- com.zendesk:guide:1.0.9
 |    |    +--- com.zendesk:sdk-configurations:2.0.3
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.20 (*)
 |    |    +--- com.zendesk:messaging-api:5.2.5
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.20 (*)
 |    |    +--- com.zendesk:messaging:5.2.5
-|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
+|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.20 (*)
 |    |    |    \--- com.zendesk:common-ui:4.0.5
-|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
+|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.20 (*)
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.20 (*)
-|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.20 (*)
 +--- com.google.dagger:hilt-android:2.45
-|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.0 -> 1.7.20 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.0 -> 1.8.20 (*)
 +--- androidx.compose.runtime:runtime-livedata -> 1.3.3
-|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.7.20 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 1.8.20 (*)
 +--- androidx.constraintlayout:constraintlayout-compose:1.0.1
-|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.10 -> 1.7.20 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.10 -> 1.8.20 (*)
 +--- io.coil-kt:coil-compose:2.2.2
 |    \--- io.coil-kt:coil-compose-base:2.2.2
 |         \--- io.coil-kt:coil-base:2.2.2
-|              \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10 -> 1.7.20 (*)
+|              \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10 -> 1.8.20 (*)
 +--- com.airbnb.android:lottie-compose:5.2.0
-|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.8.20 (*)
-\--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.7.20 (*)
+\--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.8.20 (*)

Please review and act accordingly

Copy link
Contributor

@ovitrif ovitrif left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, works like a charm ❤️

Thanks for all this hard work @ParaskP7 🏅 🙇🏻

:shipit:

@ovitrif ovitrif merged commit 261ffad into deps/update-dagger-to-2.45 May 2, 2023
@ovitrif ovitrif deleted the deps/update-androidx-compose-compiler-and-kotlin-to-1.4.6-and-1.8.20 branch May 2, 2023 15:17
@ParaskP7
Copy link
Contributor Author

ParaskP7 commented May 3, 2023

Awesome @ovitrif , thanks so much for reviewing, testing and merging this, you rock! 🪨 ❤️ 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants