diff --git a/.yarn/patches/joplin-rn-alarm-notification-npm-1.0.5-662e871c03 b/.yarn/patches/joplin-rn-alarm-notification-npm-1.0.5-662e871c03 new file mode 100644 index 000000000..c3cb99383 --- /dev/null +++ b/.yarn/patches/joplin-rn-alarm-notification-npm-1.0.5-662e871c03 @@ -0,0 +1,33 @@ +diff --git a/android/build.gradle b/android/build.gradle +index 1ae415331855895ed6c65d72e155ff91d02b4b39..a7548535a7fb08800fb4731c1d8e36efa8afa1ae 100644 +--- a/android/build.gradle ++++ b/android/build.gradle +@@ -22,7 +22,7 @@ def safeExtGet(prop, fallback) { + } + + apply plugin: 'com.android.library' +-apply plugin: 'maven' ++apply plugin: 'maven-publish' + + buildscript { + // The Android Gradle plugin is only required when opening the android folder stand-alone. +@@ -41,7 +41,7 @@ buildscript { + } + + apply plugin: 'com.android.library' +-apply plugin: 'maven' ++apply plugin: 'maven-publish' + + android { + compileSdkVersion safeExtGet('compileSdkVersion', DEFAULT_COMPILE_SDK_VERSION) +@@ -140,10 +140,5 @@ afterEvaluate { project -> + + task installArchives(type: Upload) { + configuration = configurations.archives +- repositories.mavenDeployer { +- // Deploy to react-native-event-bridge/maven, ready to publish to npm +- repository url: "file://${projectDir}/../android/maven" +- configureReactNativePom pom +- } + } + } diff --git a/package.json b/package.json index 9960a2a43..200bdd049 100644 --- a/package.json +++ b/package.json @@ -87,5 +87,8 @@ "node-gyp": "8.4.1", "nodemon": "2.0.20" }, - "packageManager": "yarn@3.2.4" + "packageManager": "yarn@3.2.4", + "resolutions": { + "joplin-rn-alarm-notification@1.0.5": "patch:joplin-rn-alarm-notification@npm:1.0.5#.yarn/patches/joplin-rn-alarm-notification-npm-1.0.5-662e871c03" + } } diff --git a/packages/app-mobile/.ruby-version b/packages/app-mobile/.ruby-version new file mode 100644 index 000000000..74500cee1 --- /dev/null +++ b/packages/app-mobile/.ruby-version @@ -0,0 +1 @@ +2.7.4 \ No newline at end of file diff --git a/packages/app-mobile/Gemfile b/packages/app-mobile/Gemfile new file mode 100644 index 000000000..c72a1ae2c --- /dev/null +++ b/packages/app-mobile/Gemfile @@ -0,0 +1,4 @@ +source 'https://rubygems.org' +# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version +ruby '2.7.4' +gem 'cocoapods', '~> 1.11', '>= 1.11.2' diff --git a/packages/app-mobile/Gemfile.lock b/packages/app-mobile/Gemfile.lock new file mode 100644 index 000000000..b96ce8468 --- /dev/null +++ b/packages/app-mobile/Gemfile.lock @@ -0,0 +1,96 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.5) + rexml + activesupport (6.1.4.4) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) + addressable (2.8.0) + public_suffix (>= 2.0.2, < 5.0) + algoliasearch (1.27.5) + httpclient (~> 2.8, >= 2.8.3) + json (>= 1.5.1) + atomos (0.1.3) + claide (1.1.0) + cocoapods (1.11.2) + addressable (~> 2.8) + claide (>= 1.0.2, < 2.0) + cocoapods-core (= 1.11.2) + cocoapods-deintegrate (>= 1.0.3, < 2.0) + cocoapods-downloader (>= 1.4.0, < 2.0) + cocoapods-plugins (>= 1.0.0, < 2.0) + cocoapods-search (>= 1.0.0, < 2.0) + cocoapods-trunk (>= 1.4.0, < 2.0) + cocoapods-try (>= 1.1.0, < 2.0) + colored2 (~> 3.1) + escape (~> 0.0.4) + fourflusher (>= 2.3.0, < 3.0) + gh_inspector (~> 1.0) + molinillo (~> 0.8.0) + nap (~> 1.0) + ruby-macho (>= 1.0, < 3.0) + xcodeproj (>= 1.21.0, < 2.0) + cocoapods-core (1.11.2) + activesupport (>= 5.0, < 7) + addressable (~> 2.8) + algoliasearch (~> 1.0) + concurrent-ruby (~> 1.1) + fuzzy_match (~> 2.0.4) + nap (~> 1.0) + netrc (~> 0.11) + public_suffix (~> 4.0) + typhoeus (~> 1.0) + cocoapods-deintegrate (1.0.5) + cocoapods-downloader (1.5.1) + cocoapods-plugins (1.0.0) + nap + cocoapods-search (1.0.1) + cocoapods-trunk (1.6.0) + nap (>= 0.8, < 2.0) + netrc (~> 0.11) + cocoapods-try (1.2.0) + colored2 (3.1.2) + concurrent-ruby (1.1.9) + escape (0.0.4) + ethon (0.15.0) + ffi (>= 1.15.0) + ffi (1.15.5) + fourflusher (2.3.1) + fuzzy_match (2.0.4) + gh_inspector (1.1.3) + httpclient (2.8.3) + i18n (1.9.1) + concurrent-ruby (~> 1.0) + json (2.6.1) + minitest (5.15.0) + molinillo (0.8.0) + nanaimo (0.3.0) + nap (1.1.0) + netrc (0.11.0) + public_suffix (4.0.6) + rexml (3.2.5) + ruby-macho (2.5.1) + typhoeus (1.4.0) + ethon (>= 0.9.0) + tzinfo (2.0.4) + concurrent-ruby (~> 1.0) + xcodeproj (1.21.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.3.0) + rexml (~> 3.2.4) + zeitwerk (2.5.4) +PLATFORMS + ruby +DEPENDENCIES + cocoapods (~> 1.11, >= 1.11.2) +RUBY VERSION + ruby 2.7.4p191 +BUNDLED WITH + 2.2.27 diff --git a/packages/app-mobile/android/app/build.gradle b/packages/app-mobile/android/app/build.gradle index 086a2f1b0..195adc89c 100644 --- a/packages/app-mobile/android/app/build.gradle +++ b/packages/app-mobile/android/app/build.gradle @@ -117,7 +117,7 @@ def jscFlavor = 'org.webkit:android-jsc-intl:+' /** * Whether to enable the Hermes VM. * - * This should be set on project.ext.react and mirrored here. If it is not set + * This should be set on project.ext.react and that value will be read here. If it is not set * on project.ext.react, JavaScript will not be compiled to Hermes Bytecode * and the benefits of using Hermes will therefore be sharply reduced. */ diff --git a/packages/app-mobile/android/app/src/main/res/drawable/rn_edit_text_material.xml b/packages/app-mobile/android/app/src/main/res/drawable/rn_edit_text_material.xml new file mode 100644 index 000000000..a902b2a3a --- /dev/null +++ b/packages/app-mobile/android/app/src/main/res/drawable/rn_edit_text_material.xml @@ -0,0 +1,29 @@ + + + + + + + + + diff --git a/packages/app-mobile/android/app/src/main/res/values/styles.xml b/packages/app-mobile/android/app/src/main/res/values/styles.xml index 24bc06136..7ba83a2ad 100644 --- a/packages/app-mobile/android/app/src/main/res/values/styles.xml +++ b/packages/app-mobile/android/app/src/main/res/values/styles.xml @@ -3,6 +3,7 @@ diff --git a/packages/app-mobile/android/build.gradle b/packages/app-mobile/android/build.gradle index 650989507..3be1031fb 100644 --- a/packages/app-mobile/android/build.gradle +++ b/packages/app-mobile/android/build.gradle @@ -21,8 +21,6 @@ buildscript { allprojects { repositories { - mavenCentral() - mavenLocal() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm url("$rootDir/../node_modules/react-native/android") @@ -31,7 +29,13 @@ allprojects { // Android JSC is installed from npm url("$rootDir/../node_modules/jsc-android/dist") } - + mavenCentral { + // We don't want to fetch react-native from Maven Central as there are + // older versions over there. + content { + excludeGroup "com.facebook.react" + } + } google() maven { url 'https://www.jitpack.io' } } diff --git a/packages/app-mobile/android/gradle.properties b/packages/app-mobile/android/gradle.properties index 8bd329f81..58c608775 100644 --- a/packages/app-mobile/android/gradle.properties +++ b/packages/app-mobile/android/gradle.properties @@ -9,7 +9,7 @@ # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. -# Default value: -Xmx10248m -XX:MaxPermSize=256m +# DDefault value: -Xmx1024m -XX:MaxPermSize=256m # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 diff --git a/packages/app-mobile/android/gradle/wrapper/gradle-wrapper.properties b/packages/app-mobile/android/gradle/wrapper/gradle-wrapper.properties index ee0ddce8b..a0f7639f7 100644 --- a/packages/app-mobile/android/gradle/wrapper/gradle-wrapper.properties +++ b/packages/app-mobile/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.9.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/packages/app-mobile/package.json b/packages/app-mobile/package.json index 0d62ce196..cd815e20f 100644 --- a/packages/app-mobile/package.json +++ b/packages/app-mobile/package.json @@ -23,7 +23,7 @@ "@joplin/renderer": "~2.9", "@react-native-community/clipboard": "1.5.1", "@react-native-community/datetimepicker": "6.5.5", - "@react-native-community/geolocation": "3.0.3", + "@react-native-community/geolocation": "2.1.0", "@react-native-community/netinfo": "9.3.6", "@react-native-community/push-notification-ios": "1.10.1", "@react-native-community/slider": "4.3.3", @@ -38,7 +38,7 @@ "prop-types": "15.8.1", "punycode": "2.1.1", "react": "17.0.2", - "react-native": "0.66.1", + "react-native": "0.67.2", "react-native-action-button": "2.8.5", "react-native-camera": "3.44.3", "react-native-dialogbox": "0.6.10", @@ -53,14 +53,14 @@ "react-native-popup-menu": "0.16.1", "react-native-quick-actions": "0.3.13", "react-native-rsa-native": "2.0.5", - "react-native-securerandom": "1.0.0", + "react-native-securerandom": "1.0.1", "react-native-share": "7.9.1", "react-native-side-menu-updated": "1.3.2", "react-native-sqlite-storage": "5.0.0", "react-native-url-polyfill": "1.3.0", "react-native-vector-icons": "7.1.0", "react-native-version-info": "1.1.1", - "react-native-webview": "10.10.2", + "react-native-webview": "11.23.1", "react-redux": "5.1.2", "redux": "4.0.0", "rn-fetch-blob": "0.12.0", diff --git a/yarn.lock b/yarn.lock index 4288ee8d7..d36e60866 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4075,7 +4075,7 @@ __metadata: "@lezer/highlight": 1.1.2 "@react-native-community/clipboard": 1.5.1 "@react-native-community/datetimepicker": 6.5.5 - "@react-native-community/geolocation": 3.0.3 + "@react-native-community/geolocation": 2.1.0 "@react-native-community/netinfo": 9.3.6 "@react-native-community/push-notification-ios": 1.10.1 "@react-native-community/slider": 4.3.3 @@ -4104,7 +4104,7 @@ __metadata: prop-types: 15.8.1 punycode: 2.1.1 react: 17.0.2 - react-native: 0.66.1 + react-native: 0.67.2 react-native-action-button: 2.8.5 react-native-camera: 3.44.3 react-native-dialogbox: 0.6.10 @@ -4119,14 +4119,14 @@ __metadata: react-native-popup-menu: 0.16.1 react-native-quick-actions: 0.3.13 react-native-rsa-native: 2.0.5 - react-native-securerandom: 1.0.0 + react-native-securerandom: 1.0.1 react-native-share: 7.9.1 react-native-side-menu-updated: 1.3.2 react-native-sqlite-storage: 5.0.0 react-native-url-polyfill: 1.3.0 react-native-vector-icons: 7.1.0 react-native-version-info: 1.1.1 - react-native-webview: 10.10.2 + react-native-webview: 11.23.1 react-redux: 5.1.2 redux: 4.0.0 rn-fetch-blob: 0.12.0 @@ -5945,13 +5945,13 @@ __metadata: languageName: node linkType: hard -"@react-native-community/geolocation@npm:3.0.3": - version: 3.0.3 - resolution: "@react-native-community/geolocation@npm:3.0.3" +"@react-native-community/geolocation@npm:2.1.0": + version: 2.1.0 + resolution: "@react-native-community/geolocation@npm:2.1.0" peerDependencies: react: "*" react-native: "*" - checksum: c57397a9a8fdc66368c2bd517c8f6b3cbf19f1cb1cfb758759b76dd4ecc0d5496ba2402554fc9bc86c4025ba1dc12d5ba307775e5206e1b21035b123b71965a5 + checksum: 43dd95a8f643af613cd4c8d0a9a557690a70d072f5985c94aa5e09e5cab41e35682a5b022080bb2f276d00029dee1341b0451fcbd8ad8b55a67bc5d98c28f8cc languageName: node linkType: hard @@ -5997,6 +5997,13 @@ __metadata: languageName: node linkType: hard +"@react-native/normalize-color@npm:2.0.0": + version: 2.0.0 + resolution: "@react-native/normalize-color@npm:2.0.0" + checksum: 2da373297f0d22b700edb9ab1b2cca34684e94a5dfe172e1cfd114e74ac17e139e802bc671e9868e0a580190eccbf3fa804f67be8cc1d9cbd0e216e994495931 + languageName: node + linkType: hard + "@react-native/polyfills@npm:2.0.0": version: 2.0.0 resolution: "@react-native/polyfills@npm:2.0.0" @@ -21266,6 +21273,13 @@ __metadata: languageName: node linkType: hard +"joplin-rn-alarm-notification@patch:joplin-rn-alarm-notification@npm:1.0.5#.yarn/patches/joplin-rn-alarm-notification-npm-1.0.5-662e871c03::locator=root%40workspace%3A.": + version: 1.0.5 + resolution: "joplin-rn-alarm-notification@patch:joplin-rn-alarm-notification@npm%3A1.0.5#.yarn/patches/joplin-rn-alarm-notification-npm-1.0.5-662e871c03::version=1.0.5&hash=532722&locator=root%40workspace%3A." + checksum: 9ceb16d19ae231998248fe10b16a1881f767b03c297f4dcf2d54432c35396bae86d611f90dadaca70a1da122e6b92449860434db51fd99b51795268fdf5bf719 + languageName: node + linkType: hard + "joplin@workspace:packages/app-cli": version: 0.0.0-use.local resolution: "joplin@workspace:packages/app-cli" @@ -27759,6 +27773,16 @@ __metadata: languageName: node linkType: hard +"react-devtools-core@npm:4.19.1": + version: 4.19.1 + resolution: "react-devtools-core@npm:4.19.1" + dependencies: + shell-quote: ^1.6.1 + ws: ^7 + checksum: 20471dde740e25a6f51b7b2b719fb1e1a9213cfb2a14d6defb44eced93646f73c9c5e376fcfdc78827c4fb587bc030ca99a14a0154a94acf7a1e1496d2b59ef6 + languageName: node + linkType: hard + "react-devtools-core@npm:^4.13.0": version: 4.21.0 resolution: "react-devtools-core@npm:4.21.0" @@ -27877,6 +27901,17 @@ __metadata: languageName: node linkType: hard +"react-native-codegen@npm:^0.0.8": + version: 0.0.8 + resolution: "react-native-codegen@npm:0.0.8" + dependencies: + flow-parser: ^0.121.0 + jscodeshift: ^0.11.0 + nullthrows: ^1.1.1 + checksum: c5ccdcb2a2f249756aca8e729cf96737368c8d33673b08d4c928a469bcb58ff37fbf3c7a070398f33b19846c4261948e2c5107c561934a41ac034620f7207bbd + languageName: node + linkType: hard + "react-native-dialogbox@npm:0.6.10": version: 0.6.10 resolution: "react-native-dialogbox@npm:0.6.10" @@ -27994,14 +28029,14 @@ __metadata: languageName: node linkType: hard -"react-native-securerandom@npm:1.0.0": - version: 1.0.0 - resolution: "react-native-securerandom@npm:1.0.0" +"react-native-securerandom@npm:1.0.1": + version: 1.0.1 + resolution: "react-native-securerandom@npm:1.0.1" dependencies: base64-js: "*" peerDependencies: react-native: "*" - checksum: 9c589c59632dc9b7b27979f7a26ebdacd337f9a9e7a67854c5bbb0438f2ce64c463367a4616622e8efe1b35f804e5b47a315d6fcbc911b3b007f83e3ada4d36a + checksum: ccf42b8a8a83809fd77097aa141efd2e9533e94c094e8dcb0054659707e276cbb6466d3408d0e0594f0bd67af4fbc5881f2ad2d93513b5b2aae25dfd2888274b languageName: node linkType: hard @@ -28069,15 +28104,16 @@ __metadata: languageName: node linkType: hard -"react-native-webview@npm:10.10.2": - version: 10.10.2 - resolution: "react-native-webview@npm:10.10.2" +"react-native-webview@npm:11.23.1": + version: 11.23.1 + resolution: "react-native-webview@npm:11.23.1" dependencies: escape-string-regexp: 2.0.0 invariant: 2.2.4 peerDependencies: - react-native: ">=0.60 <0.64" - checksum: c25c6d49b800ce3b57ff6952c5807df2b13a1b6ad42dd721e569efa4a6d18ad0945b74d864d89754d5a9ea82b67622e96f794e4e6e98faea05077a6310c0af28 + react: "*" + react-native: "*" + checksum: 58367276b4457a12c0ecb24084c237048a31a8b4d49f53615634052c2dfcb318824e9239909b6bfb80cc8abacab658d278f480f7ff96267d10d5ff84a8ff1373 languageName: node linkType: hard @@ -28124,6 +28160,48 @@ __metadata: languageName: node linkType: hard +"react-native@npm:0.67.2": + version: 0.67.2 + resolution: "react-native@npm:0.67.2" + dependencies: + "@jest/create-cache-key-function": ^27.0.1 + "@react-native-community/cli": ^6.0.0 + "@react-native-community/cli-platform-android": ^6.0.0 + "@react-native-community/cli-platform-ios": ^6.0.0 + "@react-native/assets": 1.0.0 + "@react-native/normalize-color": 2.0.0 + "@react-native/polyfills": 2.0.0 + abort-controller: ^3.0.0 + anser: ^1.4.9 + base64-js: ^1.1.2 + event-target-shim: ^5.0.1 + hermes-engine: ~0.9.0 + invariant: ^2.2.4 + jsc-android: ^250230.2.1 + metro-react-native-babel-transformer: 0.66.2 + metro-runtime: 0.66.2 + metro-source-map: 0.66.2 + nullthrows: ^1.1.1 + pretty-format: ^26.5.2 + promise: ^8.0.3 + prop-types: ^15.7.2 + react-devtools-core: 4.19.1 + react-native-codegen: ^0.0.8 + react-refresh: ^0.4.0 + regenerator-runtime: ^0.13.2 + scheduler: ^0.20.2 + stacktrace-parser: ^0.1.3 + use-subscription: ^1.0.0 + whatwg-fetch: ^3.0.0 + ws: ^6.1.4 + peerDependencies: + react: 17.0.2 + bin: + react-native: cli.js + checksum: 6e8bd1a8ab1c8fad2928fd1aa921363fd2d49d4622c6edea38c3f80e67cf43253347661a545b69637f149fbc3a762f0a0e26a3bcf0003ac3c46dd83adb63b2b2 + languageName: node + linkType: hard + "react-onclickoutside@npm:^6.5.0": version: 6.12.1 resolution: "react-onclickoutside@npm:6.12.1"