yarn and composer updates

This commit is contained in:
Matthew Penner 2021-09-10 15:26:02 -06:00
parent d167ef1f89
commit e4fc0f5ac3
No known key found for this signature in database
GPG Key ID: 030E4AB751DC756F
19 changed files with 3022 additions and 2342 deletions

632
.yarn/releases/yarn-3.1.0-rc.1.cjs vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,6 @@
nodeLinker: 'node-modules' nodeLinker: node-modules
pnpIgnorePatterns: pnpIgnorePatterns:
- './public/**/*' - ./public/**/*
yarnPath: '.yarn/releases/yarn-berry.cjs'
yarnPath: .yarn/releases/yarn-3.1.0-rc.1.cjs

View File

@ -18,13 +18,13 @@
"ext-pdo_mysql": "*", "ext-pdo_mysql": "*",
"ext-zip": "*", "ext-zip": "*",
"asbiin/laravel-webauthn": "^1.1", "asbiin/laravel-webauthn": "^1.1",
"aws/aws-sdk-php": "^3.186", "aws/aws-sdk-php": "^3.192",
"doctrine/dbal": "^3.1", "doctrine/dbal": "^3.1",
"fideloper/proxy": "^4.4", "fideloper/proxy": "^4.4",
"guzzlehttp/guzzle": "^7.3", "guzzlehttp/guzzle": "^7.3",
"hashids/hashids": "^4.1", "hashids/hashids": "^4.1",
"laracasts/utilities": "^3.2", "laracasts/utilities": "^3.2",
"laravel/framework": "^8.52", "laravel/framework": "^8.58",
"laravel/helpers": "^1.4", "laravel/helpers": "^1.4",
"laravel/sanctum": "^2.11", "laravel/sanctum": "^2.11",
"laravel/tinker": "^2.6", "laravel/tinker": "^2.6",
@ -47,12 +47,12 @@
"require-dev": { "require-dev": {
"barryvdh/laravel-debugbar": "^3.6", "barryvdh/laravel-debugbar": "^3.6",
"barryvdh/laravel-ide-helper": "^2.10", "barryvdh/laravel-ide-helper": "^2.10",
"facade/ignition": "^2.11", "facade/ignition": "^2.12",
"fakerphp/faker": "^1.15", "fakerphp/faker": "^1.15",
"friendsofphp/php-cs-fixer": "^3.0", "friendsofphp/php-cs-fixer": "^3.1",
"laravel/dusk": "^6.15", "laravel/dusk": "^6.18",
"mockery/mockery": "^1.4", "mockery/mockery": "^1.4",
"nunomaduro/collision": "^5.6", "nunomaduro/collision": "^5.9",
"php-mock/php-mock-phpunit": "^2.6", "php-mock/php-mock-phpunit": "^2.6",
"phpunit/phpunit": "^9.5" "phpunit/phpunit": "^9.5"
}, },

700
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -11,40 +11,40 @@
}, },
"dependencies": { "dependencies": {
"@": "link:./resources/scripts", "@": "link:./resources/scripts",
"@codemirror/autocomplete": "^0.18.8", "@codemirror/autocomplete": "^0.19.3",
"@codemirror/closebrackets": "^0.18.0", "@codemirror/closebrackets": "^0.19.0",
"@codemirror/commands": "^0.18.3", "@codemirror/commands": "^0.19.2",
"@codemirror/comment": "^0.18.1", "@codemirror/comment": "^0.19.0",
"@codemirror/fold": "^0.18.1", "@codemirror/fold": "^0.19.0",
"@codemirror/gutter": "^0.18.4", "@codemirror/gutter": "^0.19.1",
"@codemirror/highlight": "^0.18.4", "@codemirror/highlight": "^0.19.4",
"@codemirror/history": "^0.18.1", "@codemirror/history": "^0.19.0",
"@codemirror/lang-cpp": "^0.18.0", "@codemirror/lang-cpp": "^0.19.1",
"@codemirror/lang-css": "^0.18.0", "@codemirror/lang-css": "^0.19.1",
"@codemirror/lang-html": "^0.18.1", "@codemirror/lang-html": "^0.19.1",
"@codemirror/lang-java": "^0.18.0", "@codemirror/lang-java": "^0.19.1",
"@codemirror/lang-javascript": "^0.18.0", "@codemirror/lang-javascript": "^0.19.1",
"@codemirror/lang-json": "^0.18.0", "@codemirror/lang-json": "^0.19.1",
"@codemirror/lang-markdown": "^0.18.4", "@codemirror/lang-markdown": "^0.19.1",
"@codemirror/lang-rust": "^0.18.0", "@codemirror/lang-rust": "^0.19.1",
"@codemirror/lang-sql": "^0.18.0", "@codemirror/lang-sql": "^0.19.3",
"@codemirror/lang-xml": "^0.18.0", "@codemirror/lang-xml": "^0.19.1",
"@codemirror/language": "^0.18.2", "@codemirror/language": "^0.19.2",
"@codemirror/legacy-modes": "^0.18.1", "@codemirror/legacy-modes": "^0.19.0",
"@codemirror/lint": "^0.18.4", "@codemirror/lint": "^0.19.0",
"@codemirror/matchbrackets": "^0.18.0", "@codemirror/matchbrackets": "^0.19.1",
"@codemirror/rectangular-selection": "^0.18.0", "@codemirror/rectangular-selection": "^0.19.0",
"@codemirror/search": "^0.18.4", "@codemirror/search": "^0.19.0",
"@codemirror/state": "^0.18.7", "@codemirror/state": "^0.19.1",
"@codemirror/stream-parser": "^0.18.2", "@codemirror/stream-parser": "^0.19.1",
"@codemirror/theme-one-dark": "^0.18.1", "@codemirror/theme-one-dark": "^0.19.0",
"@codemirror/view": "^0.18.19", "@codemirror/view": "^0.19.4",
"@fortawesome/fontawesome-svg-core": "^1.2.35", "@fortawesome/fontawesome-svg-core": "^1.2.36",
"@fortawesome/free-solid-svg-icons": "^5.15.3", "@fortawesome/free-solid-svg-icons": "^5.15.4",
"@fortawesome/react-fontawesome": "^0.1.14", "@fortawesome/react-fontawesome": "^0.1.15",
"@hot-loader/react-dom": "^16.14.0", "@hot-loader/react-dom": "^16.14.0",
"axios": "^0.21.1", "axios": "^0.21.3",
"chart.js": "^2.9.3", "chart.js": "^2.9.4",
"date-fns": "^2.23.0", "date-fns": "^2.23.0",
"debounce": "^1.2.1", "debounce": "^1.2.1",
"deepmerge": "^4.2.2", "deepmerge": "^4.2.2",
@ -53,30 +53,30 @@
"feature": "link:./resources/scripts/components/server/features", "feature": "link:./resources/scripts/components/server/features",
"formik": "^2.2.9", "formik": "^2.2.9",
"history": "^4.10.1", "history": "^4.10.1",
"i18next": "^20.3.5", "i18next": "^20.6.0",
"i18next-chained-backend": "^3.0.2", "i18next-chained-backend": "^3.0.2",
"i18next-localstorage-backend": "^3.1.3", "i18next-localstorage-backend": "^3.1.3",
"i18next-xhr-backend": "^3.2.2", "i18next-xhr-backend": "^3.2.2",
"qrcode.react": "^1.0.1", "qrcode.react": "^1.0.1",
"query-string": "^7.0.1", "query-string": "^7.0.1",
"react": "^16.14.0", "react": "^16.14.0",
"react-copy-to-clipboard": "^5.0.3", "react-copy-to-clipboard": "^5.0.4",
"react-dom": "^16.14.0", "react-dom": "^16.14.0",
"react-fast-compare": "^3.2.0", "react-fast-compare": "^3.2.0",
"react-ga": "^3.3.0", "react-ga": "^3.3.0",
"react-google-recaptcha": "^2.1.0", "react-google-recaptcha": "^2.1.0",
"react-hot-loader": "^4.13.0", "react-hot-loader": "^4.13.0",
"react-i18next": "^11.11.4", "react-i18next": "^11.11.4",
"react-router": "^5.2.0", "react-router": "^5.2.1",
"react-router-dom": "^5.2.0", "react-router-dom": "^5.2.1",
"react-select": "^4.3.1", "react-select": "^4.3.1",
"react-transition-group": "^4.4.2", "react-transition-group": "^4.4.2",
"reaptcha": "^1.7.2", "reaptcha": "^1.7.3",
"sockette": "^2.0.6", "sockette": "^2.0.6",
"styled-components": "^5.3.0", "styled-components": "^5.3.1",
"styled-components-breakpoint": "^3.0.0-preview.20", "styled-components-breakpoint": "^3.0.0-preview.20",
"swr": "^0.5.6", "swr": "^1.0.0",
"uuid": "^3.3.2", "uuid": "^3.4.0",
"xterm": "^4.13.0", "xterm": "^4.13.0",
"xterm-addon-attach": "^0.6.0", "xterm-addon-attach": "^0.6.0",
"xterm-addon-fit": "^0.5.0", "xterm-addon-fit": "^0.5.0",
@ -100,14 +100,13 @@
"@babel/runtime": "^7.14.5", "@babel/runtime": "^7.14.5",
"@tailwindcss/forms": "^0.3.3", "@tailwindcss/forms": "^0.3.3",
"@types/chart.js": "^2.9.34", "@types/chart.js": "^2.9.34",
"@types/codemirror": "^5.60.2",
"@types/debounce": "^1.2.0", "@types/debounce": "^1.2.0",
"@types/events": "^3.0.0", "@types/events": "^3.0.0",
"@types/history": "^4.7.9", "@types/history": "^4.7.9",
"@types/node": "^16.4.10", "@types/node": "^16.7.10",
"@types/qrcode.react": "^1.0.2", "@types/qrcode.react": "^1.0.2",
"@types/query-string": "^6.3.0", "@types/query-string": "^6.3.0",
"@types/react": "^16.14.11", "@types/react": "^16.14.15",
"@types/react-copy-to-clipboard": "^5.0.1", "@types/react-copy-to-clipboard": "^5.0.1",
"@types/react-dom": "^16.9.14", "@types/react-dom": "^16.9.14",
"@types/react-redux": "^7.1.18", "@types/react-redux": "^7.1.18",
@ -115,20 +114,20 @@
"@types/react-router-dom": "^5.1.8", "@types/react-router-dom": "^5.1.8",
"@types/react-select": "^4.0.17", "@types/react-select": "^4.0.17",
"@types/react-transition-group": "^4.4.2", "@types/react-transition-group": "^4.4.2",
"@types/styled-components": "^5.1.11", "@types/styled-components": "^5.1.14",
"@types/uuid": "^3.4.5", "@types/uuid": "^3.4.10",
"@types/webappsec-credential-management": "^0.6.1", "@types/webappsec-credential-management": "^0.6.1",
"@types/webpack-env": "^1.16.2", "@types/webpack-env": "^1.16.2",
"@types/yup": "^0.29.13", "@types/yup": "^0.29.13",
"@typescript-eslint/eslint-plugin": "^4.29.0", "@typescript-eslint/eslint-plugin": "^4.30.0",
"@typescript-eslint/parser": "^4.29.0", "@typescript-eslint/parser": "^4.30.0",
"autoprefixer": "^10.3.1", "autoprefixer": "^10.3.4",
"babel-loader": "^8.2.2", "babel-loader": "^8.2.2",
"babel-plugin-macros": "^3.1.0", "babel-plugin-macros": "^3.1.0",
"babel-plugin-styled-components": "^1.13.2", "babel-plugin-styled-components": "^1.13.2",
"browserslist": "^4.16.6", "browserslist": "^4.17.0",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"css-loader": "^5.2.6", "css-loader": "^5.2.7",
"eslint": "^7.32.0", "eslint": "^7.32.0",
"eslint-config-standard": "^16.0.3", "eslint-config-standard": "^16.0.3",
"eslint-plugin-import": "^2.23.4", "eslint-plugin-import": "^2.23.4",
@ -136,7 +135,7 @@
"eslint-plugin-promise": "^5.1.0", "eslint-plugin-promise": "^5.1.0",
"eslint-plugin-react": "^7.24.0", "eslint-plugin-react": "^7.24.0",
"eslint-plugin-react-hooks": "^4.2.0", "eslint-plugin-react-hooks": "^4.2.0",
"fork-ts-checker-webpack-plugin": "^6.3.1", "fork-ts-checker-webpack-plugin": "^6.3.3",
"postcss": "^8.3.6", "postcss": "^8.3.6",
"redux-devtools-extension": "^2.13.9", "redux-devtools-extension": "^2.13.9",
"source-map-loader": "^1.1.3", "source-map-loader": "^1.1.3",
@ -144,7 +143,7 @@
"svg-url-loader": "^7.1.1", "svg-url-loader": "^7.1.1",
"tailwindcss": "^2.2.7", "tailwindcss": "^2.2.7",
"terser-webpack-plugin": "^4.2.3", "terser-webpack-plugin": "^4.2.3",
"twin.macro": "^2.6.2", "twin.macro": "^2.7.0",
"typescript": "^4.3.5", "typescript": "^4.3.5",
"webpack": "^4.46.0", "webpack": "^4.46.0",
"webpack-assets-manifest": "^4.0.6", "webpack-assets-manifest": "^4.0.6",

View File

@ -15,4 +15,4 @@ export default (uuid: string, initialData?: Response) => useSWR([ uuid, '/startu
const variables = ((data as FractalResponseList).data || []).map(rawDataToServerEggVariable); const variables = ((data as FractalResponseList).data || []).map(rawDataToServerEggVariable);
return { invocation: data.meta.startup_command, variables, dockerImages: data.meta.docker_images || [] }; return { invocation: data.meta.startup_command, variables, dockerImages: data.meta.docker_images || [] };
}, { initialData, errorRetryCount: 3 }); }, { fallbackData: initialData, errorRetryCount: 3 });

View File

@ -33,8 +33,8 @@ export default () => {
setSubmitting(true); setSubmitting(true);
createLocation(short, long) createLocation(short, long)
.then(location => { .then(async (location) => {
mutate(data => ({ ...data!, items: data!.items.concat(location) }), false); await mutate(data => ({ ...data!, items: data!.items.concat(location) }), false);
setVisible(false); setVisible(false);
}) })
.catch(error => { .catch(error => {

View File

@ -33,8 +33,8 @@ export default () => {
setSubmitting(true); setSubmitting(true);
createNest(name, description) createNest(name, description)
.then(nest => { .then(async (nest) => {
mutate(data => ({ ...data!, items: data!.items.concat(nest) }), false); await mutate(data => ({ ...data!, items: data!.items.concat(nest) }), false);
setVisible(false); setVisible(false);
}) })
.catch(error => { .catch(error => {

View File

@ -33,8 +33,8 @@ export default () => {
setSubmitting(true); setSubmitting(true);
createRole(name, description) createRole(name, description)
.then(role => { .then(async (role) => {
mutate(data => ({ ...data!, items: data!.items.concat(role) }), false); await mutate(data => ({ ...data!, items: data!.items.concat(role) }), false);
setVisible(false); setVisible(false);
}) })
.catch(error => { .catch(error => {

View File

@ -1,12 +1,12 @@
import { autocompletion, completionKeymap } from '@codemirror/autocomplete'; import { autocompletion, completionKeymap } from '@codemirror/autocomplete';
import { closeBrackets, closeBracketsKeymap } from '@codemirror/closebrackets'; import { closeBrackets, closeBracketsKeymap } from '@codemirror/closebrackets';
import { defaultKeymap, defaultTabBinding } from '@codemirror/commands'; import { defaultKeymap, indentWithTab } from '@codemirror/commands';
import { commentKeymap } from '@codemirror/comment'; import { commentKeymap } from '@codemirror/comment';
import { foldGutter, foldKeymap } from '@codemirror/fold'; import { foldGutter, foldKeymap } from '@codemirror/fold';
import { lineNumbers, highlightActiveLineGutter } from '@codemirror/gutter'; import { lineNumbers, highlightActiveLineGutter } from '@codemirror/gutter';
import { defaultHighlightStyle } from '@codemirror/highlight'; import { defaultHighlightStyle } from '@codemirror/highlight';
import { history, historyKeymap } from '@codemirror/history'; import { history, historyKeymap } from '@codemirror/history';
import { indentOnInput, LanguageSupport, LezerLanguage } from '@codemirror/language'; import { indentOnInput, LanguageSupport, LRLanguage } from '@codemirror/language';
import { lintKeymap } from '@codemirror/lint'; import { lintKeymap } from '@codemirror/lint';
import { bracketMatching } from '@codemirror/matchbrackets'; import { bracketMatching } from '@codemirror/matchbrackets';
import { rectangularSelection } from '@codemirror/rectangular-selection'; import { rectangularSelection } from '@codemirror/rectangular-selection';
@ -39,7 +39,7 @@ import React, { useCallback, useEffect, useState } from 'react';
import tw, { styled, TwStyle } from 'twin.macro'; import tw, { styled, TwStyle } from 'twin.macro';
import { ayuMirage } from '@/components/elements/EditorTheme'; import { ayuMirage } from '@/components/elements/EditorTheme';
type EditorMode = LanguageSupport | LezerLanguage | StreamParser<any>; type EditorMode = LanguageSupport | LRLanguage | StreamParser<any>;
export interface Mode { export interface Mode {
name: string, name: string,
@ -92,7 +92,7 @@ export const modeToExtension = (m: EditorMode): Extension => {
return m; return m;
} }
if (m instanceof LezerLanguage) { if (m instanceof LRLanguage) {
return m; return m;
} }
@ -165,7 +165,7 @@ const defaultExtensions: Extension = [
...commentKeymap, ...commentKeymap,
...completionKeymap, ...completionKeymap,
...lintKeymap, ...lintKeymap,
defaultTabBinding, indentWithTab,
]), ]),
EditorState.tabSize.of(4), EditorState.tabSize.of(4),

View File

@ -9,8 +9,8 @@ const InstallListener = () => {
const { mutate } = useFileManagerSwr(); const { mutate } = useFileManagerSwr();
const setServerFromState = ServerContext.useStoreActions(actions => actions.server.setServerFromState); const setServerFromState = ServerContext.useStoreActions(actions => actions.server.setServerFromState);
useWebsocketEvent(SocketEvent.BACKUP_RESTORE_COMPLETED, () => { useWebsocketEvent(SocketEvent.BACKUP_RESTORE_COMPLETED, async () => {
mutate(undefined); await mutate(undefined);
setServerFromState(s => ({ ...s, status: null })); setServerFromState(s => ({ ...s, status: null }));
}); });

View File

@ -48,7 +48,7 @@ export default ({ backup }: Props) => {
setLoading(true); setLoading(true);
clearFlashes('backups'); clearFlashes('backups');
deleteBackup(uuid, backup.uuid) deleteBackup(uuid, backup.uuid)
.then(() => mutate(data => ({ .then(async () => await mutate(data => ({
...data!, ...data!,
items: data!.items.filter(b => b.uuid !== backup.uuid), items: data!.items.filter(b => b.uuid !== backup.uuid),
backupCount: data!.backupCount - 1, backupCount: data!.backupCount - 1,
@ -83,7 +83,7 @@ export default ({ backup }: Props) => {
} }
http.post(`/api/client/servers/${uuid}/backups/${backup.uuid}/lock`) http.post(`/api/client/servers/${uuid}/backups/${backup.uuid}/lock`)
.then(() => mutate(data => ({ .then(async () => await mutate(data => ({
...data!, ...data!,
items: data!.items.map(b => b.uuid !== backup.uuid ? b : { items: data!.items.map(b => b.uuid !== backup.uuid ? b : {
...b, ...b,

View File

@ -21,11 +21,11 @@ interface Props {
export default ({ backup, className }: Props) => { export default ({ backup, className }: Props) => {
const { mutate } = getServerBackups(); const { mutate } = getServerBackups();
useWebsocketEvent(`${SocketEvent.BACKUP_COMPLETED}:${backup.uuid}` as SocketEvent, data => { useWebsocketEvent(`${SocketEvent.BACKUP_COMPLETED}:${backup.uuid}` as SocketEvent, async (data) => {
try { try {
const parsed = JSON.parse(data); const parsed = JSON.parse(data);
mutate(data => ({ await mutate(data => ({
...data!, ...data!,
items: data!.items.map(b => b.uuid !== backup.uuid ? b : ({ items: data!.items.map(b => b.uuid !== backup.uuid ? b : ({
...b, ...b,

View File

@ -80,8 +80,8 @@ export default () => {
const submit = (values: Values, { setSubmitting }: FormikHelpers<Values>) => { const submit = (values: Values, { setSubmitting }: FormikHelpers<Values>) => {
clearFlashes('backups:create'); clearFlashes('backups:create');
createServerBackup(uuid, values) createServerBackup(uuid, values)
.then(backup => { .then(async (backup) => {
mutate(data => ({ ...data!, items: data!.items.concat(backup), backupCount: data!.backupCount + 1 }), false); await mutate(data => ({ ...data!, items: data!.items.concat(backup), backupCount: data!.backupCount + 1 }), false);
setVisible(false); setVisible(false);
}) })
.catch(error => { .catch(error => {

View File

@ -28,18 +28,18 @@ const ChmodFileModal = ({ files, ...props }: OwnProps) => {
const directory = ServerContext.useStoreState(state => state.files.directory); const directory = ServerContext.useStoreState(state => state.files.directory);
const setSelectedFiles = ServerContext.useStoreActions(actions => actions.files.setSelectedFiles); const setSelectedFiles = ServerContext.useStoreActions(actions => actions.files.setSelectedFiles);
const submit = ({ mode }: FormikValues, { setSubmitting }: FormikHelpers<FormikValues>) => { const submit = async ({ mode }: FormikValues, { setSubmitting }: FormikHelpers<FormikValues>) => {
clearFlashes('files'); clearFlashes('files');
mutate(data => data!.map(f => f.name === files[0].file ? { ...f, mode: fileBitsToString(mode, !f.isFile), modeBits: mode } : f), false); await mutate(data => data!.map(f => f.name === files[0].file ? { ...f, mode: fileBitsToString(mode, !f.isFile), modeBits: mode } : f), false);
const data = files.map(f => ({ file: f.file, mode: mode })); const data = files.map(f => ({ file: f.file, mode: mode }));
chmodFiles(uuid, directory, data) chmodFiles(uuid, directory, data)
.then((): Promise<any> => files.length > 0 ? mutate() : Promise.resolve()) .then(async (): Promise<any> => files.length > 0 ? await mutate() : Promise.resolve())
.then(() => setSelectedFiles([])) .then(() => setSelectedFiles([]))
.catch(error => { .catch(async (error) => {
mutate(); await mutate();
setSubmitting(false); setSubmitting(false);
clearAndAddHttpError({ key: 'files', error }); clearAndAddHttpError({ key: 'files', error });
}) })

View File

@ -58,15 +58,15 @@ const FileDropdownMenu = ({ file }: { file: FileObject }) => {
} }
}); });
const doDeletion = () => { const doDeletion = async () => {
clearFlashes('files'); clearFlashes('files');
// For UI speed, immediately remove the file from the listing before calling the deletion function. // For UI speed, immediately remove the file from the listing before calling the deletion function.
// If the delete actually fails, we'll fetch the current directory contents again automatically. // If the delete actually fails, we'll fetch the current directory contents again automatically.
mutate(files => files!.filter(f => f.key !== file.key), false); await mutate(files => files!.filter(f => f.key !== file.key), false);
deleteFiles(uuid, directory, [ file.name ]).catch(error => { deleteFiles(uuid, directory, [ file.name ]).catch(async (error) => {
mutate(); await mutate();
clearAndAddHttpError({ key: 'files', error }); clearAndAddHttpError({ key: 'files', error });
}); });
}; };
@ -76,7 +76,7 @@ const FileDropdownMenu = ({ file }: { file: FileObject }) => {
clearFlashes('files'); clearFlashes('files');
copyFile(uuid, join(directory, file.name)) copyFile(uuid, join(directory, file.name))
.then(() => mutate()) .then(async () => await mutate())
.catch(error => clearAndAddHttpError({ key: 'files', error })) .catch(error => clearAndAddHttpError({ key: 'files', error }))
.then(() => setShowSpinner(false)); .then(() => setShowSpinner(false));
}; };
@ -99,7 +99,7 @@ const FileDropdownMenu = ({ file }: { file: FileObject }) => {
clearFlashes('files'); clearFlashes('files');
compressFiles(uuid, directory, [ file.name ]) compressFiles(uuid, directory, [ file.name ])
.then(() => mutate()) .then(async () => await mutate())
.catch(error => clearAndAddHttpError({ key: 'files', error })) .catch(error => clearAndAddHttpError({ key: 'files', error }))
.then(() => setShowSpinner(false)); .then(() => setShowSpinner(false));
}; };
@ -109,7 +109,7 @@ const FileDropdownMenu = ({ file }: { file: FileObject }) => {
clearFlashes('files'); clearFlashes('files');
decompressFiles(uuid, directory, file.name) decompressFiles(uuid, directory, file.name)
.then(() => mutate()) .then(async () => await mutate())
.catch(error => clearAndAddHttpError({ key: 'files', error })) .catch(error => clearAndAddHttpError({ key: 'files', error }))
.then(() => setShowSpinner(false)); .then(() => setShowSpinner(false));
}; };

View File

@ -50,12 +50,12 @@ const MassActionsBar = () => {
setLoadingMessage('Deleting files...'); setLoadingMessage('Deleting files...');
deleteFiles(uuid, directory, selectedFiles) deleteFiles(uuid, directory, selectedFiles)
.then(() => { .then(async () => {
mutate(files => files!.filter(f => selectedFiles.indexOf(f.name) < 0), false); await mutate(files => files!.filter(f => selectedFiles.indexOf(f.name) < 0), false);
setSelectedFiles([]); setSelectedFiles([]);
}) })
.catch(error => { .catch(async (error) => {
mutate(); await mutate();
clearAndAddHttpError({ key: 'files', error }); clearAndAddHttpError({ key: 'files', error });
}) })
.then(() => setLoading(false)); .then(() => setLoading(false));

3780
yarn.lock

File diff suppressed because it is too large Load Diff