Skip to content

Conversation

@ParaskP7
Copy link
Contributor

@ParaskP7 ParaskP7 commented Apr 21, 2023

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

This PR update androidxComposeCompilerVersion and kotlinVersion to 1.3.2 and 1.7.20 respectively.


Note that the latest 1.4.6 update of androidxComposeCompilerVersion and 1.8.20 of kotlinVersion has been decided to be done at a later point in time in order to avoid jumping 3 major versions, all at once (see comment).


PS: @ovitrif I added you as the main reviewer, but not so randomly, 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.


FYI: For me to come down with the below testing instructions I first analysed the current state of AndroidX Compose in the codebase, identified all moving parts (🤞) and then, based on that graph (see below) I started pin-pointing and testing the relevant screens in order to get as much confident as possible that this update isn't breaking anything obvious.

PS.1: The [X] you would see next to some classes correspond to the number presented on the more explicit Compose Compiler Update related testing instruction below.

PS.2 I didn't test each specific compose related components as those, most probably (🤞), will be tested as part of testing the whole Compose related screens that are using those, thus you are seeing an asterisk (*) next to those, where I omit any files within.

Current State of Compose: Graph [Per Source Set]
  • Main:
    • Core
      • WordPress/src/main/java/org/wordpress/android
        • ui/compose/*
        • util/extensions/ActivityExtensions
    • Features:
      • WordPress/src/main/java/org/wordpress/android/ui
        • blaze/ui/blazeoverlay
          • BlazeOverlayFragment [5]
          • BlazeWebViewFragment [5]
        • bloggingprompts
          • BloggingPromptsListActivity [6]
          • compose/*
        • jetpackoverlay
          • JetpackStaticPosterActivity [3]
          • individualplugin
            • WPJetpackIndividualPluginFragment [7]
            • compose/*
        • jetpackplugininstall
          • fullplugin
            • install
              • JetpackFullPluginInstallActivity [8]
            • onboarding
              • JetpackFullPluginInstallOnboardingDialogFragment [8]
              • compose/*
          • install
            • compose/*
          • remoteplugin
            • JetpackRemoteInstallActivity [9]
        • main/jetpack
          • migration
            • JetpackMigrationFragment [4]
            • compose/*
          • staticposter
            • JetpackStaticPosterFragment [3]
            • compose/*
        • mysite/cards/jpfullplugininstall
          • JetpackInstallFullPluginCardViewHolder [8]
        • qrcodeauth
          • QRCodeAuthFragment [2]
          • compose/*
        • sitecreation/domains
          • SiteCreationDomainViewHolder [10]
          • compose/*
  • WordPress:
    • Core:
      • WordPress/src/wordpress/java/org/wordpress/android/ui
        • compose/*
    • Features:
      • WordPress/src/wordpress/java/org/wordpress/android/ui/accounts/login
        • LoginPrologueRevampedFragment [1]
        • components/*
  • Jetpack:
    • Core
      • N/A
    • Features:
      • WordPress/src/jetpack/java/org/wordpress/android/ui/accounts/login/
        • LoginPrologueRevampedFragment [1]
        • components/*

I wanted to be thorough with the testing instructions here as I want to base all the subsequent such Compose updates on this template, which I will then copy-paste on all other such PRs, without redoing this test related documentation step.

Thus, it would be helpful if we get this right now, enhance it with whatever I might have missed, like a testing instruction here-and-there, which I don't know how to (quickly) complete, and then take all that as the source of truth (or at least the basis) for all other such Compose update, even future ones. All and every help I'll get from you here are VERY welcome! 🙏 ❤️ 🙇


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:

Reader Post Detail Screen [ReaderPostDetailFragment.kt]

ℹ️ You would need to find a post that is private atomic and requiring cookie refresh.
❓ Unfortunately, I am not sure how to do that.

  • Go to Reader tab -> DISCOVER sub-tab.
  • Tab on a post to get to its post details screen.
  • Verify that the Post Detail screen is shown and functioning as expected.

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).
4. 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.
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]

❓️ Not sure how to best and quickly test this, let me know if you have an idea.

  • TODO
  • TODO
  • TODO
8. Jetpack Full Plugin Install Screen [JetpackFullPluginInstallOnboardingDialogFragment.kt + JetpackFullPluginInstallActivity.kt + JetpackInstallFullPluginCardViewHolder.kt]

❓️ Not sure how to best and quickly test this, let me know if you have an idea.

  • TODO
  • TODO
  • TODO
9. Jetpack Remove Install Screen [JetpackRemoteInstallActivity.kt]

❓️ Not sure how to best and quickly test this, let me know if you have an idea.

  • TODO
  • TODO
  • TODO
10. Site Creation Domain Screen [SiteCreationDomainViewHolder.kt]

❗️ Not sure if it is worth testing this, but I am leaving it here just in case as I am seeing this
this Compose related DisposeOnViewTreeLifecycleDestroyed import that related to this
Remove this for Compose 1.2.0-beta02+ and RecyclerView 1.3.0-alpha02+ TODO comment.
❓ Maybe it is worth testing this with the RecyclerView 1.3.1 update later on and by the end of
updating Compose/Kotlin and all its related libraries (see description).
#17563

  • TODO
  • TODO
  • TODO

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)

Release Notes (Compose Compiler): https://developer.android.com/
jetpack/androidx/releases/compose-compiler#1.3.2
Release Notes (Kotlin): https://github.com/
JetBrains/kotlin/releases/tag/v1.7.20
Warning Message: "This label is now resolved to
'class ReaderPostDetailFragment' but soon it will be resolved to the
closest 'function showPostInWebView extension receiver'. Please consider
introducing or changing explicit label name"
Warning Message: "Actual value of parameter 'refreshing' is always
'false'"

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

Currently 'setRefreshing(false)' is used twice and 'setRefreshing(true)'
is never used, but this doesn't mean it will not be used in the future,
or wasn't used in the past. As such, keeping this method signature and
suppressing this warning for the time being seems to be the better
approach here.
Explanation: "This deprecation overrides deprecated member but not
marked as deprecated itself. This deprecation won't be inherited in
future releases. Please add @deprecated or suppress.
See https://youtrack.jetbrains.com/issue/KT-47902 for details."

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

After running the Kotlin migration analysis these warnings appeared on
the IDE's dashboard. Those are now suppress instead of having them
producing a "light" IDE warning. This is done just so those warnings
disappear at the IDE level, and also, so that those become more visible,
code-wise, by being visually suppressed.
@wpmobilebot
Copy link
Contributor

Found 1 violations:

The PR caused the following dependency changes:

-+--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.6.21
-|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21
-|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.21
-|    |    \--- org.jetbrains:annotations:13.0
-|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.21
-|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 (*)
++--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.20
+|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.20
+|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.20
+|    |    \--- org.jetbrains:annotations:13.0
+|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.20
+|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.20 (*)
 +--- project :libs:analytics
 |    +--- com.automattic:Automattic-Tracks-Android:2.2.0
-|    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.31 -> 1.6.21 (*)
+|    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.31 -> 1.7.20 (*)
 |    |    \--- io.sentry:sentry-android-okhttp -> 5.4.3
 |    |         +--- com.squareup.okhttp3:okhttp -> 4.9.2
 |    |         |    +--- com.squareup.okio:okio:2.8.0 -> 2.10.0
-|    |         |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.20 -> 1.6.21 (*)
+|    |         |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.20 -> 1.7.20 (*)
-|    |         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.4.20 -> 1.6.21
+|    |         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.4.20 -> 1.7.20
-|    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.10 -> 1.6.21 (*)
+|    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.10 -> 1.7.20 (*)
-|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.32 -> 1.6.21 (*)
+|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.32 -> 1.7.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 (*)
+|         |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.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 (*)
+|         |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
 |         |    |    |    +--- androidx.savedstate:savedstate:1.2.0
-|         |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.20 -> 1.6.21 (*)
+|         |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.20 -> 1.7.20 (*)
-|         |    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 (*)
+|         |    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.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 (*)
+|         |    |    |         |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21 -> 1.7.20 (*)
-|         |    |    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.21
+|         |    |    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.21 -> 1.7.20
-|         |    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21 (*)
+|         |    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21 -> 1.7.20 (*)
-|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 (*)
+|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
 |         |    \--- androidx.fragment:fragment:1.3.6 -> 1.5.5
-|         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 (*)
+|         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.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 (*)
+|         |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
 |         |    |    +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1
-|         |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 (*)
+|         |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
 |         |    |    +--- androidx.savedstate:savedstate-ktx:1.2.0
-|         |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.20 -> 1.6.21 (*)
+|         |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.20 -> 1.7.20 (*)
-|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 (*)
+|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
 |         |    +--- androidx.collection:collection-ktx:1.1.0
-|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.20 -> 1.6.21 (*)
+|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.20 -> 1.7.20 (*)
 |         |    +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.5.1
-|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 (*)
+|         |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
-|         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 (*)
+|         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
 |         \--- androidx.slidingpanelayout:slidingpanelayout:1.2.0
 |              \--- androidx.window:window:1.0.0
-|                   \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.6.21 (*)
+|                   \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.7.20 (*)
 +--- project :libs:image-editor
-|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.6.21 (*)
+|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.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.6.21 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.7.20 (*)
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.6.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.7.20 (*)
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.6.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.7.20 (*)
-|    \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.6.10
-|         +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.6.21 (*)
-|         \--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.6.10
-|              \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.6.21 (*)
+|    \--- 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 (*)
 +--- project :libs:editor
 |    +--- org.wordpress:aztec:{strictly v1.6.3} -> v1.6.3
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.6.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
 |    +--- org.wordpress.aztec:wordpress-shortcodes:{strictly v1.6.3} -> v1.6.3
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.6.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
 |    +--- org.wordpress.aztec:wordpress-comments:{strictly v1.6.3} -> v1.6.3
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.6.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
-|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.6.21 (*)
+|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.20 (*)
 |    +--- org.wordpress-mobile.gutenberg-mobile:react-native-gutenberg-bridge:v1.94.0-alpha1
 |    |    +--- com.github.wordpress-mobile:react-native-gesture-handler:2.3.2-wp-2
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.20 -> 1.6.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.20 -> 1.7.20 (*)
 |    |    +--- org.wordpress-mobile.react-native-libraries.v1:react-native-webview:11.6.2
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.10 -> 1.6.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.10 -> 1.7.20 (*)
 |    |    +--- org.wordpress-mobile.gutenberg-mobile:react-native-aztec:v1.94.0-alpha1
 |    |    |    +--- org.wordpress.aztec:glide-loader:v1.6.3
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.6.21 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.32 -> 1.6.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.32 -> 1.7.20 (*)
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.32 -> 1.6.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.32 -> 1.7.20 (*)
-|    \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.6.10 (*)
+|    \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.7.20 (*)
 +--- org.wordpress:fluxc:{strictly 2.25.0} -> 2.25.0
-|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.6.21 (*)
+|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
-|    +--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.6.10 (*)
+|    +--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.6.10 -> 1.7.20 (*)
 |    +--- com.squareup.okhttp3:okhttp-urlconnection:4.9.0 -> 4.9.2
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10 -> 1.6.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10 -> 1.7.20 (*)
 |    \--- androidx.room:room-ktx:2.4.2
-|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.6.21 (*)
+|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.7.20 (*)
 +--- org.wordpress:utils:{strictly 3.6.0} -> 3.6.0
-|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10 -> 1.6.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10 -> 1.7.20 (*)
 +--- org.wordpress:login:1.3.0
-|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.6.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
 +--- com.automattic:about:1.1.0
-|    +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.5.31 -> 1.6.10 (*)
+|    +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.5.31 -> 1.7.20 (*)
-|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31 -> 1.6.21 (*)
+|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31 -> 1.7.20 (*)
 |    +--- androidx.compose.ui:ui:1.0.5 -> 1.1.1
 |    |    +--- androidx.compose.runtime:runtime-saveable:1.1.1
 |    |    |    +--- androidx.compose.runtime:runtime:1.1.1
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.6.21 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.7.20 (*)
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.6.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.7.20 (*)
 |    |    +--- androidx.compose.ui:ui-geometry:1.1.1
 |    |    |    +--- androidx.compose.ui:ui-util:1.1.1
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.6.21 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.7.20 (*)
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.6.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.7.20 (*)
 |    |    +--- androidx.compose.ui:ui-graphics:1.1.1
 |    |    |    +--- androidx.compose.ui:ui-unit:1.1.1
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.6.21 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.7.20 (*)
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10 -> 1.6.21
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10 -> 1.7.20
 |    |    +--- androidx.compose.ui:ui-text:1.1.1
-|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10 -> 1.6.21
+|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10 -> 1.7.20
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.6.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.7.20 (*)
-|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10 -> 1.6.21
+|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10 -> 1.7.20
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.6.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.7.20 (*)
 |    +--- androidx.compose.ui:ui-tooling:1.0.5
 |    |    +--- androidx.compose.ui:ui-tooling-preview:1.0.5 -> 1.1.1
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.6.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.7.20 (*)
 |    |    +--- androidx.compose.ui:ui-tooling-data:1.0.5
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.31 -> 1.6.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.31 -> 1.7.20 (*)
-|    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.5.31 -> 1.6.21 (*)
+|    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.5.31 -> 1.7.20 (*)
 |    |    +--- androidx.compose.material:material:1.0.5 -> 1.1.1
 |    |    |    +--- androidx.compose.animation:animation-core:1.0.0 -> 1.1.1
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.6.21 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.7.20 (*)
 |    |    |    +--- androidx.compose.foundation:foundation:1.1.1
 |    |    |    |    +--- androidx.compose.animation:animation:1.1.1
 |    |    |    |    |    +--- androidx.compose.foundation:foundation-layout:1.0.0 -> 1.1.1
-|    |    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10 -> 1.6.21
+|    |    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10 -> 1.7.20
-|    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10 -> 1.6.21
+|    |    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10 -> 1.7.20
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10 -> 1.6.21
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10 -> 1.7.20
 |    |    |    +--- androidx.compose.material:material-icons-core:1.1.1
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.6.21 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.7.20 (*)
 |    |    |    +--- androidx.compose.material:material-ripple:1.1.1
-|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10 -> 1.6.21
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10 -> 1.7.20
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10 -> 1.6.21
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10 -> 1.7.20
 |    |    \--- androidx.activity:activity-compose:1.3.1
-|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.21 -> 1.6.21 (*)
+|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.21 -> 1.7.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 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.31 -> 1.6.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.31 -> 1.7.20 (*)
 |    +--- com.google.accompanist:accompanist-drawablepainter:0.20.2
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31 -> 1.6.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31 -> 1.7.20 (*)
 |    \--- com.google.android.material:compose-theme-adapter:1.1.1
-|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.6.21 (*)
+|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.0 -> 1.7.20 (*)
 +--- com.automattic:stories:2.1.0
-|    +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.4.20 -> 1.6.10 (*)
+|    +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.4.20 -> 1.7.20 (*)
-|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.20 -> 1.6.21 (*)
+|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.20 -> 1.7.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.6.21 (*)
+|    |         +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.0-rc -> 1.7.20 (*)
-|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.4.0-rc -> 1.6.21
+|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.4.0-rc -> 1.7.20
 |    +--- org.jetbrains.kotlin:kotlin-reflect:1.4.20
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.20 -> 1.6.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.20 -> 1.7.20 (*)
 |    +--- com.automattic.stories:photoeditor:2.1.0
-|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.20 -> 1.6.21 (*)
+|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.20 -> 1.7.20 (*)
 |    |    \--- com.automattic.stories:mp4compose:2.1.0
-|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.20 -> 1.6.21 (*)
+|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.20 -> 1.7.20 (*)
 |    \--- androidx.lifecycle:lifecycle-livedata-ktx:2.2.0 -> 2.5.1
-|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 (*)
+|         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 1.7.20 (*)
 +--- com.google.android.flexbox:flexbox:3.0.0
-|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.32 -> 1.6.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.32 -> 1.7.20 (*)
 +--- androidx.work:work-runtime-ktx:2.7.1
-|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.30 -> 1.6.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.30 -> 1.7.20 (*)
 +--- androidx.constraintlayout:constraintlayout-compose:1.0.1
-|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.10 -> 1.6.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.10 -> 1.7.20 (*)
 +--- com.airbnb.android:lottie-compose:5.2.0
-|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.6.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
 +--- androidx.compose.runtime:runtime-livedata:1.1.1
-|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.6.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.7.20 (*)
 +--- io.coil-kt:coil-compose:1.4.0
 |    \--- io.coil-kt:coil:1.4.0
 |         \--- io.coil-kt:coil-base:1.4.0
-|              +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.5.30 -> 1.6.10 (*)
+|              +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.5.30 -> 1.7.20 (*)
-|              \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.30 -> 1.6.21 (*)
+|              \--- org.jetbrains.kotlin:kotlin-stdlib:1.5.30 -> 1.7.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.6.21 (*)
+|    |    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.4.32 -> 1.7.20 (*)
-|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.6.21 (*)
+|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
 |    |    |    \--- com.squareup.okhttp3:logging-interceptor:4.9.2
-|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10 -> 1.6.21 (*)
+|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10 -> 1.7.20 (*)
 |    |    +--- com.zendesk:guide-providers:1.0.9
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.6.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.6.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
 |    +--- com.zendesk:guide:1.0.9
 |    |    +--- com.zendesk:sdk-configurations:2.0.3
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.6.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
 |    |    +--- com.zendesk:messaging-api:5.2.5
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.6.21 (*)
+|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
 |    |    +--- com.zendesk:messaging:5.2.5
-|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.6.21 (*)
+|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
 |    |    |    \--- com.zendesk:common-ui:4.0.5
-|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.6.21 (*)
+|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
-|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.6.21 (*)
+|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
-|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.6.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.20 (*)
 +--- com.google.dagger:hilt-android:2.42
-|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.6.21 (*)
+|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.7.20 (*)
-\--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.6.10 (*)
+\--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.7.20 (*)

Please review and act accordingly

@wpmobilebot
Copy link
Contributor

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
Versionpr18303-c5b6967
Commitc5b6967
Direct Downloadwordpress-prototype-build-pr18303-c5b6967.apk
Note: Google Login is not supported on these builds.

@wpmobilebot
Copy link
Contributor

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
Versionpr18303-c5b6967
Commitc5b6967
Direct Downloadjetpack-prototype-build-pr18303-c5b6967.apk
Note: Google Login is not supported on these builds.

@ParaskP7 ParaskP7 requested review from a team and ovitrif April 21, 2023 14:31
@ParaskP7 ParaskP7 marked this pull request as ready for review April 21, 2023 14:31
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 :shipit:

Test Results

  • Deps tree diff ✅ everything kotlin goes up to 1.7.20

Kotlin Update

  • Reader Post Detail Screen ✅ JP + WP

Compose Compiler Update:

  1. Login screen ✅ JP
  2. QR Code Auth Screen ✅ JP
  3. Jetpack Static Poster Screen ✅ WP
  4. Jetpack Migration Delete Screen ✅ JP
  5. Blaze Screen ✅ JP
  6. Blogging Prompts Screen ✅ JP
  7. Individual Plugin Screen ✅ WP

    Note
    Simply apply this patch to quickly test this screen: individual.patch.
    Copy it to the root dir of your local repo clone and run:

    git apply individual.patch

    Then build & run WP, go to the Site Picker and it should show

  8. Jetpack Full Plugin Install Screen ✅ WP

    Use this diff patch, the same way as for the above: full.patch
    The screen should then appear on My Site as an overlay

  9. JetpackRemoteInstallActivity ✅ WP

    See above, just press Install on that dialog

  10. Site Creation Domain Screen ✅ JP

FWIW I tested this and it works as expected. I'm everyday in that screen, it was simple for me to test it 😅

➕ 🆕 Jetpack Migration Flow Screens ✅ JP

For this, install both apps, clear cache & data of JP app and restart it. The migration flow should appear, which is also built with Compose.

@ovitrif ovitrif merged commit 496f0c6 into deps/main-batch-androidx-compose-kotlin Apr 24, 2023
@ovitrif ovitrif deleted the deps/update-androidx-compose-compiler-and-kotlin-to-1.3.2-and-1.7.20 branch April 24, 2023 11:08
@ParaskP7
Copy link
Contributor Author

You are the best of the best of the best @ovitrif , thanks so much for the review, testing, merging, but most of all, thank you for enhancing the testing instructions and filling the gaps here, more so by adding the patches to it, you are awesome!!! 🙇 ❤️ 🚀

Question (❓): Do you think it is better if I add you as the reviewer on all the subsequent PRs that I'll be creating on updating Jetpack Compose so that we could maybe go through all of them faster together? 🤔 Since you will be building more and more experience with testing those PRs, maybe having you do the reviews might make this more productive (fast) at this point of time as you will be following the same testing instructions every time (give-or-take). Let me know what do you think, but please feel free to say no and I'll follow the usual process, assigning these PR to a different engineer and rotating these updates through everyone. 🙏

FYI: After completing this first update to Compose Compiler = 1.3.2, Kotlin = 1.7.20 and Compose BOM = 2023.01.00, I want to follow that with another such update to Compose Compiler = 1.4.6, Kotlin = 1.8.20 and Compose BOM = 2023.04.01. Finally, I will ask a QE for an extra thorough testing before merging the parent branch to trunk. As such, you can expect lots more PRs before we reach that point, thus lots of testing ourselves, given the fact that we will be also updating Coil = 2.3.0 and RecyclerView = 1.3.0 somewhere in between.

@ovitrif
Copy link
Contributor

ovitrif commented Apr 24, 2023

You are the best of the best of the best @ovitrif , thanks so much for the review, testing, merging, but most of all, thank you for enhancing the testing instructions and filling the gaps here, more so by adding the patches to it, you are awesome!!! 🙇 ❤️ 🚀

Thank you @ParaskP7 ❤️🙏🚀

Question (❓): Do you think it is better if I add you as the reviewer on all the subsequent PRs that I'll be creating on updating Jetpack Compose so that we could maybe go through all of them faster together? 🤔 Since you will be building more and more experience with testing those PRs, maybe having you do the reviews might make this more productive (fast) at this point of time as you will be following the same testing instructions every time (give-or-take).

It's a good idea IMHO 🙏, I agree the need to build the experience for testing all the compose flows makes it relevant to go with this approach to move forward in a faster way ❤️

ps. Plus my own opinion is that we are already behind regarding a few things, thus finding great ways to fasten things up might be just what we need at this time 🚀

@ParaskP7
Copy link
Contributor Author

It's a good idea IMHO 🙏, I agree the need to build the experience for testing all the compose flows makes it relevant to go with this approach to move things forward in a faster way ❤️

Great, thanks for agreeing with this idea @ovitrif , I'll then proceed as such and will be adding you as the reviewer to those PRs, at least you being the main one (just in case I need to add more engineers into some of those)! 🙇 ❤️ 🚀

PS: Btw, at any point in time, if/when you'll feel that this process is getting too hard on you, feel free to let me know and I'll start rotating those Jetpack Compose PRs too. 💯

LET'S DO THIS! 🥇 💪 🌟

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.

4 participants