-
-
Notifications
You must be signed in to change notification settings - Fork 655
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
Replace outdated react-native-photo-view
library.
#4217
Comments
I see, yeah -- and checking the example app for For the other library, looking at that lightbox example you linked, there's quite a lot of detail required in the example. It seems like -- well, fitting the library's name and purpose:
it provides some low-level pieces that could be used to build a lightbox, but there'd be significant work to do to actually make one. And the fact that the example doesn't actually work means it doesn't take us super far as a starting point. Here's a third candidate:
Oh, and another:
|
Hey , How about using In fact , looking at the Would love to know what y'all think about it . Edit : In fact , I tried implementing the same ( just a basic prototype ) and here's the gif of what I came up with : |
Part of the RN v0.61 -> v0.62 changes to the template app [1], corresponding to several commits, listed below. Probably best to do this before the main upgrade commit. The "Fixed issues" and the "Known issues" sections of the release notes (linked for each upgrade below) are particularly informative for the patch-version upgrades, where, otherwise, the release notes seem identical to those of the corresponding minor version. ----- v5.6 (facebook/react-native@be2a2529a) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6/release-notes.html Upgrade guide: https://docs.gradle.org/5.6/userguide/upgrading_version_5.html#changes_5.6 Before doing this upgrade, I ran `gradle help --scan` (actually, `./gradlew help --scan`) to check for deprecations that might turn into failures after the upgrade, as recommended by the upgrade guide. The report (https://scans.gradle.com/s/2pgdvrpgnpyms [2]) didn't have a "Deprecations" item in the left nav, as shown in the guide's screenshot, but it did show some deprecation warnings in the console. (A similar output was seen from the alternative command they suggest, `gradle help --warning-mode all`; I ran it with `./gradlew`.) We see this in the console for three of our dependencies: ``` WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'. It will be removed soon. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html ``` The three dependencies are (with our issues to upgrade/replace, two of them filed just now): - `react-native-photo-view` zulip#4217 - `react-native-text-input-reset` zulip#4239 - `react-native-device-info` zulip#4240 The upgrade guide lists a few new deprecations; we may get warnings after the upgrade if they apply to us, but I suspect they may be given in the "Deprecations" section mentioned above, which we don't have, for whatever reason. It also lists several potential breaking changes, and I haven't understood them well enough to find if they apply to us. We hope to catch any that do in `tools/test android --full`. Unfortunately, we did run into a known issue with 5.6 (gradle/gradle#10347) that halted progress verifying the upgrade. React Native saw it too; facebook/react-native#26227 was filed to upgrade to 5.6.1 in response. That was closed and superseded by facebook/react-native#26349 (landed in facebook/react-native@b1c954b1f), done here and discussed below. ----- v5.6.2 (facebook/react-native@b1c954b1f) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.1/release-notes.html https://docs.gradle.org/5.6.2/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.1/userguide/upgrading_version_5.html#changes_5.6.1 https://docs.gradle.org/5.6.2/userguide/upgrading_version_5.html#changes_5.6.2 The release notes and upgrade guides appear close to identical to those for v5.6. One thing we could and did do here, with gradle/gradle#10347 fixed, is proceed with verifying the v5.6 upgrade, together with the changes from v5.6 to v5.6.2. The build scan report at v5.6.2 (https://scans.gradle.com/s/peks3ratsf7ee) was very similar to the one we ran before the v5.6 upgrade; those three deprecation warnings didn't turn into errors. `tools/test --full android` succeeded right away. ----- v5.6.3 (facebook/react-native@ff6b2ff32) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.3/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.3/userguide/upgrading_version_5.html#changes_5.6.3 All near-identical to the previous docs. The build scan report at v5.6.3 (https://gradle.com/s/3holiaylf6jku) also looks very similar to those at past versions. At first, I got a build failure that I didn't get with the previous upgrades: ``` java.nio.file.NoSuchFileException: /Users/chrisbobbe/dev/zulip-mobile/android/app/build/intermediates/external_file_lib_dex_archives/debug/out at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) [...] ``` It went away after deleting `android/.gradle` and running `./gradlew clean` (from SO: https://stackoverflow.com/a/62025502). ----- v5.6.4 (facebook/react-native@928f4434b) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.4/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.4/userguide/upgrading_version_5.html#changes_5.6.4 The build scan report at v5.6.4 (https://gradle.com/s/2szkm2hvdrejy) also looks very similar to those at past versions. ----- v6.0.1 (facebook/react-native@701e66bde) ----- Release notes from Gradle upstream: https://docs.gradle.org/6.0.1/release-notes.html Upgrade guides: https://docs.gradle.org/6.0.1/userguide/upgrading_version_5.html#changes_6.0.1 The upgrade guide lists many new deprecations, and we are newly seeing some deprecation warnings in the build scan (see below). It also lists several potential breaking changes, and I haven't understood them well enough to find if they apply to us. We hope to catch any that do in `tools/test android --full`. This time, the build scan report for v6.0.1 (https://scans.gradle.com/s/l7q26kntclub6) does have a "Deprecations" section. Its contents: """ BuildListener#buildStarted(Gradle) has been deprecated. This is scheduled to be removed in Gradle 7.0. 32 usages The maven plugin has been deprecated. This is scheduled to be removed in Gradle 7.0. Please use the maven-publish plugin instead. 19 usages """ Expanding the 32 usages in the first of these, all but one are in the `com.android.library` plugin; one is in the `android` plugin. Expanding the 19 usages in the second of these, they're all in the `org.gradle.maven` plugin. I encountered a build failure ("No file known for: classes.dex") but was able to fix it by clearing `android.gradle` and running `./gradlew clean`. [1] https://react-native-community.github.io/upgrade-helper/?from=0.61.5&to=0.62.2 [2] The build scan at this link will be "available indefinitely", according to https://scans.gradle.com/.
Part of the RN v0.61 -> v0.62 changes to the template app [1], corresponding to several commits, listed below. Probably best to do this before the main upgrade commit. The "Fixed issues" and the "Known issues" sections of the release notes (linked for each upgrade below) are particularly informative for the patch-version upgrades, where, otherwise, the release notes seem identical to those of the corresponding minor version. ----- v5.6 (facebook/react-native@be2a2529a) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6/release-notes.html Upgrade guide: https://docs.gradle.org/5.6/userguide/upgrading_version_5.html#changes_5.6 Before doing this upgrade, I ran `gradle help --scan` (actually, `./gradlew help --scan`) to check for deprecations that might turn into failures after the upgrade, as recommended by the upgrade guide. The report (https://scans.gradle.com/s/2pgdvrpgnpyms [2]) didn't have a "Deprecations" item in the left nav, as shown in the guide's screenshot, but it did show some deprecation warnings in the console. (A similar output was seen from the alternative command they suggest, `gradle help --warning-mode all`; I ran it with `./gradlew`.) We see this in the console for three of our dependencies: ``` WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'. It will be removed soon. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html ``` The three dependencies are (with our issues to upgrade/replace, two of them filed just now): - `react-native-photo-view` zulip#4217 - `react-native-text-input-reset` zulip#4239 - `react-native-device-info` zulip#4240 The upgrade guide lists a few new deprecations; we may get warnings after the upgrade if they apply to us, but I suspect they may be given in the "Deprecations" section mentioned above, which we don't have, for whatever reason. It also lists several potential breaking changes, and I haven't understood them well enough to find if they apply to us. We hope to catch any that do in `tools/test android --full`. Unfortunately, we did run into a known issue with 5.6 (gradle/gradle#10347) that halted progress verifying the upgrade. React Native saw it too; facebook/react-native#26227 was filed to upgrade to 5.6.1 in response. That was closed and superseded by facebook/react-native#26349 (landed in facebook/react-native@b1c954b1f), done here and discussed below. ----- v5.6.2 (facebook/react-native@b1c954b1f) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.1/release-notes.html https://docs.gradle.org/5.6.2/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.1/userguide/upgrading_version_5.html#changes_5.6.1 https://docs.gradle.org/5.6.2/userguide/upgrading_version_5.html#changes_5.6.2 The release notes and upgrade guides appear close to identical to those for v5.6. One thing we could and did do here, with gradle/gradle#10347 fixed, is proceed with verifying the v5.6 upgrade, together with the changes from v5.6 to v5.6.2. The build scan report at v5.6.2 (https://scans.gradle.com/s/peks3ratsf7ee) was very similar to the one we ran before the v5.6 upgrade; those three deprecation warnings didn't turn into errors. `tools/test --full android` succeeded right away. ----- v5.6.3 (facebook/react-native@ff6b2ff32) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.3/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.3/userguide/upgrading_version_5.html#changes_5.6.3 All near-identical to the previous docs. The build scan report at v5.6.3 (https://gradle.com/s/3holiaylf6jku) also looks very similar to those at past versions. At first, I got a build failure that I didn't get with the previous upgrades: ``` java.nio.file.NoSuchFileException: /Users/chrisbobbe/dev/zulip-mobile/android/app/build/intermediates/external_file_lib_dex_archives/debug/out at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) [...] ``` It went away after deleting `android/.gradle` and running `./gradlew clean` (from SO: https://stackoverflow.com/a/62025502). ----- v5.6.4 (facebook/react-native@928f4434b) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.4/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.4/userguide/upgrading_version_5.html#changes_5.6.4 The build scan report at v5.6.4 (https://gradle.com/s/2szkm2hvdrejy) also looks very similar to those at past versions. ----- v6.0.1 (facebook/react-native@701e66bde) ----- Release notes from Gradle upstream: https://docs.gradle.org/6.0.1/release-notes.html Upgrade guides: https://docs.gradle.org/6.0.1/userguide/upgrading_version_5.html#changes_6.0.1 The upgrade guide lists many new deprecations, and we are newly seeing some deprecation warnings in the build scan (see below). It also lists several potential breaking changes, and I haven't understood them well enough to find if they apply to us. We hope to catch any that do in `tools/test android --full`. This time, the build scan report for v6.0.1 (https://scans.gradle.com/s/l7q26kntclub6) does have a "Deprecations" section. Its contents: """ BuildListener#buildStarted(Gradle) has been deprecated. This is scheduled to be removed in Gradle 7.0. 32 usages The maven plugin has been deprecated. This is scheduled to be removed in Gradle 7.0. Please use the maven-publish plugin instead. 19 usages """ Expanding the 32 usages in the first of these, all but one are in the `com.android.library` plugin; one is in the `android` plugin. Expanding the 19 usages in the second of these, they're all in the `org.gradle.maven` plugin. I encountered a build failure ("No file known for: classes.dex") but was able to fix it by clearing `android.gradle` and running `./gradlew clean`. [1] https://react-native-community.github.io/upgrade-helper/?from=0.61.5&to=0.62.2 [2] The build scan at this link will be "available indefinitely", according to https://scans.gradle.com/.
Part of the RN v0.61 -> v0.62 changes to the template app [1], corresponding to several commits, listed below. Probably best to do this before the main upgrade commit. The "Fixed issues" and the "Known issues" sections of the release notes (linked for each upgrade below) are particularly informative for the patch-version upgrades, where, otherwise, the release notes seem identical to those of the corresponding minor version. ----- v5.6 (facebook/react-native@be2a2529a) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6/release-notes.html Upgrade guide: https://docs.gradle.org/5.6/userguide/upgrading_version_5.html#changes_5.6 Before doing this upgrade, I ran `gradle help --scan` (actually, `./gradlew help --scan`) to check for deprecations that might turn into failures after the upgrade, as recommended by the upgrade guide. The report (https://scans.gradle.com/s/2pgdvrpgnpyms [2]) didn't have a "Deprecations" item in the left nav, as shown in the guide's screenshot, but it did show some deprecation warnings in the console. (A similar output was seen from the alternative command they suggest, `gradle help --warning-mode all`; I ran it with `./gradlew`.) We see this in the console for three of our dependencies: ``` WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'. It will be removed soon. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html ``` The three dependencies are (with our issues to upgrade/replace, two of them filed just now): - `react-native-photo-view` zulip#4217 - `react-native-text-input-reset` zulip#4239 - `react-native-device-info` zulip#4240 The upgrade guide lists a few new deprecations; we may get warnings after the upgrade if they apply to us, but I suspect they may be given in the "Deprecations" section mentioned above, which we don't have, for whatever reason. It also lists several potential breaking changes, and I haven't understood them well enough to find if they apply to us. We hope to catch any that do in `tools/test android --full`. Unfortunately, we did run into a known issue with 5.6 (gradle/gradle#10347) that halted progress verifying the upgrade. React Native saw it too; facebook/react-native#26227 was filed to upgrade to 5.6.1 in response. That was closed and superseded by facebook/react-native#26349 (landed in facebook/react-native@b1c954b1f), done here and discussed below. ----- v5.6.2 (facebook/react-native@b1c954b1f) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.1/release-notes.html https://docs.gradle.org/5.6.2/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.1/userguide/upgrading_version_5.html#changes_5.6.1 https://docs.gradle.org/5.6.2/userguide/upgrading_version_5.html#changes_5.6.2 The release notes and upgrade guides appear close to identical to those for v5.6. One thing we could and did do here, with gradle/gradle#10347 fixed, is proceed with verifying the v5.6 upgrade, together with the changes from v5.6 to v5.6.2. The build scan report at v5.6.2 (https://scans.gradle.com/s/peks3ratsf7ee) was very similar to the one we ran before the v5.6 upgrade; those three deprecation warnings didn't turn into errors. `tools/test --full android` succeeded right away. ----- v5.6.3 (facebook/react-native@ff6b2ff32) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.3/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.3/userguide/upgrading_version_5.html#changes_5.6.3 All near-identical to the previous docs. The build scan report at v5.6.3 (https://gradle.com/s/3holiaylf6jku) also looks very similar to those at past versions. At first, I got a build failure that I didn't get with the previous upgrades: ``` java.nio.file.NoSuchFileException: /Users/chrisbobbe/dev/zulip-mobile/android/app/build/intermediates/external_file_lib_dex_archives/debug/out at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) [...] ``` It went away after deleting `android/.gradle` and running `./gradlew clean` (from SO: https://stackoverflow.com/a/62025502). ----- v5.6.4 (facebook/react-native@928f4434b) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.4/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.4/userguide/upgrading_version_5.html#changes_5.6.4 The build scan report at v5.6.4 (https://gradle.com/s/2szkm2hvdrejy) also looks very similar to those at past versions. ----- v6.0.1 (facebook/react-native@701e66bde) ----- Release notes from Gradle upstream: https://docs.gradle.org/6.0.1/release-notes.html Upgrade guides: https://docs.gradle.org/6.0.1/userguide/upgrading_version_5.html#changes_6.0.1 The upgrade guide lists many new deprecations, and we are newly seeing some deprecation warnings in the build scan (see below). It also lists several potential breaking changes, and I haven't understood them well enough to find if they apply to us. We hope to catch any that do in `tools/test android --full`. This time, the build scan report for v6.0.1 (https://scans.gradle.com/s/l7q26kntclub6) does have a "Deprecations" section. Its contents: """ BuildListener#buildStarted(Gradle) has been deprecated. This is scheduled to be removed in Gradle 7.0. 32 usages The maven plugin has been deprecated. This is scheduled to be removed in Gradle 7.0. Please use the maven-publish plugin instead. 19 usages """ Expanding the 32 usages in the first of these, all but one are in the `com.android.library` plugin; one is in the `android` plugin. Expanding the 19 usages in the second of these, they're all in the `org.gradle.maven` plugin. I encountered a build failure ("No file known for: classes.dex") but was able to fix it by clearing `android.gradle` and running `./gradlew clean`. [1] https://react-native-community.github.io/upgrade-helper/?from=0.61.5&to=0.62.2 [2] The build scan at this link will be "available indefinitely", according to https://scans.gradle.com/.
Part of the RN v0.61 -> v0.62 changes to the template app [1], corresponding to several commits, listed below. Probably best to do this before the main upgrade commit. The "Fixed issues" and the "Known issues" sections of the release notes (linked for each upgrade below) are particularly informative for the patch-version upgrades, where, otherwise, the release notes seem identical to those of the corresponding minor version. ----- v5.6 (facebook/react-native@be2a2529a) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6/release-notes.html Upgrade guide: https://docs.gradle.org/5.6/userguide/upgrading_version_5.html#changes_5.6 Before doing this upgrade, I ran `gradle help --scan` (actually, `./gradlew help --scan`) to check for deprecations that might turn into failures after the upgrade, as recommended by the upgrade guide. The report (https://scans.gradle.com/s/2pgdvrpgnpyms [2]) didn't have a "Deprecations" item in the left nav, as shown in the guide's screenshot, but it did show some deprecation warnings in the console. (A similar output was seen from the alternative command they suggest, `gradle help --warning-mode all`; I ran it with `./gradlew`.) We see this in the console for three of our dependencies: ``` WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'. It will be removed soon. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html ``` The three dependencies are (with our issues to upgrade/replace, two of them filed just now): - `react-native-photo-view` zulip#4217 - `react-native-text-input-reset` zulip#4239 - `react-native-device-info` zulip#4240 The upgrade guide lists a few new deprecations; we may get warnings after the upgrade if they apply to us, but I suspect they may be given in the "Deprecations" section mentioned above, which we don't have, for whatever reason. It also lists several potential breaking changes, and I haven't understood them well enough to find if they apply to us. We hope to catch any that do in `tools/test android --full`. Unfortunately, we did run into a known issue with 5.6 (gradle/gradle#10347) that halted progress verifying the upgrade. React Native saw it too; facebook/react-native#26227 was filed to upgrade to 5.6.1 in response. That was closed and superseded by facebook/react-native#26349 (landed in facebook/react-native@b1c954b1f), done here and discussed below. ----- v5.6.2 (facebook/react-native@b1c954b1f) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.1/release-notes.html https://docs.gradle.org/5.6.2/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.1/userguide/upgrading_version_5.html#changes_5.6.1 https://docs.gradle.org/5.6.2/userguide/upgrading_version_5.html#changes_5.6.2 The release notes and upgrade guides appear close to identical to those for v5.6. One thing we could and did do here, with gradle/gradle#10347 fixed, is proceed with verifying the v5.6 upgrade, together with the changes from v5.6 to v5.6.2. The build scan report at v5.6.2 (https://scans.gradle.com/s/peks3ratsf7ee) was very similar to the one we ran before the v5.6 upgrade; those three deprecation warnings didn't turn into errors. `tools/test --full android` succeeded right away. ----- v5.6.3 (facebook/react-native@ff6b2ff32) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.3/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.3/userguide/upgrading_version_5.html#changes_5.6.3 All near-identical to the previous docs. The build scan report at v5.6.3 (https://gradle.com/s/3holiaylf6jku) also looks very similar to those at past versions. At first, I got a build failure that I didn't get with the previous upgrades: ``` java.nio.file.NoSuchFileException: /Users/chrisbobbe/dev/zulip-mobile/android/app/build/intermediates/external_file_lib_dex_archives/debug/out at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) [...] ``` It went away after deleting `android/.gradle` and running `./gradlew clean` (from SO: https://stackoverflow.com/a/62025502). ----- v5.6.4 (facebook/react-native@928f4434b) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.4/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.4/userguide/upgrading_version_5.html#changes_5.6.4 The build scan report at v5.6.4 (https://gradle.com/s/2szkm2hvdrejy) also looks very similar to those at past versions. ----- v6.0.1 (facebook/react-native@701e66bde) ----- Release notes from Gradle upstream: https://docs.gradle.org/6.0.1/release-notes.html Upgrade guides: https://docs.gradle.org/6.0.1/userguide/upgrading_version_5.html#changes_6.0.1 The upgrade guide lists many new deprecations, and we are newly seeing some deprecation warnings in the build scan (see below). It also lists several potential breaking changes, and I haven't understood them well enough to find if they apply to us. We hope to catch any that do in `tools/test android --full`. This time, the build scan report for v6.0.1 (https://scans.gradle.com/s/l7q26kntclub6) does have a "Deprecations" section. Its contents: """ BuildListener#buildStarted(Gradle) has been deprecated. This is scheduled to be removed in Gradle 7.0. 32 usages The maven plugin has been deprecated. This is scheduled to be removed in Gradle 7.0. Please use the maven-publish plugin instead. 19 usages """ Expanding the 32 usages in the first of these, all but one are in the `com.android.library` plugin; one is in the `android` plugin. Expanding the 19 usages in the second of these, they're all in the `org.gradle.maven` plugin. I encountered a build failure ("No file known for: classes.dex") but was able to fix it by clearing `android.gradle` and running `./gradlew clean`. [1] https://react-native-community.github.io/upgrade-helper/?from=0.61.5&to=0.62.2 [2] The build scan at this link will be "available indefinitely", according to https://scans.gradle.com/.
Part of the RN v0.61 -> v0.62 changes to the template app [1], corresponding to several commits, listed below. Probably best to do this before the main upgrade commit. The "Fixed issues" and the "Known issues" sections of the release notes (linked for each upgrade below) are particularly informative for the patch-version upgrades, where, otherwise, the release notes seem identical to those of the corresponding minor version. ----- v5.6 (facebook/react-native@be2a2529a) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6/release-notes.html Upgrade guide: https://docs.gradle.org/5.6/userguide/upgrading_version_5.html#changes_5.6 Before doing this upgrade, I ran `gradle help --scan` (actually, `./gradlew help --scan`) to check for deprecations that might turn into failures after the upgrade, as recommended by the upgrade guide. The report (https://scans.gradle.com/s/2pgdvrpgnpyms [2]) didn't have a "Deprecations" item in the left nav, as shown in the guide's screenshot, but it did show some deprecation warnings in the console. (A similar output was seen from the alternative command they suggest, `gradle help --warning-mode all`; I ran it with `./gradlew`.) We see this in the console for three of our dependencies: ``` WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'. It will be removed soon. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html ``` The three dependencies are (with our issues to upgrade/replace, two of them filed just now): - `react-native-photo-view` zulip#4217 - `react-native-text-input-reset` zulip#4239 - `react-native-device-info` zulip#4240 The upgrade guide lists a few new deprecations; we may get warnings after the upgrade if they apply to us, but I suspect they may be given in the "Deprecations" section mentioned above, which we don't have, for whatever reason. It also lists several potential breaking changes, and I haven't understood them well enough to find if they apply to us. We hope to catch any that do in `tools/test android --full`. Unfortunately, we did run into a known issue with 5.6 (gradle/gradle#10347) that halted progress verifying the upgrade. React Native saw it too; facebook/react-native#26227 was filed to upgrade to 5.6.1 in response. That was closed and superseded by facebook/react-native#26349 (landed in facebook/react-native@b1c954b1f), done here and discussed below. ----- v5.6.2 (facebook/react-native@b1c954b1f) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.1/release-notes.html https://docs.gradle.org/5.6.2/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.1/userguide/upgrading_version_5.html#changes_5.6.1 https://docs.gradle.org/5.6.2/userguide/upgrading_version_5.html#changes_5.6.2 The release notes and upgrade guides appear close to identical to those for v5.6. One thing we could and did do here, with gradle/gradle#10347 fixed, is proceed with verifying the v5.6 upgrade, together with the changes from v5.6 to v5.6.2. The build scan report at v5.6.2 (https://scans.gradle.com/s/peks3ratsf7ee) was very similar to the one we ran before the v5.6 upgrade; those three deprecation warnings didn't turn into errors. `tools/test --full android` succeeded right away. ----- v5.6.3 (facebook/react-native@ff6b2ff32) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.3/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.3/userguide/upgrading_version_5.html#changes_5.6.3 All near-identical to the previous docs. The build scan report at v5.6.3 (https://gradle.com/s/3holiaylf6jku) also looks very similar to those at past versions. At first, I got a build failure that I didn't get with the previous upgrades: ``` java.nio.file.NoSuchFileException: /Users/chrisbobbe/dev/zulip-mobile/android/app/build/intermediates/external_file_lib_dex_archives/debug/out at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) [...] ``` It went away after deleting `android/.gradle` and running `./gradlew clean` (from SO: https://stackoverflow.com/a/62025502). ----- v5.6.4 (facebook/react-native@928f4434b) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.4/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.4/userguide/upgrading_version_5.html#changes_5.6.4 The build scan report at v5.6.4 (https://gradle.com/s/2szkm2hvdrejy) also looks very similar to those at past versions. ----- v6.0.1 (facebook/react-native@701e66bde) ----- Release notes from Gradle upstream: https://docs.gradle.org/6.0.1/release-notes.html Upgrade guides: https://docs.gradle.org/6.0.1/userguide/upgrading_version_5.html#changes_6.0.1 The upgrade guide lists many new deprecations, and we are newly seeing some deprecation warnings in the build scan (see below). It also lists several potential breaking changes, and I haven't understood them well enough to find if they apply to us. We hope to catch any that do in `tools/test android --full`. This time, the build scan report for v6.0.1 (https://scans.gradle.com/s/l7q26kntclub6) does have a "Deprecations" section. Its contents: """ BuildListener#buildStarted(Gradle) has been deprecated. This is scheduled to be removed in Gradle 7.0. 32 usages The maven plugin has been deprecated. This is scheduled to be removed in Gradle 7.0. Please use the maven-publish plugin instead. 19 usages """ Expanding the 32 usages in the first of these, all but one are in the `com.android.library` plugin; one is in the `android` plugin. Expanding the 19 usages in the second of these, they're all in the `org.gradle.maven` plugin. I encountered a build failure ("No file known for: classes.dex") but was able to fix it by clearing `android.gradle` and running `./gradlew clean`. [1] https://react-native-community.github.io/upgrade-helper/?from=0.61.5&to=0.62.2 [2] The build scan at this link will be "available indefinitely", according to https://scans.gradle.com/.
Part of the RN v0.61 -> v0.62 changes to the template app [1], corresponding to several commits, listed below. Probably best to do this before the main upgrade commit. The "Fixed issues" and the "Known issues" sections of the release notes (linked for each upgrade below) are particularly informative for the patch-version upgrades, where, otherwise, the release notes seem identical to those of the corresponding minor version. ----- v5.6 (facebook/react-native@be2a2529a) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6/release-notes.html Upgrade guide: https://docs.gradle.org/5.6/userguide/upgrading_version_5.html#changes_5.6 Before doing this upgrade, I ran `gradle help --scan` (actually, `./gradlew help --scan`) to check for deprecations that might turn into failures after the upgrade, as recommended by the upgrade guide. The report (https://scans.gradle.com/s/2pgdvrpgnpyms [2]) didn't have a "Deprecations" item in the left nav, as shown in the guide's screenshot, but it did show some deprecation warnings in the console. (A similar output was seen from the alternative command they suggest, `gradle help --warning-mode all`; I ran it with `./gradlew`.) We see this in the console for three of our dependencies: ``` WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'. It will be removed soon. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html ``` The three dependencies are (with our issues to upgrade/replace, two of them filed just now): - `react-native-photo-view` zulip#4217 - `react-native-text-input-reset` zulip#4239 - `react-native-device-info` zulip#4240 The upgrade guide lists a few new deprecations; we may get warnings after the upgrade if they apply to us, but I suspect they may be given in the "Deprecations" section mentioned above, which we don't have, for whatever reason. It also lists several potential breaking changes, and I haven't understood them well enough to find if they apply to us. We hope to catch any that do in `tools/test android --full`. Unfortunately, we did run into a known issue with 5.6 (gradle/gradle#10347) that halted progress verifying the upgrade. React Native saw it too; facebook/react-native#26227 was filed to upgrade to 5.6.1 in response. That was closed and superseded by facebook/react-native#26349 (landed in facebook/react-native@b1c954b1f), done here and discussed below. ----- v5.6.2 (facebook/react-native@b1c954b1f) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.1/release-notes.html https://docs.gradle.org/5.6.2/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.1/userguide/upgrading_version_5.html#changes_5.6.1 https://docs.gradle.org/5.6.2/userguide/upgrading_version_5.html#changes_5.6.2 The release notes and upgrade guides appear close to identical to those for v5.6. One thing we could and did do here, with gradle/gradle#10347 fixed, is proceed with verifying the v5.6 upgrade, together with the changes from v5.6 to v5.6.2. The build scan report at v5.6.2 (https://scans.gradle.com/s/peks3ratsf7ee) was very similar to the one we ran before the v5.6 upgrade; those three deprecation warnings didn't turn into errors. `tools/test --full android` succeeded right away. ----- v5.6.3 (facebook/react-native@ff6b2ff32) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.3/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.3/userguide/upgrading_version_5.html#changes_5.6.3 All near-identical to the previous docs. The build scan report at v5.6.3 (https://gradle.com/s/3holiaylf6jku) also looks very similar to those at past versions. At first, I got a build failure that I didn't get with the previous upgrades: ``` java.nio.file.NoSuchFileException: /Users/chrisbobbe/dev/zulip-mobile/android/app/build/intermediates/external_file_lib_dex_archives/debug/out at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) [...] ``` It went away after deleting `android/.gradle` and running `./gradlew clean` (from SO: https://stackoverflow.com/a/62025502). ----- v5.6.4 (facebook/react-native@928f4434b) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.4/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.4/userguide/upgrading_version_5.html#changes_5.6.4 The build scan report at v5.6.4 (https://gradle.com/s/2szkm2hvdrejy) also looks very similar to those at past versions. ----- v6.0.1 (facebook/react-native@701e66bde) ----- Release notes from Gradle upstream: https://docs.gradle.org/6.0.1/release-notes.html Upgrade guides: https://docs.gradle.org/6.0.1/userguide/upgrading_version_5.html#changes_6.0.1 The upgrade guide lists many new deprecations, and we are newly seeing some deprecation warnings in the build scan (see below). It also lists several potential breaking changes, and I haven't understood them well enough to find if they apply to us. We hope to catch any that do in `tools/test android --full`. This time, the build scan report for v6.0.1 (https://scans.gradle.com/s/l7q26kntclub6) does have a "Deprecations" section. Its contents: """ BuildListener#buildStarted(Gradle) has been deprecated. This is scheduled to be removed in Gradle 7.0. 32 usages The maven plugin has been deprecated. This is scheduled to be removed in Gradle 7.0. Please use the maven-publish plugin instead. 19 usages """ Expanding the 32 usages in the first of these, all but one are in the `com.android.library` plugin; one is in the `android` plugin. Expanding the 19 usages in the second of these, they're all in the `org.gradle.maven` plugin. I encountered a build failure ("No file known for: classes.dex") but was able to fix it by clearing `android.gradle` and running `./gradlew clean`. [1] https://react-native-community.github.io/upgrade-helper/?from=0.61.5&to=0.62.2 [2] The build scan at this link will be "available indefinitely", according to https://scans.gradle.com/.
Part of the RN v0.61 -> v0.62 changes to the template app [1], corresponding to several commits, listed below. Probably best to do this before the main upgrade commit. The "Fixed issues" and the "Known issues" sections of the release notes (linked for each upgrade below) are particularly informative for the patch-version upgrades, where, otherwise, the release notes seem identical to those of the corresponding minor version. ----- v5.6 (facebook/react-native@be2a2529a) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6/release-notes.html Upgrade guide: https://docs.gradle.org/5.6/userguide/upgrading_version_5.html#changes_5.6 Before doing this upgrade, I ran `gradle help --scan` (actually, `./gradlew help --scan`) to check for deprecations that might turn into failures after the upgrade, as recommended by the upgrade guide. The report (https://scans.gradle.com/s/2pgdvrpgnpyms [2]) didn't have a "Deprecations" item in the left nav, as shown in the guide's screenshot, but it did show some deprecation warnings in the console. (A similar output was seen from the alternative command they suggest, `gradle help --warning-mode all`; I ran it with `./gradlew`.) We see this in the console for three of our dependencies: ``` WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'. It will be removed soon. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html ``` The three dependencies are (with our issues to upgrade/replace, two of them filed just now): - `react-native-photo-view` zulip#4217 - `react-native-text-input-reset` zulip#4239 - `react-native-device-info` zulip#4240 The upgrade guide lists a few new deprecations; we may get warnings after the upgrade if they apply to us, but I suspect they may be given in the "Deprecations" section mentioned above, which we don't have, for whatever reason. It also lists several potential breaking changes, and I haven't understood them well enough to find if they apply to us. We hope to catch any that do in `tools/test android --full`. Unfortunately, we did run into a known issue with 5.6 (gradle/gradle#10347) that halted progress verifying the upgrade. React Native saw it too; facebook/react-native#26227 was filed to upgrade to 5.6.1 in response. That was closed and superseded by facebook/react-native#26349 (landed in facebook/react-native@b1c954b1f), done here and discussed below. ----- v5.6.2 (facebook/react-native@b1c954b1f) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.1/release-notes.html https://docs.gradle.org/5.6.2/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.1/userguide/upgrading_version_5.html#changes_5.6.1 https://docs.gradle.org/5.6.2/userguide/upgrading_version_5.html#changes_5.6.2 The release notes and upgrade guides appear close to identical to those for v5.6. One thing we could and did do here, with gradle/gradle#10347 fixed, is proceed with verifying the v5.6 upgrade, together with the changes from v5.6 to v5.6.2. The build scan report at v5.6.2 (https://scans.gradle.com/s/peks3ratsf7ee) was very similar to the one we ran before the v5.6 upgrade; those three deprecation warnings didn't turn into errors. `tools/test --full android` succeeded right away. ----- v5.6.3 (facebook/react-native@ff6b2ff32) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.3/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.3/userguide/upgrading_version_5.html#changes_5.6.3 All near-identical to the previous docs. The build scan report at v5.6.3 (https://gradle.com/s/3holiaylf6jku) also looks very similar to those at past versions. At first, I got a build failure that I didn't get with the previous upgrades: ``` java.nio.file.NoSuchFileException: /Users/chrisbobbe/dev/zulip-mobile/android/app/build/intermediates/external_file_lib_dex_archives/debug/out at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) [...] ``` It went away after deleting `android/.gradle` and running `./gradlew clean` (from SO: https://stackoverflow.com/a/62025502). ----- v5.6.4 (facebook/react-native@928f4434b) ----- Release notes from Gradle upstream: https://docs.gradle.org/5.6.4/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.4/userguide/upgrading_version_5.html#changes_5.6.4 The build scan report at v5.6.4 (https://gradle.com/s/2szkm2hvdrejy) also looks very similar to those at past versions. ----- v6.0.1 (facebook/react-native@701e66bde) ----- Release notes from Gradle upstream: https://docs.gradle.org/6.0.1/release-notes.html Upgrade guides: https://docs.gradle.org/6.0.1/userguide/upgrading_version_5.html#changes_6.0.1 The upgrade guide lists many new deprecations, and we are newly seeing some deprecation warnings in the build scan (see below). It also lists several potential breaking changes, and I haven't understood them well enough to find if they apply to us. We hope to catch any that do in `tools/test android --full`. This time, the build scan report for v6.0.1 (https://scans.gradle.com/s/l7q26kntclub6) does have a "Deprecations" section. Its contents: """ BuildListener#buildStarted(Gradle) has been deprecated. This is scheduled to be removed in Gradle 7.0. 32 usages The maven plugin has been deprecated. This is scheduled to be removed in Gradle 7.0. Please use the maven-publish plugin instead. 19 usages """ Expanding the 32 usages in the first of these, all but one are in the `com.android.library` plugin; one is in the `android` plugin. Expanding the 19 usages in the second of these, they're all in the `org.gradle.maven` plugin. I encountered a build failure ("No file known for: classes.dex") but was able to fix it by clearing `android.gradle` and running `./gradlew clean`. [1] https://react-native-community.github.io/upgrade-helper/?from=0.61.5&to=0.62.2 [2] The build scan at this link will be "available indefinitely", according to https://scans.gradle.com/.
Part of the RN v0.61 -> v0.62 changes to the template app [2], corresponding to the following commits: - facebook/react-native@be2a2529a - facebook/react-native@b1c954b1f - facebook/react-native@ff6b2ff32 - facebook/react-native@928f4434b - facebook/react-native@701e66bde Probably best to do this before the main upgrade commit. We treat this as an upgrade from 5.5.x to the latest 5.6.x (which is the latest 5.x), and then to 6.0.1 (the latest 6.0.x). [1] - facebook/react-native@be2a2529a also added some comments in gradle.properties, which we reproduce. - We ran into a couple of different build failures, so, add those to the troubleshooting doc with the cache-clearing commands that worked to resolve them (from SO [3]). Release notes from Gradle upstream: https://docs.gradle.org/5.6.4/release-notes.html https://docs.gradle.org/6.0.1/release-notes.html Upgrade guides: https://docs.gradle.org/5.6.4/userguide/upgrading_version_5.html#changes_5.6.4 https://docs.gradle.org/6.0.1/userguide/upgrading_version_5.html#changes_6.0.1 We didn't spot any deprecations or announced breaking changes as applying to us, though it's a bit hard to tell (in particular, we use plenty of Gradle code that isn't ours, so we wouldn't necessarily spot something). We hope we'd catch any by just trying the build, e.g., with `tools/test android --full`. The upgrade guides recommend a "build scan", which we did by running `./gradlew help --scan`. In particular, the upgrade guides ask that you find a "Deprecations" section in the left nav of a web page showing the result of the scan. The build scan report at v5.6.4 [4] doesn't have a "Deprecations" section. This might mean that the feature was missing at that version, or it might mean that it looked for deprecations expressed in a certain way [5] and didn't find any. The report at v6.0.1 [6] did have a "Deprecations" section, with the following two warnings: """ BuildListener#buildStarted(Gradle) has been deprecated. This is scheduled to be removed in Gradle 7.0. 32 usages The maven plugin has been deprecated. This is scheduled to be removed in Gradle 7.0. Please use the maven-publish plugin instead. 19 usages """ Expanding the 32 usages in the first of these, all but one are in the `com.android.library` plugin; one is in the `android` plugin. Expanding the 19 usages in the second of these, they're all in the `org.gradle.maven` plugin. In the console output from the build-scan command at both versions (shown in the build scan reports) we see some deprecation warnings from the Android Gradle Plugin, rather than Gradle itself. They apply to three of our dependencies, and we have issues to replace those dependencies (two of the issues filed just now): - `react-native-photo-view`; see zulip#4217 - `react-native-text-input-reset`; see zulip#4239 - `react-native-device-info`; see zulip#4240 [1] See discussion around zulip#4244 (comment) for some nuances about this. [2] https://react-native-community.github.io/upgrade-helper/?from=0.61.5&to=0.62.2 [3] https://stackoverflow.com/a/62025502 [4] https://gradle.com/s/2szkm2hvdrejy. The build scan at this link will be "available indefinitely", according to https://scans.gradle.com/. [5] zulip#4244 (comment) [6] https://scans.gradle.com/s/l7q26kntclub6
Here's the description from the changelog [1]: > Exact same as 1.6.7 was, just as a breaking change semver number > > docs(CHANGELOG): prepare release 2.0.0 f483026 > BREAKING: note that jetifier is deprecated, warn on translations > 699094b It looks like in 1.6.7 the tool started giving an important deprecation warning about itself. But then the warning was taken out in 1.6.8 because it was deemed to be a breaking change that deserved a new major version. 2.0.0 was that new major version. Right now, for us, the warning looks like this: ``` Jetifier is deprecated. Future versions of react-native CLI may not run it by default. Jetifier found 1372 file(s) to forward-jetify. Using 12 workers... Jetifier: propose an AndroidX conversion PR to this repository: node_modules/react-native-photo-view/android/src/main/java/com/reactnative/photoview/ImageEvent.java Jetifier: propose an AndroidX conversion PR to this repository: node_modules/react-native-photo-view/android/src/main/java/com/reactnative/photoview/PhotoView.java ``` I'm not sure if we have to wait for 1372 files to move to AndroidX before we can stop using this tool...but at least we have an issue (zulip#4217) for using something more maintained than react-native-photo-view, which should take care of the two mentions of that library. Anyway, take this upgrade, in the spirit of not ignoring warnings that we should act on. And it's just four lines of output. Also I guess because we'll want `yarn upgrade` to automatically give us any new, non-breaking changes in the tool. [1] https://github.com/mikehardy/jetifier/releases
Here's the description from the changelog [1]: > Exact same as 1.6.7 was, just as a breaking change semver number > > docs(CHANGELOG): prepare release 2.0.0 f483026 > BREAKING: note that jetifier is deprecated, warn on translations > 699094b It looks like in 1.6.7 the tool started giving an important deprecation warning about itself. But then the warning was taken out in 1.6.8 because it was deemed to be a breaking change that deserved a new major version. 2.0.0 was that new major version. Right now, for us, the warning looks like this: ``` Jetifier is deprecated. Future versions of react-native CLI may not run it by default. Jetifier found 1372 file(s) to forward-jetify. Using 12 workers... Jetifier: propose an AndroidX conversion PR to this repository: node_modules/react-native-photo-view/android/src/main/java/com/reactnative/photoview/ImageEvent.java Jetifier: propose an AndroidX conversion PR to this repository: node_modules/react-native-photo-view/android/src/main/java/com/reactnative/photoview/PhotoView.java ``` I'm not sure if we have to wait for 1372 files to move to AndroidX before we can stop using this tool...but at least we have an issue (zulip#4217) for using something more maintained than react-native-photo-view, which should take care of the two mentions of that library. Anyway, take this upgrade, in the spirit of not ignoring warnings that we should act on. And it's just four lines of output. Also I guess because we'll want `yarn upgrade` to automatically give us any new, non-breaking changes in the tool. [1] https://github.com/mikehardy/jetifier/releases
Here's the description from the changelog [1]: > Exact same as 1.6.7 was, just as a breaking change semver number > > docs(CHANGELOG): prepare release 2.0.0 f483026 > BREAKING: note that jetifier is deprecated, warn on translations > 699094b It looks like in 1.6.7 the tool started giving an important deprecation warning about itself. But then the warning was taken out in 1.6.8 because it was deemed to be a breaking change that deserved a new major version. 2.0.0 was that new major version. Right now, for us, the warning looks like this: ``` Jetifier is deprecated. Future versions of react-native CLI may not run it by default. Jetifier found 1372 file(s) to forward-jetify. Using 12 workers... Jetifier: propose an AndroidX conversion PR to this repository: node_modules/react-native-photo-view/android/src/main/java/com/reactnative/photoview/ImageEvent.java Jetifier: propose an AndroidX conversion PR to this repository: node_modules/react-native-photo-view/android/src/main/java/com/reactnative/photoview/PhotoView.java ``` I'm not sure if we have to wait for 1372 files to move to AndroidX before we can stop using this tool...but at least we have an issue (zulip#4217) for using something more maintained than react-native-photo-view, which should take care of the two mentions of that library. Anyway, take this upgrade, in the spirit of not ignoring warnings that we should act on. And it's just four lines of output. Also I guess because we'll want `yarn upgrade` to automatically give us any new, non-breaking changes in the tool. [1] https://github.com/mikehardy/jetifier/releases
Here's the description from the changelog [1]: > Exact same as 1.6.7 was, just as a breaking change semver number > > docs(CHANGELOG): prepare release 2.0.0 f483026 > BREAKING: note that jetifier is deprecated, warn on translations > 699094b It looks like in 1.6.7 the tool started giving an important deprecation warning about itself. But then the warning was taken out in 1.6.8 because it was deemed to be a breaking change that deserved a new major version. 2.0.0 was that new major version. Right now, for us, the warning looks like this: ``` Jetifier is deprecated. Future versions of react-native CLI may not run it by default. Jetifier found 1372 file(s) to forward-jetify. Using 12 workers... Jetifier: propose an AndroidX conversion PR to this repository: node_modules/react-native-photo-view/android/src/main/java/com/reactnative/photoview/ImageEvent.java Jetifier: propose an AndroidX conversion PR to this repository: node_modules/react-native-photo-view/android/src/main/java/com/reactnative/photoview/PhotoView.java ``` So there are just two files in our dependency tree that still need to move to AndroidX, both in react-native-photo-view. We have an issue already (zulip#4217) for using something more maintained than that library, which should take care of those. Anyway, take this upgrade, in the spirit of not ignoring warnings that we should act on. And it's just four lines of output. Also I guess because we'll want `yarn upgrade` to automatically give us any new, non-breaking changes in the tool. [1] https://github.com/mikehardy/jetifier/releases
…AGP 7 Before this change, we were pointing Yarn to a commit from 2018 on this repo's `master` branch, since a new release with the commit hadn't been made to NPM in a reasonable time. (It still hasn't.) Now, just bump to this project's current `master`, which is three commits ahead of that commit: https://github.com/alwx/react-native-photo-view/commits/master In particular, we want alwx/react-native-photo-view@ef532a348, which has the project's build.gradle stop using the `compile` dependency configuration in favor of `implementation`. The former has long been deprecated, and is an error with AGP 7, which we'd like to use soon: https://developer.android.com/studio/releases/gradle-plugin#dependency-configurations-removed We'd still like to stop using this library since it's almost totally unmaintained; that's zulip#4217. Anyway, I tested on my iPhone 13 Pro running iOS 15.6, and on the office Android device (Samsung Galaxy S9 running Android 9), and I didn't notice any change in behavior of the lightbox. Regarding the `jcenter` exception for `photodraweeview` (see android/build.gradle in this commit), I tried removing the exception entirely, hoping that 1.1.3 might be available in the non-jcenter repos consulted by the build, even though 1.0.0 was not. But no, I again got an error that `photodraweeview` could not be found, so it looks like we still need to make an exception.
…AGP 7 Before this change, we were pointing Yarn to a commit from 2018 on this repo's `master` branch, since a new release with the commit hadn't been made to NPM in a reasonable time. (It still hasn't.) Now, just bump to this project's current `master`, which is three commits ahead of that commit: https://github.com/alwx/react-native-photo-view/commits/master In particular, we want alwx/react-native-photo-view@ef532a348, which has the project's build.gradle stop using the `compile` dependency configuration in favor of `implementation`. The former has long been deprecated, and is an error with AGP 7, which we'd like to use soon: https://developer.android.com/studio/releases/gradle-plugin#dependency-configurations-removed We'd still like to stop using this library since it's almost totally unmaintained; that's zulip#4217. Anyway, I tested on my iPhone 13 Pro running iOS 15.6, and on the office Android device (Samsung Galaxy S9 running Android 9), and I didn't notice any change in behavior of the lightbox. Regarding the `jcenter` exception for `photodraweeview` (see android/build.gradle in this commit), I tried removing the exception entirely, hoping that 1.1.3 might be available in the non-jcenter repos consulted by the build, even though 1.0.0 was not. But no, I again got an error that `photodraweeview` could not be found, so it looks like we still need to make an exception. See discussion of some further findings: zulip#5507 (comment)
…AGP 7 Before this change, we were pointing Yarn to a commit from 2018 on this repo's `master` branch, since a new release with the commit hadn't been made to NPM in a reasonable time. (It still hasn't.) Now, just bump to this project's current `master`, which is three commits ahead of that commit: https://github.com/alwx/react-native-photo-view/commits/master In particular, we want alwx/react-native-photo-view@ef532a348, which has the project's build.gradle stop using the `compile` dependency configuration in favor of `implementation`. The former has long been deprecated, and is an error with AGP 7, which we'd like to use soon: https://developer.android.com/studio/releases/gradle-plugin#dependency-configurations-removed We'd still like to stop using this library since it's almost totally unmaintained; that's zulip#4217. Anyway, I tested on my iPhone 13 Pro running iOS 15.6, and on the office Android device (Samsung Galaxy S9 running Android 9), and I didn't notice any change in behavior of the lightbox. Regarding the `jcenter` exception for `photodraweeview` (see android/build.gradle in this commit), I tried removing the exception entirely, hoping that 1.1.3 might be available in the non-jcenter repos consulted by the build, even though 1.0.0 was not. But no, I again got an error that `photodraweeview` could not be found, so it looks like we still need to make an exception. See discussion of some further findings: zulip#5507 (comment)
In d873e22, we pointed to a commit on this project's
master
branch that hadn't been released at the time, which was September 21, 2018. It still hasn't been released—in fact, there haven't been any commits after that date.Right now, if I do
yarn upgrade && yarn yarn-deduplicate && yarn
, Android fails to build (looks like it's something to do with the Android Support Library; it reminds me of 01cf598 and 48ef40d). edit: I've seen this kind of build failure a few times; clearingnode_modules
and runningyarn
—and making sure thejetify
step oftools/postinstall
gets run—has cleared it up so far.Unfortunately, I haven't found an obvious choice for a replacement lightbox library. Here are some candidates:
react-native-lightbox
(GitHub, npm). I recognize the author's name, at least—they runreact-native-vector-icons
. Looks like pinch-to-zoom isn't supported (though there's Pinch to zoom oblador/react-native-lightbox#5 from 2015 for it), and it's not super frequently maintained.react-native-reanimated
(GitHub, npm) can be used for a lightbox with pinch-and-zoom.react-native-reanimated
v2 is a reimplementation of the RN Animated library entirely in JavaScript (blog post: "Therefore, we wanted for the next Reanimated to allow for building animations and interactions using just JavaScript."). I tried out the lightbox example on the iOS simulator, following the instructions, and pinch-and-zoom didn't work. It animated from a small thumbnail into a size that covered the screen, but once it was there, I couldn't zoom in at all (you can use the option key to do a pinch gesture in the simulator).There is a major concern about both of these options, though. From the GIFs showing
react-native-lightbox
in action, and from seeing the demo withreact-native-reanimated
, both of them have the lightbox opening from a smooth animation from a React Native-land thumbnail to fill the screen. It really like this animation (and we'd get to solve #4039 for free). But the thumbnails we're showing aren't in React Native-land, they're in the WebView. I don't see how we can somehow overlay a React Native-land thumbnail on the message list and have it scroll with everything else...I wonder if it's time to take another look at #3426? That seems pretty dramatic; maybe let's try something else before it comes to that.
The text was updated successfully, but these errors were encountered: