diff --git a/apps/mobile/app/common/database/index.js b/apps/mobile/app/common/database/index.js index 6acdacf06..434943a36 100644 --- a/apps/mobile/app/common/database/index.js +++ b/apps/mobile/app/common/database/index.js @@ -78,6 +78,7 @@ export async function setupDatabase(password) { createQueryCompiler: () => new SqliteQueryCompiler() }), tempStore: "memory", + journalMode: Platform.OS === "ios" ? "DELETE" : "WAL", password: key } }); diff --git a/apps/mobile/app/common/database/sqlite.kysely.ts b/apps/mobile/app/common/database/sqlite.kysely.ts index e4d9e855d..1cd588308 100644 --- a/apps/mobile/app/common/database/sqlite.kysely.ts +++ b/apps/mobile/app/common/database/sqlite.kysely.ts @@ -106,9 +106,9 @@ class RNSqliteConnection implements DatabaseConnection { : query.kind === "RawNode" ? "raw" : "exec"; + const result = await this.db.executeAsync(sql, parameters as any[]); - // console.log("SQLITE result:", result?.rows?._array); if (mode === "query" || !result.insertId) return { rows: result.rows?._array || [] diff --git a/apps/mobile/app/components/app-lock-overlay/index.tsx b/apps/mobile/app/components/app-lock-overlay/index.tsx index eab792b61..a066357f8 100644 --- a/apps/mobile/app/components/app-lock-overlay/index.tsx +++ b/apps/mobile/app/components/app-lock-overlay/index.tsx @@ -20,12 +20,22 @@ along with this program. If not, see . import React, { useCallback, useEffect, useRef } from "react"; import { Platform, TextInput, View } from "react-native"; //@ts-ignore +import { useThemeColors } from "@notesnook/theme"; import { enabled } from "react-native-privacy-snapshot"; -import { db } from "../../common/database"; +import { DatabaseLogger } from "../../common/database"; +import { + decrypt, + encrypt, + getCryptoKey, + getDatabaseKey, + setAppLockVerificationCipher, + validateAppLockPassword +} from "../../common/database/encryption"; +import { MMKV } from "../../common/database/mmkv"; import { useAppState } from "../../hooks/use-app-state"; import BiometricService from "../../services/biometrics"; +import SettingsService from "../../services/settings"; import { useSettingStore } from "../../stores/use-setting-store"; -import { useThemeColors } from "@notesnook/theme"; import { useUserStore } from "../../stores/use-user-store"; import { NotesnookModule } from "../../utils/notesnook-module"; import { SIZE } from "../../utils/size"; @@ -35,11 +45,37 @@ import Input from "../ui/input"; import Seperator from "../ui/seperator"; import Heading from "../ui/typography/heading"; import Paragraph from "../ui/typography/paragraph"; -import { validateAppLockPassword } from "../../common/database/encryption"; + +const getUser = () => { + const user = MMKV.getString("user"); + if (user) { + return JSON.parse(user); + } +}; + +const verifyUserPassword = async (password: string) => { + try { + await getDatabaseKey(); + const key = await getCryptoKey(); + const user = getUser(); + const cipher = await encrypt( + { + key: key, + salt: user.salt + }, + "notesnook" + ); + const plainText = await decrypt({ password }, cipher); + return plainText === "notesnook"; + } catch (e) { + DatabaseLogger.error(e as Error); + return false; + } +}; const AppLockedOverlay = () => { const { colors } = useThemeColors(); - const user = useUserStore((state) => state.user); + const user = getUser(); const appLocked = useUserStore((state) => state.appLocked); const lockApp = useUserStore((state) => state.lockApp); const deviceMode = useSettingStore((state) => state.deviceMode); @@ -93,9 +129,18 @@ const AppLockedOverlay = () => { try { const unlocked = appLockHasPasswordSecurity ? validateAppLockPassword(password.current) - : await db.user.verifyPassword(password.current); + : await verifyUserPassword(password.current); if (unlocked) { + if (!appLockHasPasswordSecurity) { + await setAppLockVerificationCipher(password.current); + SettingsService.set({ + appLockHasPasswordSecurity: true, + applockKeyboardType: "default" + }); + DatabaseLogger.info("App lock migrated to password security"); + } + lockApp(false); enabled(false); password.current = undefined; diff --git a/apps/mobile/app/components/dialogs/applock-password/index.tsx b/apps/mobile/app/components/dialogs/applock-password/index.tsx index bdbac4b05..3237e9e37 100644 --- a/apps/mobile/app/components/dialogs/applock-password/index.tsx +++ b/apps/mobile/app/components/dialogs/applock-password/index.tsx @@ -24,6 +24,7 @@ import { setAppLockVerificationCipher, validateAppLockPassword } from "../../../common/database/encryption"; +import BiometicService from "../../../services/biometrics"; import { DDS } from "../../../services/device-detection"; import { ToastManager, @@ -46,8 +47,6 @@ import { Toast } from "../../toast"; import { IconButton } from "../../ui/icon-button"; import Input from "../../ui/input"; import Seperator from "../../ui/seperator"; -import { useUserStore } from "../../../stores/use-user-store"; -import BiometicService from "../../../services/biometrics"; export const AppLockPassword = () => { const { colors } = useThemeColors(); @@ -322,13 +321,15 @@ export const AppLockPassword = () => { clearAppLockVerificationCipher(); SettingsService.setProperty("appLockHasPasswordSecurity", false); - if (!useUserStore.getState().user) { - if ( - !(await BiometicService.isBiometryAvailable()) || - !SettingsService.getProperty("biometricsAuthEnabled") - ) { - SettingsService.setProperty("appLockEnabled", false); - } + if ( + !(await BiometicService.isBiometryAvailable()) || + SettingsService.getProperty("biometricsAuthEnabled") === false + ) { + SettingsService.setProperty("appLockEnabled", false); + ToastManager.show({ + message: "App lock disabled", + type: "success" + }); } } diff --git a/apps/mobile/app/components/note-history/index.js b/apps/mobile/app/components/note-history/index.tsx similarity index 53% rename from apps/mobile/app/components/note-history/index.js rename to apps/mobile/app/components/note-history/index.tsx index c5424384e..962a6c2ae 100644 --- a/apps/mobile/app/components/note-history/index.js +++ b/apps/mobile/app/components/note-history/index.tsx @@ -18,12 +18,17 @@ along with this program. If not, see . */ import React, { useCallback, useEffect, useState } from "react"; -import { Text, View } from "react-native"; -import { FlatList } from "react-native-gesture-handler"; +import { ActivityIndicator, Text, View } from "react-native"; + +import { getFormattedDate, getTimeAgo } from "@notesnook/common"; +import { HistorySession, Note, VirtualizedGrouping } from "@notesnook/core"; +import { useThemeColors } from "@notesnook/theme"; +import { ActionSheetRef } from "react-native-actions-sheet"; +import { FlashList } from "react-native-actions-sheet/dist/src/views/FlashList"; import Icon from "react-native-vector-icons/MaterialCommunityIcons"; import { db } from "../../common/database"; +import { useDBItem } from "../../hooks/use-db-item"; import { presentSheet } from "../../services/event-manager"; -import { useThemeColors } from "@notesnook/theme"; import { openLinkInBrowser } from "../../utils/functions"; import { SIZE } from "../../utils/size"; import DialogHeader from "../dialog/dialog-header"; @@ -32,22 +37,32 @@ import { PressableButton } from "../ui/pressable"; import Seperator from "../ui/seperator"; import Paragraph from "../ui/typography/paragraph"; import NotePreview from "./preview"; -import { getFormattedDate, getTimeAgo } from "@notesnook/common"; -export default function NoteHistory({ note, fwdRef }) { - const [history, setHistory] = useState([]); - const [_loading, setLoading] = useState(true); +const HistoryItem = ({ + index, + items, + note +}: { + index: number; + items?: VirtualizedGrouping; + note?: Note; +}) => { + const [item] = useDBItem(index, "noteHistory", items); const { colors } = useThemeColors(); + const getDate = (start: number, end: number) => { + const _start_date = getFormattedDate(start, "date"); + const _end_date = getFormattedDate(end + 60000, "date"); - useEffect(() => { - (async () => { - setHistory([...(await db.noteHistory.get(note.id))]); - setLoading(false); - })(); - }, [note.id]); + const _start_time = getFormattedDate(start, "time"); + const _end_time = getFormattedDate(end + 60000, "time"); - const preview = useCallback(async (item) => { - let content = await db.noteHistory.content(item.id); + return `${_start_date} ${_start_time} - ${ + _end_date === _start_date ? " " : _end_date + " " + }${_end_time}`; + }; + + const preview = useCallback(async (item: HistorySession) => { + const content = await db.noteHistory.content(item.id); presentSheet({ component: ( { - let _start_date = getFormattedDate(start, "date"); - let _end_date = getFormattedDate(end + 60000, "date"); - - let _start_time = getFormattedDate(start, "time"); - let _end_time = getFormattedDate(end + 60000, "time"); - - return `${_start_date} ${_start_time} - ${ - _end_date === _start_date ? " " : _end_date + " " - }${_end_time}`; - }; - - const renderItem = useCallback( - ({ item }) => ( + return ( + item && ( preview(item)} + onPress={() => { + if (!item) return; + preview(item); + }} customStyle={{ justifyContent: "space-between", alignItems: "center", @@ -93,8 +99,41 @@ export default function NoteHistory({ note, fwdRef }) { {getTimeAgo(item.dateModified)} + ) + ); +}; + +export default function NoteHistory({ + note +}: { + note: Note; + fwdRef: ActionSheetRef; +}) { + const [history, setHistory] = useState>(); + const [_loading, setLoading] = useState(true); + const { colors } = useThemeColors(); + + useEffect(() => { + db.noteHistory + .get(note.id) + .sorted({ + sortBy: "dateModified", + sortDirection: "desc" + }) + .then((result) => { + setHistory(result); + setLoading(false); + }) + .catch((e) => { + setLoading(false); + }); + }, [note.id]); + + const renderItem = useCallback( + ({ index }: { index: number }) => ( + ), - [colors.secondary.paragraph, preview] + [history] ); return ( @@ -108,34 +147,46 @@ export default function NoteHistory({ note, fwdRef }) { - { - fwdRef?.current?.handleChildScrollEnd(); - }} + item.id} - data={history} - ListFooterComponent={} - ListEmptyComponent={ - - - - No note history found on this device. - - - } - renderItem={renderItem} - /> + > + + {_loading ? ( + + ) : ( + <> + + + No note history found on this device. + + + )} + + } + renderItem={renderItem} + /> + { - openLinkInBrowser( - "https://docs.notesnook.com/versionhistory", - colors - ); + openLinkInBrowser("https://docs.notesnook.com/versionhistory"); }} style={{ color: colors.primary.accent, diff --git a/apps/mobile/app/components/note-history/preview.js b/apps/mobile/app/components/note-history/preview.js index 4f4d4efae..186652686 100644 --- a/apps/mobile/app/components/note-history/preview.js +++ b/apps/mobile/app/components/note-history/preview.js @@ -123,7 +123,7 @@ export default function NotePreview({ session, content, note }) { readonly editorId={editorId} onLoad={async () => { - const _note = note || db.notes.note(session?.noteId)?.data; + const _note = note || (await db.notes.note(session?.noteId)); eSendEvent(eOnLoadNote + editorId, { item: { ..._note, diff --git a/apps/mobile/app/components/sheets/migrate/index.tsx b/apps/mobile/app/components/sheets/migrate/index.tsx index bffdf2b88..5e2ac0e18 100644 --- a/apps/mobile/app/components/sheets/migrate/index.tsx +++ b/apps/mobile/app/components/sheets/migrate/index.tsx @@ -30,6 +30,7 @@ import { presentSheet } from "../../../services/event-manager"; import SettingsService from "../../../services/settings"; +import { useUserStore } from "../../../stores/use-user-store"; import { eCloseSheet } from "../../../utils/events"; import { sleep } from "../../../utils/time"; import { Dialog } from "../../dialog"; @@ -90,21 +91,27 @@ export default function Migrate() { const startMigration = useCallback(async () => { try { + useUserStore.setState({ + disableAppLockRequests: true + }); setLoading(true); - await sleep(1000); + await sleep(1); const backupSaved = await BackupService.run(false, "local"); if (!backupSaved) { ToastManager.show({ heading: "Migration failed", message: "You must download a backup of your data before migrating.", - context: "local" + context: "local", + type: "error" }); setLoading(false); return; } await db.migrations?.migrate(); + useUserStore.setState({ + disableAppLockRequests: false + }); eSendEvent(eCloseSheet); - await sleep(500); setLoading(false); } catch (e) { setLoading(false); diff --git a/apps/mobile/app/components/sheets/restore-data/index.js b/apps/mobile/app/components/sheets/restore-data/index.js index dea454d3b..12a127ce0 100644 --- a/apps/mobile/app/components/sheets/restore-data/index.js +++ b/apps/mobile/app/components/sheets/restore-data/index.js @@ -35,8 +35,9 @@ import { eSubscribeEvent, eUnSubscribeEvent } from "../../../services/event-manager"; +import Navigation from "../../../services/navigation"; import SettingsService from "../../../services/settings"; -import { initialize } from "../../../stores"; +import { refreshAllStores } from "../../../stores/create-db-collection-store"; import { eCloseRestoreDialog, eOpenRestoreDialog } from "../../../utils/events"; import { SIZE } from "../../../utils/size"; import { Dialog } from "../../dialog"; @@ -47,7 +48,6 @@ import { Button } from "../../ui/button"; import Seperator from "../../ui/seperator"; import SheetWrapper from "../../ui/sheet"; import Paragraph from "../../ui/typography/paragraph"; -import Navigation from "../../../services/navigation"; const RestoreDataSheet = () => { const [visible, setVisible] = useState(false); @@ -235,10 +235,10 @@ const RestoreDataComponent = ({ close, setRestoring, restoring }) => { }; const restoreBackup = async (backup, password) => { - await db.backup.import(backup, password); - - await db.initCollections(); - initialize(); + await db.transaction(async () => { + await db.backup.import(backup, password); + }); + refreshAllStores(); ToastManager.show({ heading: "Backup restored successfully.", type: "success", @@ -280,30 +280,33 @@ const RestoreDataComponent = ({ close, setRestoring, restoring }) => { throw new Error("Backup file is invalid"); } - let password; + await db.transaction(async () => { + let password; + console.log( + `Found ${backupFiles?.length} files to restore from backup` + ); + for (const path of backupFiles) { + if (path === ".nnbackup") continue; + const filePath = `${zipOutputFolder}/${path}`; + const data = await RNFetchBlob.fs.readFile(filePath, "utf8"); + const parsed = JSON.parse(data); - console.log(`Found ${backupFiles?.length} files to restore from backup`); - for (const path of backupFiles) { - if (path === ".nnbackup") continue; - const filePath = `${zipOutputFolder}/${path}`; - const data = await RNFetchBlob.fs.readFile(filePath, "utf8"); - const parsed = JSON.parse(data); - - if (parsed.encrypted && !password) { - console.log("Backup is encrypted...", "requesting password"); - password = await withPassword(); - if (!password) throw new Error("Failed to decrypt backup"); + if (parsed.encrypted && !password) { + console.log("Backup is encrypted...", "requesting password"); + password = await withPassword(); + if (!password) throw new Error("Failed to decrypt backup"); + } + await db.backup.import(parsed, password); + console.log("Imported", path); } - await db.backup.import(parsed, password); - console.log("Imported", path); - } + }); // Remove files from cache RNFetchBlob.fs.unlink(zipOutputFolder).catch(console.log); if (remove) { RNFetchBlob.fs.unlink(file).catch(console.log); } - await db.initCollections(); + refreshAllStores(); Navigation.queueRoutesForUpdate(); setRestoring(false); close(); diff --git a/apps/mobile/app/hooks/use-app-events.tsx b/apps/mobile/app/hooks/use-app-events.tsx index 257e542aa..a64368f0c 100644 --- a/apps/mobile/app/hooks/use-app-events.tsx +++ b/apps/mobile/app/hooks/use-app-events.tsx @@ -629,22 +629,6 @@ export const useAppEvents = () => { } } - const IsDatabaseMigrationRequired = useCallback(() => { - if (!db.migrations.required() || appLocked) return false; - - presentSheet({ - component: , - onClose: async () => { - if (!db.isInitialized) { - await db.init(); - } - useSettingStore.getState().setAppLoading(false); - }, - disableClosing: true - }); - return true; - }, [appLocked]); - useEffect(() => { if (!loading) { onUserUpdated(); @@ -652,45 +636,53 @@ export const useAppEvents = () => { } }, [loading, onUserUpdated]); - const initializeDatabase = useCallback( - async (password?: string) => { - if (useUserStore.getState().appLocked) return; - if (!db.isInitialized) { - RNBootSplash.hide({ fade: true }); - DatabaseLogger.info("Initializing database"); - try { - await setupDatabase(password); - await db.init(); - Notifications.setupReminders(true); - } catch (e) { - DatabaseLogger.error(e as Error); - ToastManager.error( - e as Error, - "Error initializing database", - "global" - ); - } - } + const initializeDatabase = useCallback(async (password?: string) => { + const IsDatabaseMigrationRequired = () => { + if (!db.migrations.required() || useUserStore.getState().appLocked) + return false; - if (db.isInitialized) { - useSettingStore.getState().setAppLoading(false); + presentSheet({ + component: , + onClose: () => { + if (!db.migrations.required()) { + initializeDatabase(); + } + }, + disableClosing: true + }); + return true; + }; + + if (useUserStore.getState().appLocked) return; + if (!db.isInitialized) { + RNBootSplash.hide({ fade: true }); + DatabaseLogger.info("Initializing database"); + try { + await setupDatabase(password); + await db.init(); + } catch (e) { + DatabaseLogger.error(e as Error); + ToastManager.error(e as Error, "Error initializing database", "global"); } - if (IsDatabaseMigrationRequired()) return; - Walkthrough.init(); - }, - [IsDatabaseMigrationRequired] - ); + } + + if (IsDatabaseMigrationRequired()) return; + + if (db.isInitialized) { + Notifications.setupReminders(true); + useSettingStore.getState().setAppLoading(false); + DatabaseLogger.info("Database initialized"); + } + Walkthrough.init(); + }, []); useEffect(() => { let sub: () => void; if (appLocked) { const sub = useUserStore.subscribe((state) => { if (!state.appLocked && useSettingStore.getState().isAppLoading) { - initializeDatabase(useSettingStore.getState().dbPassword); - useSettingStore.setState({ - dbPassword: undefined - }); - + console.log("DB initialized"); + initializeDatabase(); sub(); } }); diff --git a/apps/mobile/app/hooks/use-db-item.ts b/apps/mobile/app/hooks/use-db-item.ts index 29369c581..482bd1680 100644 --- a/apps/mobile/app/hooks/use-db-item.ts +++ b/apps/mobile/app/hooks/use-db-item.ts @@ -24,7 +24,8 @@ import { Reminder, Shortcut, Tag, - VirtualizedGrouping + VirtualizedGrouping, + HistorySession } from "@notesnook/core"; import React, { useEffect, useRef, useState } from "react"; import { db } from "../common/database"; @@ -43,6 +44,7 @@ type ItemTypeKey = { reminder: Reminder; attachment: Attachment; shortcut: Shortcut; + noteHistory: HistorySession; }; function isValidIdOrIndex(idOrIndex?: string | number) { @@ -83,8 +85,6 @@ export const useDBItem = ( `db.${type}s.${type}(id: string)` ); } else { - console.log("get notebook"); - (db as any)[type + "s"] ?.[type]?.(idOrIndex as string) .then((item: ItemTypeKey[T]) => { diff --git a/apps/mobile/app/screens/settings/settings-data.tsx b/apps/mobile/app/screens/settings/settings-data.tsx index a6faeeaa5..c518da972 100644 --- a/apps/mobile/app/screens/settings/settings-data.tsx +++ b/apps/mobile/app/screens/settings/settings-data.tsx @@ -70,6 +70,7 @@ import { useDragState } from "./editor/state"; import { verifyUser } from "./functions"; import { SettingSection } from "./types"; import { getTimeLeft } from "./user-section"; +import { refreshAllStores } from "../../stores/create-db-collection-store"; type User = any; export const settingsGroups: SettingSection[] = [ @@ -299,6 +300,7 @@ export const settingsGroups: SettingSection[] = [ await BiometicService.resetCredentials(); MMKV.clearStore(); clearAllStores(); + refreshAllStores(); Navigation.queueRoutesForUpdate(); SettingsService.resetSettings(); useUserStore.getState().setUser(null); @@ -853,14 +855,13 @@ export const settingsGroups: SettingSection[] = [ if ( !(await BiometicService.isBiometryAvailable()) && - !useUserStore.getState().user && !SettingsService.getProperty("appLockHasPasswordSecurity") ) { ToastManager.show({ heading: "Biometrics not enrolled", type: "error", message: - "To use app lock, you must enable biometrics such as Fingerprint lock or Face ID on your phone or create an account." + "To use app lock, you must enable biometrics such as Fingerprint lock or Face ID on your phone." }); SettingsService.setProperty("appLockEnabled", false); return; @@ -889,8 +890,18 @@ export const settingsGroups: SettingSection[] = [ }, { id: "app-lock-pin", - name: "Setup app lock password", - description: "Set up a password or pin for app lock", + name: () => + `Setup app lock ${ + SettingsService.getProperty("applockKeyboardType") === "numeric" + ? "pin" + : "password" + }`, + description: () => + `Set up a ${ + SettingsService.getProperty("applockKeyboardType") === "numeric" + ? "pin" + : "password" + } for app lock`, hidden: () => { return !!SettingsService.getProperty( "appLockHasPasswordSecurity" @@ -903,8 +914,18 @@ export const settingsGroups: SettingSection[] = [ }, { id: "app-lock-pin-change", - name: "Change app lock pin", - description: "Set up a password or pin for app lock", + name: () => + `Change app lock ${ + SettingsService.getProperty("applockKeyboardType") === "numeric" + ? "pin" + : "password" + }`, + description: () => + `Set up a ${ + SettingsService.getProperty("applockKeyboardType") === "numeric" + ? "pin" + : "password" + } for app lock`, hidden: () => { return !SettingsService.getProperty("appLockHasPasswordSecurity"); }, @@ -915,16 +936,18 @@ export const settingsGroups: SettingSection[] = [ }, { id: "app-lock-pin-remove", - name: `Remove app lock ${ - SettingsService.getProperty("applockKeyboardType") === "numeric" - ? "pin" - : "password" - }`, - description: `Remove app lock ${ - SettingsService.getProperty("applockKeyboardType") === "numeric" - ? "pin" - : "password" - }, app lock will fallback to using account password to unlock the app`, + name: () => + `Remove app lock ${ + SettingsService.getProperty("applockKeyboardType") === "numeric" + ? "pin" + : "password" + }`, + description: () => + `Remove app lock ${ + SettingsService.getProperty("applockKeyboardType") === "numeric" + ? "pin" + : "password" + }, app lock will fallback to using account password to unlock the app`, hidden: () => { return !SettingsService.getProperty("appLockHasPasswordSecurity"); }, @@ -955,6 +978,16 @@ export const settingsGroups: SettingSection[] = [ ); SettingsService.setProperty("biometricsAuthEnabled", false); } + if ( + !SettingsService.getProperty("biometricsAuthEnabled") && + !SettingsService.getProperty("appLockHasPasswordSecurity") + ) { + SettingsService.setProperty("appLockEnabled", false); + ToastManager.show({ + heading: "App lock disabled", + type: "success" + }); + } }, icon: "fingerprint" } diff --git a/apps/mobile/app/services/backup.js b/apps/mobile/app/services/backup.js index 3bd73bcf1..6c5c4542c 100644 --- a/apps/mobile/app/services/backup.js +++ b/apps/mobile/app/services/backup.js @@ -213,7 +213,8 @@ async function run(progress, context) { RNFetchBlob.fs.unlink(zipSourceFolder).catch(console.log); updateNextBackupTime(); - let showBackupCompleteSheet = SettingsService.get().showBackupCompleteSheet; + let showBackupCompleteSheet = + progress && SettingsService.get().showBackupCompleteSheet; if (context) return path; await sleep(300); @@ -233,7 +234,7 @@ async function run(progress, context) { return path; } catch (e) { await sleep(300); - eSendEvent(eCloseSheet); + progress && eSendEvent(eCloseSheet); ToastManager.error(e, "Backup failed!"); return null; } diff --git a/apps/mobile/app/services/settings.ts b/apps/mobile/app/services/settings.ts index dff305282..0daa8679b 100644 --- a/apps/mobile/app/services/settings.ts +++ b/apps/mobile/app/services/settings.ts @@ -47,18 +47,29 @@ function resetSettings() { function migrateAppLock() { const appLockMode = get().appLockMode; - if (appLockMode === "none") return; + if (appLockMode === "none") { + if ( + get().appLockEnabled && + !get().appLockHasPasswordSecurity && + !get().biometricsAuthEnabled + ) { + setProperty("biometricsAuthEnabled", true); + } + return; + } if (appLockMode === "background") { set({ appLockEnabled: true, appLockTimer: 0, - appLockMode: "none" + appLockMode: "none", + biometricsAuthEnabled: true }); } else if (appLockMode === "launch") { set({ appLockEnabled: true, appLockTimer: -1, - appLockMode: "none" + appLockMode: "none", + biometricsAuthEnabled: true }); } DatabaseLogger.debug("App lock Migrated"); diff --git a/apps/mobile/app/stores/use-setting-store.ts b/apps/mobile/app/stores/use-setting-store.ts index 2ebf05dbb..8d09f6118 100644 --- a/apps/mobile/app/stores/use-setting-store.ts +++ b/apps/mobile/app/stores/use-setting-store.ts @@ -165,7 +165,6 @@ export const defaultSettings: SettingStore["settings"] = { colorScheme: "light", lighTheme: ThemeLight, darkTheme: ThemeDark, - biometricsAuthEnabled: false, appLockHasPasswordSecurity: false }; diff --git a/apps/mobile/native/ios/Notesnook.xcodeproj/project.pbxproj b/apps/mobile/native/ios/Notesnook.xcodeproj/project.pbxproj index 636507104..531b6b07c 100644 --- a/apps/mobile/native/ios/Notesnook.xcodeproj/project.pbxproj +++ b/apps/mobile/native/ios/Notesnook.xcodeproj/project.pbxproj @@ -20,9 +20,9 @@ 6517B7C22B6838EB0079FF37 /* OpenSans-SemiBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6517B7BF2B6838EB0079FF37 /* OpenSans-SemiBold.ttf */; }; 6517B7C32B6838EB0079FF37 /* OpenSans-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6517B7C02B6838EB0079FF37 /* OpenSans-Bold.ttf */; }; 6529A13E279BC4C70048D4A8 /* BootSplash.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6529A13D279BC4C70048D4A8 /* BootSplash.storyboard */; }; - 656DD2AB2B1891DF00A362EA /* (null) in Resources */ = {isa = PBXBuildFile; }; - 656DD2AC2B1891DF00A362EA /* (null) in Resources */ = {isa = PBXBuildFile; }; - 656DD2AD2B1891DF00A362EA /* (null) in Resources */ = {isa = PBXBuildFile; }; + 656DD2AB2B1891DF00A362EA /* BuildFile in Resources */ = {isa = PBXBuildFile; }; + 656DD2AC2B1891DF00A362EA /* BuildFile in Resources */ = {isa = PBXBuildFile; }; + 656DD2AD2B1891DF00A362EA /* BuildFile in Resources */ = {isa = PBXBuildFile; }; 6593E4A3281C345400492C50 /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6593E4A2281C345400492C50 /* AppDelegate.mm */; }; 659BE46725E11A5100E05671 /* notesnook-text.png in Resources */ = {isa = PBXBuildFile; fileRef = 659BE46625E11A5100E05671 /* notesnook-text.png */; }; 65AA857925E6DDEC00772A01 /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 65AA857825E6DDEC00772A01 /* WidgetKit.framework */; }; @@ -582,9 +582,9 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 656DD2AB2B1891DF00A362EA /* (null) in Resources */, - 656DD2AC2B1891DF00A362EA /* (null) in Resources */, - 656DD2AD2B1891DF00A362EA /* (null) in Resources */, + 656DD2AB2B1891DF00A362EA /* BuildFile in Resources */, + 656DD2AC2B1891DF00A362EA /* BuildFile in Resources */, + 656DD2AD2B1891DF00A362EA /* BuildFile in Resources */, 65C400DF2A80B6B600AA3DF5 /* MaterialCommunityIcons.ttf in Resources */, 65C149872A61151B005C40F1 /* extension.bundle in Resources */, 65B5014725A672B200E2D264 /* MainInterface.storyboard in Resources */, diff --git a/apps/mobile/native/ios/Podfile b/apps/mobile/native/ios/Podfile index e96694f6e..d04bdb947 100644 --- a/apps/mobile/native/ios/Podfile +++ b/apps/mobile/native/ios/Podfile @@ -130,7 +130,7 @@ post_install do |installer| installer.pods_project.targets.each do |target| if target.name == "react-native-quick-sqlite" then target.build_configurations.each do |config| - config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'SQLITE_ENABLE_FTS5=1 SQLITE3MC_OMIT_AES_HARDWARE_SUPPORT HAVE_CIPHER_AES_128_CBC=0 HAVE_CIPHER_AES_256_CBC=0 HAVE_CIPHER_SQLCIPHER=0 HAVE_CIPHER_RC4=0 HAVE_CIPHER_CHACHA20=1 SQLITE_ENABLE_FTS5 SQLITE_OMIT_PROGRESS_CALLBACK=1 SQLITE_MAX_EXPR_DEPTH=0 SQLITE_OMIT_DEPRECATED=1 SQLITE_DEFAULT_WAL_SYNCHRONOUS=1 SQLITE_LIKE_DOESNT_MATCH_BLOBS=1 SQLITE_DQS=0 SQLITE_DEFAULT_MEMSTATUS=0 SQLITE_USE_ALLOCA=1' + config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'SQLITE_ENABLE_FTS5=1 SQLITE3MC_OMIT_AES_HARDWARE_SUPPORT=1 HAVE_CIPHER_AES_128_CBC=0 HAVE_CIPHER_AES_256_CBC=0 HAVE_CIPHER_SQLCIPHER=0 HAVE_CIPHER_RC4=0 HAVE_CIPHER_CHACHA20=1 SQLITE_OMIT_PROGRESS_CALLBACK=1 SQLITE_MAX_EXPR_DEPTH=0 SQLITE_OMIT_DEPRECATED=1 SQLITE_LIKE_DOESNT_MATCH_BLOBS=1 SQLITE_DQS=0 SQLITE_DEFAULT_MEMSTATUS=0 SQLITE_USE_ALLOCA=1' end end end diff --git a/apps/mobile/native/ios/Podfile.lock b/apps/mobile/native/ios/Podfile.lock index 1fdc4b00f..48690f5dd 100644 --- a/apps/mobile/native/ios/Podfile.lock +++ b/apps/mobile/native/ios/Podfile.lock @@ -946,6 +946,6 @@ SPEC CHECKSUMS: toolbar-android: 2a73856e98b750d7e71ce4644d3f41cc98211719 Yoga: 1d6727ed193122f6adaf435c3de1a768326ff83b -PODFILE CHECKSUM: 10c0cc8b6b8b01431d2b42fc7d21667cf36209f0 +PODFILE CHECKSUM: c859ca7e037c52f80a95e3483c6ee99525c62cd9 COCOAPODS: 1.14.2 diff --git a/apps/mobile/package-lock.json b/apps/mobile/package-lock.json index 7c6b1af58..5636b154c 100644 --- a/apps/mobile/package-lock.json +++ b/apps/mobile/package-lock.json @@ -22109,7 +22109,6 @@ }, "../../packages/editor/node_modules/js-tokens": { "version": "4.0.0", - "dev": true, "license": "MIT" }, "../../packages/editor/node_modules/json-parse-even-better-errors": { @@ -22165,7 +22164,6 @@ }, "../../packages/editor/node_modules/loose-envify": { "version": "1.4.0", - "dev": true, "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -22272,7 +22270,6 @@ }, "../../packages/editor/node_modules/object-assign": { "version": "4.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -22698,7 +22695,6 @@ }, "../../packages/editor/node_modules/react": { "version": "17.0.2", - "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", @@ -22718,7 +22714,6 @@ }, "../../packages/editor/node_modules/react-dom": { "version": "17.0.2", - "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", @@ -22850,7 +22845,6 @@ }, "../../packages/editor/node_modules/scheduler": { "version": "0.20.2", - "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", @@ -30135,7 +30129,6 @@ }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -30149,7 +30142,6 @@ }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -30296,7 +30288,6 @@ }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -30307,7 +30298,6 @@ }, "node_modules/@babel/plugin-proposal-unicode-property-regex": { "version": "7.18.6", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", @@ -30353,7 +30343,6 @@ }, "node_modules/@babel/plugin-syntax-class-static-block": { "version": "7.14.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" @@ -30390,7 +30379,6 @@ }, "node_modules/@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.3" @@ -30414,7 +30402,6 @@ }, "node_modules/@babel/plugin-syntax-import-assertions": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -30428,7 +30415,6 @@ }, "node_modules/@babel/plugin-syntax-import-attributes": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -30442,7 +30428,6 @@ }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" @@ -30453,7 +30438,6 @@ }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -30477,7 +30461,6 @@ }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" @@ -30538,7 +30521,6 @@ }, "node_modules/@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" @@ -30552,7 +30534,6 @@ }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" @@ -30579,7 +30560,6 @@ }, "node_modules/@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", @@ -30607,7 +30587,6 @@ }, "node_modules/@babel/plugin-transform-async-generator-functions": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-environment-visitor": "^7.22.5", @@ -30665,7 +30644,6 @@ }, "node_modules/@babel/plugin-transform-class-properties": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.22.5", @@ -30680,7 +30658,6 @@ }, "node_modules/@babel/plugin-transform-class-static-block": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.22.5", @@ -30744,7 +30721,6 @@ }, "node_modules/@babel/plugin-transform-dotall-regex": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.5", @@ -30759,7 +30735,6 @@ }, "node_modules/@babel/plugin-transform-duplicate-keys": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -30773,7 +30748,6 @@ }, "node_modules/@babel/plugin-transform-dynamic-import": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -30802,7 +30776,6 @@ }, "node_modules/@babel/plugin-transform-export-namespace-from": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -30859,7 +30832,6 @@ }, "node_modules/@babel/plugin-transform-json-strings": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -30887,7 +30859,6 @@ }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -30915,7 +30886,6 @@ }, "node_modules/@babel/plugin-transform-modules-amd": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.22.5", @@ -30945,7 +30915,6 @@ }, "node_modules/@babel/plugin-transform-modules-systemjs": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-hoist-variables": "^7.22.5", @@ -30962,7 +30931,6 @@ }, "node_modules/@babel/plugin-transform-modules-umd": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.22.5", @@ -30991,7 +30959,6 @@ }, "node_modules/@babel/plugin-transform-new-target": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -31005,7 +30972,6 @@ }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -31020,7 +30986,6 @@ }, "node_modules/@babel/plugin-transform-numeric-separator": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -31048,7 +31013,6 @@ }, "node_modules/@babel/plugin-transform-object-rest-spread": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.5", @@ -31080,7 +31044,6 @@ }, "node_modules/@babel/plugin-transform-optional-catch-binding": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -31095,7 +31058,6 @@ }, "node_modules/@babel/plugin-transform-optional-chaining": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -31124,7 +31086,6 @@ }, "node_modules/@babel/plugin-transform-private-methods": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.22.5", @@ -31139,7 +31100,6 @@ }, "node_modules/@babel/plugin-transform-private-property-in-object": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", @@ -31239,7 +31199,6 @@ }, "node_modules/@babel/plugin-transform-reserved-words": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -31331,7 +31290,6 @@ }, "node_modules/@babel/plugin-transform-typeof-symbol": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -31361,7 +31319,6 @@ }, "node_modules/@babel/plugin-transform-unicode-escapes": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -31375,7 +31332,6 @@ }, "node_modules/@babel/plugin-transform-unicode-property-regex": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.5", @@ -31404,7 +31360,6 @@ }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.5", @@ -31419,7 +31374,6 @@ }, "node_modules/@babel/preset-env": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.5", @@ -31512,7 +31466,6 @@ }, "node_modules/@babel/preset-env/node_modules/semver": { "version": "6.3.0", - "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -31535,7 +31488,6 @@ }, "node_modules/@babel/preset-modules": { "version": "0.1.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", @@ -34148,7 +34100,6 @@ }, "node_modules/@types/eslint": { "version": "8.40.2", - "dev": true, "license": "MIT", "dependencies": { "@types/estree": "*", @@ -34157,7 +34108,6 @@ }, "node_modules/@types/eslint-scope": { "version": "3.7.4", - "dev": true, "license": "MIT", "dependencies": { "@types/eslint": "*", @@ -34166,7 +34116,6 @@ }, "node_modules/@types/estree": { "version": "1.0.1", - "dev": true, "license": "MIT" }, "node_modules/@types/graceful-fs": { @@ -34615,7 +34564,6 @@ }, "node_modules/@webassemblyjs/ast": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -34624,22 +34572,18 @@ }, "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", - "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", - "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.11.6", - "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", @@ -34649,12 +34593,10 @@ }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", - "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -34665,7 +34607,6 @@ }, "node_modules/@webassemblyjs/ieee754": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" @@ -34673,7 +34614,6 @@ }, "node_modules/@webassemblyjs/leb128": { "version": "1.11.6", - "dev": true, "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" @@ -34681,12 +34621,10 @@ }, "node_modules/@webassemblyjs/utf8": { "version": "1.11.6", - "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -34701,7 +34639,6 @@ }, "node_modules/@webassemblyjs/wasm-gen": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -34713,7 +34650,6 @@ }, "node_modules/@webassemblyjs/wasm-opt": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -34724,7 +34660,6 @@ }, "node_modules/@webassemblyjs/wasm-parser": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -34737,7 +34672,6 @@ }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -34795,12 +34729,10 @@ }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", - "dev": true, "license": "BSD-3-Clause" }, "node_modules/@xtuc/long": { "version": "4.2.2", - "dev": true, "license": "Apache-2.0" }, "node_modules/@yarnpkg/lockfile": { @@ -34856,7 +34788,6 @@ }, "node_modules/acorn-import-assertions": { "version": "1.9.0", - "dev": true, "license": "MIT", "peerDependencies": { "acorn": "^8" @@ -35958,7 +35889,6 @@ }, "node_modules/chrome-trace-event": { "version": "1.0.3", - "dev": true, "license": "MIT", "engines": { "node": ">=6.0" @@ -37020,7 +36950,6 @@ }, "node_modules/enhanced-resolve": { "version": "5.15.0", - "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", @@ -37133,7 +37062,6 @@ }, "node_modules/es-module-lexer": { "version": "1.3.0", - "dev": true, "license": "MIT" }, "node_modules/es-set-tostringtag": { @@ -37464,7 +37392,6 @@ }, "node_modules/eslint-scope": { "version": "5.1.1", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", @@ -37476,7 +37403,6 @@ }, "node_modules/eslint-scope/node_modules/estraverse": { "version": "4.3.0", - "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=4.0" @@ -37662,7 +37588,6 @@ }, "node_modules/esrecurse": { "version": "4.3.0", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" @@ -37673,7 +37598,6 @@ }, "node_modules/estraverse": { "version": "5.3.0", - "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=4.0" @@ -37681,7 +37605,6 @@ }, "node_modules/esutils": { "version": "2.0.3", - "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" @@ -38734,7 +38657,6 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "dev": true, "license": "BSD-2-Clause" }, "node_modules/global": { @@ -40972,7 +40894,6 @@ }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "dev": true, "license": "MIT" }, "node_modules/json-schema-traverse": { @@ -41239,7 +41160,6 @@ }, "node_modules/loader-runner": { "version": "4.3.0", - "dev": true, "license": "MIT", "engines": { "node": ">=6.11.5" @@ -43862,7 +43782,6 @@ }, "node_modules/randombytes": { "version": "2.1.0", - "dev": true, "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" @@ -44624,7 +44543,6 @@ }, "node_modules/react-test-renderer": { "version": "18.2.0", - "dev": true, "license": "MIT", "dependencies": { "react-is": "^18.2.0", @@ -44637,12 +44555,10 @@ }, "node_modules/react-test-renderer/node_modules/react-is": { "version": "18.2.0", - "dev": true, "license": "MIT" }, "node_modules/react-test-renderer/node_modules/scheduler": { "version": "0.23.0", - "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" @@ -45477,7 +45393,6 @@ }, "node_modules/serialize-javascript": { "version": "6.0.1", - "dev": true, "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" @@ -46532,7 +46447,6 @@ }, "node_modules/terser-webpack-plugin": { "version": "5.3.9", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.17", @@ -46565,7 +46479,6 @@ }, "node_modules/terser-webpack-plugin/node_modules/jest-worker": { "version": "27.5.1", - "dev": true, "license": "MIT", "dependencies": { "@types/node": "*", @@ -46578,7 +46491,6 @@ }, "node_modules/terser-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -47332,7 +47244,6 @@ }, "node_modules/watchpack": { "version": "2.4.0", - "dev": true, "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", @@ -47355,7 +47266,6 @@ }, "node_modules/webpack": { "version": "5.88.2", - "dev": true, "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.3", @@ -47470,7 +47380,6 @@ }, "node_modules/webpack-sources": { "version": "3.2.3", - "dev": true, "license": "MIT", "engines": { "node": ">=10.13.0" @@ -47766,7 +47675,8 @@ "@ammarahmed/notifee-react-native": { "version": "7.4.7", "resolved": "https://registry.npmjs.org/@ammarahmed/notifee-react-native/-/notifee-react-native-7.4.7.tgz", - "integrity": "sha512-HZc9YHyiRYirGoGOhgG+4w1rIk3t8kaCXSpV10s4xgDs5RH1XWaGdrd1NaKfedVoXAGzgXIxUPYleT4DyV7jgQ==" + "integrity": "sha512-HZc9YHyiRYirGoGOhgG+4w1rIk3t8kaCXSpV10s4xgDs5RH1XWaGdrd1NaKfedVoXAGzgXIxUPYleT4DyV7jgQ==", + "requires": {} }, "@ammarahmed/react-native-background-fetch": { "version": "4.2.2", @@ -47774,7 +47684,8 @@ "integrity": "sha512-PLBlb/DD+6Fv1auxdD6VRxtuC7GKPhQqR69bovRm5oGavbdSzRr+ZTr8AyNMCcayxKGdgEX2JysrJg8WIySSFQ==" }, "@ammarahmed/react-native-eventsource": { - "version": "1.1.0" + "version": "1.1.0", + "requires": {} }, "@ammarahmed/react-native-share-extension": { "version": "2.5.6", @@ -49359,14 +49270,12 @@ }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", @@ -49443,11 +49352,10 @@ }, "@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", - "dev": true + "requires": {} }, "@babel/plugin-proposal-unicode-property-regex": { "version": "7.18.6", - "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -49474,7 +49382,6 @@ }, "@babel/plugin-syntax-class-static-block": { "version": "7.14.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" } @@ -49493,7 +49400,6 @@ }, "@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3" } @@ -49506,28 +49412,24 @@ }, "@babel/plugin-syntax-import-assertions": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-syntax-import-attributes": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-syntax-import-meta": { "version": "7.10.4", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-json-strings": { "version": "7.8.3", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -49540,7 +49442,6 @@ }, "@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" } @@ -49577,14 +49478,12 @@ }, "@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" } @@ -49597,7 +49496,6 @@ }, "@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", - "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -49611,7 +49509,6 @@ }, "@babel/plugin-transform-async-generator-functions": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", @@ -49641,7 +49538,6 @@ }, "@babel/plugin-transform-class-properties": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-create-class-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -49649,7 +49545,6 @@ }, "@babel/plugin-transform-class-static-block": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-create-class-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", @@ -49685,7 +49580,6 @@ }, "@babel/plugin-transform-dotall-regex": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -49693,14 +49587,12 @@ }, "@babel/plugin-transform-duplicate-keys": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-dynamic-import": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" @@ -49715,7 +49607,6 @@ }, "@babel/plugin-transform-export-namespace-from": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" @@ -49744,7 +49635,6 @@ }, "@babel/plugin-transform-json-strings": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-json-strings": "^7.8.3" @@ -49758,7 +49648,6 @@ }, "@babel/plugin-transform-logical-assignment-operators": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" @@ -49772,7 +49661,6 @@ }, "@babel/plugin-transform-modules-amd": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-module-transforms": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -49788,7 +49676,6 @@ }, "@babel/plugin-transform-modules-systemjs": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-module-transforms": "^7.22.5", @@ -49798,7 +49685,6 @@ }, "@babel/plugin-transform-modules-umd": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-module-transforms": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -49813,14 +49699,12 @@ }, "@babel/plugin-transform-new-target": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-nullish-coalescing-operator": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -49828,7 +49712,6 @@ }, "@babel/plugin-transform-numeric-separator": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -49842,7 +49725,6 @@ }, "@babel/plugin-transform-object-rest-spread": { "version": "7.22.5", - "dev": true, "requires": { "@babel/compat-data": "^7.22.5", "@babel/helper-compilation-targets": "^7.22.5", @@ -49860,7 +49742,6 @@ }, "@babel/plugin-transform-optional-catch-binding": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" @@ -49868,7 +49749,6 @@ }, "@babel/plugin-transform-optional-chaining": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", @@ -49883,7 +49763,6 @@ }, "@babel/plugin-transform-private-methods": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-create-class-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -49891,7 +49770,6 @@ }, "@babel/plugin-transform-private-property-in-object": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-create-class-features-plugin": "^7.22.5", @@ -49942,7 +49820,6 @@ }, "@babel/plugin-transform-reserved-words": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5" } @@ -49990,7 +49867,6 @@ }, "@babel/plugin-transform-typeof-symbol": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5" } @@ -50006,14 +49882,12 @@ }, "@babel/plugin-transform-unicode-escapes": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-unicode-property-regex": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -50028,7 +49902,6 @@ }, "@babel/plugin-transform-unicode-sets-regex": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" @@ -50036,7 +49909,6 @@ }, "@babel/preset-env": { "version": "7.22.5", - "dev": true, "requires": { "@babel/compat-data": "^7.22.5", "@babel/helper-compilation-targets": "^7.22.5", @@ -50121,8 +49993,7 @@ }, "dependencies": { "semver": { - "version": "6.3.0", - "dev": true + "version": "6.3.0" } } }, @@ -50136,7 +50007,6 @@ }, "@babel/preset-modules": { "version": "0.1.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", @@ -50264,7 +50134,8 @@ } }, "@bam.tech/react-native-image-resizer": { - "version": "3.0.5" + "version": "3.0.5", + "requires": {} }, "@bcoe/v8-coverage": { "version": "0.2.3", @@ -50361,7 +50232,8 @@ "version": "18.2.0" }, "ws": { - "version": "8.13.0" + "version": "8.13.0", + "requires": {} } } }, @@ -51462,7 +51334,8 @@ }, "dependencies": { "ws": { - "version": "7.5.9" + "version": "7.5.9", + "requires": {} } } }, @@ -53866,7 +53739,8 @@ }, "ws": { "version": "8.13.0", - "dev": true + "dev": true, + "requires": {} }, "xml-name-validator": { "version": "4.0.0", @@ -54044,7 +53918,8 @@ }, "dependencies": { "ws": { - "version": "7.5.9" + "version": "7.5.9", + "requires": {} } } }, @@ -56448,7 +56323,8 @@ }, "ws": { "version": "8.13.0", - "dev": true + "dev": true, + "requires": {} }, "xml-name-validator": { "version": "4.0.0", @@ -56681,7 +56557,8 @@ }, "@emotion/use-insertion-effect-with-fallbacks": { "version": "1.0.1", - "dev": true + "dev": true, + "requires": {} }, "@emotion/utils": { "version": "1.2.1", @@ -56880,7 +56757,8 @@ }, "dependencies": { "ws": { - "version": "7.5.9" + "version": "7.5.9", + "requires": {} } } }, @@ -59284,7 +59162,8 @@ }, "ws": { "version": "8.13.0", - "dev": true + "dev": true, + "requires": {} }, "xml-name-validator": { "version": "4.0.0", @@ -59692,7 +59571,8 @@ }, "use-sync-external-store": { "version": "1.2.0", - "dev": true + "dev": true, + "requires": {} }, "webidl-conversions": { "version": "3.0.1", @@ -59873,7 +59753,8 @@ }, "@emotion/use-insertion-effect-with-fallbacks": { "version": "1.0.1", - "dev": true + "dev": true, + "requires": {} }, "@emotion/utils": { "version": "1.2.1", @@ -60338,7 +60219,8 @@ }, "use-sync-external-store": { "version": "1.2.0", - "dev": true + "dev": true, + "requires": {} }, "webidl-conversions": { "version": "3.0.1", @@ -61063,55 +60945,72 @@ } }, "@tiptap/core": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-blockquote": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-bold": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-bullet-list": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-character-count": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-code": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-code-block": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-color": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-document": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-dropcursor": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-font-family": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-gapcursor": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-hard-break": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-heading": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-history": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-horizontal-rule": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-italic": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-link": { "version": "2.1.12", @@ -61120,58 +61019,76 @@ } }, "@tiptap/extension-list-item": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-list-keymap": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-ordered-list": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-paragraph": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-placeholder": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-strike": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-subscript": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-superscript": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-table": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-table-cell": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-table-header": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-table-row": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-task-item": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-task-list": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-text": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-text-align": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-text-style": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-underline": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/pm": { "version": "2.1.12", @@ -61826,8 +61743,7 @@ } }, "js-tokens": { - "version": "4.0.0", - "dev": true + "version": "4.0.0" }, "json-parse-even-better-errors": { "version": "2.3.1", @@ -61862,7 +61778,6 @@ }, "loose-envify": { "version": "1.4.0", - "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } @@ -61921,8 +61836,7 @@ } }, "object-assign": { - "version": "4.1.1", - "dev": true + "version": "4.1.1" }, "object.omit": { "version": "3.0.0", @@ -62071,7 +61985,8 @@ } }, "prosemirror-codemark": { - "version": "0.4.2" + "version": "0.4.2", + "requires": {} }, "prosemirror-collab": { "version": "1.3.0", @@ -62213,22 +62128,22 @@ } }, "re-resizable": { - "version": "6.9.9" + "version": "6.9.9", + "requires": {} }, "react": { "version": "17.0.2", - "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" } }, "react-colorful": { - "version": "5.6.1" + "version": "5.6.1", + "requires": {} }, "react-dom": { "version": "17.0.2", - "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -62308,7 +62223,6 @@ }, "scheduler": { "version": "0.20.2", - "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -62481,7 +62395,8 @@ }, "use-sync-external-store": { "version": "1.2.0", - "dev": true + "dev": true, + "requires": {} }, "util-deprecate": { "version": "1.0.2" @@ -63905,11 +63820,13 @@ }, "@csstools/postcss-unset-value": { "version": "1.0.2", - "dev": true + "dev": true, + "requires": {} }, "@csstools/selector-specificity": { "version": "2.1.1", - "dev": true + "dev": true, + "requires": {} }, "@emotion/babel-plugin": { "version": "11.11.0", @@ -63999,7 +63916,8 @@ "version": "0.8.1" }, "@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.1" + "version": "1.0.1", + "requires": {} }, "@emotion/utils": { "version": "1.2.1" @@ -64907,7 +64825,8 @@ }, "@emotion/use-insertion-effect-with-fallbacks": { "version": "1.0.1", - "dev": true + "dev": true, + "requires": {} }, "@emotion/utils": { "version": "1.2.1", @@ -65106,7 +65025,8 @@ }, "dependencies": { "ws": { - "version": "7.5.9" + "version": "7.5.9", + "requires": {} } } }, @@ -67510,7 +67430,8 @@ }, "ws": { "version": "8.13.0", - "dev": true + "dev": true, + "requires": {} }, "xml-name-validator": { "version": "4.0.0", @@ -67918,7 +67839,8 @@ }, "use-sync-external-store": { "version": "1.2.0", - "dev": true + "dev": true, + "requires": {} }, "webidl-conversions": { "version": "3.0.1", @@ -68099,7 +68021,8 @@ }, "@emotion/use-insertion-effect-with-fallbacks": { "version": "1.0.1", - "dev": true + "dev": true, + "requires": {} }, "@emotion/utils": { "version": "1.2.1", @@ -68564,7 +68487,8 @@ }, "use-sync-external-store": { "version": "1.2.0", - "dev": true + "dev": true, + "requires": {} }, "webidl-conversions": { "version": "3.0.1", @@ -69289,55 +69213,72 @@ } }, "@tiptap/core": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-blockquote": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-bold": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-bullet-list": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-character-count": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-code": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-code-block": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-color": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-document": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-dropcursor": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-font-family": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-gapcursor": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-hard-break": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-heading": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-history": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-horizontal-rule": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-italic": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-link": { "version": "2.1.12", @@ -69346,58 +69287,76 @@ } }, "@tiptap/extension-list-item": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-list-keymap": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-ordered-list": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-paragraph": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-placeholder": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-strike": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-subscript": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-superscript": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-table": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-table-cell": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-table-header": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-table-row": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-task-item": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-task-list": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-text": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-text-align": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-text-style": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/extension-underline": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "@tiptap/pm": { "version": "2.1.12", @@ -70052,8 +70011,7 @@ } }, "js-tokens": { - "version": "4.0.0", - "dev": true + "version": "4.0.0" }, "json-parse-even-better-errors": { "version": "2.3.1", @@ -70088,7 +70046,6 @@ }, "loose-envify": { "version": "1.4.0", - "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } @@ -70147,8 +70104,7 @@ } }, "object-assign": { - "version": "4.1.1", - "dev": true + "version": "4.1.1" }, "object.omit": { "version": "3.0.0", @@ -70297,7 +70253,8 @@ } }, "prosemirror-codemark": { - "version": "0.4.2" + "version": "0.4.2", + "requires": {} }, "prosemirror-collab": { "version": "1.3.0", @@ -70439,22 +70396,22 @@ } }, "re-resizable": { - "version": "6.9.9" + "version": "6.9.9", + "requires": {} }, "react": { "version": "17.0.2", - "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" } }, "react-colorful": { - "version": "5.6.1" + "version": "5.6.1", + "requires": {} }, "react-dom": { "version": "17.0.2", - "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -70534,7 +70491,6 @@ }, "scheduler": { "version": "0.20.2", - "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -70707,7 +70663,8 @@ }, "use-sync-external-store": { "version": "1.2.0", - "dev": true + "dev": true, + "requires": {} }, "util-deprecate": { "version": "1.0.2" @@ -71259,7 +71216,8 @@ }, "use-sync-external-store": { "version": "1.2.0", - "dev": true + "dev": true, + "requires": {} }, "webidl-conversions": { "version": "3.0.1", @@ -72074,11 +72032,13 @@ }, "acorn-import-assertions": { "version": "1.8.0", - "dev": true + "dev": true, + "requires": {} }, "acorn-jsx": { "version": "5.3.2", - "dev": true + "dev": true, + "requires": {} }, "acorn-node": { "version": "1.8.2", @@ -72359,7 +72319,8 @@ }, "ajv-keywords": { "version": "3.5.2", - "dev": true + "dev": true, + "requires": {} }, "json-schema-traverse": { "version": "0.4.1", @@ -72414,7 +72375,8 @@ }, "babel-plugin-named-asset-import": { "version": "0.3.8", - "dev": true + "dev": true, + "requires": {} }, "babel-plugin-polyfill-corejs2": { "version": "0.3.3", @@ -72964,7 +72926,8 @@ }, "css-declaration-sorter": { "version": "6.3.1", - "dev": true + "dev": true, + "requires": {} }, "css-has-pseudo": { "version": "3.0.4", @@ -73044,7 +73007,8 @@ }, "css-prefers-color-scheme": { "version": "6.0.3", - "dev": true + "dev": true, + "requires": {} }, "css-select": { "version": "4.3.0", @@ -73133,7 +73097,8 @@ }, "cssnano-utils": { "version": "3.1.0", - "dev": true + "dev": true, + "requires": {} }, "csso": { "version": "4.2.0", @@ -73953,7 +73918,8 @@ }, "eslint-plugin-react-hooks": { "version": "4.6.0", - "dev": true + "dev": true, + "requires": {} }, "eslint-plugin-testing-library": { "version": "5.10.2", @@ -74439,7 +74405,8 @@ }, "ajv-keywords": { "version": "3.5.2", - "dev": true + "dev": true, + "requires": {} }, "chalk": { "version": "4.1.2", @@ -74923,7 +74890,8 @@ }, "icss-utils": { "version": "5.1.0", - "dev": true + "dev": true, + "requires": {} }, "idb": { "version": "7.1.1", @@ -75985,7 +75953,8 @@ }, "jest-pnp-resolver": { "version": "1.2.3", - "dev": true + "dev": true, + "requires": {} }, "jest-regex-util": { "version": "27.5.1", @@ -76860,7 +76829,8 @@ } }, "mdi-react": { - "version": "9.1.0" + "version": "9.1.0", + "requires": {} }, "mdn-data": { "version": "2.0.4", @@ -77389,7 +77359,8 @@ }, "postcss-browser-comments": { "version": "4.0.0", - "dev": true + "dev": true, + "requires": {} }, "postcss-calc": { "version": "8.2.4", @@ -77475,19 +77446,23 @@ }, "postcss-discard-comments": { "version": "5.1.2", - "dev": true + "dev": true, + "requires": {} }, "postcss-discard-duplicates": { "version": "5.1.0", - "dev": true + "dev": true, + "requires": {} }, "postcss-discard-empty": { "version": "5.1.1", - "dev": true + "dev": true, + "requires": {} }, "postcss-discard-overridden": { "version": "5.1.0", - "dev": true + "dev": true, + "requires": {} }, "postcss-double-position-gradients": { "version": "3.1.2", @@ -77506,7 +77481,8 @@ }, "postcss-flexbugs-fixes": { "version": "5.0.2", - "dev": true + "dev": true, + "requires": {} }, "postcss-focus-visible": { "version": "6.0.4", @@ -77524,11 +77500,13 @@ }, "postcss-font-variant": { "version": "5.0.0", - "dev": true + "dev": true, + "requires": {} }, "postcss-gap-properties": { "version": "3.0.5", - "dev": true + "dev": true, + "requires": {} }, "postcss-image-set-function": { "version": "4.0.7", @@ -77548,7 +77526,8 @@ }, "postcss-initial": { "version": "4.0.1", - "dev": true + "dev": true, + "requires": {} }, "postcss-js": { "version": "4.0.1", @@ -77604,11 +77583,13 @@ }, "postcss-logical": { "version": "5.0.4", - "dev": true + "dev": true, + "requires": {} }, "postcss-media-minmax": { "version": "5.0.0", - "dev": true + "dev": true, + "requires": {} }, "postcss-merge-longhand": { "version": "5.1.7", @@ -77662,7 +77643,8 @@ }, "postcss-modules-extract-imports": { "version": "3.0.0", - "dev": true + "dev": true, + "requires": {} }, "postcss-modules-local-by-default": { "version": "4.0.0", @@ -77713,7 +77695,8 @@ }, "postcss-normalize-charset": { "version": "5.1.0", - "dev": true + "dev": true, + "requires": {} }, "postcss-normalize-display-values": { "version": "5.1.0", @@ -77775,7 +77758,8 @@ }, "postcss-opacity-percentage": { "version": "1.1.3", - "dev": true + "dev": true, + "requires": {} }, "postcss-ordered-values": { "version": "5.1.3", @@ -77794,7 +77778,8 @@ }, "postcss-page-break": { "version": "3.0.4", - "dev": true + "dev": true, + "requires": {} }, "postcss-place": { "version": "7.0.5", @@ -77882,7 +77867,8 @@ }, "postcss-replace-overflow-wrap": { "version": "4.0.0", - "dev": true + "dev": true, + "requires": {} }, "postcss-selector-not": { "version": "6.0.1", @@ -78599,7 +78585,8 @@ }, "ajv-keywords": { "version": "3.5.2", - "dev": true + "dev": true, + "requires": {} }, "json-schema-traverse": { "version": "0.4.1", @@ -78957,7 +78944,8 @@ }, "style-loader": { "version": "3.3.1", - "dev": true + "dev": true, + "requires": {} }, "style-value-types": { "version": "5.0.0", @@ -79629,7 +79617,8 @@ }, "ws": { "version": "8.12.1", - "dev": true + "dev": true, + "requires": {} } } }, @@ -80006,7 +79995,8 @@ }, "ws": { "version": "7.5.9", - "dev": true + "dev": true, + "requires": {} }, "xml-name-validator": { "version": "3.0.0", @@ -80053,7 +80043,8 @@ "dev": true }, "zustand": { - "version": "3.7.2" + "version": "3.7.2", + "requires": {} } } }, @@ -80871,7 +80862,8 @@ }, "use-sync-external-store": { "version": "1.2.0", - "dev": true + "dev": true, + "requires": {} }, "webidl-conversions": { "version": "3.0.1", @@ -81376,10 +81368,12 @@ } }, "@react-native-clipboard/clipboard": { - "version": "1.11.2" + "version": "1.11.2", + "requires": {} }, "@react-native-community/checkbox": { - "version": "0.5.15" + "version": "0.5.15", + "requires": {} }, "@react-native-community/cli": { "version": "11.3.2", @@ -81569,7 +81563,8 @@ }, "dependencies": { "ws": { - "version": "7.5.9" + "version": "7.5.9", + "requires": {} } } }, @@ -81614,13 +81609,16 @@ } }, "@react-native-community/netinfo": { - "version": "9.3.10" + "version": "9.3.10", + "requires": {} }, "@react-native-community/toolbar-android": { - "version": "0.2.1" + "version": "0.2.1", + "requires": {} }, "@react-native-masked-view/masked-view": { - "version": "0.2.9" + "version": "0.2.9", + "requires": {} }, "@react-native/assets-registry": { "version": "0.72.0" @@ -81698,7 +81696,8 @@ } }, "@react-navigation/elements": { - "version": "1.3.17" + "version": "1.3.17", + "requires": {} }, "@react-navigation/native": { "version": "6.1.6", @@ -81788,10 +81787,12 @@ "version": "0.3.0" }, "@trpc/client": { - "version": "10.38.3" + "version": "10.38.3", + "requires": {} }, "@trpc/react-query": { - "version": "10.38.3" + "version": "10.38.3", + "requires": {} }, "@trpc/server": { "version": "10.38.3" @@ -81835,7 +81836,6 @@ }, "@types/eslint": { "version": "8.40.2", - "dev": true, "requires": { "@types/estree": "*", "@types/json-schema": "*" @@ -81843,15 +81843,13 @@ }, "@types/eslint-scope": { "version": "3.7.4", - "dev": true, "requires": { "@types/eslint": "*", "@types/estree": "*" } }, "@types/estree": { - "version": "1.0.1", - "dev": true + "version": "1.0.1" }, "@types/graceful-fs": { "version": "4.1.6", @@ -82137,27 +82135,22 @@ }, "@webassemblyjs/ast": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "dev": true + "version": "1.11.6" }, "@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "dev": true + "version": "1.11.6" }, "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "dev": true + "version": "1.11.6" }, "@webassemblyjs/helper-numbers": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -82165,12 +82158,10 @@ } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "dev": true + "version": "1.11.6" }, "@webassemblyjs/helper-wasm-section": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -82180,25 +82171,21 @@ }, "@webassemblyjs/ieee754": { "version": "1.11.6", - "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { "version": "1.11.6", - "dev": true, "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.11.6", - "dev": true + "version": "1.11.6" }, "@webassemblyjs/wasm-edit": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -82212,7 +82199,6 @@ }, "@webassemblyjs/wasm-gen": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -82223,7 +82209,6 @@ }, "@webassemblyjs/wasm-opt": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -82233,7 +82218,6 @@ }, "@webassemblyjs/wasm-parser": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -82245,7 +82229,6 @@ }, "@webassemblyjs/wast-printer": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@xtuc/long": "4.2.2" @@ -82253,27 +82236,28 @@ }, "@webpack-cli/configtest": { "version": "2.1.1", - "dev": true + "dev": true, + "requires": {} }, "@webpack-cli/info": { "version": "2.0.2", - "dev": true + "dev": true, + "requires": {} }, "@webpack-cli/serve": { "version": "2.0.5", - "dev": true + "dev": true, + "requires": {} }, "@xmldom/xmldom": { "version": "0.8.10", "dev": true }, "@xtuc/ieee754": { - "version": "1.2.0", - "dev": true + "version": "1.2.0" }, "@xtuc/long": { - "version": "4.2.2", - "dev": true + "version": "4.2.2" }, "@yarnpkg/lockfile": { "version": "1.1.0", @@ -82306,11 +82290,12 @@ }, "acorn-import-assertions": { "version": "1.9.0", - "dev": true + "requires": {} }, "acorn-jsx": { "version": "5.3.2", - "dev": true + "dev": true, + "requires": {} }, "ajv": { "version": "8.12.0", @@ -82322,7 +82307,8 @@ } }, "ajv-keywords": { - "version": "3.5.2" + "version": "3.5.2", + "requires": {} }, "anser": { "version": "1.4.10" @@ -82524,7 +82510,8 @@ } }, "babel-core": { - "version": "7.0.0-bridge.0" + "version": "7.0.0-bridge.0", + "requires": {} }, "babel-jest": { "version": "29.6.2", @@ -82970,8 +82957,7 @@ } }, "chrome-trace-event": { - "version": "1.0.3", - "dev": true + "version": "1.0.3" }, "ci-info": { "version": "3.8.0" @@ -83467,7 +83453,8 @@ }, "ws": { "version": "7.5.9", - "dev": true + "dev": true, + "requires": {} }, "yallist": { "version": "4.0.0", @@ -83638,7 +83625,6 @@ }, "enhanced-resolve": { "version": "5.15.0", - "dev": true, "requires": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -83712,8 +83698,7 @@ } }, "es-module-lexer": { - "version": "1.3.0", - "dev": true + "version": "1.3.0" }, "es-set-tostringtag": { "version": "2.0.1", @@ -83863,7 +83848,8 @@ }, "eslint-config-prettier": { "version": "8.8.0", - "dev": true + "dev": true, + "requires": {} }, "eslint-plugin-eslint-comments": { "version": "3.2.0", @@ -83946,7 +83932,8 @@ }, "eslint-plugin-react-hooks": { "version": "4.6.0", - "dev": true + "dev": true, + "requires": {} }, "eslint-plugin-react-native": { "version": "4.0.0", @@ -83973,15 +83960,13 @@ }, "eslint-scope": { "version": "5.1.1", - "dev": true, "requires": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" }, "dependencies": { "estraverse": { - "version": "4.3.0", - "dev": true + "version": "4.3.0" } } }, @@ -84016,18 +84001,15 @@ }, "esrecurse": { "version": "4.3.0", - "dev": true, "requires": { "estraverse": "^5.2.0" } }, "estraverse": { - "version": "5.3.0", - "dev": true + "version": "5.3.0" }, "esutils": { - "version": "2.0.3", - "dev": true + "version": "2.0.3" }, "etag": { "version": "1.8.1" @@ -84728,8 +84710,7 @@ } }, "glob-to-regexp": { - "version": "0.4.1", - "dev": true + "version": "0.4.1" }, "global": { "version": "4.4.0", @@ -85484,7 +85465,8 @@ }, "dedent": { "version": "1.5.1", - "dev": true + "dev": true, + "requires": {} }, "pretty-format": { "version": "29.6.2", @@ -85795,7 +85777,8 @@ }, "jest-pnp-resolver": { "version": "1.2.3", - "dev": true + "dev": true, + "requires": {} }, "jest-regex-util": { "version": "29.4.3", @@ -86129,8 +86112,7 @@ "version": "1.0.2" }, "json-parse-even-better-errors": { - "version": "2.3.1", - "dev": true + "version": "2.3.1" }, "json-schema-traverse": { "version": "1.0.0" @@ -86299,8 +86281,7 @@ } }, "loader-runner": { - "version": "4.3.0", - "dev": true + "version": "4.3.0" }, "loader-utils": { "version": "2.0.4", @@ -86612,7 +86593,8 @@ } }, "ws": { - "version": "7.5.9" + "version": "7.5.9", + "requires": {} } } }, @@ -86824,7 +86806,8 @@ } }, "ws": { - "version": "7.5.9" + "version": "7.5.9", + "requires": {} }, "y18n": { "version": "4.0.3" @@ -87948,7 +87931,6 @@ }, "randombytes": { "version": "2.1.0", - "dev": true, "requires": { "safe-buffer": "^5.1.0" } @@ -87970,12 +87952,14 @@ }, "dependencies": { "ws": { - "version": "7.5.9" + "version": "7.5.9", + "requires": {} } } }, "react-freeze": { - "version": "1.0.3" + "version": "1.0.3", + "requires": {} }, "react-is": { "version": "16.13.1" @@ -88036,7 +88020,8 @@ }, "react-native-actions-shortcuts": { "version": "1.0.1", - "dev": true + "dev": true, + "requires": {} }, "react-native-background-actions": { "version": "2.6.7", @@ -88046,7 +88031,8 @@ }, "react-native-begin-background-task": { "version": "git+ssh://git@github.com/blockfirm/react-native-begin-background-task.git#c2aa793249db6cc6298a812905f955a99b864e78", - "from": "react-native-begin-background-task@https://github.com/blockfirm/react-native-begin-background-task.git" + "from": "react-native-begin-background-task@https://github.com/blockfirm/react-native-begin-background-task.git", + "requires": {} }, "react-native-blob-util": { "version": "0.18.3", @@ -88107,14 +88093,16 @@ }, "react-native-check-version": { "version": "git+ssh://git@github.com/flexible-agency/react-native-check-version.git#030a2be31d7d2cdce95c78c4528a29e377c9e6ac", - "from": "react-native-check-version@https://github.com/flexible-agency/react-native-check-version" + "from": "react-native-check-version@https://github.com/flexible-agency/react-native-check-version", + "requires": {} }, "react-native-cli-bump-version": { "version": "1.5.0", "dev": true }, "react-native-config": { - "version": "1.5.1" + "version": "1.5.1", + "requires": {} }, "react-native-date-picker": { "version": "4.2.6", @@ -88123,7 +88111,8 @@ } }, "react-native-device-info": { - "version": "8.7.1" + "version": "8.7.1", + "requires": {} }, "react-native-document-picker": { "version": "7.1.3", @@ -88149,11 +88138,13 @@ "from": "react-native-exit-app@https://github.com/ammarahm-ed/react-native-exit-app.git" }, "react-native-file-viewer": { - "version": "2.1.5" + "version": "2.1.5", + "requires": {} }, "react-native-fingerprint-scanner": { "version": "git+ssh://git@github.com/ammarahm-ed/react-native-fingerprint-scanner.git#7beac32968684b13948f141d84b48e700c838591", - "from": "react-native-fingerprint-scanner@https://github.com/ammarahm-ed/react-native-fingerprint-scanner.git" + "from": "react-native-fingerprint-scanner@https://github.com/ammarahm-ed/react-native-fingerprint-scanner.git", + "requires": {} }, "react-native-gesture-handler": { "version": "2.12.0", @@ -88172,7 +88163,8 @@ } }, "react-native-gzip": { - "version": "1.1.0" + "version": "1.1.0", + "requires": {} }, "react-native-html-to-pdf-lite": { "version": "0.9.1" @@ -88184,10 +88176,12 @@ } }, "react-native-image-pan-zoom": { - "version": "2.1.12" + "version": "2.1.12", + "requires": {} }, "react-native-image-picker": { - "version": "4.1.2" + "version": "4.1.2", + "requires": {} }, "react-native-image-zoom-viewer": { "version": "3.0.1", @@ -88199,7 +88193,8 @@ "version": "4.3.3" }, "react-native-iphone-x-helper": { - "version": "1.3.1" + "version": "1.3.1", + "requires": {} }, "react-native-keyboard-aware-scroll-view": { "version": "0.9.5", @@ -88214,7 +88209,8 @@ "react-native-mmkv-storage": { "version": "0.10.0-alpha.12", "resolved": "https://registry.npmjs.org/react-native-mmkv-storage/-/react-native-mmkv-storage-0.10.0-alpha.12.tgz", - "integrity": "sha512-5CiarE3pTgzMGCeUwT9e+3oB60KKm7B7bUAQp3JsvfeP9y6cfN8QI2K8KSU0UjrGDgx7WlJyg62X67ZMUbL3HQ==" + "integrity": "sha512-5CiarE3pTgzMGCeUwT9e+3oB60KKm7B7bUAQp3JsvfeP9y6cfN8QI2K8KSU0UjrGDgx7WlJyg62X67ZMUbL3HQ==", + "requires": {} }, "react-native-modal-datetime-picker": { "version": "14.0.0", @@ -88226,11 +88222,13 @@ "version": "2.0.2" }, "react-native-notification-sounds": { - "version": "0.5.5" + "version": "0.5.5", + "requires": {} }, "react-native-orientation": { "version": "git+ssh://git@github.com/yamill/react-native-orientation.git#b45830cce0837fa668838554e023979497673c82", - "from": "react-native-orientation@https://github.com/yamill/react-native-orientation.git" + "from": "react-native-orientation@https://github.com/yamill/react-native-orientation.git", + "requires": {} }, "react-native-pdf": { "version": "6.6.2", @@ -88251,7 +88249,8 @@ }, "react-native-privacy-snapshot": { "version": "git+ssh://git@github.com/standardnotes/react-native-privacy-snapshot.git#653e904c90fc6f2b578da59138f2bfe5d7f942fe", - "from": "react-native-privacy-snapshot@https://github.com/standardnotes/react-native-privacy-snapshot.git" + "from": "react-native-privacy-snapshot@https://github.com/standardnotes/react-native-privacy-snapshot.git", + "requires": {} }, "react-native-progress": { "version": "5.0.0", @@ -88269,7 +88268,8 @@ "react-native-quick-sqlite": { "version": "8.0.6", "resolved": "https://registry.npmjs.org/react-native-quick-sqlite/-/react-native-quick-sqlite-8.0.6.tgz", - "integrity": "sha512-XtwXnfZ1a6zRzAHoWFyVJsP3p8etx3/xww1oFKGdiOSj054PdYIeup9A53rtQ6ENyg+aqSKOgmxoN/PetulGOQ==" + "integrity": "sha512-XtwXnfZ1a6zRzAHoWFyVJsP3p8etx3/xww1oFKGdiOSj054PdYIeup9A53rtQ6ENyg+aqSKOgmxoN/PetulGOQ==", + "requires": {} }, "react-native-reanimated": { "version": "3.3.0", @@ -88287,18 +88287,22 @@ }, "react-native-reanimated-material-menu": { "version": "git+ssh://git@github.com/ammarahm-ed/react-native-reanimated-material-menu.git#b1b19ba9e87333c76eb8abc3dc8377fe3ddd8bfc", - "from": "react-native-reanimated-material-menu@github:ammarahm-ed/react-native-reanimated-material-menu" + "from": "react-native-reanimated-material-menu@github:ammarahm-ed/react-native-reanimated-material-menu", + "requires": {} }, "react-native-reanimated-progress-bar": { - "version": "1.0.1" + "version": "1.0.1", + "requires": {} }, "react-native-safe-area-context": { "version": "4.9.0", "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.9.0.tgz", - "integrity": "sha512-/OJD9Pb8IURyvn+1tWTszWPJqsbZ4hyHBU9P0xhOmk7h5owSuqL0zkfagU0pg7Vh0G2NKQkaPpUKUMMCUMDh/w==" + "integrity": "sha512-/OJD9Pb8IURyvn+1tWTszWPJqsbZ4hyHBU9P0xhOmk7h5owSuqL0zkfagU0pg7Vh0G2NKQkaPpUKUMMCUMDh/w==", + "requires": {} }, "react-native-scoped-storage": { - "version": "1.9.5" + "version": "1.9.5", + "requires": {} }, "react-native-screens": { "version": "3.21.1", @@ -88324,12 +88328,14 @@ } }, "react-native-swiper-flatlist": { - "version": "3.2.2" + "version": "3.2.2", + "requires": {} }, "react-native-theme-switch-animation": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/react-native-theme-switch-animation/-/react-native-theme-switch-animation-0.6.0.tgz", - "integrity": "sha512-XC6xb1J6Pgq4XQFsq6KdxJugRHjwsj04qTDh9rZdi1mkNOy9QKtz7wCQHoK6q8CBZtF3R/sergCw9wZhIRXK3Q==" + "integrity": "sha512-XC6xb1J6Pgq4XQFsq6KdxJugRHjwsj04qTDh9rZdi1mkNOy9QKtz7wCQHoK6q8CBZtF3R/sergCw9wZhIRXK3Q==", + "requires": {} }, "react-native-tooltips": { "version": "1.0.3" @@ -88390,7 +88396,8 @@ } }, "react-native-zip-archive": { - "version": "6.0.9" + "version": "6.0.9", + "requires": {} }, "react-refresh": { "version": "0.14.0" @@ -88404,7 +88411,6 @@ }, "react-test-renderer": { "version": "18.2.0", - "dev": true, "requires": { "react-is": "^18.2.0", "react-shallow-renderer": "^16.15.0", @@ -88412,12 +88418,10 @@ }, "dependencies": { "react-is": { - "version": "18.2.0", - "dev": true + "version": "18.2.0" }, "scheduler": { "version": "0.23.0", - "dev": true, "requires": { "loose-envify": "^1.1.0" } @@ -88959,7 +88963,6 @@ }, "serialize-javascript": { "version": "6.0.1", - "dev": true, "requires": { "randombytes": "^2.1.0" } @@ -89671,7 +89674,6 @@ }, "terser-webpack-plugin": { "version": "5.3.9", - "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", @@ -89682,7 +89684,6 @@ "dependencies": { "jest-worker": { "version": "27.5.1", - "dev": true, "requires": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -89691,7 +89692,6 @@ }, "supports-color": { "version": "8.1.1", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -90070,7 +90070,8 @@ "version": "3.1.1" }, "use-latest-callback": { - "version": "0.1.6" + "version": "0.1.6", + "requires": {} }, "use-subscription": { "version": "1.8.0", @@ -90079,7 +90080,8 @@ } }, "use-sync-external-store": { - "version": "1.2.0" + "version": "1.2.0", + "requires": {} }, "utf8-byte-length": { "version": "1.0.4", @@ -90129,7 +90131,6 @@ }, "watchpack": { "version": "2.4.0", - "dev": true, "requires": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -90146,7 +90147,6 @@ }, "webpack": { "version": "5.88.2", - "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -90212,8 +90212,7 @@ } }, "webpack-sources": { - "version": "3.2.3", - "dev": true + "version": "3.2.3" }, "whatwg-fetch": { "version": "3.6.2" @@ -90389,7 +90388,8 @@ "version": "0.1.0" }, "zustand": { - "version": "3.7.2" + "version": "3.7.2", + "requires": {} } } } diff --git a/apps/mobile/package.json b/apps/mobile/package.json index 2389b8680..4c6c61402 100644 --- a/apps/mobile/package.json +++ b/apps/mobile/package.json @@ -39,4 +39,4 @@ "react": "18.2.0", "react-native": "0.72.0" } -} \ No newline at end of file +}