From 55efb3fdfddb19d9641af5c1bdb848c258ff1cf9 Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Tue, 3 Jun 2025 10:41:38 -0700 Subject: [PATCH] Use encrypted uploads --- pnpm-lock.yaml | Bin 336095 -> 315702 bytes src/app/components/ChatCompose.svelte | 14 +++++++- .../components/ContentLinkBlockImage.svelte | 33 +++++++++++++++--- src/app/editor/index.ts | 23 ++++++------ 4 files changed, 52 insertions(+), 18 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6fa8ddbe53cb9592506b94f9b46afdce23bdef4e..7c72c4d820bcc47c23a25f73182a99f3a6149f28 100644 GIT binary patch delta 2071 zcmb7@T}YEr7{@suif+w0_v$KBXC)HZ6jxM2q);IAX%vx&wA`Bw*EaUfFN!QEBD+X9 z*hBO|NRg67G3vR9ATRnLs4jwT3i_Y|OR9??D~itE*>b|(wq3sG|Nrm&p7VcRjwv^X z>;tWR!7eo%_IXvU&g67f)_1FZZO>j$pxP4(Rn|HEzCcHv%T=BD9P+evc-mDhcAji# z3kD);AYy2m(o8e<$-nY;?KO1C^JxxgP`$oLFl^|FOOkE7Rn@D_aIMv06I8k++2!}` zn&C;d$a51kS-8C<^{@hJ1jh2YeZFB*SoM2);gF3h3ygKa&WIWYPXSSO7z#CCdq52* z<7jens`lKB? zWf7s=#RfNxH!ST?DHk@AYfI{zChC`VX51mJo0n`(9s9SQX{YK2AitSIbj(r=CJ<|J zJk{w;lQTF<$SN~x3Taq@Yc`NI%}_E-u42y!8EVF-oSvmfa%iI!-#O@E3W4K%4(#7X z%dobXUNFPF6Wjt-Riq5hS5ikQJdizwjlWnn4Azqh%xR>TXX9EAE$W5QaVZ@>L!Ib; zP8&>E^`3sF_JjT`wZ^qdI$utWNeqb#)`GL8KBvYV$g5`n4E5{cTY`_YVu@ny!@i7NTPzRc- z`M#y**f_QNT33zBjUU_iU^z(WLVSLNFDJO@DBr>0aX&wX61<<}e4oK8|{4&h5SEJ-DGUMy7d=r6{-}obtka<`+$w%j-B>kE72VL*jivR!s delta 12417 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 editor.then(ed => ed.chain().focus().run()) + const uploadFiles = () => editor.then(ed => ed.chain().selectFiles().run()) + const submit = async () => { if ($uploading) return @@ -40,11 +42,21 @@ submit, uploading, aggressive: true, - disableFileUpload: true, })
+
diff --git a/src/app/components/ContentLinkBlockImage.svelte b/src/app/components/ContentLinkBlockImage.svelte index 87db740..36a02e6 100644 --- a/src/app/components/ContentLinkBlockImage.svelte +++ b/src/app/components/ContentLinkBlockImage.svelte @@ -1,14 +1,39 @@ diff --git a/src/app/editor/index.ts b/src/app/editor/index.ts index c560a50..cab84a0 100644 --- a/src/app/editor/index.ts +++ b/src/app/editor/index.ts @@ -35,7 +35,6 @@ export const makeEditor = async ({ submit, uploading, wordCount, - disableFileUpload, }: { aggressive?: boolean autofocus?: boolean @@ -46,7 +45,6 @@ export const makeEditor = async ({ submit: () => void uploading?: Writable wordCount?: Writable - disableFileUpload?: boolean }) => { return new Editor({ content, @@ -69,18 +67,17 @@ export const makeEditor = async ({ aggressive, }, }, - fileUpload: disableFileUpload - ? false - : { - config: { - onDrop() { - uploading?.set(true) - }, - onComplete() { - uploading?.set(false) - }, - }, + fileUpload: { + config: { + encryptionAlgorithm: "aes-gcm", + onDrop() { + uploading?.set(true) }, + onComplete() { + uploading?.set(false) + }, + }, + }, nprofile: { extend: { addNodeView: () => makeMentionNodeView(url),