Merge branch 'mobile-release-3.3.10-beta.2' into beta

This commit is contained in:
Ammar Ahmed
2025-12-01 10:05:46 +05:00
14 changed files with 177 additions and 143 deletions

View File

@@ -1,6 +1,7 @@
apply plugin: "com.android.application" apply plugin: "com.android.application"
apply plugin: "org.jetbrains.kotlin.android" apply plugin: "org.jetbrains.kotlin.android"
apply plugin: "com.facebook.react" apply plugin: "com.facebook.react"
apply plugin: 'kotlin-parcelize'
apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle" apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"
@@ -124,7 +125,7 @@ android {
minSdkVersion rootProject.ext.minSdkVersion minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled true multiDexEnabled true
versionCode 3080 versionCode 3081
versionName getNpmVersion() versionName getNpmVersion()
testBuildType System.getProperty('testBuildType', 'debug') testBuildType System.getProperty('testBuildType', 'debug')
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'

View File

@@ -64,3 +64,6 @@
-keep class com.google.gson.reflect.TypeToken { *; } -keep class com.google.gson.reflect.TypeToken { *; }
-keep class * extends com.google.gson.reflect.TypeToken -keep class * extends com.google.gson.reflect.TypeToken
-keep class com.streetwriters.notesnook.datatypes.* { *; } -keep class com.streetwriters.notesnook.datatypes.* { *; }
-keep class net.gotev.uploadservice.* { *; }
-keep class kotlinx.parcelize.* { *; }

View File

@@ -17,8 +17,8 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
import { RequestOptions } from "@notesnook/core"; import { isImage, RequestOptions } from "@notesnook/core";
import { Platform } from "react-native"; import { PermissionsAndroid, Platform } from "react-native";
import RNFetchBlob from "react-native-blob-util"; import RNFetchBlob from "react-native-blob-util";
import { ToastManager } from "../../services/event-manager"; import { ToastManager } from "../../services/event-manager";
import { useAttachmentStore } from "../../stores/use-attachment-store"; import { useAttachmentStore } from "../../stores/use-attachment-store";
@@ -31,6 +31,7 @@ import {
FileSizeResult, FileSizeResult,
getUploadedFileSize getUploadedFileSize
} from "./utils"; } from "./utils";
import Upload from "@ammarahmed/react-native-upload";
export async function uploadFile( export async function uploadFile(
filename: string, filename: string,
@@ -64,47 +65,87 @@ export async function uploadFile(
); );
} }
const fileSize = (await RNFetchBlob.fs.stat(filePath)).size; const fileInfo = await RNFetchBlob.fs.stat(filePath);
const remoteFileSize = await getUploadedFileSize(filename); const remoteFileSize = await getUploadedFileSize(filename);
if (remoteFileSize === FileSizeResult.Error) return false; if (remoteFileSize === FileSizeResult.Error) return false;
if (remoteFileSize > FileSizeResult.Empty && remoteFileSize === fileSize) { if (
remoteFileSize > FileSizeResult.Empty &&
remoteFileSize === fileInfo.size
) {
DatabaseLogger.log(`File ${filename} is already uploaded.`); DatabaseLogger.log(`File ${filename} is already uploaded.`);
return true; return true;
} }
DatabaseLogger.info(`Starting upload: ${filename}`); let attachmentInfo = await db.attachments.attachment(filename);
const uploadRequest = RNFetchBlob.config({ DatabaseLogger.info(
//@ts-ignore `Starting upload of ${filename} at path: ${fileInfo.path} ${fileInfo.size}`
IOSBackgroundTask: !globalThis["IS_SHARE_EXTENSION"] );
})
.fetch( if (Platform.OS === "android") {
"PUT", const status = await PermissionsAndroid.request(
url, "android.permission.POST_NOTIFICATIONS"
{ );
if (status !== "granted") {
ToastManager.show({
message: `The permission to show file upload notification was disallowed by the user.`,
type: "info"
});
}
}
const upload = Upload.create({
customUploadId: filename,
path: Platform.OS === "ios" ? "file://" + fileInfo.path : fileInfo.path,
url: url,
method: "PUT",
headers: {
...headers, ...headers,
"content-type": "" "content-type": "application/octet-stream"
}, },
RNFetchBlob.wrap(filePath) appGroup: IOS_APPGROUPID,
) notification: {
.uploadProgress((sent, total) => { filename:
attachmentInfo && isImage(attachmentInfo?.mimeType)
? "image"
: attachmentInfo?.filename || "file",
enabled: true,
enableRingTone: true,
autoClear: true
}
}).onChange((event) => {
switch (event.status) {
case "running":
case "pending":
useAttachmentStore useAttachmentStore
.getState() .getState()
.setProgress(sent, total, filename, 0, "upload"); .setProgress(
DatabaseLogger.info( event.uploadedBytes || 0,
`File upload progress: ${filename}, ${sent}/${total}` event.totalBytes || fileInfo.size,
filename,
0,
"upload"
); );
DatabaseLogger.info(
`File upload progress: ${filename}, ${event.uploadedBytes}/${
event.totalBytes || fileInfo.size
}`
);
break;
case "completed":
console.log("Upload completed");
break;
}
}); });
const result = await upload.start();
cancelToken.cancel = async () => { cancelToken.cancel = async () => {
useAttachmentStore.getState().remove(filename); useAttachmentStore.getState().remove(filename);
uploadRequest.cancel(); upload.cancel();
}; };
const uploadResponse = await uploadRequest; const status = result.responseCode || 0;
const status = uploadResponse.info().status;
const uploaded = status >= 200 && status < 300; const uploaded = status >= 200 && status < 300;
useAttachmentStore.getState().remove(filename); useAttachmentStore.getState().remove(filename);
@@ -114,12 +155,12 @@ export async function uploadFile(
throw new Error( throw new Error(
`${status}, name: ${fileInfo.filename}, length: ${ `${status}, name: ${fileInfo.filename}, length: ${
fileInfo.size fileInfo.size
}, info: ${JSON.stringify(uploadResponse.info())}` }, info: ${JSON.stringify(result.error)}`
); );
} }
const attachment = await db.attachments.attachment(filename); attachmentInfo = await db.attachments.attachment(filename);
if (!attachment) return false; if (!attachmentInfo) return false;
await checkUpload(filename, requestOptions.chunkSize, attachment.size); await checkUpload(filename, requestOptions.chunkSize, attachmentInfo.size);
DatabaseLogger.info(`File upload status: ${filename}, ${status}`); DatabaseLogger.info(`File upload status: ${filename}, ${status}`);
return uploaded; return uploaded;
} catch (e) { } catch (e) {

View File

@@ -205,7 +205,9 @@ const camera = async (options: PickerOptions) => {
options options
); );
}) })
.catch((e) => {}); .catch((e) => {
console.log(e);
});
} catch (e) { } catch (e) {
ToastManager.show({ ToastManager.show({
heading: (e as Error).message, heading: (e as Error).message,

View File

@@ -82,9 +82,6 @@ export const EditorWrapper = ({ widths }: { widths: any }) => {
return 0; return 0;
}; };
const KeyboardAvoidingViewIOS =
Platform.OS === "ios" ? KeyboardAvoidingView : View;
return ( return (
<View <View
testID="editor-wrapper" testID="editor-wrapper"
@@ -98,11 +95,12 @@ export const EditorWrapper = ({ widths }: { widths: any }) => {
borderLeftColor: DDS.isTab borderLeftColor: DDS.isTab
? colors.secondary.background ? colors.secondary.background
: "transparent", : "transparent",
paddingBottom: insets.bottom paddingBottom:
Platform.OS === "android" ? insets.bottom + 10 : insets.bottom
}} }}
> >
{loading || !introCompleted ? null : ( {loading || !introCompleted ? null : (
<KeyboardAvoidingViewIOS <KeyboardAvoidingView
behavior="padding" behavior="padding"
style={{ style={{
backgroundColor: colors.primary.background, backgroundColor: colors.primary.background,
@@ -118,7 +116,7 @@ export const EditorWrapper = ({ widths }: { widths: any }) => {
blurOnSubmit={false} blurOnSubmit={false}
/> />
<Editor key="editor" withController={true} /> <Editor key="editor" withController={true} />
</KeyboardAvoidingViewIOS> </KeyboardAvoidingView>
)} )}
</View> </View>
); );

View File

@@ -1029,7 +1029,7 @@
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2159; CURRENT_PROJECT_VERSION = 2160;
DEVELOPMENT_TEAM = 53CWBG3QUC; DEVELOPMENT_TEAM = 53CWBG3QUC;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
@@ -1104,7 +1104,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 3.3.10-beta.1; MARKETING_VERSION = "3.3.10-beta.2";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
"$(inherited)", "$(inherited)",
"-ObjC", "-ObjC",
@@ -1135,7 +1135,7 @@
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual; CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 2159; CURRENT_PROJECT_VERSION = 2160;
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 53CWBG3QUC; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 53CWBG3QUC;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
@@ -1210,7 +1210,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 3.3.10-beta.1; MARKETING_VERSION = "3.3.10-beta.2";
ONLY_ACTIVE_ARCH = NO; ONLY_ACTIVE_ARCH = NO;
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
"$(inherited)", "$(inherited)",
@@ -1367,7 +1367,7 @@
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2159; CURRENT_PROJECT_VERSION = 2160;
DEBUG_INFORMATION_FORMAT = dwarf; DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = 53CWBG3QUC; DEVELOPMENT_TEAM = 53CWBG3QUC;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
@@ -1379,7 +1379,7 @@
"@executable_path/Frameworks", "@executable_path/Frameworks",
"@executable_path/../../Frameworks", "@executable_path/../../Frameworks",
); );
MARKETING_VERSION = 3.3.10-beta.1; MARKETING_VERSION = "3.3.10-beta.2";
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = org.streetwriters.notesnook.notewidget; PRODUCT_BUNDLE_IDENTIFIER = org.streetwriters.notesnook.notewidget;
@@ -1410,7 +1410,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual; CODE_SIGN_STYLE = Manual;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 2159; CURRENT_PROJECT_VERSION = 2160;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 53CWBG3QUC; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 53CWBG3QUC;
@@ -1423,7 +1423,7 @@
"@executable_path/Frameworks", "@executable_path/Frameworks",
"@executable_path/../../Frameworks", "@executable_path/../../Frameworks",
); );
MARKETING_VERSION = 3.3.10-beta.1; MARKETING_VERSION = "3.3.10-beta.2";
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = org.streetwriters.notesnook.notewidget; PRODUCT_BUNDLE_IDENTIFIER = org.streetwriters.notesnook.notewidget;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
@@ -1453,7 +1453,7 @@
CODE_SIGN_ENTITLEMENTS = "Make Note/Make Note.entitlements"; CODE_SIGN_ENTITLEMENTS = "Make Note/Make Note.entitlements";
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2159; CURRENT_PROJECT_VERSION = 2160;
DEBUG_INFORMATION_FORMAT = dwarf; DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = 53CWBG3QUC; DEVELOPMENT_TEAM = 53CWBG3QUC;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
@@ -1534,7 +1534,7 @@
"@executable_path/../../Frameworks", "@executable_path/../../Frameworks",
); );
LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift$(inherited)"; LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift$(inherited)";
MARKETING_VERSION = 3.3.10-beta.1; MARKETING_VERSION = "3.3.10-beta.2";
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = org.streetwriters.notesnook.share; PRODUCT_BUNDLE_IDENTIFIER = org.streetwriters.notesnook.share;
@@ -1565,7 +1565,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual; CODE_SIGN_STYLE = Manual;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 2159; CURRENT_PROJECT_VERSION = 2160;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 53CWBG3QUC; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 53CWBG3QUC;
@@ -1647,7 +1647,7 @@
"@executable_path/../../Frameworks", "@executable_path/../../Frameworks",
); );
LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift$(inherited)"; LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift$(inherited)";
MARKETING_VERSION = 3.3.10-beta.1; MARKETING_VERSION = "3.3.10-beta.2";
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = org.streetwriters.notesnook.share; PRODUCT_BUNDLE_IDENTIFIER = org.streetwriters.notesnook.share;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";

View File

@@ -4,6 +4,7 @@
#import "RNShortcuts.h" #import "RNShortcuts.h"
#import "RNBootSplash.h" #import "RNBootSplash.h"
#import <ReactAppDependencyProvider/RCTAppDependencyProvider.h> #import <ReactAppDependencyProvider/RCTAppDependencyProvider.h>
#import "RNFileUploader.h"
@interface ReactNativeDelegate : RCTDefaultReactNativeFactoryDelegate @interface ReactNativeDelegate : RCTDefaultReactNativeFactoryDelegate
@end @end
@@ -79,4 +80,8 @@
[RNBootSplash initWithStoryboard:@"BootSplash" rootView:rootView]; // ⬅️ initialize the splash screen [RNBootSplash initWithStoryboard:@"BootSplash" rootView:rootView]; // ⬅️ initialize the splash screen
} }
- (void)application:(UIApplication *)application handleEventsForBackgroundURLSession:(NSString *)identifier completionHandler:(void (^)())completionHandler {
[RNFileUploader setCompletionHandlerWithIdentifier:identifier completionHandler:completionHandler];
}
@end @end

View File

@@ -1887,7 +1887,7 @@ PODS:
- ReactCommon/turbomodule/core - ReactCommon/turbomodule/core
- SocketRocket - SocketRocket
- Yoga - Yoga
- react-native-document-picker (10.1.7): - react-native-document-picker (11.0.1):
- boost - boost
- DoubleConversion - DoubleConversion
- fast_float - fast_float
@@ -1969,14 +1969,14 @@ PODS:
- React-Core - React-Core
- React-RCTFabric - React-RCTFabric
- ReactCommon/turbomodule/core - ReactCommon/turbomodule/core
- react-native-mmkv-storage (0.11.2): - react-native-mmkv-storage (12.0.0):
- boost - boost
- DoubleConversion - DoubleConversion
- fast_float - fast_float
- fmt - fmt
- glog - glog
- hermes-engine - hermes-engine
- MMKV (~> 1.3.9) - MMKV (~> 1.3.14)
- RCT-Folly - RCT-Folly
- RCT-Folly/Fabric - RCT-Folly/Fabric
- RCTRequired - RCTRequired
@@ -2244,6 +2244,8 @@ PODS:
- ReactCommon/turbomodule/core - ReactCommon/turbomodule/core
- SocketRocket - SocketRocket
- Yoga - Yoga
- react-native-upload (6.27.0):
- React
- react-native-webview (13.16.0): - react-native-webview (13.16.0):
- boost - boost
- DoubleConversion - DoubleConversion
@@ -3462,6 +3464,7 @@ DEPENDENCIES:
- "react-native-share-extension (from `../node_modules/@ammarahmed/react-native-share-extension`)" - "react-native-share-extension (from `../node_modules/@ammarahmed/react-native-share-extension`)"
- "react-native-sodium (from `../node_modules/@ammarahmed/react-native-sodium`)" - "react-native-sodium (from `../node_modules/@ammarahmed/react-native-sodium`)"
- react-native-theme-switch-animation (from `../node_modules/react-native-theme-switch-animation`) - react-native-theme-switch-animation (from `../node_modules/react-native-theme-switch-animation`)
- "react-native-upload (from `../node_modules/@ammarahmed/react-native-upload`)"
- react-native-webview (from `../node_modules/react-native-webview`) - react-native-webview (from `../node_modules/react-native-webview`)
- React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
- React-oscompat (from `../node_modules/react-native/ReactCommon/oscompat`) - React-oscompat (from `../node_modules/react-native/ReactCommon/oscompat`)
@@ -3675,6 +3678,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/@ammarahmed/react-native-sodium" :path: "../node_modules/@ammarahmed/react-native-sodium"
react-native-theme-switch-animation: react-native-theme-switch-animation:
:path: "../node_modules/react-native-theme-switch-animation" :path: "../node_modules/react-native-theme-switch-animation"
react-native-upload:
:path: "../node_modules/@ammarahmed/react-native-upload"
react-native-webview: react-native-webview:
:path: "../node_modules/react-native-webview" :path: "../node_modules/react-native-webview"
React-NativeModulesApple: React-NativeModulesApple:
@@ -3855,7 +3860,7 @@ SPEC CHECKSUMS:
react-native-blob-util: 7946b7e13acf0da5e849dc2f73fcfebe1d981699 react-native-blob-util: 7946b7e13acf0da5e849dc2f73fcfebe1d981699
react-native-config: 963b5efabc864cf69412e54b5de49b6a23e4af03 react-native-config: 963b5efabc864cf69412e54b5de49b6a23e4af03
react-native-date-picker: 4f4f40f6e65798038bb4b1bff47890c2be69c2e6 react-native-date-picker: 4f4f40f6e65798038bb4b1bff47890c2be69c2e6
react-native-document-picker: 1734eb0aa3dbd1cd7bf1b105936f9b55031ae616 react-native-document-picker: 254467fec90f263dfc4828210daf3e8baa4fcb81
react-native-fingerprint-scanner: d5e143a361f3f01858e9c45141ddcabc4fd57055 react-native-fingerprint-scanner: d5e143a361f3f01858e9c45141ddcabc4fd57055
react-native-get-random-values: d16467cf726c618e9c7a8c3c39c31faa2244bbba react-native-get-random-values: d16467cf726c618e9c7a8c3c39c31faa2244bbba
react-native-gzip: 794e0e964a0d9e1dfd1773fee938adb4d4310e26 react-native-gzip: 794e0e964a0d9e1dfd1773fee938adb4d4310e26
@@ -3863,7 +3868,7 @@ SPEC CHECKSUMS:
react-native-image-resizer: 290b045c34c69db7574e4d08aadfc4abe1ff5a99 react-native-image-resizer: 290b045c34c69db7574e4d08aadfc4abe1ff5a99
react-native-in-app-review: 1516ba69d60d58053b7eb3aaaf8d2a5a74af8b57 react-native-in-app-review: 1516ba69d60d58053b7eb3aaaf8d2a5a74af8b57
react-native-keep-awake: a351e6f67006b47f316ae2b17ee8ee69386167f4 react-native-keep-awake: a351e6f67006b47f316ae2b17ee8ee69386167f4
react-native-mmkv-storage: b7ce5a5eb3d3bfddcf2df127671abba6ef3d76ae react-native-mmkv-storage: 31b7b155e690339f5a25cfe56d5e2f68dee4f066
react-native-netinfo: cec9c4e86083cb5b6aba0e0711f563e2fbbff187 react-native-netinfo: cec9c4e86083cb5b6aba0e0711f563e2fbbff187
react-native-notification-sounds: ce106d58df0dd384bccbd2e84fb53accab7cc068 react-native-notification-sounds: ce106d58df0dd384bccbd2e84fb53accab7cc068
react-native-orientation-locker: cc6f357b289a2e0dd2210fea0c52cb8e0727fdaa react-native-orientation-locker: cc6f357b289a2e0dd2210fea0c52cb8e0727fdaa
@@ -3875,6 +3880,7 @@ SPEC CHECKSUMS:
react-native-share-extension: fdc6aaab51591a2d445df239c446aaa3a99658ec react-native-share-extension: fdc6aaab51591a2d445df239c446aaa3a99658ec
react-native-sodium: 066f76e46c9be13e9260521e3fa994937c4cdab4 react-native-sodium: 066f76e46c9be13e9260521e3fa994937c4cdab4
react-native-theme-switch-animation: 449d6db7a760f55740505e7403ae8061debc9a7e react-native-theme-switch-animation: 449d6db7a760f55740505e7403ae8061debc9a7e
react-native-upload: f0198bb4db00ff7dae14904ad59da470550be075
react-native-webview: 654f794a7686b47491cf43aa67f7f428bea00eed react-native-webview: 654f794a7686b47491cf43aa67f7f428bea00eed
React-NativeModulesApple: 46690a0fe94ec28fc6fc686ec797b911d251ded0 React-NativeModulesApple: 46690a0fe94ec28fc6fc686ec797b911d251ded0
React-oscompat: 95875e81f5d4b3c7b2c888d5bd2c9d83450d8bdb React-oscompat: 95875e81f5d4b3c7b2c888d5bd2c9d83450d8bdb

View File

@@ -1,12 +1,12 @@
{ {
"name": "@notesnook/mobile", "name": "@notesnook/mobile",
"version": "3.3.10-beta.0", "version": "3.3.10-beta.2",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@notesnook/mobile", "name": "@notesnook/mobile",
"version": "3.3.10-beta.0", "version": "3.3.10-beta.2",
"hasInstallScript": true, "hasInstallScript": true,
"license": "GPL-3.0-or-later", "license": "GPL-3.0-or-later",
"dependencies": { "dependencies": {
@@ -16,6 +16,7 @@
"@ammarahmed/react-native-fingerprint-scanner": "^5.0.1", "@ammarahmed/react-native-fingerprint-scanner": "^5.0.1",
"@ammarahmed/react-native-share-extension": "^2.9.5", "@ammarahmed/react-native-share-extension": "^2.9.5",
"@ammarahmed/react-native-sodium": "^1.6.8", "@ammarahmed/react-native-sodium": "^1.6.8",
"@ammarahmed/react-native-upload": "^6.28.0",
"@azure/core-asynciterator-polyfill": "^1.0.2", "@azure/core-asynciterator-polyfill": "^1.0.2",
"@bam.tech/react-native-image-resizer": "3.0.11", "@bam.tech/react-native-image-resizer": "3.0.11",
"@callstack/repack": "~5.2.1", "@callstack/repack": "~5.2.1",
@@ -41,7 +42,7 @@
"@react-native-community/datetimepicker": "^8.4.5", "@react-native-community/datetimepicker": "^8.4.5",
"@react-native-community/netinfo": "^11.4.1", "@react-native-community/netinfo": "^11.4.1",
"@react-native-community/toolbar-android": "^0.2.1", "@react-native-community/toolbar-android": "^0.2.1",
"@react-native-documents/picker": "^10.1.7", "@react-native-documents/picker": "^11.0.1",
"@react-native-masked-view/masked-view": "^0.3.2", "@react-native-masked-view/masked-view": "^0.3.2",
"@react-navigation/elements": "^1.3.3", "@react-navigation/elements": "^1.3.3",
"@react-navigation/native": "^6.0.10", "@react-navigation/native": "^6.0.10",
@@ -529,6 +530,16 @@
"integrity": "sha512-FbX9fMfqJ3ysd+zkSS5di459tPv5iB0fhmK3dx/xo+l07sf7f1gzJu17mghSGkOKkbjXaoLPcq3XLMwWGpvapQ==", "integrity": "sha512-FbX9fMfqJ3ysd+zkSS5di459tPv5iB0fhmK3dx/xo+l07sf7f1gzJu17mghSGkOKkbjXaoLPcq3XLMwWGpvapQ==",
"license": "ISC" "license": "ISC"
}, },
"node_modules/@ammarahmed/react-native-upload": {
"version": "6.28.0",
"resolved": "https://registry.npmjs.org/@ammarahmed/react-native-upload/-/react-native-upload-6.28.0.tgz",
"integrity": "sha512-0cU6ulbJB2s9KgV2QlQ91//YZ+K5USlKjM6CW9fDHFcGn+Td3tFWB0atnplP35Ih+HeOnYL9t1MuNG4vNzjoFw==",
"license": "BSD-3-Clause",
"peerDependencies": {
"react": "*",
"react-native": ">=0.47.0"
}
},
"node_modules/@azure/core-asynciterator-polyfill": { "node_modules/@azure/core-asynciterator-polyfill": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/@azure/core-asynciterator-polyfill/-/core-asynciterator-polyfill-1.0.2.tgz", "resolved": "https://registry.npmjs.org/@azure/core-asynciterator-polyfill/-/core-asynciterator-polyfill-1.0.2.tgz",
@@ -4839,13 +4850,13 @@
} }
}, },
"node_modules/@react-native-documents/picker": { "node_modules/@react-native-documents/picker": {
"version": "10.1.7", "version": "11.0.1",
"resolved": "https://registry.npmjs.org/@react-native-documents/picker/-/picker-10.1.7.tgz", "resolved": "https://registry.npmjs.org/@react-native-documents/picker/-/picker-11.0.1.tgz",
"integrity": "sha512-Tb8SPU+pHxrSJmDHBozSUStIPeyFHTHLrU3MW0N3sUAioLd5z+nmUdypfg5fs+Yzp7KTxVW06APe2HLB1ysLww==", "integrity": "sha512-aUq4MHGO/f8BslCFFx9OXz9NLLmcLkYAXp5PAEVau31v7obItPpb71Fe84bxpGV6gALIvGlGgSm6W9kEyU4toA==",
"license": "MIT", "license": "MIT",
"peerDependencies": { "peerDependencies": {
"react": "*", "react": "*",
"react-native": "*" "react-native": ">=0.79.0"
} }
}, },
"node_modules/@react-native-masked-view/masked-view": { "node_modules/@react-native-masked-view/masked-view": {

View File

@@ -1,6 +1,6 @@
{ {
"name": "@notesnook/mobile", "name": "@notesnook/mobile",
"version": "3.3.10-beta.1", "version": "3.3.10-beta.2",
"private": true, "private": true,
"license": "GPL-3.0-or-later", "license": "GPL-3.0-or-later",
"scripts": { "scripts": {
@@ -32,6 +32,7 @@
"@ammarahmed/react-native-fingerprint-scanner": "^5.0.1", "@ammarahmed/react-native-fingerprint-scanner": "^5.0.1",
"@ammarahmed/react-native-share-extension": "^2.9.5", "@ammarahmed/react-native-share-extension": "^2.9.5",
"@ammarahmed/react-native-sodium": "^1.6.8", "@ammarahmed/react-native-sodium": "^1.6.8",
"@ammarahmed/react-native-upload": "^6.28.0",
"@azure/core-asynciterator-polyfill": "^1.0.2", "@azure/core-asynciterator-polyfill": "^1.0.2",
"@bam.tech/react-native-image-resizer": "3.0.11", "@bam.tech/react-native-image-resizer": "3.0.11",
"@callstack/repack": "~5.2.1", "@callstack/repack": "~5.2.1",
@@ -57,7 +58,7 @@
"@react-native-community/datetimepicker": "^8.4.5", "@react-native-community/datetimepicker": "^8.4.5",
"@react-native-community/netinfo": "^11.4.1", "@react-native-community/netinfo": "^11.4.1",
"@react-native-community/toolbar-android": "^0.2.1", "@react-native-community/toolbar-android": "^0.2.1",
"@react-native-documents/picker": "^10.1.7", "@react-native-documents/picker": "^11.0.1",
"@react-native-masked-view/masked-view": "^0.3.2", "@react-native-masked-view/masked-view": "^0.3.2",
"@react-navigation/elements": "^1.3.3", "@react-navigation/elements": "^1.3.3",
"@react-navigation/native": "^6.0.10", "@react-navigation/native": "^6.0.10",

View File

@@ -0,0 +1,13 @@
diff --git a/node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js b/node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js
index 6eca156..5a42107 100644
--- a/node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js
+++ b/node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js
@@ -208,7 +208,7 @@ class KeyboardAvoidingView extends React.Component<
];
} else {
this._subscriptions = [
- Keyboard.addListener('keyboardDidHide', this._onKeyboardChange),
+ Keyboard.addListener('keyboardDidHide', this._onKeyboardHide),
Keyboard.addListener('keyboardDidShow', this._onKeyboardChange),
];
}

View File

@@ -1,3 +1,22 @@
diff --git a/node_modules/react-native-actions-shortcuts/android/.settings/org.eclipse.buildship.core.prefs b/node_modules/react-native-actions-shortcuts/android/.settings/org.eclipse.buildship.core.prefs
deleted file mode 100644
index 8c253d6..0000000
--- a/node_modules/react-native-actions-shortcuts/android/.settings/org.eclipse.buildship.core.prefs
+++ /dev/null
@@ -1,13 +0,0 @@
-arguments=
-auto.sync=false
-build.scans.enabled=false
-connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(6.0))
-connection.project.dir=
-eclipse.preferences.version=1
-gradle.user.home=
-java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
-jvm.arguments=
-offline.mode=false
-override.workspace.settings=true
-show.console.view=true
-show.executions.view=true
diff --git a/node_modules/react-native-actions-shortcuts/android/build.gradle b/node_modules/react-native-actions-shortcuts/android/build.gradle diff --git a/node_modules/react-native-actions-shortcuts/android/build.gradle b/node_modules/react-native-actions-shortcuts/android/build.gradle
index 19bd311..642ddbc 100644 index 19bd311..642ddbc 100644
--- a/node_modules/react-native-actions-shortcuts/android/build.gradle --- a/node_modules/react-native-actions-shortcuts/android/build.gradle
@@ -3788,7 +3807,7 @@ index b438823..ba03915 100644
} }
diff --git a/node_modules/react-native-actions-shortcuts/android/src/main/java/com/reactnativeshortcuts/ShortcutsModule.kt b/node_modules/react-native-actions-shortcuts/android/src/main/java/com/reactnativeshortcuts/ShortcutsModule.kt diff --git a/node_modules/react-native-actions-shortcuts/android/src/main/java/com/reactnativeshortcuts/ShortcutsModule.kt b/node_modules/react-native-actions-shortcuts/android/src/main/java/com/reactnativeshortcuts/ShortcutsModule.kt
index ec847cc..a4686a0 100644 index ec847cc..f101793 100644
--- a/node_modules/react-native-actions-shortcuts/android/src/main/java/com/reactnativeshortcuts/ShortcutsModule.kt --- a/node_modules/react-native-actions-shortcuts/android/src/main/java/com/reactnativeshortcuts/ShortcutsModule.kt
+++ b/node_modules/react-native-actions-shortcuts/android/src/main/java/com/reactnativeshortcuts/ShortcutsModule.kt +++ b/node_modules/react-native-actions-shortcuts/android/src/main/java/com/reactnativeshortcuts/ShortcutsModule.kt
@@ -28,18 +28,18 @@ class ShortcutsModule(reactContext: ReactApplicationContext) : @@ -28,18 +28,18 @@ class ShortcutsModule(reactContext: ReactApplicationContext) :
@@ -3853,7 +3872,7 @@ index ec847cc..a4686a0 100644
shortcutManager?.removeAllDynamicShortcuts() shortcutManager?.removeAllDynamicShortcuts()
} }
@@ -145,6 +145,19 @@ class ShortcutsModule(reactContext: ReactApplicationContext) : @@ -145,6 +145,17 @@ class ShortcutsModule(reactContext: ReactApplicationContext) :
fun isSupported(): Boolean { fun isSupported(): Boolean {
return Build.VERSION.SDK_INT >= 25 return Build.VERSION.SDK_INT >= 25
} }
@@ -3863,9 +3882,7 @@ index ec847cc..a4686a0 100644
+ requestCode: Int, + requestCode: Int,
+ resultCode: Int, + resultCode: Int,
+ data: Intent? + data: Intent?
+ ) { + ) {}
+ TODO("Not yet implemented")
+ }
+ +
+ override fun onNewIntent(intent: Intent) { + override fun onNewIntent(intent: Intent) {
+ emitEvent(intent) + emitEvent(intent)

View File

@@ -85,9 +85,6 @@
"@tiptap/extension-placeholder": "2.6.6", "@tiptap/extension-placeholder": "2.6.6",
"@tiptap/extension-subscript": "2.6.6", "@tiptap/extension-subscript": "2.6.6",
"@tiptap/extension-superscript": "2.6.6", "@tiptap/extension-superscript": "2.6.6",
"@tiptap/extension-table": "2.6.6",
"@tiptap/extension-table-cell": "2.6.6",
"@tiptap/extension-table-header": "2.6.6",
"@tiptap/extension-table-row": "2.6.6", "@tiptap/extension-table-row": "2.6.6",
"@tiptap/extension-task-item": "2.6.6", "@tiptap/extension-task-item": "2.6.6",
"@tiptap/extension-task-list": "2.6.6", "@tiptap/extension-task-list": "2.6.6",

View File

@@ -1532,39 +1532,6 @@
"@styled-system/css": "^5.1.5" "@styled-system/css": "^5.1.5"
} }
}, },
"node_modules/@theme-ui/color-modes": {
"version": "0.16.2",
"resolved": "https://registry.npmjs.org/@theme-ui/color-modes/-/color-modes-0.16.2.tgz",
"integrity": "sha512-jWEWx53lxNgWCT38i/kwLV2rsvJz8lVZgi5oImnVwYba9VejXD23q1ckbNFJHosQ8KKXY87ht0KPC6BQFIiHtQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@theme-ui/core": "^0.16.2",
"@theme-ui/css": "^0.16.2",
"deepmerge": "^4.2.2"
},
"peerDependencies": {
"@emotion/react": "^11.11.1",
"react": ">=18"
}
},
"node_modules/@theme-ui/color-modes/node_modules/@theme-ui/core": {
"version": "0.16.2",
"resolved": "https://registry.npmjs.org/@theme-ui/core/-/core-0.16.2.tgz",
"integrity": "sha512-bBd/ltbwO9vIUjF1jtlOX6XN0IIOdf1vzBp2JCKsSOqdfn84m+XL8OogIe/zOhQ+aM94Nrq4+32tFJc8sFav4Q==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@theme-ui/css": "^0.16.2",
"deepmerge": "^4.2.2"
},
"peerDependencies": {
"@emotion/react": "^11.11.1",
"react": ">=18"
}
},
"node_modules/@theme-ui/components": { "node_modules/@theme-ui/components": {
"version": "0.16.1", "version": "0.16.1",
"resolved": "https://registry.npmjs.org/@theme-ui/components/-/components-0.16.1.tgz", "resolved": "https://registry.npmjs.org/@theme-ui/components/-/components-0.16.1.tgz",
@@ -1610,39 +1577,6 @@
"@emotion/react": "^11.11.1" "@emotion/react": "^11.11.1"
} }
}, },
"node_modules/@theme-ui/theme-provider": {
"version": "0.16.2",
"resolved": "https://registry.npmjs.org/@theme-ui/theme-provider/-/theme-provider-0.16.2.tgz",
"integrity": "sha512-LRnVevODcGqO0JyLJ3wht+PV3ZoZcJ7XXLJAJWDoGeII4vZcPQKwVy4Lpz/juHsZppQxKcB3U+sQDGBnP25irQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@theme-ui/color-modes": "^0.16.2",
"@theme-ui/core": "^0.16.2",
"@theme-ui/css": "^0.16.2"
},
"peerDependencies": {
"@emotion/react": "^11.11.1",
"react": ">=18"
}
},
"node_modules/@theme-ui/theme-provider/node_modules/@theme-ui/core": {
"version": "0.16.2",
"resolved": "https://registry.npmjs.org/@theme-ui/core/-/core-0.16.2.tgz",
"integrity": "sha512-bBd/ltbwO9vIUjF1jtlOX6XN0IIOdf1vzBp2JCKsSOqdfn84m+XL8OogIe/zOhQ+aM94Nrq4+32tFJc8sFav4Q==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@theme-ui/css": "^0.16.2",
"deepmerge": "^4.2.2"
},
"peerDependencies": {
"@emotion/react": "^11.11.1",
"react": ">=18"
}
},
"node_modules/@tiptap/core": { "node_modules/@tiptap/core": {
"version": "2.6.6", "version": "2.6.6",
"resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.6.6.tgz", "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.6.6.tgz",
@@ -3516,7 +3450,8 @@
"node_modules/js-tokens": { "node_modules/js-tokens": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
"dev": true
}, },
"node_modules/js-yaml": { "node_modules/js-yaml": {
"version": "3.14.1", "version": "3.14.1",
@@ -3636,6 +3571,7 @@
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"dev": true,
"dependencies": { "dependencies": {
"js-tokens": "^3.0.0 || ^4.0.0" "js-tokens": "^3.0.0 || ^4.0.0"
}, },
@@ -5158,6 +5094,7 @@
"version": "18.3.1", "version": "18.3.1",
"resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
"integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
"dev": true,
"dependencies": { "dependencies": {
"loose-envify": "^1.1.0" "loose-envify": "^1.1.0"
}, },
@@ -5178,6 +5115,7 @@
"version": "18.3.1", "version": "18.3.1",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
"integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
"dev": true,
"dependencies": { "dependencies": {
"loose-envify": "^1.1.0", "loose-envify": "^1.1.0",
"scheduler": "^0.23.2" "scheduler": "^0.23.2"
@@ -5492,6 +5430,7 @@
"version": "0.23.2", "version": "0.23.2",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
"integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
"dev": true,
"dependencies": { "dependencies": {
"loose-envify": "^1.1.0" "loose-envify": "^1.1.0"
} }