yarn and composer updates
This commit is contained in:
parent
d167ef1f89
commit
e4fc0f5ac3
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
},
|
},
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
105
package.json
105
package.json
|
@ -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",
|
||||||
|
|
|
@ -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 });
|
||||||
|
|
|
@ -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 => {
|
||||||
|
|
|
@ -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 => {
|
||||||
|
|
|
@ -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 => {
|
||||||
|
|
|
@ -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),
|
||||||
|
|
|
@ -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 }));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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 => {
|
||||||
|
|
|
@ -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 });
|
||||||
})
|
})
|
||||||
|
|
|
@ -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));
|
||||||
};
|
};
|
||||||
|
|
|
@ -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));
|
||||||
|
|
Loading…
Reference in New Issue