From d33e48edd884568dc4827456ae811ad1478f8554 Mon Sep 17 00:00:00 2001 From: Mo Date: Wed, 27 Apr 2022 09:46:25 -0500 Subject: [PATCH] feat: better decryption attempt; upgrade snjs with file size changes --- .../AttachedFilesPopover/PopoverFileItem.tsx | 7 +- .../Components/Files/FilePreviewInfoPanel.tsx | 5 +- .../Panes/Security/ErroredItems.tsx | 23 +++-- .../javascripts/Services/AlertService.ts | 6 +- .../UIModels/AppState/FilesState.ts | 6 +- .../UIModels/AppState/TagsState.ts | 74 ++++++---------- package.json | 2 +- yarn.lock | 86 +++++++++---------- 8 files changed, 97 insertions(+), 112 deletions(-) diff --git a/app/assets/javascripts/Components/AttachedFilesPopover/PopoverFileItem.tsx b/app/assets/javascripts/Components/AttachedFilesPopover/PopoverFileItem.tsx index f26812a6f..7700965f4 100644 --- a/app/assets/javascripts/Components/AttachedFilesPopover/PopoverFileItem.tsx +++ b/app/assets/javascripts/Components/AttachedFilesPopover/PopoverFileItem.tsx @@ -95,15 +95,12 @@ export const PopoverFileItem: FunctionComponent = ({
{file.name} {file.protected && ( - + )}
)}
- {file.created_at.toLocaleString()} · {formatSizeToReadableString(file.size)} + {file.created_at.toLocaleString()} · {formatSizeToReadableString(file.decryptedSize)}
diff --git a/app/assets/javascripts/Components/Files/FilePreviewInfoPanel.tsx b/app/assets/javascripts/Components/Files/FilePreviewInfoPanel.tsx index 5a12704e9..2c6a1da76 100644 --- a/app/assets/javascripts/Components/Files/FilePreviewInfoPanel.tsx +++ b/app/assets/javascripts/Components/Files/FilePreviewInfoPanel.tsx @@ -18,14 +18,13 @@ export const FilePreviewInfoPanel: FunctionComponent = ({ file }) => { Type: {file.mimeType}
- Size: {formatSizeToReadableString(file.size)} + Size: {formatSizeToReadableString(file.decryptedSize)}
Created: {file.created_at.toLocaleString()}
- Last Modified:{' '} - {file.userModifiedDate.toLocaleString()} + Last Modified: {file.userModifiedDate.toLocaleString()}
File ID: {file.uuid} diff --git a/app/assets/javascripts/Components/Preferences/Panes/Security/ErroredItems.tsx b/app/assets/javascripts/Components/Preferences/Panes/Security/ErroredItems.tsx index d62ddde94..930accb77 100644 --- a/app/assets/javascripts/Components/Preferences/Panes/Security/ErroredItems.tsx +++ b/app/assets/javascripts/Components/Preferences/Panes/Security/ErroredItems.tsx @@ -10,6 +10,7 @@ import { } from '@/Components/Preferences/PreferencesComponents' import { ButtonType, + ClientDisplayableError, DisplayStringForContentType, EncryptedItemInterface, } from '@standardnotes/snjs' @@ -17,7 +18,9 @@ import { Button } from '@/Components/Button/Button' import { HorizontalSeparator } from '@/Components/Shared/HorizontalSeparator' import { useState } from 'preact/hooks' -export const ErroredItems: FunctionComponent<{ appState: AppState }> = observer(({ appState }) => { +type Props = { appState: AppState } + +export const ErroredItems: FunctionComponent = observer(({ appState }: Props) => { const app = appState.application const [erroredItems, setErroredItems] = useState(app.items.invalidItems) @@ -51,6 +54,18 @@ export const ErroredItems: FunctionComponent<{ appState: AppState }> = observer( setErroredItems(app.items.invalidItems) } + const attemptDecryption = (item: EncryptedItemInterface): void => { + const errorOrTrue = app.canAttemptDecryptionOfItem(item) + + if (errorOrTrue instanceof ClientDisplayableError) { + void app.alertService.showErrorAlert(errorOrTrue) + + return + } + + app.presentKeyRecoveryWizard() + } + return ( @@ -84,9 +99,7 @@ export const ErroredItems: FunctionComponent<{ appState: AppState }> = observer( <>
- {`${getContentTypeDisplay(item)} created on ${ - item.createdAtString - }`} + {`${getContentTypeDisplay(item)} created on ${item.createdAtString}`}
Item ID: {item.uuid}
Last Modified: {item.updatedAtString}
@@ -97,7 +110,7 @@ export const ErroredItems: FunctionComponent<{ appState: AppState }> = observer( variant="normal" label="Attempt decryption" onClick={() => { - void app.presentKeyRecoveryWizard() + attemptDecryption(item) }} />