Compare commits

..

8 Commits

Author SHA1 Message Date
renovate 553bfae534 chore(deps): update dependency node to v20.12.2
continuous-integration/drone/pr Build is pending Details
2024-04-11 13:05:40 +00:00
Elscrux 61ee0bd5e2 feat(migration): include non upload attachments from Trello (#2261)
continuous-integration/drone/push Build is passing Details
This makes the Trello migrator include attachments that are not file uploads. To include them in Vikunja without missing data, their text (usually links) will be appended to the Vikunja description.

Co-authored-by: Elscrux <nickposer2102@gmail.com>
Reviewed-on: #2261
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Elscrux <elscrux@gmail.com>
Co-committed-by: Elscrux <elscrux@gmail.com>
2024-04-10 22:12:06 +00:00
kolaente 423558f58a
fix(migration): invalid field in organization struct
continuous-integration/drone/push Build is failing Details
2024-04-10 23:52:10 +02:00
kolaente 75fd17c750
docs: clarify vikunja cli usage in docker
continuous-integration/drone/push Build is passing Details
2024-04-10 23:05:45 +02:00
kolaente 4e49ec9e16
docs: clarify automatic openid team creation 2024-04-10 23:05:45 +02:00
renovate 58e0ec3d35 fix(deps): update tiptap to v2.3.0
continuous-integration/drone/push Build is failing Details
2024-04-10 20:59:51 +00:00
kolaente ed4be389ab
fix(navigation): scrolling when many projects are present
continuous-integration/drone/push Build is failing Details
Regression from ee3d20e1d2
Resolves https://github.com/go-vikunja/vikunja/issues/249
2024-04-10 22:54:36 +02:00
renovate cb2c2eeae8 fix(deps): update dependency vue-i18n to v9.11.1
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2024-04-10 17:06:05 +00:00
11 changed files with 317 additions and 322 deletions

View File

@ -364,7 +364,7 @@ steps:
- api-build
- name: frontend-dependencies
image: node:20.12.1-alpine
image: node:20.12.2-alpine
pull: always
environment:
PNPM_CACHE_FOLDER: .cache/pnpm
@ -378,7 +378,7 @@ steps:
# - restore-cache
- name: frontend-lint
image: node:20.12.1-alpine
image: node:20.12.2-alpine
pull: always
environment:
PNPM_CACHE_FOLDER: .cache/pnpm
@ -390,7 +390,7 @@ steps:
- frontend-dependencies
- name: frontend-build-prod
image: node:20.12.1-alpine
image: node:20.12.2-alpine
pull: always
environment:
PNPM_CACHE_FOLDER: .cache/pnpm
@ -402,7 +402,7 @@ steps:
- frontend-dependencies
- name: frontend-test-unit
image: node:20.12.1-alpine
image: node:20.12.2-alpine
pull: always
commands:
- cd frontend
@ -413,7 +413,7 @@ steps:
- name: frontend-typecheck
failure: ignore
image: node:20.12.1-alpine
image: node:20.12.2-alpine
pull: always
environment:
PNPM_CACHE_FOLDER: .cache/pnpm
@ -544,7 +544,7 @@ steps:
- git fetch --tags
- name: frontend-dependencies
image: node:20.12.1-alpine
image: node:20.12.2-alpine
pull: always
environment:
PNPM_CACHE_FOLDER: .cache/pnpm
@ -556,7 +556,7 @@ steps:
- pnpm install --fetch-timeout 100000
- name: frontend-build
image: node:20.12.1-alpine
image: node:20.12.2-alpine
pull: always
environment:
PNPM_CACHE_FOLDER: .cache/pnpm
@ -901,7 +901,7 @@ steps:
- git fetch --tags
- name: build
image: node:20.12.1-alpine
image: node:20.12.2-alpine
pull: always
environment:
PNPM_CACHE_FOLDER: .cache/pnpm
@ -962,7 +962,7 @@ steps:
- git fetch --tags
- name: build
image: node:20.12.1-alpine
image: node:20.12.2-alpine
pull: always
environment:
PNPM_CACHE_FOLDER: .cache/pnpm

View File

@ -1,5 +1,5 @@
# syntax=docker/dockerfile:1
FROM --platform=$BUILDPLATFORM node:20.12.1-alpine AS frontendbuilder
FROM --platform=$BUILDPLATFORM node:20.12.2-alpine AS frontendbuilder
WORKDIR /build

View File

@ -103,7 +103,7 @@ auth:
## Automatically assign users to teams
Vikunja is capable of automatically adding users to a team based on OIDC claims added by the identity provider.
Starting with version 0.24.0, Vikunja is capable of automatically adding users to a team based on OIDC claims added by the identity provider.
If configured, Vikunja will sync teams, automatically create new ones and make sure the members are part of the configured teams.
Teams which exist only because they were created from oidc attributes are not editable in Vikunja.

View File

@ -28,13 +28,21 @@ All commands use the same standard [config file]({{< ref "../setup/config.md">}}
## Using the cli in docker
When running Vikunja in docker, you'll need to execute all commands in the `api` container.
When running Vikunja in docker, you'll need to execute all commands in the `vikunja` container.
Instead of running the `vikunja` binary directly, run it like this:
```sh
docker exec <name of the vikunja api container> /app/vikunja/vikunja <subcommand>
docker exec <name of the vikunja container> /app/vikunja/vikunja <subcommand>
```
If you need to run a bunch of Vikunja commands, you can also create a shell alias for it:
```sh
alias vikunja-docker='docker exec <name of the vikunja container> /app/vikunja/vikunja'
```
Then use it as `vikunja-docker <subcommand>`.
### `dump`
Creates a zip file with all vikunja-related files.

View File

@ -60,39 +60,39 @@
"@kyvg/vue3-notification": "3.2.1",
"@sentry/tracing": "7.109.0",
"@sentry/vue": "7.109.0",
"@tiptap/core": "2.2.6",
"@tiptap/extension-blockquote": "2.2.6",
"@tiptap/extension-bold": "2.2.6",
"@tiptap/extension-bullet-list": "2.2.6",
"@tiptap/extension-code": "2.2.6",
"@tiptap/extension-code-block-lowlight": "2.2.6",
"@tiptap/extension-document": "2.2.6",
"@tiptap/extension-dropcursor": "2.2.6",
"@tiptap/extension-gapcursor": "2.2.6",
"@tiptap/extension-hard-break": "2.2.6",
"@tiptap/extension-heading": "2.2.6",
"@tiptap/extension-history": "2.2.6",
"@tiptap/extension-horizontal-rule": "2.2.6",
"@tiptap/extension-image": "2.2.6",
"@tiptap/extension-italic": "2.2.6",
"@tiptap/extension-link": "2.2.6",
"@tiptap/extension-list-item": "2.2.6",
"@tiptap/extension-ordered-list": "2.2.6",
"@tiptap/extension-paragraph": "2.2.6",
"@tiptap/extension-placeholder": "2.2.6",
"@tiptap/extension-strike": "2.2.6",
"@tiptap/extension-table": "2.2.6",
"@tiptap/extension-table-cell": "2.2.6",
"@tiptap/extension-table-header": "2.2.6",
"@tiptap/extension-table-row": "2.2.6",
"@tiptap/extension-task-item": "2.2.6",
"@tiptap/extension-task-list": "2.2.6",
"@tiptap/extension-text": "2.2.6",
"@tiptap/extension-typography": "2.2.6",
"@tiptap/extension-underline": "2.2.6",
"@tiptap/pm": "2.2.6",
"@tiptap/suggestion": "2.2.6",
"@tiptap/vue-3": "2.2.6",
"@tiptap/core": "2.3.0",
"@tiptap/extension-blockquote": "2.3.0",
"@tiptap/extension-bold": "2.3.0",
"@tiptap/extension-bullet-list": "2.3.0",
"@tiptap/extension-code": "2.3.0",
"@tiptap/extension-code-block-lowlight": "2.3.0",
"@tiptap/extension-document": "2.3.0",
"@tiptap/extension-dropcursor": "2.3.0",
"@tiptap/extension-gapcursor": "2.3.0",
"@tiptap/extension-hard-break": "2.3.0",
"@tiptap/extension-heading": "2.3.0",
"@tiptap/extension-history": "2.3.0",
"@tiptap/extension-horizontal-rule": "2.3.0",
"@tiptap/extension-image": "2.3.0",
"@tiptap/extension-italic": "2.3.0",
"@tiptap/extension-link": "2.3.0",
"@tiptap/extension-list-item": "2.3.0",
"@tiptap/extension-ordered-list": "2.3.0",
"@tiptap/extension-paragraph": "2.3.0",
"@tiptap/extension-placeholder": "2.3.0",
"@tiptap/extension-strike": "2.3.0",
"@tiptap/extension-table": "2.3.0",
"@tiptap/extension-table-cell": "2.3.0",
"@tiptap/extension-table-header": "2.3.0",
"@tiptap/extension-table-row": "2.3.0",
"@tiptap/extension-task-item": "2.3.0",
"@tiptap/extension-task-list": "2.3.0",
"@tiptap/extension-text": "2.3.0",
"@tiptap/extension-typography": "2.3.0",
"@tiptap/extension-underline": "2.3.0",
"@tiptap/pm": "2.3.0",
"@tiptap/suggestion": "2.3.0",
"@tiptap/vue-3": "2.3.0",
"@types/is-touch-device": "1.0.2",
"@types/lodash.clonedeep": "4.5.9",
"@vueuse/core": "10.9.0",
@ -121,7 +121,7 @@
"vue": "3.4.21",
"vue-advanced-cropper": "2.8.8",
"vue-flatpickr-component": "11.0.5",
"vue-i18n": "9.11.0",
"vue-i18n": "9.11.1",
"vue-router": "4.3.0",
"vuemoji-picker": "0.2.1",
"workbox-precaching": "7.0.0",

View File

@ -33,7 +33,7 @@ dependencies:
version: 2.3.2(dayjs@1.11.10)(vue@3.4.21)
'@intlify/unplugin-vue-i18n':
specifier: 3.0.1
version: 3.0.1(rollup@4.14.1)(vue-i18n@9.11.0)
version: 3.0.1(rollup@4.14.1)(vue-i18n@9.11.1)
'@kyvg/vue3-notification':
specifier: 3.2.1
version: 3.2.1(vue@3.4.21)
@ -44,104 +44,104 @@ dependencies:
specifier: 7.109.0
version: 7.109.0(vue@3.4.21)
'@tiptap/core':
specifier: 2.2.6
version: 2.2.6(@tiptap/pm@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/pm@2.3.0)
'@tiptap/extension-blockquote':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/extension-bold':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/extension-bullet-list':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/extension-code':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/extension-code-block-lowlight':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)(@tiptap/extension-code-block@2.1.12)(@tiptap/pm@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)(@tiptap/extension-code-block@2.1.12)(@tiptap/pm@2.3.0)
'@tiptap/extension-document':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/extension-dropcursor':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0)
'@tiptap/extension-gapcursor':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0)
'@tiptap/extension-hard-break':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/extension-heading':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/extension-history':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0)
'@tiptap/extension-horizontal-rule':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0)
'@tiptap/extension-image':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/extension-italic':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/extension-link':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0)
'@tiptap/extension-list-item':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/extension-ordered-list':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/extension-paragraph':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/extension-placeholder':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0)
'@tiptap/extension-strike':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/extension-table':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0)
'@tiptap/extension-table-cell':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/extension-table-header':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/extension-table-row':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/extension-task-item':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0)
'@tiptap/extension-task-list':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/extension-text':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/extension-typography':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/extension-underline':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)
'@tiptap/pm':
specifier: 2.2.6
version: 2.2.6
specifier: 2.3.0
version: 2.3.0
'@tiptap/suggestion':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0)
'@tiptap/vue-3':
specifier: 2.2.6
version: 2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6)(vue@3.4.21)
specifier: 2.3.0
version: 2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0)(vue@3.4.21)
'@types/is-touch-device':
specifier: 1.0.2
version: 1.0.2
@ -227,8 +227,8 @@ dependencies:
specifier: 11.0.5
version: 11.0.5(vue@3.4.21)
vue-i18n:
specifier: 9.11.0
version: 9.11.0(vue@3.4.21)
specifier: 9.11.1
version: 9.11.1(vue@3.4.21)
vue-router:
specifier: 4.3.0
version: 4.3.0(vue@3.4.21)
@ -2613,7 +2613,7 @@ packages:
- '@vue/composition-api'
dev: false
/@intlify/bundle-utils@7.4.0(vue-i18n@9.11.0):
/@intlify/bundle-utils@7.4.0(vue-i18n@9.11.1):
resolution: {integrity: sha512-AQfjBe2HUxzyN8ignIk3WhhSuVcSuirgzOzkd17nb337rCbI4Gv/t1R60UUyIqFoFdviLb/wLcDUzTD/xXjv9w==}
engines: {node: '>= 14.16'}
peerDependencies:
@ -2626,7 +2626,7 @@ packages:
optional: true
dependencies:
'@intlify/message-compiler': 9.10.1
'@intlify/shared': 9.10.1
'@intlify/shared': 9.11.0
acorn: 8.11.2
escodegen: 2.0.0
estree-walker: 2.0.2
@ -2634,16 +2634,16 @@ packages:
magic-string: 0.30.7
mlly: 1.4.2
source-map-js: 1.2.0
vue-i18n: 9.11.0(vue@3.4.21)
vue-i18n: 9.11.1(vue@3.4.21)
yaml-eslint-parser: 1.2.2
dev: false
/@intlify/core-base@9.11.0:
resolution: {integrity: sha512-cveOqAstjLZIiyatcP/HrzrQ87cZI8ScPQna3yvoM8zjcjcIRK1MRvmxUNlPdg0rTNJMZw7rixPVM58O5aHVPA==}
/@intlify/core-base@9.11.1:
resolution: {integrity: sha512-qWXBBlEA+DC0CsHkfJiQK9ELm11c9I6lDpodY4FoOf99eMas1R6JR4woPhrfAcrtxFHp1UmXWdrQNKDegSW9IA==}
engines: {node: '>= 16'}
dependencies:
'@intlify/message-compiler': 9.11.0
'@intlify/shared': 9.11.0
'@intlify/message-compiler': 9.11.1
'@intlify/shared': 9.11.1
dev: false
/@intlify/message-compiler@9.10.1:
@ -2654,11 +2654,11 @@ packages:
source-map-js: 1.2.0
dev: false
/@intlify/message-compiler@9.11.0:
resolution: {integrity: sha512-x31Gl7cscnoI4UUY1yaIy8e7vVMVW1VVlTXZz4SIHKqoSEUkfmgqK8NAx1e7RcoHEbICR7uyCbud0ZL1s4OGXQ==}
/@intlify/message-compiler@9.11.1:
resolution: {integrity: sha512-y/aWx7DkaTKK2qWUw0hVbJpon8+urWXngeqh15DuIXZh6n/V/oPQiO/Ho1hUKbwap6MVMuz0OcnAJvqh3p9YPg==}
engines: {node: '>= 16'}
dependencies:
'@intlify/shared': 9.11.0
'@intlify/shared': 9.11.1
source-map-js: 1.2.0
dev: false
@ -2672,7 +2672,12 @@ packages:
engines: {node: '>= 16'}
dev: false
/@intlify/unplugin-vue-i18n@3.0.1(rollup@4.14.1)(vue-i18n@9.11.0):
/@intlify/shared@9.11.1:
resolution: {integrity: sha512-yuDG82vjgId2oasNRgZ0PKJrF65zlL33MNyITP5itbLcP4AYOR/NcIuD+/DiI+GHXdxASMKJU0ZiITLc6RC+qw==}
engines: {node: '>= 16'}
dev: false
/@intlify/unplugin-vue-i18n@3.0.1(rollup@4.14.1)(vue-i18n@9.11.1):
resolution: {integrity: sha512-q1zJhA/WpoLBzAAuKA5/AEp0e+bMOM10ll/HxT4g1VAw/9JhC4TTobP9KobKH90JMZ4U2daLFlYQfKNd29lpqw==}
engines: {node: '>= 14.16'}
peerDependencies:
@ -2687,7 +2692,7 @@ packages:
vue-i18n-bridge:
optional: true
dependencies:
'@intlify/bundle-utils': 7.4.0(vue-i18n@9.11.0)
'@intlify/bundle-utils': 7.4.0(vue-i18n@9.11.1)
'@intlify/shared': 9.10.1
'@rollup/pluginutils': 5.1.0(rollup@4.14.1)
'@vue/compiler-sfc': 3.4.21
@ -2699,7 +2704,7 @@ packages:
picocolors: 1.0.0
source-map-js: 1.0.2
unplugin: 1.1.0
vue-i18n: 9.11.0(vue@3.4.21)
vue-i18n: 9.11.1(vue@3.4.21)
transitivePeerDependencies:
- rollup
- supports-color
@ -3198,301 +3203,301 @@ packages:
defer-to-connect: 1.1.3
dev: true
/@tiptap/core@2.2.6(@tiptap/pm@2.2.6):
resolution: {integrity: sha512-v7S7RhQhTXQo9KSk2jM/jJlTd3clU2FsJA3Omjz7GbgYtPSy67qSiaTbH/tWq12GzDHbKymx+oQnKmyx+yPucA==}
/@tiptap/core@2.3.0(@tiptap/pm@2.3.0):
resolution: {integrity: sha512-Gk2JN3i5CMkYGmsbyFI7cBUftWa+F7QYmeCLTWfbuy+hCM2OBsnYVKxhggFPGXRL5KLBEgBWeCeWMHfIw3B2MA==}
peerDependencies:
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/pm': 2.2.6
'@tiptap/pm': 2.3.0
dev: false
/@tiptap/extension-blockquote@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-Qoq4Tl4wyEGfuBrMFth5hWP1SroJtgDYPnyzAZeLiGzF3Yxtu7FFqjGtD1/Bos9ftnFVCAj+nIXnuKsM1YUaGg==}
/@tiptap/extension-blockquote@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-Cztt77t7f+f0fuPy+FWUL8rKTIpcdsVT0z0zYQFFafvGaom0ZALQSOdTR/q+Kle9I4DaCMO3/Q0mwax/D4k4+A==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/extension-bold@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-PI/jNH7rmi6hBvWy/z+3KUTYqeaDXBUjidM74gWP6OLV28HTJ5SkIPCriYe4u2j2Wc/nk3gPxs4/hPOAu/YiXA==}
/@tiptap/extension-bold@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-SzkbJibHXFNU7TRaAebTtwbXUEhGZ8+MhlBn12aQ4QhdjNtFpQwKXQPyYeDyZGcyiOFgtFTb+WIfCGm8ZX0Fpw==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/extension-bubble-menu@2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6):
resolution: {integrity: sha512-nRWxbgkInhdGUL+e6iISgALcWh8A1PxeVB66w7yYZHS/WoZO0DXdXYT/BWb/XmEJ8r6B4c9SDZRklCiXT8dSXw==}
/@tiptap/extension-bubble-menu@2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0):
resolution: {integrity: sha512-dqyfQ8idTlhapvt0fxCGvkyjw92pBEwPqmkJ01h3EE8wTh53j0ytOHyMSf1KBuzardxpd8Yya3zlrAcR0Z3DlQ==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/pm': 2.2.6
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
'@tiptap/pm': 2.3.0
tippy.js: 6.3.7
dev: false
/@tiptap/extension-bullet-list@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-bSrmYlWfj/bXXoBMVB+gCTlsficVVzWi1jcAjAn+qNAENkhampmlFIUG4DiKGYtn18ZoTbyLgQGDMCO3SBdeDQ==}
/@tiptap/extension-bullet-list@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-4nU4vJ5FjRDLqHm085vYAkuo68UK84Wl6CDSjm7sPVcu0FvQX02Okqt65azoSYQeS1SSSd5qq9YZuGWcYdp4Cw==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/extension-code-block-lowlight@2.2.6(@tiptap/core@2.2.6)(@tiptap/extension-code-block@2.1.12)(@tiptap/pm@2.2.6):
resolution: {integrity: sha512-W/8C5nIwgGLvxjc+PfnCcWkfrUuJsIKjyZGXmq1hVXTTVA9eVGbS7m1YB/fsYTEg1ccwoM2JjKO9yuKCeR2xiQ==}
/@tiptap/extension-code-block-lowlight@2.3.0(@tiptap/core@2.3.0)(@tiptap/extension-code-block@2.1.12)(@tiptap/pm@2.3.0):
resolution: {integrity: sha512-xMxWr/Fvv0hnN+u+6SW0OI3RVan+C6nJDU8xKh2Tx2DlBXJ0yODmq5v8WJJpW38AbaLkFuJuY/OA3AZ6n9pNbg==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/extension-code-block': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/extension-code-block': 2.1.12(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6)
'@tiptap/pm': 2.2.6
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
'@tiptap/extension-code-block': 2.1.12(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0)
'@tiptap/pm': 2.3.0
dev: false
/@tiptap/extension-code-block@2.1.12(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6):
/@tiptap/extension-code-block@2.1.12(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0):
resolution: {integrity: sha512-RXtSYCVsnk8D+K80uNZShClfZjvv1EgO42JlXLVGWQdIgaNyuOv/6I/Jdf+ZzhnpsBnHufW+6TJjwP5vJPSPHA==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/pm': 2.2.6
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
'@tiptap/pm': 2.3.0
dev: false
/@tiptap/extension-code@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-UGsSFvVWrWWWQFU4atk+b/qeewTLadOZG/BHZXQDloyP5eJ1SkgUVy9nv3y2cT8QWRbvF6sxkV+SdFoWnvaG3Q==}
/@tiptap/extension-code@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-O2FZmosiIRoVbW82fZy8xW4h4gb2xAzxWzHEcsHPlwCbE3vYvcBMmbkQ5p+33eRtuRQInzl3Q/cwupv9ctIepQ==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/extension-document@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-yT9m5Oo9U/xAypcylaLiDE8qmVd3SCZSc8s5lqyC1OW+psb1oC0d14+TgKetO2s8K2wAbW2DxYG3yoxWffGYsQ==}
/@tiptap/extension-document@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-WC55SMrtlsNOnHXpzbXDzJOp7eKmZV0rXooKmvCDqoiLO/DKpyQXyF+0UHfcRPmUAi2GWFPaer7+p1H9xzcjXg==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/extension-dropcursor@2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6):
resolution: {integrity: sha512-mCeIbbfe4rl8CuxVQvT7iYSKGVX/ls1LOwALwlHJz5Uw5l3VknAJdjEmHt6hNFdHu162JivL02Il0QYQ8BZwvA==}
/@tiptap/extension-dropcursor@2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0):
resolution: {integrity: sha512-WWxxGQPWdbzxyYP6jtBYSq4wMRhINhI0wBC8pgkxTVwCIWftMuYj++FP4LLIpuWgj78PWApuoM0QQxk4Lj7FOw==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/pm': 2.2.6
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
'@tiptap/pm': 2.3.0
dev: false
/@tiptap/extension-floating-menu@2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6):
resolution: {integrity: sha512-6ONKC6Dx8zCc5YffXpnQ9FxGRoUp5Jm9mOO3losgiDFhdJqaO7SCk1ziOiD7enoWqIc2shZh8ADnqttCfnFVFQ==}
/@tiptap/extension-floating-menu@2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0):
resolution: {integrity: sha512-bNY43/yU/+wGfmk2eDV7EPDAN/akbC+YnSKTA5VPJADzscvlrL2HlQrxbd/STIdlwKqdPU5MokcvCChhfZ4f6w==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/pm': 2.2.6
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
'@tiptap/pm': 2.3.0
tippy.js: 6.3.7
dev: false
/@tiptap/extension-gapcursor@2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6):
resolution: {integrity: sha512-HDYu+FmL9V+khsiT5904Dy2qG6KrAvnXEjZk1+vVul0TabnQvl2rqHjTxmev3P1rOYTgePmaWXazxAWFIvbMBQ==}
/@tiptap/extension-gapcursor@2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0):
resolution: {integrity: sha512-OxcXcfD0uzNcXdXu2ZpXFAtXIsgK2MBHvFUs0t0gxtcL/t43pTOQBLy+29Ei30BxpwLghtX8jQ6IDzMiybq/sA==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/pm': 2.2.6
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
'@tiptap/pm': 2.3.0
dev: false
/@tiptap/extension-hard-break@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-gwavC76sn26XQLyDaDtf28KIcbhMYPP+C5pkbRvAhVSckQB3Ebz3GRttVbm/jp+Uifp3bmoQEzISGCONEdKQoQ==}
/@tiptap/extension-hard-break@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-9pXi69SzLabbjY5KZ54UKzu7HAHTla9aYZKH56VatOAiJOPKJppFbU2/NfJwGzDrEtfOiDqr3dYbUDF3RuCFoQ==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/extension-heading@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-XOmY+uezm42xSO1ero2bRBMdQxWytpxLJS+2shK0QogZ3sDplnfWfP5KV9Z2juXjTdPgPWG0ZaHzIIaLquEcfA==}
/@tiptap/extension-heading@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-YcZoUYfqb0nohoPgem4f8mjn5OqDomFrbJiC9VRHUOCIuEu+aJEYwp8mmdkLnS3f+LRCZ6G76cJJ50lkzSAZRw==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/extension-history@2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6):
resolution: {integrity: sha512-c2Aeozc+pHcpqghLjXRX/tGU/C+Gp6hApUWPXdhZw5Y/ARj6ZRwx2/ym2K8MOrJ36/W7gc7Xyxd9ZbG7m7pcjA==}
/@tiptap/extension-history@2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0):
resolution: {integrity: sha512-EF5Oq9fe/VBzU1Lsow2ubOlx1e1r4OQT1WUPGsRnL7pr94GH1Skpk7/hs9COJ9K6kP3Ebt42XjP0JEQodR58YA==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/pm': 2.2.6
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
'@tiptap/pm': 2.3.0
dev: false
/@tiptap/extension-horizontal-rule@2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6):
resolution: {integrity: sha512-zyLU+Xlk8y3yBCblE8pFwqAP2Rju1csyAu45hi3NCJ6HDGQGdjy8oh+Xa8y2kTPxRNMZARxqB+vCiEoW3YZn2A==}
/@tiptap/extension-horizontal-rule@2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0):
resolution: {integrity: sha512-4DB8GU3uuDzzyqUmONIb3CHXcQ6Nuy4mHHkFSmUyEjg1i5eMQU5H7S6mNvZbltcJB2ImgCSwSMlj1kVN3MLIPg==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/pm': 2.2.6
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
'@tiptap/pm': 2.3.0
dev: false
/@tiptap/extension-image@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-MoDVjvi0AgYYSY9QR3ff2TOKk9IVVfh+BInmLCrwejSE2q8N3p/vSI+N1GKLEfW9mqn1zdI95ev17Z12Avwv7A==}
/@tiptap/extension-image@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-v1fLEEzrfXWavsLFUEkTiYYxwm1WDNrjuUriU5tG2Jv22NL1BL4BLVbZbGdkAk+qHWy8QWszrDJbcgGh2VNCoQ==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/extension-italic@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-wB+Y6p2gbc1f2hKYeGNXRQ7P2xi3+JzD3PjSyC9Ss/yyujZhxSOtxBF0nzFXdI+7nmN0Qm4inwPDU/DVrIPb+A==}
/@tiptap/extension-italic@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-jdFjLjdt5JtPlGMpoS6TEq5rznjbAYVlPwcw5VkYENVIYIGIR1ylIw2JwK1nUEsQ+OgYwVxHLejcUXWG1dCi2g==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/extension-link@2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6):
resolution: {integrity: sha512-Jj0oXSfQ8gZlzzwd669B8sEKBkoK8xV31Lu55tRv9PKHSU6p9CUqBuxY8qR+cquCtO28f3u0cdl5o4HzeIUL5A==}
/@tiptap/extension-link@2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0):
resolution: {integrity: sha512-CnJAlV0ZOdEhKmDfYKuHJVG8g79iCFQ85cX/CROTWyuMfXz9uhj2rLpZ6nfidVbonqxAhQp7NAIr2y+Fj5/53A==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/pm': 2.2.6
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
'@tiptap/pm': 2.3.0
linkifyjs: 4.1.1
dev: false
/@tiptap/extension-list-item@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-3xig1q0jtOyV49TkAbvxBoOJdNypwq6vLYerfblhj6dK+hIIZUM33S+SmGl2+QaB25VwyeSHjiCvrJjB9PKWHQ==}
/@tiptap/extension-list-item@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-mHU+IuRa56OT6YCtxf5Z7OSUrbWdKhGCEX7RTrteDVs5oMB6W3oF9j88M5qQmZ1WDcxvQhAOoXctnMt6eX9zcA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/extension-ordered-list@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-h4HOv+TAMnoueh3CzUY2/Pp2n8eCdEQtKSfiMtHSO3NTTSlst0XEvq+3Z4K81F+ni3baXc+JUALP5dRVpI4apQ==}
/@tiptap/extension-ordered-list@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-gkf0tltXjlUj0cqyfDV2r7xy9YPKtcVSWwlCPun6OOi0KzKFiAMqQpA9hy2W6gJ+KCp8+KNRMClZOfH4TnnBfg==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/extension-paragraph@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-M2rM3pfzziUb7xS9x2dANCokO89okbqg5IqU4VPkZhk0Mfq9czyCatt58TYkAsE3ccsGhdTYtFBTDeKBtsHUqg==}
/@tiptap/extension-paragraph@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-peCpA7DFqkd0cHb+cHv4YHNoMsXG8tKFNJlCHpLmsZWl2hWmpKgKmUrXAUfzjcFSvkZxn0xYc5oWbqUgg+2LzA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/extension-placeholder@2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6):
resolution: {integrity: sha512-eHPadx48gneDD8bTZeRnG4hOvRvctBPY5JlA03QQIoarrbmqsyv3zZSW8smBsRai9kwbXLhytdEFGruTKV9PjQ==}
/@tiptap/extension-placeholder@2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0):
resolution: {integrity: sha512-1BOyxVLzyUYf6yOOeJ8CfpP6DSCS4L6HjBZqj6WP1z1NyBV8RAfhf3UuLNcimfSWAETXFR3g0ZbaxxWffI1cEg==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/pm': 2.2.6
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
'@tiptap/pm': 2.3.0
dev: false
/@tiptap/extension-strike@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-0fRh0SwPgqi+ZKD2NpRrmIAHdsgf27ddEUfvlIuFG5b9zqFa6pRZGpXW/6LyBwU0+0bkjW8/Wg3otyaRGjvZGw==}
/@tiptap/extension-strike@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-gOW4ALeH8gkJiUGGXVy/AOd5lAPTX0bzoOW1+sCLcTA7t8dluBW7M2ngNYxTEtlKqyv7aLfrgsYSiqucmmfSLw==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/extension-table-cell@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-i/O27W0O2Bp+txeYUz8thZJaIHTb8BvPseYENiYBs9qOjpwiqXgQXVa5wTAm93GtHoK2ifs50a/xp2CIDTYsgw==}
/@tiptap/extension-table-cell@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-jsFp5lc+be04AsuMiTGlluLnsmJl/51+sv0DewYHeidh7iyvk3R5y2pyA+Bk1V/txFdaH5GxOQvSH3RonEVMAg==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/extension-table-header@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-1IFGBVV/wJwO7aM8u6gN90OmT35ulJoNFQEssoxrx8g+tj+mZy5vXq2JGPqFg7AVjIpek1DJrzzcXGnbtXS57w==}
/@tiptap/extension-table-header@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-wLvJqDBaXc/xs+NBJZoSIfO7fVYqcrIlsdtQRlBec3vTpSG0w0zlrM/JY4mjQKHzWsDk6hb9mvbK2scChOu5TA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/extension-table-row@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-sUTpzzR6zR6iFLXszK4qak0/qd8Gjz9/mnj9sdRJhXtVT+VPssU0iVBMyIfn01nnoUzMPpakcO1Vd5dSJNhoVg==}
/@tiptap/extension-table-row@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-i2o/S8Mggw1GDxF5N5i8SvDvmOvbHu8MuWpdhFwfOkbrnEdtHlU/GjWIEstPymg4QyrfAEQa/KDffkrX0T7RNw==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/extension-table@2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6):
resolution: {integrity: sha512-O26Uj/A9AR8QJZvjSaTCI6Jpuc7MD8ul0vjqJ9EKulzMaAJbiOJidcBPr7rhVxAIRrXQz+DQW+zFbZvTj5i5mQ==}
/@tiptap/extension-table@2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0):
resolution: {integrity: sha512-1cU0C5LFyF7Nm8K2X6sntuunpLDE11XV8gV4ALbXv0FNKx2rG9Wq0tQlGHAjhYZMhWt386T21N7o13aMAov1GA==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/pm': 2.2.6
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
'@tiptap/pm': 2.3.0
dev: false
/@tiptap/extension-task-item@2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6):
resolution: {integrity: sha512-8JJI9JBDdU5optPZVmlpCk5eOXv1p8bsFQYgHmIaHmDvsWvNlRph1LBYEAyiImBwVgZp+M8FI4KD5rNdALhelw==}
/@tiptap/extension-task-item@2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0):
resolution: {integrity: sha512-WvQJiQSskI1dZLPgNH4hmYPW0HFyR/EHwogzVnY7XCn2/5isV0ewyaVuSfqTXvfEA/R5uCi95opwz61NFBc2nQ==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/pm': 2.2.6
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
'@tiptap/pm': 2.3.0
dev: false
/@tiptap/extension-task-list@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-4ofrnm0jwk9OC5QH+b5wR4ck+J5wi+uOq7Qm2234GAqohjOzr4ndae68NSIv2XviDk04askCoZc+yZBxNwkhmQ==}
/@tiptap/extension-task-list@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-TBgqf4s3DpUV97w7AAj1WZDnZ3rZQ8B645d9bBayo4VfRzHCLefv5cVP/Ye9GA23T4FZoHNR+yIPrM7SfhkmPA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/extension-text@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-wVpo0I/2tJsBK/2yNZfRXOsThOfHCdTY+FDNO/USx9MCJaJ3LPs3H1AuGO549zNmZgkD+1MqcZqrYt9n4i03cw==}
/@tiptap/extension-text@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-zkudl0TyKRy/8vHtyo5dMzjBRD0HEUnsS8YOsjR4xwQq5EYUXleRgM1s6lb6Yms2sLUAZRWdDddoQ686iq4zQg==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/extension-typography@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-S8rvwSLq6IW1pEo/1Gcyez2tnXvUbwFBsAGNKPzcX/0HvlgXYWdE+qcjT3yoY/gAHRdvqfAP1Cd4Up7O3f1//A==}
/@tiptap/extension-typography@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-bI9t6dVp3wvzp3RVhJYRAV5Gi4pCSnumYith62TJmEk7fI24XuwMAXJu32+RTtBkaWHX/nwSGPh/ol0PRmtzKw==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/extension-underline@2.2.6(@tiptap/core@2.2.6):
resolution: {integrity: sha512-RaYEWuBHS6VQ2KXk+pP2b3xDN4vxmTb7+CF84mumR+CJUK4uAx01IDBUof+h/a4Sa58suNLQ6eHY33NmxPppnQ==}
/@tiptap/extension-underline@2.3.0(@tiptap/core@2.3.0):
resolution: {integrity: sha512-vmmcwCPmWqGKYHZevz50+bxrpHyiu5y6YZweAE476hn8Mud6vYg7RpkXgW8bjkCOky6UA51uelslSc0XrLE6uw==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
dev: false
/@tiptap/pm@2.2.6:
resolution: {integrity: sha512-gSKJtsaMLiYNwcAdwgnlTVM9zHiHy6/WgJvXFmIoOnUgvMN10Bbr+KO5hoffwgLCCSpIWw6qJoVKMpHBexLm0w==}
/@tiptap/pm@2.3.0:
resolution: {integrity: sha512-4WYqShZBwDyReKvapC0nmeYdOtZbZ31y4MjolpKQaSD4I7kg/oZspC+byUGdvIRsNpRN7i2X0IyvdISKk8gw5Q==}
dependencies:
prosemirror-changeset: 2.2.1
prosemirror-collab: 1.3.1
@ -3514,27 +3519,27 @@ packages:
prosemirror-view: 1.32.7
dev: false
/@tiptap/suggestion@2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6):
resolution: {integrity: sha512-/pooAwvUkUB1gKxe4AHAvaNpAvL3FsZrIBJKYR0PF6BNROOHiu4IZY0Zy27ea4vmj72pYrMVlTmeYtSGPzrICg==}
/@tiptap/suggestion@2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0):
resolution: {integrity: sha512-QngwR9ahodVfwqp/kXxJvuL3zNb6XZu+vCuWy8RJrGP8DA7SCI9t8t7iB6NfG4kSsRGxM+3DuLi+2xOZQUaEVQ==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/pm': 2.2.6
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
'@tiptap/pm': 2.3.0
dev: false
/@tiptap/vue-3@2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6)(vue@3.4.21):
resolution: {integrity: sha512-F8hC133AF/48cvZReJun5TV35NtRcoH8LVEGsuHGNkH7BvJjXAciomvEO4HlSfqz1YT8M/hzRGNg1/R6ixv3bw==}
/@tiptap/vue-3@2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0)(vue@3.4.21):
resolution: {integrity: sha512-Jgsoouq7gD6SkUf7McOJnKOHqVTVDJkPqhXZUZyJbJ22wD+7drxlauWwWexEymbs95ByhKblreLwcumvbOztgg==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
vue: ^3.0.0
dependencies:
'@tiptap/core': 2.2.6(@tiptap/pm@2.2.6)
'@tiptap/extension-bubble-menu': 2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6)
'@tiptap/extension-floating-menu': 2.2.6(@tiptap/core@2.2.6)(@tiptap/pm@2.2.6)
'@tiptap/pm': 2.2.6
'@tiptap/core': 2.3.0(@tiptap/pm@2.3.0)
'@tiptap/extension-bubble-menu': 2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0)
'@tiptap/extension-floating-menu': 2.3.0(@tiptap/core@2.3.0)(@tiptap/pm@2.3.0)
'@tiptap/pm': 2.3.0
vue: 3.4.21(typescript@5.4.5)
dev: false
@ -10007,14 +10012,14 @@ packages:
vue: 3.4.21(typescript@5.4.5)
dev: false
/vue-i18n@9.11.0(vue@3.4.21):
resolution: {integrity: sha512-vU4gY6lu8Pdfs9BgKGiDAJmFDf88cceR47KcSB0VW4xJzUrXR/7qwqM7A8dQ2nedhoIDxoOm5Ro4pFd2KvJqbA==}
/vue-i18n@9.11.1(vue@3.4.21):
resolution: {integrity: sha512-S7Xi8DkLQG4xnnbxkxzipJK6CdfLdZkmApn95st89HFGp8LTmTH0Tv+Zw6puhOCZJCFrH73PHo3Ylwd2+Bmdxg==}
engines: {node: '>= 16'}
peerDependencies:
vue: ^3.0.0
dependencies:
'@intlify/core-base': 9.11.0
'@intlify/shared': 9.11.0
'@intlify/core-base': 9.11.1
'@intlify/shared': 9.11.1
'@vue/devtools-api': 6.6.1
vue: 3.4.21(typescript@5.4.5)
dev: false

View File

@ -156,6 +156,7 @@ const savedFilterProjects = computed(() => projectStore.savedFilterProjects)
left: 0;
transform: translateX(-100%);
width: $navbar-width;
overflow-y: auto;
@media screen and (max-width: $tablet) {
top: 0;

3
go.mod
View File

@ -110,7 +110,6 @@ require (
github.com/go-chi/chi/v5 v5.0.10 // indirect
github.com/go-faster/city v1.0.1 // indirect
github.com/go-faster/errors v0.6.1 // indirect
github.com/go-jose/go-jose/v3 v3.0.3 // indirect
github.com/go-jose/go-jose/v4 v4.0.1 // indirect
github.com/go-openapi/jsonpointer v0.20.1 // indirect
github.com/go-openapi/jsonreference v0.20.3 // indirect
@ -191,6 +190,8 @@ require (
replace github.com/samedi/caldav-go => github.com/kolaente/caldav-go v3.0.1-0.20190610114120-2a4eb8b5dcc9+incompatible // Branch: feature/dynamic-supported-components, PR: https://github.com/samedi/caldav-go/pull/6 and https://github.com/samedi/caldav-go/pull/7
replace github.com/adlio/trello v1.11.0 => github.com/kolaente/trello v1.8.1-0.20240410214605-9314fa638eab // https://github.com/adlio/trello/pull/95
go 1.21
toolchain go1.21.2

34
go.sum
View File

@ -24,8 +24,6 @@ github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdko
github.com/RaveNoX/go-jsoncommentstrip v1.0.0/go.mod h1:78ihd09MekBnJnxpICcwzCMzGrKSKYe4AqU6PDYYpjk=
github.com/ThreeDotsLabs/watermill v1.3.5 h1:50JEPEhMGZQMh08ct0tfO1PsgMOAOhV3zxK2WofkbXg=
github.com/ThreeDotsLabs/watermill v1.3.5/go.mod h1:O/u/Ptyrk5MPTxSeWM5vzTtZcZfxXfO9PK9eXTYiFZY=
github.com/adlio/trello v1.11.0 h1:PGpwpRZcRiVhsG7VEHb2GWKw4R2ZxB9nc6cMI/7mLD8=
github.com/adlio/trello v1.11.0/go.mod h1:I4Lti4jf2KxjTNgTqs5W3lLuE78QZZdYbbPnQQGwjOo=
github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M=
github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY=
github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y=
@ -70,8 +68,6 @@ github.com/chzyer/logex v1.2.0/go.mod h1:9+9sk7u7pGNWYMkh0hdiL++6OeibzJccyQU4p4M
github.com/chzyer/readline v1.5.0/go.mod h1:x22KAscuvRqlLoK9CsoYsmxoXZMMFVyOl86cAH8qUic=
github.com/chzyer/test v0.0.0-20210722231415-061457976a23/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
github.com/coreos/go-oidc/v3 v3.9.0 h1:0J/ogVOd4y8P0f0xUh8l9t07xRP/d8tccvjHl2dcsSo=
github.com/coreos/go-oidc/v3 v3.9.0/go.mod h1:rTKz2PYwftcrtoCzV5g5kvfJoWcm0Mk8AF8y1iAQro4=
github.com/coreos/go-oidc/v3 v3.10.0 h1:tDnXHnLyiTVyT/2zLDGj09pFPkhND8Gl8lnTRhoEaJU=
github.com/coreos/go-oidc/v3 v3.10.0/go.mod h1:5j11xcw0D3+SGxn6Z/WFADsgcWVMyNAlSQupk0KK3ac=
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
@ -129,8 +125,6 @@ github.com/go-faster/city v1.0.1 h1:4WAxSZ3V2Ws4QRDrscLEDcibJY8uf41H6AhXDrNDcGw=
github.com/go-faster/city v1.0.1/go.mod h1:jKcUJId49qdW3L1qKHH/3wPeUstCVpVSXTM6vO3VcTw=
github.com/go-faster/errors v0.6.1 h1:nNIPOBkprlKzkThvS/0YaX8Zs9KewLCOSFQS5BU06FI=
github.com/go-faster/errors v0.6.1/go.mod h1:5MGV2/2T9yvlrbhe9pD9LO5Z/2zCSq2T8j+Jpi2LAyY=
github.com/go-jose/go-jose/v3 v3.0.3 h1:fFKWeig/irsp7XD2zBxvnmA/XaRWp5V3CBsZXJF7G7k=
github.com/go-jose/go-jose/v3 v3.0.3/go.mod h1:5b+7YgP7ZICgJDBdfjZaIt+H/9L9T/YQrVfLAMboGkQ=
github.com/go-jose/go-jose/v4 v4.0.1 h1:QVEPDE3OluqXBQZDcnNvQrInro2h0e4eqNbnZSWqS6U=
github.com/go-jose/go-jose/v4 v4.0.1/go.mod h1:WVf9LFMHh/QVrmqrOfqun0C45tMe3RoiKJMPvgWwLfY=
github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY=
@ -158,8 +152,6 @@ github.com/go-playground/validator/v10 v10.15.1 h1:BSe8uhN+xQ4r5guV/ywQI4gO59C2r
github.com/go-playground/validator/v10 v10.15.1/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU=
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
github.com/go-sql-driver/mysql v1.8.0 h1:UtktXaU2Nb64z/pLiGIxY4431SJ4/dR5cjMmlVHgnT4=
github.com/go-sql-driver/mysql v1.8.0/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y=
github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
@ -311,6 +303,8 @@ github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZY
github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M=
github.com/kolaente/caldav-go v3.0.1-0.20190610114120-2a4eb8b5dcc9+incompatible h1:q7DbyV+sFjEoTuuUdRDNl2nlyfztkZgxVVCV7JhzIkY=
github.com/kolaente/caldav-go v3.0.1-0.20190610114120-2a4eb8b5dcc9+incompatible/go.mod h1:y1UhTNI4g0hVymJrI6yJ5/ohy09hNBeU8iJEZjgdDOw=
github.com/kolaente/trello v1.8.1-0.20240410214605-9314fa638eab h1:KAEuOtvjNohQzONw0NpOlR4TlWgsPawY/PLyOiMHlFw=
github.com/kolaente/trello v1.8.1-0.20240410214605-9314fa638eab/go.mod h1:I4Lti4jf2KxjTNgTqs5W3lLuE78QZZdYbbPnQQGwjOo=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
@ -537,8 +531,6 @@ github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7Jul
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
github.com/yuin/goldmark v1.7.0 h1:EfOIvIMZIzHdB/R/zVrikYLPPwJlfMcNczJFMs1m6sA=
github.com/yuin/goldmark v1.7.0/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E=
github.com/yuin/goldmark v1.7.1 h1:3bajkSilaCbjdKVsKdZjZCLBNPL9pYzrCakKaf4U49U=
github.com/yuin/goldmark v1.7.1/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E=
github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q=
@ -580,9 +572,6 @@ golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5y
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30=
golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M=
golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g=
@ -596,7 +585,6 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc=
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@ -618,9 +606,6 @@ golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qx
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc=
golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w=
golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8=
golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI=
@ -631,7 +616,6 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@ -662,20 +646,12 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o=
golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8=
golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q=
golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@ -686,7 +662,6 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@ -707,7 +682,6 @@ golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4f
golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ=
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@ -802,8 +776,6 @@ nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYm
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
src.techknowlogick.com/xgo v1.7.1-0.20240305180710-770b8eae9cec h1:ICDp83UjJvLcOFWHAxr7vmziKIHJkE4jsIF1mbT9Bwk=
src.techknowlogick.com/xgo v1.7.1-0.20240305180710-770b8eae9cec/go.mod h1:31CE1YKtDOrKTk9PSnjTpe6YbO6W/0LTYZ1VskL09oU=
src.techknowlogick.com/xgo v1.7.1-0.20240403232151-e01c4fbef884 h1:Ttvt8FCpUXfC8r3+LgSPrBUIr/JkHmYQtvmOwEET8qE=
src.techknowlogick.com/xgo v1.7.1-0.20240403232151-e01c4fbef884/go.mod h1:31CE1YKtDOrKTk9PSnjTpe6YbO6W/0LTYZ1VskL09oU=
src.techknowlogick.com/xormigrate v1.7.1 h1:RKGLLUAqJ+zO8iZ7eOc7oLH7f0cs2gfXSZSvBRBHnlY=
@ -814,7 +786,5 @@ xorm.io/builder v0.3.13 h1:a3jmiVVL19psGeXx8GIurTp7p0IIgqeDmwhcR6BAOAo=
xorm.io/builder v0.3.13/go.mod h1:aUW0S9eb9VCaPohFCH3j7czOx1PMW3i1HrSzbLYGBSE=
xorm.io/xorm v1.0.5/go.mod h1:uF9EtbhODq5kNWxMbnBEj8hRRZnlcNSz2t2N7HW/+A4=
xorm.io/xorm v1.3.3/go.mod h1:qFJGFoVYbbIdnz2vaL5OxSQ2raleMpyRRalnq3n9OJo=
xorm.io/xorm v1.3.8 h1:CJmplmWqfSRpLWSPMmqz+so8toBp3m7ehuRehIWedZo=
xorm.io/xorm v1.3.8/go.mod h1:LsCCffeeYp63ssk0pKumP6l96WZcHix7ChpurcLNuMw=
xorm.io/xorm v1.3.9 h1:TUovzS0ko+IQ1XnNLfs5dqK1cJl1H5uHpWbWqAQ04nU=
xorm.io/xorm v1.3.9/go.mod h1:LsCCffeeYp63ssk0pKumP6l96WZcHix7ChpurcLNuMw=

View File

@ -336,37 +336,39 @@ func convertTrelloDataToVikunja(organizationName string, trelloData []*trello.Bo
log.Debugf("[Trello Migration] Downloading %d card attachments from card %s", len(card.Attachments), card.ID)
}
for _, attachment := range card.Attachments {
if !attachment.IsUpload { // There are other types of attachments which are not files. We can only handle files.
log.Debugf("[Trello Migration] Attachment %s does not have a mime type, not downloading", attachment.ID)
if attachment.IsUpload {
// Download file and add it as attachment
log.Debugf("[Trello Migration] Downloading card attachment %s", attachment.ID)
buf, err := migration.DownloadFileWithHeaders(attachment.URL, map[string][]string{
"Authorization": {`OAuth oauth_consumer_key="` + config.MigrationTrelloKey.GetString() + `", oauth_token="` + token + `"`},
})
if err != nil {
return nil, err
}
vikunjaAttachment := &models.TaskAttachment{
File: &files.File{
Name: attachment.Name,
Mime: attachment.MimeType,
Size: uint64(buf.Len()),
FileContent: buf.Bytes(),
},
}
if card.IDAttachmentCover != "" && card.IDAttachmentCover == attachment.ID {
vikunjaAttachment.ID = 42
task.CoverImageAttachmentID = 42
}
task.Attachments = append(task.Attachments, vikunjaAttachment)
log.Debugf("[Trello Migration] Downloaded card attachment %s", attachment.ID)
continue
}
log.Debugf("[Trello Migration] Downloading card attachment %s", attachment.ID)
buf, err := migration.DownloadFileWithHeaders(attachment.URL, map[string][]string{
"Authorization": {`OAuth oauth_consumer_key="` + config.MigrationTrelloKey.GetString() + `", oauth_token="` + token + `"`},
})
if err != nil {
return nil, err
}
vikunjaAttachment := &models.TaskAttachment{
File: &files.File{
Name: attachment.Name,
Mime: attachment.MimeType,
Size: uint64(buf.Len()),
FileContent: buf.Bytes(),
},
}
if card.IDAttachmentCover != "" && card.IDAttachmentCover == attachment.ID {
vikunjaAttachment.ID = 42
task.CoverImageAttachmentID = 42
}
task.Attachments = append(task.Attachments, vikunjaAttachment)
log.Debugf("[Trello Migration] Downloaded card attachment %s", attachment.ID)
// Other links are not attachments in Vikunja, but we can add them to the description
task.Description += `<p><a href="` + attachment.URL + `">` + attachment.Name + "</a></p>\n"
}
// When the cover image was set manually, we need to add it as an attachment

View File

@ -78,6 +78,13 @@ func getTestBoard(t *testing.T) ([]*trello.Board, time.Time) {
MimeType: "image/jpg",
URL: "https://vikunja.io/testimage.jpg",
},
{
ID: "7cc71b16f0c7a57bed3c94e9",
Name: "Website",
IsUpload: false,
MimeType: "",
URL: "https://vikunja.io",
},
},
},
{
@ -265,10 +272,11 @@ func TestConvertTrelloToVikunja(t *testing.T) {
Tasks: []*models.TaskWithComments{
{
Task: models.Task{
Title: "Test Card 1",
Description: "<p>Card Description <strong>bold</strong></p>\n",
BucketID: 1,
DueDate: time1,
Title: "Test Card 1",
Description: "<p>Card Description <strong>bold</strong></p>\n" +
"<p><a href=\"https://vikunja.io\">Website</a></p>\n",
BucketID: 1,
DueDate: time1,
Labels: []*models.Label{
{
Title: "Label 1",
@ -481,6 +489,6 @@ func TestCreateOrganizationMap(t *testing.T) {
},
}
if diff, equal := messagediff.PrettyDiff(organizationMap, expectedMap); !equal {
t.Errorf("converted trello data = %v,\nwant %v,\ndiff: %v", organizationMap, expectedMap, diff)
t.Errorf("converted organization map = %v,\nwant %v,\ndiff: %v", organizationMap, expectedMap, diff)
}
}