Compare commits

...

14 Commits

Author SHA1 Message Date
Frederick [Bot] 81c5c54aed [skip ci] Updated translations via Crowdin 2023-01-27 00:28:14 +00:00
renovate 793e06c6ac fix(deps): update sentry-javascript monorepo to v7.34.0 2023-01-26 22:04:00 +00:00
Nikola Sivkov v2 7eb07e92f8
Add Ipv6 support to nginx (#100)
(cherry picked from commit 0e68bcfd5a518b5cbd0bafce1fc48d31b25e1fa1)
2023-01-26 22:00:49 +01:00
renovate 2a15878b81 fix(deps): update dependency axios to v1.2.5 2023-01-26 16:03:45 +00:00
renovate ebd2b1e8c0 chore(deps): update dependency @vitejs/plugin-legacy to v3.0.2 (#3012)
Reviewed-on: vikunja/frontend#3012
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-26 15:20:58 +00:00
renovate d11fcfa072 chore(deps): update dependency rollup to v3.11.0 (#3013)
Reviewed-on: vikunja/frontend#3013
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-26 14:19:03 +00:00
Frederick [Bot] 8e6e976867 [skip ci] Updated translations via Crowdin 2023-01-26 00:28:07 +00:00
kolaente 9adf1aba89
chore: simplify getting the error text from an exception 2023-01-25 18:44:02 +01:00
kolaente e67088fdb7
chore: simplify error handling for login and OpenId Auth 2023-01-25 18:41:30 +01:00
kolaente da241d21f3
fix(quick actions): hide edges of last entry on hover 2023-01-25 16:26:05 +01:00
kolaente 97133010af
fix(quick actions): don't throw an error message when selecting the last items with the arrow keys 2023-01-25 16:23:46 +01:00
kolaente 4576da0dd3
fix: make sure global error handler handles unrejected promises correctly
Resolves vikunja/frontend#2992
2023-01-25 15:05:54 +01:00
renovate fd4a68daf0 chore(deps): update dependency vitest to v0.28.2 (#3008)
Reviewed-on: vikunja/frontend#3008
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-25 12:30:19 +00:00
renovate 6f02d43801 fix(deps): update dependency @infectoone/vue-ganttastic to v2.1.4 (#3009)
Reviewed-on: vikunja/frontend#3009
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-25 12:29:41 +00:00
9 changed files with 123 additions and 138 deletions

View File

@ -76,7 +76,9 @@ http {
server {
listen 80;
listen [::]:80;
listen 81 default_server http2 proxy_protocol; ## Needed when behind HAProxy with SSL termination + HTTP/2 support
listen [::]:81 default_server http2 proxy_protocol; ## Needed when behind HAProxy with SSL termination + HTTP/2 support
server_name _;

View File

@ -50,16 +50,16 @@
"@fortawesome/free-solid-svg-icons": "6.2.1",
"@fortawesome/vue-fontawesome": "3.0.3",
"@github/hotkey": "2.0.1",
"@infectoone/vue-ganttastic": "2.1.3",
"@infectoone/vue-ganttastic": "2.1.4",
"@intlify/unplugin-vue-i18n": "0.8.1",
"@kyvg/vue3-notification": "2.8.0",
"@sentry/tracing": "7.33.0",
"@sentry/vue": "7.33.0",
"@sentry/tracing": "7.34.0",
"@sentry/vue": "7.34.0",
"@types/is-touch-device": "1.0.0",
"@types/lodash.clonedeep": "4.5.7",
"@types/sortablejs": "1.15.0",
"@vueuse/core": "9.11.1",
"axios": "1.2.4",
"axios": "1.2.5",
"blurhash": "2.0.4",
"bulma-css-variables": "0.9.33",
"camel-case": "4.1.2",
@ -110,7 +110,7 @@
"@types/postcss-preset-env": "7.7.0",
"@typescript-eslint/eslint-plugin": "5.49.0",
"@typescript-eslint/parser": "5.49.0",
"@vitejs/plugin-legacy": "3.0.1",
"@vitejs/plugin-legacy": "3.0.2",
"@vitejs/plugin-vue": "4.0.0",
"@vue/eslint-config-typescript": "11.0.2",
"@vue/test-utils": "2.2.7",
@ -130,7 +130,7 @@
"postcss-easing-gradients": "3.0.1",
"postcss-easings": "3.0.1",
"postcss-preset-env": "7.8.3",
"rollup": "3.10.1",
"rollup": "3.11.0",
"rollup-plugin-visualizer": "5.9.0",
"sass": "1.57.1",
"start-server-and-test": "1.15.3",
@ -139,7 +139,7 @@
"vite-plugin-inject-preload": "1.2.0",
"vite-plugin-pwa": "0.14.1",
"vite-svg-loader": "4.0.0",
"vitest": "0.28.1",
"vitest": "0.28.2",
"vue-tsc": "1.0.24",
"wait-on": "7.0.1",
"workbox-cli": "6.5.4"

View File

@ -12,12 +12,12 @@ specifiers:
'@github/hotkey': 2.0.1
'@histoire/plugin-screenshot': 0.12.4
'@histoire/plugin-vue': 0.12.4
'@infectoone/vue-ganttastic': 2.1.3
'@infectoone/vue-ganttastic': 2.1.4
'@intlify/unplugin-vue-i18n': 0.8.1
'@kyvg/vue3-notification': 2.8.0
'@rushstack/eslint-patch': 1.2.0
'@sentry/tracing': 7.33.0
'@sentry/vue': 7.33.0
'@sentry/tracing': 7.34.0
'@sentry/vue': 7.34.0
'@types/codemirror': 5.60.7
'@types/dompurify': 2.4.0
'@types/flexsearch': 0.7.3
@ -31,14 +31,14 @@ specifiers:
'@types/sortablejs': 1.15.0
'@typescript-eslint/eslint-plugin': 5.49.0
'@typescript-eslint/parser': 5.49.0
'@vitejs/plugin-legacy': 3.0.1
'@vitejs/plugin-legacy': 3.0.2
'@vitejs/plugin-vue': 4.0.0
'@vue/eslint-config-typescript': 11.0.2
'@vue/test-utils': 2.2.7
'@vue/tsconfig': 0.1.3
'@vueuse/core': 9.11.1
autoprefixer: 10.4.13
axios: 1.2.4
axios: 1.2.5
blurhash: 2.0.4
browserslist: 4.21.4
bulma-css-variables: 0.9.33
@ -74,7 +74,7 @@ specifiers:
postcss-easings: 3.0.1
postcss-preset-env: 7.8.3
register-service-worker: 1.7.2
rollup: 3.10.1
rollup: 3.11.0
rollup-plugin-visualizer: 5.9.0
sass: 1.57.1
snake-case: 3.0.4
@ -86,7 +86,7 @@ specifiers:
vite-plugin-inject-preload: 1.2.0
vite-plugin-pwa: 0.14.1
vite-svg-loader: 4.0.0
vitest: 0.28.1
vitest: 0.28.2
vue: 3.2.45
vue-advanced-cropper: 2.8.8
vue-flatpickr-component: 11.0.1
@ -104,16 +104,16 @@ dependencies:
'@fortawesome/free-solid-svg-icons': 6.2.1
'@fortawesome/vue-fontawesome': 3.0.3_bd5ipvhrqmkjz6wvo6sgrei224
'@github/hotkey': 2.0.1
'@infectoone/vue-ganttastic': 2.1.3_dayjs@1.11.7+vue@3.2.45
'@infectoone/vue-ganttastic': 2.1.4_dayjs@1.11.7+vue@3.2.45
'@intlify/unplugin-vue-i18n': 0.8.1_vue-i18n@9.2.2
'@kyvg/vue3-notification': 2.8.0_vue@3.2.45
'@sentry/tracing': 7.33.0
'@sentry/vue': 7.33.0_vue@3.2.45
'@sentry/tracing': 7.34.0
'@sentry/vue': 7.34.0_vue@3.2.45
'@types/is-touch-device': 1.0.0
'@types/lodash.clonedeep': 4.5.7
'@types/sortablejs': 1.15.0
'@vueuse/core': 9.11.1_vue@3.2.45
axios: 1.2.4
axios: 1.2.5
blurhash: 2.0.4
bulma-css-variables: 0.9.33
camel-case: 4.1.2
@ -164,7 +164,7 @@ devDependencies:
'@types/postcss-preset-env': 7.7.0
'@typescript-eslint/eslint-plugin': 5.49.0_iu322prlnwsygkcra5kbpy22si
'@typescript-eslint/parser': 5.49.0_7uibuqfxkfaozanbtbziikiqje
'@vitejs/plugin-legacy': 3.0.1_terser@5.10.0+vite@4.0.4
'@vitejs/plugin-legacy': 3.0.2_terser@5.10.0+vite@4.0.4
'@vitejs/plugin-vue': 4.0.0_vite@4.0.4+vue@3.2.45
'@vue/eslint-config-typescript': 11.0.2_5gm7ezxcdo2zu65gboxarjsumy
'@vue/test-utils': 2.2.7_vue@3.2.45
@ -184,8 +184,8 @@ devDependencies:
postcss-easing-gradients: 3.0.1
postcss-easings: 3.0.1_postcss@8.4.21
postcss-preset-env: 7.8.3_postcss@8.4.21
rollup: 3.10.1
rollup-plugin-visualizer: 5.9.0_rollup@3.10.1
rollup: 3.11.0
rollup-plugin-visualizer: 5.9.0_rollup@3.11.0
sass: 1.57.1
start-server-and-test: 1.15.3
typescript: 4.9.4
@ -193,7 +193,7 @@ devDependencies:
vite-plugin-inject-preload: 1.2.0_vite@4.0.4
vite-plugin-pwa: 0.14.1_fh56thzkyakgjs6jm6gbtbzxsq
vite-svg-loader: 4.0.0
vitest: 0.28.1_5hy6pa4h5xxdexdfm2lcv7lpku
vitest: 0.28.2_5hy6pa4h5xxdexdfm2lcv7lpku
vue-tsc: 1.0.24_typescript@4.9.4
wait-on: 7.0.1
workbox-cli: 6.5.4_acorn@7.4.1
@ -1325,8 +1325,8 @@ packages:
regenerator-runtime: 0.13.11
dev: true
/@babel/standalone/7.20.6:
resolution: {integrity: sha512-u5at/CbBLETf7kx2LOY4XdhseD79Y099WZKAOMXeT8qvd9OSR515my2UNBBLY4qIht/Qi9KySeQHQwQwxJN4Sw==}
/@babel/standalone/7.20.13:
resolution: {integrity: sha512-L13qadxX3yB4mU92iSiWKePm3hYfGaAXPMqGEPUDNzzsmNh0+1M7agMBF62UHM29kFWOWowGfRRDvfAU8uLovg==}
engines: {node: '>=6.9.0'}
dev: true
@ -2377,8 +2377,8 @@ packages:
resolution: {integrity: sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA==}
dev: true
/@infectoone/vue-ganttastic/2.1.3_dayjs@1.11.7+vue@3.2.45:
resolution: {integrity: sha512-04K1J+LBANzaXOOZ6QRv1Rfkuk1UoIFdmQEBiA7I1mSDqlskNe7eEa6yoJPoXKhaiYXDuWeCu0DjexZPKEgkFQ==}
/@infectoone/vue-ganttastic/2.1.4_dayjs@1.11.7+vue@3.2.45:
resolution: {integrity: sha512-rhHA033HIJeXCHG3VDYpBS1O0qZduQovpUvzfkFggn0Hb7KejPjetoHDyP8+B1LQMb62cok8SFgM6roRihSzSg==}
peerDependencies:
dayjs: ^1.11.5
vue: ^3.2.40
@ -3475,7 +3475,7 @@ packages:
rollup: 2.79.1
dev: true
/@rollup/plugin-replace/5.0.1_rollup@3.10.1:
/@rollup/plugin-replace/5.0.1_rollup@3.11.0:
resolution: {integrity: sha512-Z3MfsJ4CK17BfGrZgvrcp/l6WXoKb0kokULO+zt/7bmcyayokDaQ2K3eDJcRLCTAlp5FPI4/gz9MHAsosz4Rag==}
engines: {node: '>=14.0.0'}
peerDependencies:
@ -3484,9 +3484,9 @@ packages:
rollup:
optional: true
dependencies:
'@rollup/pluginutils': 5.0.2_rollup@3.10.1
'@rollup/pluginutils': 5.0.2_rollup@3.11.0
magic-string: 0.26.7
rollup: 3.10.1
rollup: 3.11.0
dev: true
/@rollup/pluginutils/3.1.0_rollup@2.79.1:
@ -3509,7 +3509,7 @@ packages:
picomatch: 2.3.1
dev: false
/@rollup/pluginutils/5.0.2_rollup@3.10.1:
/@rollup/pluginutils/5.0.2_rollup@3.11.0:
resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
engines: {node: '>=14.0.0'}
peerDependencies:
@ -3521,7 +3521,7 @@ packages:
'@types/estree': 1.0.0
estree-walker: 2.0.2
picomatch: 2.3.1
rollup: 3.10.1
rollup: 3.11.0
dev: true
/@rushstack/eslint-patch/1.2.0:
@ -3546,68 +3546,68 @@ packages:
- zenObservable
dev: true
/@sentry/browser/7.33.0:
resolution: {integrity: sha512-bvExBTyLb7cLWLkHh0gch2W/oSw08Yo8DgEc+KkikOnvWd/xoEWUsYNydYGzV+bL1jqcOErsZy0fVsbzTmh71g==}
/@sentry/browser/7.34.0:
resolution: {integrity: sha512-5Jmjj0DLxx+31o12T+VH4U+gO7wz3L+ftjuTxcQaC8GeFVe5qCyXZoDmWKNV9NEyREiZ3azV62bJc5wojZrIIg==}
engines: {node: '>=8'}
dependencies:
'@sentry/core': 7.33.0
'@sentry/replay': 7.33.0
'@sentry/types': 7.33.0
'@sentry/utils': 7.33.0
'@sentry/core': 7.34.0
'@sentry/replay': 7.34.0
'@sentry/types': 7.34.0
'@sentry/utils': 7.34.0
tslib: 1.14.1
dev: false
/@sentry/core/7.33.0:
resolution: {integrity: sha512-mrSgUnXjxHVi0cVea1lv7gC/Y66ya2a3atCHaPEij/+l+3APg5d0Ixt1zMx5YllMiZKf6wpxlZ0uwXcqdAAw+w==}
/@sentry/core/7.34.0:
resolution: {integrity: sha512-J1oxsYZX1N0tkEcaHt/uuDqk6zOnaivyampp+EvBsUMCdemjg7rwKvawlRB0ZtBEQu3HAhi8zecm03mlpWfCDw==}
engines: {node: '>=8'}
dependencies:
'@sentry/types': 7.33.0
'@sentry/utils': 7.33.0
'@sentry/types': 7.34.0
'@sentry/utils': 7.34.0
tslib: 1.14.1
dev: false
/@sentry/replay/7.33.0:
resolution: {integrity: sha512-m6xpSdjsNCCGxAkk5ikPFv/sQAfWtieMEXLdeDZE9jnroVozweHpsUhZYhqzTpxVC5SA3jPyTQ6Ods5gRvTBfA==}
/@sentry/replay/7.34.0:
resolution: {integrity: sha512-4L4YZfWt8mcVNcI99RxHORPb308URI1R9xsFj97fagk0ATjexLKr5QCA2ApnKaSn8Q0q1Zdzd4XmFtW9anU45Q==}
engines: {node: '>=12'}
dependencies:
'@sentry/core': 7.33.0
'@sentry/types': 7.33.0
'@sentry/utils': 7.33.0
'@sentry/core': 7.34.0
'@sentry/types': 7.34.0
'@sentry/utils': 7.34.0
dev: false
/@sentry/tracing/7.33.0:
resolution: {integrity: sha512-MtcKyW/QJgXGrHf5+205xnIIl7yIT99MzuTkuKzQwmnmy/siD3U0X8RoCaGLzj6kkSIu4m7vyQZoyd3J+5D8lw==}
/@sentry/tracing/7.34.0:
resolution: {integrity: sha512-JtfSWBfcWslfIujcpGEPF5oOiAOCd5shMoWYrdTvCfruHhYjp4w5kv/ndkvq2EpFkcQYhdmtQEytXEO8IJIqRw==}
engines: {node: '>=8'}
dependencies:
'@sentry/core': 7.33.0
'@sentry/types': 7.33.0
'@sentry/utils': 7.33.0
'@sentry/core': 7.34.0
'@sentry/types': 7.34.0
'@sentry/utils': 7.34.0
tslib: 1.14.1
dev: false
/@sentry/types/7.33.0:
resolution: {integrity: sha512-5kkmYjtBWSbPxfYGiXdZFPS6xpFBNlXvDqeX4NpCFXz6/LiEDn6tZ61kuCSFb8MZlyqyCX5WsP3aiI2FJfpGIA==}
/@sentry/types/7.34.0:
resolution: {integrity: sha512-K+OeHIrl35PSYn6Zwqe4b8WWyAJQoI5NeWxHVkM7oQTGJ1YLG4BvLsR+UiUXnKdR5krE4EDtEA5jLsDlBEyPvw==}
engines: {node: '>=8'}
dev: false
/@sentry/utils/7.33.0:
resolution: {integrity: sha512-msp02GV1gOfaN5FjKjWxI00rtbYLXEE5cTGldhs/Dt9KI63dDk1nwPDkSLhg6joqRItAq0thlBh6un717HdWbg==}
/@sentry/utils/7.34.0:
resolution: {integrity: sha512-VIHHXEBw0htzqxnU8A7WkXKvmsG2pZVqHlAn0H9W/yyFQtXMuP1j1i0NsjADB/3JXUKK83kTNWGzScXvp0o+Jg==}
engines: {node: '>=8'}
dependencies:
'@sentry/types': 7.33.0
'@sentry/types': 7.34.0
tslib: 1.14.1
dev: false
/@sentry/vue/7.33.0_vue@3.2.45:
resolution: {integrity: sha512-j+EHgtR5+R9WXg2aAV0IOhBPBTHlpUp9/YpbmgMWPANHd7uoY6Piqm9qfElhQDlBMeRPjXD+1DzCc48vLNvH2Q==}
/@sentry/vue/7.34.0_vue@3.2.45:
resolution: {integrity: sha512-aC0IRjgh6qZ/e0T+/tMYop2w88dVwuqxTPjimuceAXo7exF1nbFWxJ6J6PnBvH+gR4ERaw3XLkXdUI3EHq3X9g==}
engines: {node: '>=8'}
peerDependencies:
vue: 2.x || 3.x
dependencies:
'@sentry/browser': 7.33.0
'@sentry/core': 7.33.0
'@sentry/types': 7.33.0
'@sentry/utils': 7.33.0
'@sentry/browser': 7.34.0
'@sentry/core': 7.34.0
'@sentry/types': 7.34.0
'@sentry/utils': 7.34.0
tslib: 1.14.1
vue: 3.2.45
dev: false
@ -4194,15 +4194,15 @@ packages:
- supports-color
dev: true
/@vitejs/plugin-legacy/3.0.1_terser@5.10.0+vite@4.0.4:
resolution: {integrity: sha512-XCtEjxoR3rmy000ujYRBp5kggWqzHz9+F20/yIMUWOzbvu0+KW1e14Fvb8h7SpNn+bfjGW1RiAs1Vrgb7Js+iQ==}
/@vitejs/plugin-legacy/3.0.2_terser@5.10.0+vite@4.0.4:
resolution: {integrity: sha512-9BT2mXunC7kQGKHP70BIbNZ/85P/KUMGKBS9CiV+XKNDZGNBjUnyrh3ofgtqgObmxKaEP2xJsEIRNIFJ+hjI8w==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
terser: ^5.4.0
vite: ^4.0.0
dependencies:
'@babel/standalone': 7.20.6
core-js: 3.26.1
'@babel/standalone': 7.20.13
core-js: 3.27.2
magic-string: 0.27.0
regenerator-runtime: 0.13.11
systemjs: 6.13.0
@ -4221,30 +4221,30 @@ packages:
vue: 3.2.45
dev: true
/@vitest/expect/0.28.1:
resolution: {integrity: sha512-BOvWjBoocKrrTTTC0opIvzOEa7WR/Ovx4++QYlbjYKjnQJfWRSEQkTpAIEfOURtZ/ICcaLk5jvsRshXvjarZew==}
/@vitest/expect/0.28.2:
resolution: {integrity: sha512-syEAK7I24/aGR2lXma98WNnvMwAJ+fMx32yPcj8eLdCEWjZI3SH8ozMaKQMy65B/xZCZAl6MXmfjtJb2CpWPMg==}
dependencies:
'@vitest/spy': 0.28.1
'@vitest/utils': 0.28.1
'@vitest/spy': 0.28.2
'@vitest/utils': 0.28.2
chai: 4.3.7
dev: true
/@vitest/runner/0.28.1:
resolution: {integrity: sha512-kOdmgiNe+mAxZhvj2eUTqKnjfvzzknmrcS+SZXV7j6VgJuWPFAMCv3TWOe03nF9dkqDfVLCDRw/hwFuCzmzlQg==}
/@vitest/runner/0.28.2:
resolution: {integrity: sha512-BJ9CtfPwWM8uc5p7Ty0OprwApyh8RIaSK7QeQPhwfDYA59AAE009OytqA3aX0yj1Qy5+k/mYFJS8RJZgsueSGA==}
dependencies:
'@vitest/utils': 0.28.1
'@vitest/utils': 0.28.2
p-limit: 4.0.0
pathe: 1.1.0
dev: true
/@vitest/spy/0.28.1:
resolution: {integrity: sha512-XGlD78cG3IxXNnGwEF121l0MfTNlHSdI25gS2ik0z6f/D9wWUOru849QkJbuNl4CMlZCtNkx3b5IS6MRwKGKuA==}
/@vitest/spy/0.28.2:
resolution: {integrity: sha512-KlLzTzi5E6tHcI12VT+brlY1Pdi7sUzLf9+YXgh80+CfLu9DqPZi38doBBAUhqEnW/emoLCMinPMMoJlNAQZXA==}
dependencies:
tinyspy: 1.0.2
dev: true
/@vitest/utils/0.28.1:
resolution: {integrity: sha512-a7cV1fs5MeU+W+8sn8gM9gV+q7V/wYz3/4y016w/icyJEKm9AMdSHnrzxTWaElJ07X40pwU6m5353Jlw6Rbd8w==}
/@vitest/utils/0.28.2:
resolution: {integrity: sha512-wcVTNnVdr22IGxZHDgiXrxWYcXsNg0iX2iBuOH3tVs9eme6fXJ0wxjn0/gCpp0TofQSoUwo3tX8LNACFVseDuA==}
dependencies:
cli-truncate: 3.1.0
diff: 5.1.0
@ -4947,8 +4947,8 @@ packages:
- debug
dev: true
/axios/1.2.4:
resolution: {integrity: sha512-lIQuCfBJvZB/Bv7+RWUqEJqNShGOVpk9v7P0ZWx5Ip0qY6u7JBAU6dzQPMLasU9vHL2uD8av/1FDJXj7n6c39w==}
/axios/1.2.5:
resolution: {integrity: sha512-9pU/8mmjSSOb4CXVsvGIevN+MlO/t9OWtKadTaLuN85Gge3HGorUckgp8A/2FH4V4hJ7JuQ3LIeI7KAV9ITZrQ==}
dependencies:
follow-redirects: 1.15.1
form-data: 4.0.0
@ -5481,7 +5481,7 @@ packages:
check-error: 1.0.2
deep-eql: 4.1.3
get-func-name: 2.0.0
loupe: 2.3.4
loupe: 2.3.6
pathval: 1.1.1
type-detect: 4.0.8
dev: true
@ -6001,8 +6001,8 @@ packages:
semver: 7.0.0
dev: true
/core-js/3.26.1:
resolution: {integrity: sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==}
/core-js/3.27.2:
resolution: {integrity: sha512-9ashVQskuh5AZEZ1JdQWp1GqSoC1e1G87MzRqg2gIfVAQ7Qn9K+uFj8EcniUFA4P2NLZfV+TOlX1SzoKfo+s7w==}
requiresBuild: true
dev: true
@ -10167,12 +10167,6 @@ packages:
triple-beam: 1.3.0
dev: true
/loupe/2.3.4:
resolution: {integrity: sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==}
dependencies:
get-func-name: 2.0.0
dev: true
/loupe/2.3.6:
resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==}
dependencies:
@ -12847,7 +12841,7 @@ packages:
- acorn
dev: true
/rollup-plugin-visualizer/5.9.0_rollup@3.10.1:
/rollup-plugin-visualizer/5.9.0_rollup@3.11.0:
resolution: {integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==}
engines: {node: '>=14'}
hasBin: true
@ -12859,7 +12853,7 @@ packages:
dependencies:
open: 8.4.0
picomatch: 2.3.1
rollup: 3.10.1
rollup: 3.11.0
source-map: 0.7.4
yargs: 17.6.0
dev: true
@ -12878,8 +12872,8 @@ packages:
fsevents: 2.3.2
dev: true
/rollup/3.10.1:
resolution: {integrity: sha512-3Er+yel3bZbZX1g2kjVM+FW+RUWDxbG87fcqFM5/9HbPCTpbVp6JOLn7jlxnNlbu7s/N/uDA4EV/91E2gWnxzw==}
/rollup/3.11.0:
resolution: {integrity: sha512-+uWPPkpWQ2H3Qi7sNBcRfhhHJyUNgBYhG4wKe5wuGRj2m55kpo+0p5jubKNBjQODyPe6tSBE3tNpdDwEisQvAQ==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true
optionalDependencies:
@ -14557,8 +14551,8 @@ packages:
- terser
dev: true
/vite-node/0.28.1_4ljv3kzetn75ixk7nciffo2yk4:
resolution: {integrity: sha512-Mmab+cIeElkVn4noScCRjy8nnQdh5LDIR4QCH/pVWtY15zv5Z1J7u6/471B9JZ2r8CEIs42vTbngaamOVkhPLA==}
/vite-node/0.28.2_4ljv3kzetn75ixk7nciffo2yk4:
resolution: {integrity: sha512-zyiJ3DLs9zXign4P2MD4PQk+7rdT+JkHukgmmS0KuImbCQ7WnCdea5imQVeT6OtUsBwsLztJxQODUsinVr91tg==}
engines: {node: '>=v14.16.0'}
hasBin: true
dependencies:
@ -14597,11 +14591,11 @@ packages:
workbox-build: ^6.5.4
workbox-window: ^6.5.4
dependencies:
'@rollup/plugin-replace': 5.0.1_rollup@3.10.1
'@rollup/plugin-replace': 5.0.1_rollup@3.11.0
debug: 4.3.4
fast-glob: 3.2.12
pretty-bytes: 6.0.0
rollup: 3.10.1
rollup: 3.11.0
vite: 4.0.4_4ljv3kzetn75ixk7nciffo2yk4
workbox-build: 6.5.4_acorn@7.4.1
workbox-window: 6.5.4
@ -14645,15 +14639,15 @@ packages:
esbuild: 0.16.17
postcss: 8.4.21
resolve: 1.22.1
rollup: 3.10.1
rollup: 3.11.0
sass: 1.57.1
terser: 5.10.0_acorn@7.4.1
optionalDependencies:
fsevents: 2.3.2
dev: true
/vitest/0.28.1_5hy6pa4h5xxdexdfm2lcv7lpku:
resolution: {integrity: sha512-F6wAO3K5+UqJCCGt0YAl3Ila2f+fpBrJhl9n7qWEhREwfzQeXlMkkCqGqGtzBxCSa8kv5QHrkshX8AaPTXYACQ==}
/vitest/0.28.2_5hy6pa4h5xxdexdfm2lcv7lpku:
resolution: {integrity: sha512-HJBlRla4Mng0OiZ8aWunCecJ6BzLDA4yuzuxiBuBU2MXjGB6I4zT7QgIBL/UrwGKlNxLwaDC5P/4OpeuTlW8yQ==}
engines: {node: '>=v14.16.0'}
hasBin: true
peerDependencies:
@ -14677,10 +14671,10 @@ packages:
'@types/chai': 4.3.4
'@types/chai-subset': 1.3.3
'@types/node': 18.11.18
'@vitest/expect': 0.28.1
'@vitest/runner': 0.28.1
'@vitest/spy': 0.28.1
'@vitest/utils': 0.28.1
'@vitest/expect': 0.28.2
'@vitest/runner': 0.28.2
'@vitest/spy': 0.28.2
'@vitest/utils': 0.28.2
acorn: 8.8.1
acorn-walk: 8.2.0
cac: 6.7.14
@ -14697,7 +14691,7 @@ packages:
tinypool: 0.3.0
tinyspy: 1.0.2
vite: 4.0.4_4ljv3kzetn75ixk7nciffo2yk4
vite-node: 0.28.1_4ljv3kzetn75ixk7nciffo2yk4
vite-node: 0.28.2_4ljv3kzetn75ixk7nciffo2yk4
why-is-node-running: 2.2.2
transitivePeerDependencies:
- less

View File

@ -546,7 +546,7 @@ function select(parentIndex: number, index: number) {
}
let elems = resultRefs.value[parentIndex][index]
if (results.value[parentIndex].items.length === index) {
elems = resultRefs.value[parentIndex + 1][0]
elems = resultRefs.value[parentIndex + 1] ? resultRefs.value[parentIndex + 1][0] : undefined
}
if (
typeof elems === 'undefined'
@ -576,6 +576,8 @@ function reset() {
<style lang="scss" scoped>
.quick-actions {
overflow: hidden;
// FIXME: changed position should be an option of the modal
:deep(.modal-content) {
top: 3rem;

View File

@ -91,7 +91,7 @@
},
"totp": {
"title": "To-faktor-autentisering",
"enroll": "Delta",
"enroll": "Registrere",
"finishSetupPart1": "For å fullføre oppsettet, bruk denne appen (Google Authenticator eller lignende):",
"finishSetupPart2": "Etter det, skriv inn en kode fra appen under.",
"scanQR": "Alternativt kan du skanne denne QR-koden:",

View File

@ -6,7 +6,7 @@
"welcomeEvening": "Good Evening {username}!",
"lastViewed": "Последние просмотренные",
"list": {
"newText": "Ты можешь создать новый список для своих задач:",
"newText": "Вы можете создать новый список для своих задач:",
"new": "New list",
"importText": "Или импортировать списки и задачи из других сервисов в Vikunja:",
"import": "Импорт данных в Vikunja"
@ -297,10 +297,10 @@
"title": "Канбан",
"limit": "Лимит: {limit}",
"noLimit": "не установлен",
"doneBucket": "Список завершен",
"doneBucket": "Список завершённых",
"doneBucketHint": "Все задачи, помещённые в эту колонку, автоматически помечаются завершёнными.",
"doneBucketHintExtended": "Все задачи, перенесенные в завершенный список будут помечены как завершенные. Все задачи помеченные как завершенные будут перемещены в этот список.",
"doneBucketSavedSuccess": "Завершенный список был успешно сохранен.",
"doneBucketSavedSuccess": "Список завершённых был успешно сохранён.",
"deleteLast": "Нельзя удалить последнюю колонку.",
"addTaskPlaceholder": "Введи название задачи…",
"addTask": "Добавить задачу",
@ -440,7 +440,7 @@
"create": {
"header": "Новая метка",
"title": "Создать новую метку",
"titleRequired": "Укажи название.",
"titleRequired": "Пожалуйста, укажите название.",
"success": "Метка успешно создана."
},
"edit": {
@ -803,7 +803,7 @@
"title": "Волшебное Быстрое Добавление",
"intro": "При создании задачи ты можешь использовать специальные ключевые слова для непосредственного добавления атрибутов к создаваемой задаче. Это позволяет добавлять часто используемые атрибуты гораздо быстрее.",
"multiple": "Ты можешь использовать это несколько раз.",
"label1": "Чтобы добавить метку, просто добавь к названию метки префикс {prefix}.",
"label1": "Чтобы добавить метку, просто добавьте к названию метки префикс {prefix}.",
"label2": "Vikunja проверит, существует ли такая метка, и создаст её, если ещё нет.",
"label3": "To use spaces, simply add a \" or ' around the label name.",
"label4": "Например: {prefix}\"Метка с пробелами\".",
@ -819,7 +819,7 @@
"dateWeekday": "любой день недели, будет использовать следующую дату",
"dateCurrentYear": "текущий год",
"dateNth": "будет использовать {day}е текущего месяца",
"dateTime": "Комбинируй любой из этих форматов даты с «{time}» (или {timePM}), чтобы установить время.",
"dateTime": "Комбинируйте любой из этих форматов даты с «{time}» (или {timePM}), чтобы установить время.",
"repeats": "Repeating tasks",
"repeatsDescription": "To set a task as repeating in an interval, simply add '{suffix}' to the task text. The amount needs to be a number and can be omitted to use just the type (see examples)."
}

View File

@ -1,38 +1,27 @@
import {i18n} from '@/i18n'
import {notify} from '@kyvg/vue3-notification'
export const getErrorText = (r) => {
export function getErrorText(r): string {
const data = r?.reason?.response?.data || r?.response?.data
if (r.response && r.response.data) {
if(r.response.data.code) {
const path = `error.${r.response.data.code}`
const message = i18n.global.t(path)
if (data?.code) {
const path = `error.${data.code}`
const message = i18n.global.t(path)
// If message and path are equal no translation exists for that error code
if (path !== message) {
return [
r.message,
message,
]
}
}
if (r.response.data.message) {
return [
r.message,
r.response.data.message,
]
// If message and path are equal no translation exists for that error code
if (path !== message) {
return message
}
}
return [r.message]
return data?.message || r.message
}
export function error(e, actions = []) {
notify({
type: 'error',
title: i18n.global.t('error.error'),
text: getErrorText(e),
text: [getErrorText(e)],
actions: actions,
})
}
@ -41,7 +30,7 @@ export function success(e, actions = []) {
notify({
type: 'success',
title: i18n.global.t('error.success'),
text: getErrorText(e),
text: [getErrorText(e)],
data: {
actions: actions,
},

View File

@ -193,8 +193,7 @@ async function submit() {
return
}
const err = getErrorText(e)
errorMessage.value = typeof err[1] !== 'undefined' ? err[1] : err[0]
errorMessage.value = getErrorText(e)
}
}
</script>

View File

@ -76,8 +76,7 @@ async function authenticateWithCode() {
})
redirectIfSaved()
} catch(e) {
const err = getErrorText(e)
errorMessage.value = typeof err[1] !== 'undefined' ? err[1] : err[0]
errorMessage.value = getErrorText(e)
} finally {
localStorage.removeItem('authenticating')
}