diff --git a/apps/mobile/app/screens/editor/tiptap/use-editor-events.ts b/apps/mobile/app/screens/editor/tiptap/use-editor-events.ts index 78bc87023..4453558fe 100644 --- a/apps/mobile/app/screens/editor/tiptap/use-editor-events.ts +++ b/apps/mobile/app/screens/editor/tiptap/use-editor-events.ts @@ -54,6 +54,7 @@ import { useUserStore } from "../../../stores/use-user-store"; import { eClearEditor, eCloseFullscreenEditor, + eEditorTabFocused, eOnLoadNote, eOpenFullscreenEditor, eOpenLoginDialog, @@ -365,7 +366,7 @@ export const useEditorEvents = ( logger.info("[WEBVIEW LOG]", editorMessage.value); break; case EventTypes.contentchange: - editor.onContentChanged(); + editor.onContentChanged(editorMessage.noteId); break; case EventTypes.selection: break; @@ -481,22 +482,25 @@ export const useEditorEvents = ( } case EventTypes.tabFocused: { // Reload the note - console.log("Focused tab", editorMessage.tabId); - eSendEvent("tabsFocused", editorMessage.tabId); + console.log( + "Focused tab", + editorMessage.tabId, + editorMessage.noteId, + "Content:", + editorMessage.value + ); - // const note = await db.notes.note(editorMessage.noteId); - // if (note) { - // eSendEvent(eOnLoadNote, { - // item: note, - // forced: true - // }); - // } - // TODO - // Handle any updates that occured in an note while the tab was not focused. - // If editor has no content, reload the note, because it might be an app reload - // or the tab was destroyed in background... - // Maybe cache changes, something like pendingUpdates list. - // Do proper cleanup when a tab is destroyed though. + eSendEvent(eEditorTabFocused, editorMessage.tabId); + if (!editorMessage.value && editorMessage.noteId) { + const note = await db.notes.note(editorMessage.noteId); + if (note) { + eSendEvent(eOnLoadNote, { + item: note, + forced: true, + tabId: editorMessage.tabId + }); + } + } break; } diff --git a/apps/mobile/app/screens/editor/tiptap/use-editor.ts b/apps/mobile/app/screens/editor/tiptap/use-editor.ts index 6ae0899db..63db5c574 100644 --- a/apps/mobile/app/screens/editor/tiptap/use-editor.ts +++ b/apps/mobile/app/screens/editor/tiptap/use-editor.ts @@ -49,7 +49,11 @@ import SettingsService from "../../../services/settings"; import { TipManager } from "../../../services/tip-manager"; import { useSettingStore } from "../../../stores/use-setting-store"; import { useTagStore } from "../../../stores/use-tag-store"; -import { eClearEditor, eOnLoadNote } from "../../../utils/events"; +import { + eClearEditor, + eEditorTabFocused, + eOnLoadNote +} from "../../../utils/events"; import { tabBarRef } from "../../../utils/global-refs"; import { onNoteCreated } from "../../notes/common"; import Commands from "./commands"; @@ -109,12 +113,11 @@ export const useEditor = ( const commands = useMemo(() => new Commands(editorRef), [editorRef]); const editorSessionHistory = useMemo(() => new SessionHistory(), []); const state = useRef>(defaultState); - const placeholderTip = useRef(TipManager.placeholderTip()); const tags = useTagStore((state) => state.items); const insets = useGlobalSafeAreaInsets(); const isDefaultEditor = editorId === ""; const saveCount = useRef(0); - const lastContentChangeTime = useRef(0); + const lastContentChangeTime = useRef>({}); const lock = useRef(false); const loadedImages = useRef>({}); const currentLoadingNoteId = useRef(); @@ -150,7 +153,7 @@ export const useEditor = ( }, [commands, tags]); useEffect(() => { - const event = eSubscribeEvent("tabsFocused", (tabId) => { + const event = eSubscribeEvent(eEditorTabFocused, (tabId) => { lastTabFocused.current = tabId as number; console.log(tabId); }); @@ -194,6 +197,7 @@ export const useEditor = ( loadedImages.current[noteId] = {}; currentContents.current[noteId] = null; editorSessionHistory.clearSession(noteId); + lastContentChangeTime.current[noteId] = 0; } clearTimeout(timers.current["loading-images" + noteId]); @@ -202,13 +206,12 @@ export const useEditor = ( loadingState.current = undefined; lock.current = false; resetContent && postMessage(EditorEvents.title, "", tabId); - lastContentChangeTime.current = 0; + resetContent && (await commands.clearContent(tabId)); resetContent && (await commands.clearTags(tabId)); - // TODO ? - // useTabStore.getState().updateTab(tabId, { - // noteId: undefined - // }); + useTabStore.getState().updateTab(tabId, { + noteId: undefined + }); }, [commands, editorSessionHistory, postMessage] ); @@ -264,16 +267,15 @@ export const useEditor = ( if (!locked) { id = await db.notes?.add(noteData); if (!note && id) { - useTabStore.getState().updateTab(tabId, { - noteId: id - }); - editorSessionHistory.newSession(id); - if (id) { currentNotes.current[id] = await db.notes?.note(id); } + useTabStore.getState().updateTab(tabId, { + noteId: id + }); + const defaultNotebook = db.settings.getDefaultNotebook(); if (!state.current.onNoteCreated && defaultNotebook) { onNoteCreated(id, { @@ -285,9 +287,10 @@ export const useEditor = ( } if (!noteData.title) { + console.log("posting title to tab", tabId); postMessage( EditorEvents.title, - currentNotes.current?.title, + currentNotes.current[id]?.title, tabId ); } @@ -310,7 +313,7 @@ export const useEditor = ( tabId ); - lastContentChangeTime.current = note.dateEdited; + lastContentChangeTime.current[id] = note.dateEdited; if ( saveCount.current < 2 || @@ -419,7 +422,12 @@ export const useEditor = ( }, []); const loadNote = useCallback( - async (event: { item?: Note; forced?: boolean; newNote?: boolean }) => { + async (event: { + item?: Note; + forced?: boolean; + newNote?: boolean; + tabId?: number; + }) => { state.current.currentlyEditing = true; if ( !state.current.ready && @@ -433,56 +441,54 @@ export const useEditor = ( } if (event.newNote) { - console.log("Create new note"); useTabStore.getState().focusEmptyTab(); const tabId = useTabStore.getState().currentTab; - console.log("empty tab", tabId); currentNotes.current && (await reset(tabId)); setTimeout(() => { if (state.current?.ready) commands.focus(tabId); - lastContentChangeTime.current = 0; }); } else { if (!event.item) return; const item = event.item; - console.log("load note called again...", event.forced, event.item.id); - // If note was already opened in a tab, focus that tab and return. Once the tab is focused - // the note will load. - if (useTabStore.getState().hasTabForNote(event.item.id)) { - const tabId = useTabStore.getState().getTabForNote(event.item.id); - if (typeof tabId === "number") { - useTabStore.getState().updateTab(tabId, { - readonly: event.item.readonly + // If note was already opened in a tab, focus that tab. + if (typeof event.tabId !== "number") { + if (useTabStore.getState().hasTabForNote(event.item.id)) { + const tabId = useTabStore.getState().getTabForNote(event.item.id); + if (typeof tabId === "number") { + useTabStore.getState().updateTab(tabId, { + readonly: event.item.readonly + }); + useTabStore.getState().focusTab(tabId); + } + console.log("Note already loaded, focusing the tab"); + } else { + console.log("Opening note in preview tab"); + // Otherwise we focus the preview tab or create one to open the note in. + useTabStore.getState().focusPreviewTab(event.item.id, { + readonly: event.item.readonly, + locked: false }); - useTabStore.getState().focusTab(tabId); } } else { - console.log("opening note in preview tab"); - // Otherwise we focus the preview tab or create one to open the note in. - useTabStore.getState().focusPreviewTab(event.item.id, { - readonly: event.item.readonly, - locked: false - }); - } - const tabId = useTabStore.getState().currentTab; - console.log(lastTabFocused.current, tabId); - if (lastTabFocused.current !== tabId) { - if ((await waitForEvent("tabsFocused", 1000)) !== tabId) { - console.log("tab id did not match after focus in 1000ms"); - return; + if (lastTabFocused.current !== event.tabId) { + console.log("Focused tab"); + useTabStore.getState().focusTab(event.tabId); } } - // If note is already loaded and forced reload is not requested, return. - if (!event.forced && currentNotes.current[item.id]) return; + const tabId = event.tabId || useTabStore.getState().currentTab; + if (lastTabFocused.current !== tabId) { + // if ((await waitForEvent(eEditorTabFocused, 1000)) !== tabId) { + // console.log("tab id did not match after focus in 1000ms"); + // return; + // } + console.log("Waiting for tab to focus"); + return; + } state.current.movedAway = false; state.current.currentlyEditing = true; - if (!currentNotes.current[item.id]) { - // Reset current tab if note isn't already loaded. - currentNotes.current && (await reset(tabId, false, false)); - } await loadContent(item); if ( @@ -491,6 +497,7 @@ export const useEditor = ( currentContents.current[item.id]?.data && loadingState.current === currentContents.current[item.id]?.data ) { + // If note is already loading, return. return; } @@ -499,7 +506,7 @@ export const useEditor = ( return; } - lastContentChangeTime.current = item.dateEdited; + lastContentChangeTime.current[item.id] = item.dateEdited; currentLoadingNoteId.current = item.id; currentNotes.current[item.id] = item; @@ -516,6 +523,7 @@ export const useEditor = ( await postMessage(EditorEvents.title, item.title, tabId); loadingState.current = currentContents.current[item.id]?.data; if (currentContents.current[item.id]?.data) { + console.log("loading content for note..."); await postMessage( EditorEvents.html, currentContents.current[item.id]?.data, @@ -570,7 +578,8 @@ export const useEditor = ( const note = await db.notes?.note(noteId); - if (lastContentChangeTime.current >= (data as Note).dateEdited) return; + if (lastContentChangeTime.current[noteId] >= (data as Note).dateEdited) + return; lock.current = true; @@ -595,7 +604,7 @@ export const useEditor = ( } else { const _nextContent = data.data; if (_nextContent === currentContents.current?.data) return; - lastContentChangeTime.current = note.dateEdited; + lastContentChangeTime.current[note.id] = note.dateEdited; await postMessage(EditorEvents.updatehtml, _nextContent, tabId); if (!isEncryptedContent(data)) { currentContents.current[note.id] = data as UnencryptedContentItem; @@ -660,7 +669,9 @@ export const useEditor = ( ) return; - lastContentChangeTime.current = Date.now(); + if (noteId) { + lastContentChangeTime.current[noteId] = Date.now(); + } if (type === EditorEvents.content && noteId) { currentContents.current[noteId as string] = { @@ -718,14 +729,12 @@ export const useEditor = ( }; }, [editorId, loadNote, restoreEditorState, isDefaultEditor]); - const onContentChanged = () => { - lastContentChangeTime.current = Date.now(); + const onContentChanged = (noteId?: string) => { + if (noteId) { + lastContentChangeTime.current[noteId] = Date.now(); + } }; - useEffect(() => { - state.current.saveCount = 0; - }, [loading]); - const onReady = useCallback(async () => { if ( !(await isEditorLoaded( @@ -734,15 +743,9 @@ export const useEditor = ( useTabStore.getState().currentTab )) ) { - console.log( - "ready failed....", - sessionIdRef.current, - useTabStore.getState().currentTab - ); eSendEvent("webview_reset", "onReady"); return false; } else { - console.log("onReady", "sync tabs"); syncTabs(); isDefaultEditor && restoreEditorState(); return true; @@ -754,55 +757,43 @@ export const useEditor = ( clearTimeout(timers.current["editor:loaded"]); timers.current["editor:loaded"] = setTimeout(async () => { postMessage(EditorEvents.theme, theme); - commands.setInsets( isDefaultEditor ? insets : { top: 0, left: 0, right: 0, bottom: 0 } ); await commands.setSettings(); - timers.current["editor:loaded"] = setTimeout(async () => { - if (!state.current.ready && (await onReady())) { - state.current.ready = true; - } - overlay(false); - // TODO: Improve handling this on app launch from a link etc. - const noteId = useTabStore.getState().getCurrentNoteId(); + if (!state.current.ready && (await onReady())) { + state.current.ready = true; + } + overlay(false); - if (noteId) { - if (useSettingStore.getState().isAppLoading) { - const unsub = useSettingStore.subscribe(async (s) => { - if (!s.isAppLoading) { - try { - const note = await db.notes.note(noteId); - if (note) { - loadNote({ item: note, forced: true }); - } else { - console.log("new note after app load"); - loadNote({ newNote: true }); - if (tabBarRef.current?.page === 1) { - state.current.currentlyEditing = false; - } - } - unsub(); - } catch (e) { - console.log(e); - } - } - }); - } else { - const note = await db.notes.note(noteId); - if (note) { - loadNote({ item: note, forced: true }); - } else { - console.log("new note"); - loadNote({ newNote: true }); - if (tabBarRef.current?.page === 1) { - state.current.currentlyEditing = false; - } - } + const noteId = useTabStore.getState().getCurrentNoteId(); + async function restoreTabNote() { + if (!noteId) return; + const note = await db.notes.note(noteId); + if (note) { + loadNote({ item: note, forced: true }); + } else { + console.log("Editor loaded with blank note"); + loadNote({ newNote: true }); + if (tabBarRef.current?.page === 1) { + state.current.currentlyEditing = false; } } - }); + } + + if (noteId) { + if (useSettingStore.getState().isAppLoading) { + const unsub = useSettingStore.subscribe(async (state) => { + if (!state.isAppLoading) { + restoreTabNote(); + unsub(); + } + }); + } else { + restoreTabNote(); + } + } }); }, [ onReady, diff --git a/apps/mobile/app/utils/events.js b/apps/mobile/app/utils/events.js index dbd5da01b..6d1e38276 100644 --- a/apps/mobile/app/utils/events.js +++ b/apps/mobile/app/utils/events.js @@ -163,3 +163,4 @@ export const eLoginSessionExpired = "609"; export const eDBItemUpdate = "610"; export const eGroupOptionsUpdated = "611"; export const eOnRefreshSearch = "612"; +export const eEditorTabFocused = "613"; diff --git a/apps/mobile/package-lock.json b/apps/mobile/package-lock.json index ead60c36f..4adeb6827 100644 --- a/apps/mobile/package-lock.json +++ b/apps/mobile/package-lock.json @@ -3060,6 +3060,8 @@ "mdi-react": "9.1.0", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-freeze": "^1.0.3", + "tinycolor2": "1.6.0", "zustand": "^4.4.7" }, "devDependencies": { @@ -22117,7 +22119,6 @@ }, "../../packages/editor/node_modules/js-tokens": { "version": "4.0.0", - "dev": true, "license": "MIT" }, "../../packages/editor/node_modules/json-parse-even-better-errors": { @@ -22173,7 +22174,6 @@ }, "../../packages/editor/node_modules/loose-envify": { "version": "1.4.0", - "dev": true, "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -22280,7 +22280,6 @@ }, "../../packages/editor/node_modules/object-assign": { "version": "4.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -22706,7 +22705,6 @@ }, "../../packages/editor/node_modules/react": { "version": "17.0.2", - "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", @@ -22726,7 +22724,6 @@ }, "../../packages/editor/node_modules/react-dom": { "version": "17.0.2", - "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", @@ -22858,7 +22855,6 @@ }, "../../packages/editor/node_modules/scheduler": { "version": "0.20.2", - "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", @@ -30123,7 +30119,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" @@ -30137,7 +30132,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", @@ -30284,7 +30278,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" @@ -30295,7 +30288,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", @@ -30341,7 +30333,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" @@ -30378,7 +30369,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" @@ -30402,7 +30392,6 @@ }, "node_modules/@babel/plugin-syntax-import-assertions": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -30416,7 +30405,6 @@ }, "node_modules/@babel/plugin-syntax-import-attributes": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -30430,7 +30418,6 @@ }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" @@ -30441,7 +30428,6 @@ }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -30465,7 +30451,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" @@ -30526,7 +30511,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" @@ -30540,7 +30524,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" @@ -30567,7 +30550,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", @@ -30595,7 +30577,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", @@ -30653,7 +30634,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", @@ -30668,7 +30648,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", @@ -30732,7 +30711,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", @@ -30747,7 +30725,6 @@ }, "node_modules/@babel/plugin-transform-duplicate-keys": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -30761,7 +30738,6 @@ }, "node_modules/@babel/plugin-transform-dynamic-import": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -30790,7 +30766,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", @@ -30847,7 +30822,6 @@ }, "node_modules/@babel/plugin-transform-json-strings": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -30875,7 +30849,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", @@ -30903,7 +30876,6 @@ }, "node_modules/@babel/plugin-transform-modules-amd": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.22.5", @@ -30933,7 +30905,6 @@ }, "node_modules/@babel/plugin-transform-modules-systemjs": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-hoist-variables": "^7.22.5", @@ -30950,7 +30921,6 @@ }, "node_modules/@babel/plugin-transform-modules-umd": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.22.5", @@ -30979,7 +30949,6 @@ }, "node_modules/@babel/plugin-transform-new-target": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -30993,7 +30962,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", @@ -31008,7 +30976,6 @@ }, "node_modules/@babel/plugin-transform-numeric-separator": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -31036,7 +31003,6 @@ }, "node_modules/@babel/plugin-transform-object-rest-spread": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.5", @@ -31068,7 +31034,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", @@ -31083,7 +31048,6 @@ }, "node_modules/@babel/plugin-transform-optional-chaining": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -31126,7 +31090,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", @@ -31226,7 +31189,6 @@ }, "node_modules/@babel/plugin-transform-reserved-words": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -31318,7 +31280,6 @@ }, "node_modules/@babel/plugin-transform-typeof-symbol": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -31348,7 +31309,6 @@ }, "node_modules/@babel/plugin-transform-unicode-escapes": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -31362,7 +31322,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", @@ -31391,7 +31350,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", @@ -31406,7 +31364,6 @@ }, "node_modules/@babel/preset-env": { "version": "7.22.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.5", @@ -31499,7 +31456,6 @@ }, "node_modules/@babel/preset-env/node_modules/semver": { "version": "6.3.0", - "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -31522,7 +31478,6 @@ }, "node_modules/@babel/preset-modules": { "version": "0.1.5", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", @@ -34127,7 +34082,6 @@ }, "node_modules/@types/eslint": { "version": "8.40.2", - "dev": true, "license": "MIT", "dependencies": { "@types/estree": "*", @@ -34136,7 +34090,6 @@ }, "node_modules/@types/eslint-scope": { "version": "3.7.4", - "dev": true, "license": "MIT", "dependencies": { "@types/eslint": "*", @@ -34145,7 +34098,6 @@ }, "node_modules/@types/estree": { "version": "1.0.1", - "dev": true, "license": "MIT" }, "node_modules/@types/graceful-fs": { @@ -34594,7 +34546,6 @@ }, "node_modules/@webassemblyjs/ast": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -34603,22 +34554,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", @@ -34628,12 +34575,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", @@ -34644,7 +34589,6 @@ }, "node_modules/@webassemblyjs/ieee754": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" @@ -34652,7 +34596,6 @@ }, "node_modules/@webassemblyjs/leb128": { "version": "1.11.6", - "dev": true, "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" @@ -34660,12 +34603,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", @@ -34680,7 +34621,6 @@ }, "node_modules/@webassemblyjs/wasm-gen": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -34692,7 +34632,6 @@ }, "node_modules/@webassemblyjs/wasm-opt": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -34703,7 +34642,6 @@ }, "node_modules/@webassemblyjs/wasm-parser": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -34716,7 +34654,6 @@ }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.11.6", - "dev": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -34774,12 +34711,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": { @@ -34835,7 +34770,6 @@ }, "node_modules/acorn-import-assertions": { "version": "1.9.0", - "dev": true, "license": "MIT", "peerDependencies": { "acorn": "^8" @@ -35937,7 +35871,6 @@ }, "node_modules/chrome-trace-event": { "version": "1.0.3", - "dev": true, "license": "MIT", "engines": { "node": ">=6.0" @@ -36999,7 +36932,6 @@ }, "node_modules/enhanced-resolve": { "version": "5.15.0", - "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", @@ -37112,7 +37044,6 @@ }, "node_modules/es-module-lexer": { "version": "1.3.0", - "dev": true, "license": "MIT" }, "node_modules/es-set-tostringtag": { @@ -37443,7 +37374,6 @@ }, "node_modules/eslint-scope": { "version": "5.1.1", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", @@ -37455,7 +37385,6 @@ }, "node_modules/eslint-scope/node_modules/estraverse": { "version": "4.3.0", - "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=4.0" @@ -37641,7 +37570,6 @@ }, "node_modules/esrecurse": { "version": "4.3.0", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" @@ -37652,7 +37580,6 @@ }, "node_modules/estraverse": { "version": "5.3.0", - "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=4.0" @@ -37660,7 +37587,6 @@ }, "node_modules/esutils": { "version": "2.0.3", - "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" @@ -38713,7 +38639,6 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "dev": true, "license": "BSD-2-Clause" }, "node_modules/global": { @@ -40951,7 +40876,6 @@ }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "dev": true, "license": "MIT" }, "node_modules/json-schema-traverse": { @@ -41218,7 +41142,6 @@ }, "node_modules/loader-runner": { "version": "4.3.0", - "dev": true, "license": "MIT", "engines": { "node": ">=6.11.5" @@ -43841,7 +43764,6 @@ }, "node_modules/randombytes": { "version": "2.1.0", - "dev": true, "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" @@ -43891,6 +43813,28 @@ } } }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-dom/node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + } + }, "node_modules/react-freeze": { "version": "1.0.3", "license": "MIT", @@ -44577,7 +44521,6 @@ }, "node_modules/react-test-renderer": { "version": "18.2.0", - "dev": true, "license": "MIT", "dependencies": { "react-is": "^18.2.0", @@ -44590,12 +44533,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" @@ -45430,7 +45371,6 @@ }, "node_modules/serialize-javascript": { "version": "6.0.1", - "dev": true, "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" @@ -46485,7 +46425,6 @@ }, "node_modules/terser-webpack-plugin": { "version": "5.3.9", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.17", @@ -46518,7 +46457,6 @@ }, "node_modules/terser-webpack-plugin/node_modules/jest-worker": { "version": "27.5.1", - "dev": true, "license": "MIT", "dependencies": { "@types/node": "*", @@ -46531,7 +46469,6 @@ }, "node_modules/terser-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -47285,7 +47222,6 @@ }, "node_modules/watchpack": { "version": "2.4.0", - "dev": true, "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", @@ -47308,7 +47244,6 @@ }, "node_modules/webpack": { "version": "5.88.2", - "dev": true, "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.3", @@ -47423,7 +47358,6 @@ }, "node_modules/webpack-sources": { "version": "3.2.3", - "dev": true, "license": "MIT", "engines": { "node": ">=10.13.0" @@ -47717,10 +47651,12 @@ }, "dependencies": { "@ammarahmed/notifee-react-native": { - "version": "7.4.4" + "version": "7.4.4", + "requires": {} }, "@ammarahmed/react-native-eventsource": { - "version": "1.1.0" + "version": "1.1.0", + "requires": {} }, "@ammarahmed/react-native-share-extension": { "version": "2.5.6", @@ -49305,14 +49241,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", @@ -49389,11 +49323,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" @@ -49420,7 +49353,6 @@ }, "@babel/plugin-syntax-class-static-block": { "version": "7.14.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" } @@ -49439,7 +49371,6 @@ }, "@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3" } @@ -49452,28 +49383,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" } @@ -49486,7 +49413,6 @@ }, "@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" } @@ -49523,14 +49449,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" } @@ -49543,7 +49467,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" @@ -49557,7 +49480,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", @@ -49587,7 +49509,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" @@ -49595,7 +49516,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", @@ -49631,7 +49551,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" @@ -49639,14 +49558,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" @@ -49661,7 +49578,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" @@ -49690,7 +49606,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" @@ -49704,7 +49619,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" @@ -49718,7 +49632,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" @@ -49734,7 +49647,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", @@ -49744,7 +49656,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" @@ -49759,14 +49670,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" @@ -49774,7 +49683,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" @@ -49788,7 +49696,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", @@ -49806,7 +49713,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" @@ -49814,7 +49720,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", @@ -49836,7 +49741,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", @@ -49887,7 +49791,6 @@ }, "@babel/plugin-transform-reserved-words": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5" } @@ -49935,7 +49838,6 @@ }, "@babel/plugin-transform-typeof-symbol": { "version": "7.22.5", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5" } @@ -49951,14 +49853,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" @@ -49973,7 +49873,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" @@ -49981,7 +49880,6 @@ }, "@babel/preset-env": { "version": "7.22.5", - "dev": true, "requires": { "@babel/compat-data": "^7.22.5", "@babel/helper-compilation-targets": "^7.22.5", @@ -50066,8 +49964,7 @@ }, "dependencies": { "semver": { - "version": "6.3.0", - "dev": true + "version": "6.3.0" } } }, @@ -50081,7 +49978,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", @@ -50209,7 +50105,8 @@ } }, "@bam.tech/react-native-image-resizer": { - "version": "3.0.5" + "version": "3.0.5", + "requires": {} }, "@bcoe/v8-coverage": { "version": "0.2.3", @@ -50306,7 +50203,8 @@ "version": "18.2.0" }, "ws": { - "version": "8.13.0" + "version": "8.13.0", + "requires": {} } } }, @@ -51406,7 +51304,8 @@ }, "dependencies": { "ws": { - "version": "7.5.9" + "version": "7.5.9", + "requires": {} } } }, @@ -53810,7 +53709,8 @@ }, "ws": { "version": "8.13.0", - "dev": true + "dev": true, + "requires": {} }, "xml-name-validator": { "version": "4.0.0", @@ -53987,7 +53887,8 @@ }, "dependencies": { "ws": { - "version": "7.5.9" + "version": "7.5.9", + "requires": {} } } }, @@ -56391,7 +56292,8 @@ }, "ws": { "version": "8.13.0", - "dev": true + "dev": true, + "requires": {} }, "xml-name-validator": { "version": "4.0.0", @@ -56624,7 +56526,8 @@ }, "@emotion/use-insertion-effect-with-fallbacks": { "version": "1.0.1", - "dev": true + "dev": true, + "requires": {} }, "@emotion/utils": { "version": "1.2.1", @@ -56822,7 +56725,8 @@ }, "dependencies": { "ws": { - "version": "7.5.9" + "version": "7.5.9", + "requires": {} } } }, @@ -59226,7 +59130,8 @@ }, "ws": { "version": "8.13.0", - "dev": true + "dev": true, + "requires": {} }, "xml-name-validator": { "version": "4.0.0", @@ -59634,7 +59539,8 @@ }, "use-sync-external-store": { "version": "1.2.0", - "dev": true + "dev": true, + "requires": {} }, "webidl-conversions": { "version": "3.0.1", @@ -59815,7 +59721,8 @@ }, "@emotion/use-insertion-effect-with-fallbacks": { "version": "1.0.1", - "dev": true + "dev": true, + "requires": {} }, "@emotion/utils": { "version": "1.2.1", @@ -60280,7 +60187,8 @@ }, "use-sync-external-store": { "version": "1.2.0", - "dev": true + "dev": true, + "requires": {} }, "webidl-conversions": { "version": "3.0.1", @@ -61005,55 +60913,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", @@ -61062,58 +60987,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", @@ -61768,8 +61711,7 @@ } }, "js-tokens": { - "version": "4.0.0", - "dev": true + "version": "4.0.0" }, "json-parse-even-better-errors": { "version": "2.3.1", @@ -61804,7 +61746,6 @@ }, "loose-envify": { "version": "1.4.0", - "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } @@ -61863,8 +61804,7 @@ } }, "object-assign": { - "version": "4.1.1", - "dev": true + "version": "4.1.1" }, "object.omit": { "version": "3.0.0", @@ -62013,7 +61953,8 @@ } }, "prosemirror-codemark": { - "version": "0.4.2" + "version": "0.4.2", + "requires": {} }, "prosemirror-collab": { "version": "1.3.0", @@ -62155,22 +62096,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", @@ -62250,7 +62191,6 @@ }, "scheduler": { "version": "0.20.2", - "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -62423,7 +62363,8 @@ }, "use-sync-external-store": { "version": "1.2.0", - "dev": true + "dev": true, + "requires": {} }, "util-deprecate": { "version": "1.0.2" @@ -62600,7 +62541,9 @@ "mdi-react": "9.1.0", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-freeze": "^1.0.3", "react-scripts": "^5.0.1", + "tinycolor2": "1.6.0", "zustand": "^4.4.7" }, "dependencies": { @@ -63847,11 +63790,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", @@ -63941,7 +63886,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" @@ -64849,7 +64795,8 @@ }, "@emotion/use-insertion-effect-with-fallbacks": { "version": "1.0.1", - "dev": true + "dev": true, + "requires": {} }, "@emotion/utils": { "version": "1.2.1", @@ -65047,7 +64994,8 @@ }, "dependencies": { "ws": { - "version": "7.5.9" + "version": "7.5.9", + "requires": {} } } }, @@ -67451,7 +67399,8 @@ }, "ws": { "version": "8.13.0", - "dev": true + "dev": true, + "requires": {} }, "xml-name-validator": { "version": "4.0.0", @@ -67859,7 +67808,8 @@ }, "use-sync-external-store": { "version": "1.2.0", - "dev": true + "dev": true, + "requires": {} }, "webidl-conversions": { "version": "3.0.1", @@ -68040,7 +67990,8 @@ }, "@emotion/use-insertion-effect-with-fallbacks": { "version": "1.0.1", - "dev": true + "dev": true, + "requires": {} }, "@emotion/utils": { "version": "1.2.1", @@ -68505,7 +68456,8 @@ }, "use-sync-external-store": { "version": "1.2.0", - "dev": true + "dev": true, + "requires": {} }, "webidl-conversions": { "version": "3.0.1", @@ -69230,55 +69182,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", @@ -69287,58 +69256,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", @@ -69993,8 +69980,7 @@ } }, "js-tokens": { - "version": "4.0.0", - "dev": true + "version": "4.0.0" }, "json-parse-even-better-errors": { "version": "2.3.1", @@ -70029,7 +70015,6 @@ }, "loose-envify": { "version": "1.4.0", - "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } @@ -70088,8 +70073,7 @@ } }, "object-assign": { - "version": "4.1.1", - "dev": true + "version": "4.1.1" }, "object.omit": { "version": "3.0.0", @@ -70238,7 +70222,8 @@ } }, "prosemirror-codemark": { - "version": "0.4.2" + "version": "0.4.2", + "requires": {} }, "prosemirror-collab": { "version": "1.3.0", @@ -70380,22 +70365,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", @@ -70475,7 +70460,6 @@ }, "scheduler": { "version": "0.20.2", - "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -70648,7 +70632,8 @@ }, "use-sync-external-store": { "version": "1.2.0", - "dev": true + "dev": true, + "requires": {} }, "util-deprecate": { "version": "1.0.2" @@ -71200,7 +71185,8 @@ }, "use-sync-external-store": { "version": "1.2.0", - "dev": true + "dev": true, + "requires": {} }, "webidl-conversions": { "version": "3.0.1", @@ -72015,11 +72001,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", @@ -72300,7 +72288,8 @@ }, "ajv-keywords": { "version": "3.5.2", - "dev": true + "dev": true, + "requires": {} }, "json-schema-traverse": { "version": "0.4.1", @@ -72355,7 +72344,8 @@ }, "babel-plugin-named-asset-import": { "version": "0.3.8", - "dev": true + "dev": true, + "requires": {} }, "babel-plugin-polyfill-corejs2": { "version": "0.3.3", @@ -72905,7 +72895,8 @@ }, "css-declaration-sorter": { "version": "6.3.1", - "dev": true + "dev": true, + "requires": {} }, "css-has-pseudo": { "version": "3.0.4", @@ -72985,7 +72976,8 @@ }, "css-prefers-color-scheme": { "version": "6.0.3", - "dev": true + "dev": true, + "requires": {} }, "css-select": { "version": "4.3.0", @@ -73074,7 +73066,8 @@ }, "cssnano-utils": { "version": "3.1.0", - "dev": true + "dev": true, + "requires": {} }, "csso": { "version": "4.2.0", @@ -73894,7 +73887,8 @@ }, "eslint-plugin-react-hooks": { "version": "4.6.0", - "dev": true + "dev": true, + "requires": {} }, "eslint-plugin-testing-library": { "version": "5.10.2", @@ -74380,7 +74374,8 @@ }, "ajv-keywords": { "version": "3.5.2", - "dev": true + "dev": true, + "requires": {} }, "chalk": { "version": "4.1.2", @@ -74864,7 +74859,8 @@ }, "icss-utils": { "version": "5.1.0", - "dev": true + "dev": true, + "requires": {} }, "idb": { "version": "7.1.1", @@ -75926,7 +75922,8 @@ }, "jest-pnp-resolver": { "version": "1.2.3", - "dev": true + "dev": true, + "requires": {} }, "jest-regex-util": { "version": "27.5.1", @@ -76801,7 +76798,8 @@ } }, "mdi-react": { - "version": "9.1.0" + "version": "9.1.0", + "requires": {} }, "mdn-data": { "version": "2.0.4", @@ -77330,7 +77328,8 @@ }, "postcss-browser-comments": { "version": "4.0.0", - "dev": true + "dev": true, + "requires": {} }, "postcss-calc": { "version": "8.2.4", @@ -77416,19 +77415,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", @@ -77447,7 +77450,8 @@ }, "postcss-flexbugs-fixes": { "version": "5.0.2", - "dev": true + "dev": true, + "requires": {} }, "postcss-focus-visible": { "version": "6.0.4", @@ -77465,11 +77469,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", @@ -77489,7 +77495,8 @@ }, "postcss-initial": { "version": "4.0.1", - "dev": true + "dev": true, + "requires": {} }, "postcss-js": { "version": "4.0.1", @@ -77545,11 +77552,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", @@ -77603,7 +77612,8 @@ }, "postcss-modules-extract-imports": { "version": "3.0.0", - "dev": true + "dev": true, + "requires": {} }, "postcss-modules-local-by-default": { "version": "4.0.0", @@ -77654,7 +77664,8 @@ }, "postcss-normalize-charset": { "version": "5.1.0", - "dev": true + "dev": true, + "requires": {} }, "postcss-normalize-display-values": { "version": "5.1.0", @@ -77716,7 +77727,8 @@ }, "postcss-opacity-percentage": { "version": "1.1.3", - "dev": true + "dev": true, + "requires": {} }, "postcss-ordered-values": { "version": "5.1.3", @@ -77735,7 +77747,8 @@ }, "postcss-page-break": { "version": "3.0.4", - "dev": true + "dev": true, + "requires": {} }, "postcss-place": { "version": "7.0.5", @@ -77823,7 +77836,8 @@ }, "postcss-replace-overflow-wrap": { "version": "4.0.0", - "dev": true + "dev": true, + "requires": {} }, "postcss-selector-not": { "version": "6.0.1", @@ -78540,7 +78554,8 @@ }, "ajv-keywords": { "version": "3.5.2", - "dev": true + "dev": true, + "requires": {} }, "json-schema-traverse": { "version": "0.4.1", @@ -78898,7 +78913,8 @@ }, "style-loader": { "version": "3.3.1", - "dev": true + "dev": true, + "requires": {} }, "style-value-types": { "version": "5.0.0", @@ -79570,7 +79586,8 @@ }, "ws": { "version": "8.12.1", - "dev": true + "dev": true, + "requires": {} } } }, @@ -79947,7 +79964,8 @@ }, "ws": { "version": "7.5.9", - "dev": true + "dev": true, + "requires": {} }, "xml-name-validator": { "version": "3.0.0", @@ -79994,7 +80012,8 @@ "dev": true }, "zustand": { - "version": "3.7.2" + "version": "3.7.2", + "requires": {} } } }, @@ -80800,7 +80819,8 @@ }, "use-sync-external-store": { "version": "1.2.0", - "dev": true + "dev": true, + "requires": {} }, "webidl-conversions": { "version": "3.0.1", @@ -81305,10 +81325,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", @@ -81498,7 +81520,8 @@ }, "dependencies": { "ws": { - "version": "7.5.9" + "version": "7.5.9", + "requires": {} } } }, @@ -81543,13 +81566,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" @@ -81627,7 +81653,8 @@ } }, "@react-navigation/elements": { - "version": "1.3.17" + "version": "1.3.17", + "requires": {} }, "@react-navigation/native": { "version": "6.1.6", @@ -81712,10 +81739,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" @@ -81759,7 +81788,6 @@ }, "@types/eslint": { "version": "8.40.2", - "dev": true, "requires": { "@types/estree": "*", "@types/json-schema": "*" @@ -81767,15 +81795,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", @@ -82061,27 +82087,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", @@ -82089,12 +82110,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", @@ -82104,25 +82123,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", @@ -82136,7 +82151,6 @@ }, "@webassemblyjs/wasm-gen": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -82147,7 +82161,6 @@ }, "@webassemblyjs/wasm-opt": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-buffer": "1.11.6", @@ -82157,7 +82170,6 @@ }, "@webassemblyjs/wasm-parser": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -82169,7 +82181,6 @@ }, "@webassemblyjs/wast-printer": { "version": "1.11.6", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.6", "@xtuc/long": "4.2.2" @@ -82177,27 +82188,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", @@ -82230,11 +82242,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", @@ -82246,7 +82259,8 @@ } }, "ajv-keywords": { - "version": "3.5.2" + "version": "3.5.2", + "requires": {} }, "anser": { "version": "1.4.10" @@ -82448,7 +82462,8 @@ } }, "babel-core": { - "version": "7.0.0-bridge.0" + "version": "7.0.0-bridge.0", + "requires": {} }, "babel-jest": { "version": "29.6.2", @@ -82894,8 +82909,7 @@ } }, "chrome-trace-event": { - "version": "1.0.3", - "dev": true + "version": "1.0.3" }, "ci-info": { "version": "3.8.0" @@ -83391,7 +83405,8 @@ }, "ws": { "version": "7.5.9", - "dev": true + "dev": true, + "requires": {} }, "yallist": { "version": "4.0.0", @@ -83562,7 +83577,6 @@ }, "enhanced-resolve": { "version": "5.15.0", - "dev": true, "requires": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -83636,8 +83650,7 @@ } }, "es-module-lexer": { - "version": "1.3.0", - "dev": true + "version": "1.3.0" }, "es-set-tostringtag": { "version": "2.0.1", @@ -83787,7 +83800,8 @@ }, "eslint-config-prettier": { "version": "8.8.0", - "dev": true + "dev": true, + "requires": {} }, "eslint-plugin-eslint-comments": { "version": "3.2.0", @@ -83870,7 +83884,8 @@ }, "eslint-plugin-react-hooks": { "version": "4.6.0", - "dev": true + "dev": true, + "requires": {} }, "eslint-plugin-react-native": { "version": "4.0.0", @@ -83897,15 +83912,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" } } }, @@ -83940,18 +83953,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" @@ -84652,8 +84662,7 @@ } }, "glob-to-regexp": { - "version": "0.4.1", - "dev": true + "version": "0.4.1" }, "global": { "version": "4.4.0", @@ -85408,7 +85417,8 @@ }, "dedent": { "version": "1.5.1", - "dev": true + "dev": true, + "requires": {} }, "pretty-format": { "version": "29.6.2", @@ -85719,7 +85729,8 @@ }, "jest-pnp-resolver": { "version": "1.2.3", - "dev": true + "dev": true, + "requires": {} }, "jest-regex-util": { "version": "29.4.3", @@ -86053,8 +86064,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" @@ -86223,8 +86233,7 @@ } }, "loader-runner": { - "version": "4.3.0", - "dev": true + "version": "4.3.0" }, "loader-utils": { "version": "2.0.4", @@ -86536,7 +86545,8 @@ } }, "ws": { - "version": "7.5.9" + "version": "7.5.9", + "requires": {} } } }, @@ -86748,7 +86758,8 @@ } }, "ws": { - "version": "7.5.9" + "version": "7.5.9", + "requires": {} }, "y18n": { "version": "4.0.3" @@ -87872,7 +87883,6 @@ }, "randombytes": { "version": "2.1.0", - "dev": true, "requires": { "safe-buffer": "^5.1.0" } @@ -87894,12 +87904,35 @@ }, "dependencies": { "ws": { - "version": "7.5.9" + "version": "7.5.9", + "requires": {} + } + } + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "dependencies": { + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0" + } } } }, "react-freeze": { - "version": "1.0.3" + "version": "1.0.3", + "requires": {} }, "react-is": { "version": "16.13.1" @@ -87951,11 +87984,13 @@ } }, "react-native-actions-sheet": { - "version": "0.9.0-alpha.24" + "version": "0.9.0-alpha.24", + "requires": {} }, "react-native-actions-shortcuts": { "version": "1.0.1", - "dev": true + "dev": true, + "requires": {} }, "react-native-background-actions": { "version": "2.6.7", @@ -87965,7 +88000,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", @@ -88026,14 +88062,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", @@ -88042,7 +88080,8 @@ } }, "react-native-device-info": { - "version": "8.7.1" + "version": "8.7.1", + "requires": {} }, "react-native-document-picker": { "version": "7.1.3", @@ -88063,11 +88102,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", @@ -88086,7 +88127,8 @@ } }, "react-native-gzip": { - "version": "1.1.0" + "version": "1.1.0", + "requires": {} }, "react-native-html-to-pdf-lite": { "version": "0.9.1" @@ -88098,10 +88140,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", @@ -88113,7 +88157,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", @@ -88128,7 +88173,8 @@ "react-native-mmkv-storage": { "version": "0.10.0-alpha.11", "resolved": "https://registry.npmjs.org/react-native-mmkv-storage/-/react-native-mmkv-storage-0.10.0-alpha.11.tgz", - "integrity": "sha512-rr5i7v9aOgMHZ3a7LjpwCrHd2ULdCX2Q+n+zlDOEgfXV0P+4EloptE39Z4iOQhQPyr3b/s3q9gj+4sS1QCPkHw==" + "integrity": "sha512-rr5i7v9aOgMHZ3a7LjpwCrHd2ULdCX2Q+n+zlDOEgfXV0P+4EloptE39Z4iOQhQPyr3b/s3q9gj+4sS1QCPkHw==", + "requires": {} }, "react-native-modal-datetime-picker": { "version": "14.0.0", @@ -88140,11 +88186,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", @@ -88165,7 +88213,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", @@ -88183,7 +88232,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", @@ -88201,16 +88251,20 @@ }, "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.6.3" + "version": "4.6.3", + "requires": {} }, "react-native-scoped-storage": { - "version": "1.9.5" + "version": "1.9.5", + "requires": {} }, "react-native-screens": { "version": "3.21.1", @@ -88236,7 +88290,8 @@ } }, "react-native-swiper-flatlist": { - "version": "3.2.2" + "version": "3.2.2", + "requires": {} }, "react-native-tooltips": { "version": "1.0.3" @@ -88289,7 +88344,8 @@ } }, "react-native-zip-archive": { - "version": "6.0.9" + "version": "6.0.9", + "requires": {} }, "react-refresh": { "version": "0.14.0" @@ -88303,7 +88359,6 @@ }, "react-test-renderer": { "version": "18.2.0", - "dev": true, "requires": { "react-is": "^18.2.0", "react-shallow-renderer": "^16.15.0", @@ -88311,12 +88366,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" } @@ -88858,7 +88911,6 @@ }, "serialize-javascript": { "version": "6.0.1", - "dev": true, "requires": { "randombytes": "^2.1.0" } @@ -89570,7 +89622,6 @@ }, "terser-webpack-plugin": { "version": "5.3.9", - "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", @@ -89581,7 +89632,6 @@ "dependencies": { "jest-worker": { "version": "27.5.1", - "dev": true, "requires": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -89590,7 +89640,6 @@ }, "supports-color": { "version": "8.1.1", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -89969,7 +90018,8 @@ "version": "3.1.1" }, "use-latest-callback": { - "version": "0.1.6" + "version": "0.1.6", + "requires": {} }, "use-subscription": { "version": "1.8.0", @@ -89978,7 +90028,8 @@ } }, "use-sync-external-store": { - "version": "1.2.0" + "version": "1.2.0", + "requires": {} }, "utf8-byte-length": { "version": "1.0.4", @@ -90028,7 +90079,6 @@ }, "watchpack": { "version": "2.4.0", - "dev": true, "requires": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -90045,7 +90095,6 @@ }, "webpack": { "version": "5.88.2", - "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -90111,8 +90160,7 @@ } }, "webpack-sources": { - "version": "3.2.3", - "dev": true + "version": "3.2.3" }, "whatwg-fetch": { "version": "3.6.2" @@ -90288,7 +90336,8 @@ "version": "0.1.0" }, "zustand": { - "version": "3.7.2" + "version": "3.7.2", + "requires": {} } } } diff --git a/packages/editor-mobile/src/hooks/useEditorController.ts b/packages/editor-mobile/src/hooks/useEditorController.ts index 9102253e2..f1427d7a3 100644 --- a/packages/editor-mobile/src/hooks/useEditorController.ts +++ b/packages/editor-mobile/src/hooks/useEditorController.ts @@ -148,7 +148,7 @@ export function useEditorController(update: () => void): EditorController { const contentChange = useCallback( (editor: Editor) => { const currentSessionId = globalThis.sessionId; - post(EventTypes.contentchange); + post(EventTypes.contentchange, undefined, tab.id, tab.noteId); if (!editor) return; if (typeof timers.current.change === "number") { clearTimeout(timers.current?.change); @@ -194,14 +194,15 @@ export function useEditorController(update: () => void): EditorController { return; } - logger( - "info", - "webview message for tab", - message.type, - tab.id, - message.tabId, - useTabStore.getState().currentTab - ); + if (tab.id === message.tabId) { + logger( + "info", + message.type, + tab.noteId, + "Focused:", + tab.id === useTabStore.getState().currentTab + ); + } const editor = editors[tab.id]; switch (type) {