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"