Compare commits

...

40 Commits

Author SHA1 Message Date
dependabot[bot]
790536efc3 Chore(deps): Bump actions/setup-node from 4.4.0 to 5.0.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.4.0 to 5.0.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4.4.0...v5)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 19:25:43 +00:00
Luka Trovic
7394cb2d48 Merge pull request #7204 from nextcloud/update-main-version
feat(deps): Add Nextcloud 33 support on main
2025-09-04 21:24:36 +02:00
Joas Schilling
4f39328d59 feat(deps): Add Nextcloud 33 support on main
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-09-04 12:22:14 +02:00
Nextcloud bot
b877c58343 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-04 00:30:31 +00:00
Nextcloud bot
6334b36666 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-03 00:29:39 +00:00
Luka Trovic
f08eeec3a8 Merge pull request #7199 from nextcloud/release/1.16.0-beta.1
Release/1.16.0-beta.1
2025-09-02 19:16:43 +02:00
Nextcloud bot
eec2ccd9ed fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-02 00:30:24 +00:00
Luka Trovic
3c8728c9ee release 1.16.0-beta.1
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2025-09-01 15:59:41 +02:00
dependabot[bot]
684cf519ce Merge pull request #7065 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/dialogs-6.3.1 2025-09-01 10:00:34 +00:00
Luka Trovic
215a4637b0 Merge pull request #7146 from nextcloud/dependabot/npm_and_yarn/linkifyjs-4.3.2
Chore(deps): Bump linkifyjs from 4.1.3 to 4.3.2
2025-09-01 11:55:25 +02:00
Luka Trovic
cab45170e5 Merge pull request #7128 from nextcloud/fix/comments-with-mention-editable
fix: make comments with mention editable
2025-09-01 11:54:16 +02:00
dependabot[bot]
cd50becc49 Chore(deps): Bump @nextcloud/dialogs from 6.1.1 to 6.3.1
Bumps [@nextcloud/dialogs](https://github.com/nextcloud-libraries/nextcloud-dialogs) from 6.1.1 to 6.3.1.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-dialogs/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-dialogs/blob/v6.3.1/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-dialogs/compare/v6.1.1...v6.3.1)

---
updated-dependencies:
- dependency-name: "@nextcloud/dialogs"
  dependency-version: 6.3.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 11:53:42 +02:00
github-actions[bot]
d778a48afb Merge pull request #7195 from nextcloud/automated/noid/main-update-nextcloud-ocp
[main] Update nextcloud/ocp dependency
2025-08-31 03:02:41 +00:00
nextcloud-command
0a1ed8e0c2 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-08-31 02:41:12 +00:00
Nextcloud bot
a200afa168 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-30 00:29:22 +00:00
Nextcloud bot
3277de5cb4 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-29 00:29:34 +00:00
Nextcloud bot
34effdc00e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-28 00:29:33 +00:00
Nextcloud bot
014372a21a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-27 00:29:28 +00:00
Nextcloud bot
7674a85f68 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-26 00:30:38 +00:00
github-actions[bot]
357c6c1c5a Merge pull request #7178 from nextcloud/automated/noid/main-update-nextcloud-ocp
[main] Update nextcloud/ocp dependency
2025-08-24 03:08:30 +00:00
nextcloud-command
23be704099 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-08-24 02:44:14 +00:00
Nextcloud bot
2571d48290 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-23 00:29:01 +00:00
Luka Trovic
c513b1d5b5 Merge pull request #7177 from nextcloud/clear-deleted-attachment-sharing-records
Clean attachment sharing records after permanent deleted
2025-08-22 20:47:38 +02:00
Luka Trovic
b80e0d9297 fix: clean attachment sharing records after permanent deleted
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2025-08-22 11:09:53 +02:00
Nextcloud bot
382c05ed8d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-22 00:28:52 +00:00
Nextcloud bot
1283b8d78a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-20 00:28:46 +00:00
Nextcloud bot
465f24f2f1 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-19 00:31:12 +00:00
github-actions[bot]
ba0d211720 Merge pull request #7171 from nextcloud/automated/noid/main-update-nextcloud-ocp
[main] Update nextcloud/ocp dependency
2025-08-17 03:49:14 +00:00
nextcloud-command
23f56be988 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-08-17 03:37:30 +00:00
Luka Trovic
87f2d65a96 Merge pull request #7162 from nextcloud/fix/6528-loosing-focus-when-editing-the-description-in-a-card
fix: do not change focus when card id stays the same
2025-08-14 20:52:50 +02:00
Nextcloud bot
c95b3b746d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-14 00:29:47 +00:00
grnd-alt
da850b18ae fix: do not change focus when card id stays the same
Signed-off-by: grnd-alt <github@belakkaf.net>
2025-08-13 12:55:22 +02:00
Nextcloud bot
771cf93cf6 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-13 00:30:21 +00:00
Nextcloud bot
0ed8b21b3c fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-12 00:29:18 +00:00
github-actions[bot]
6f4f59a976 Merge pull request #7161 from nextcloud/automated/noid/main-update-nextcloud-ocp
[main] Update nextcloud/ocp dependency
2025-08-10 04:05:05 +00:00
nextcloud-command
f80d7a5e79 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-08-10 03:47:48 +00:00
Nextcloud bot
e3843f9808 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-10 00:28:20 +00:00
Nextcloud bot
1ec7f1a971 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-09 00:28:47 +00:00
dependabot[bot]
ba9d2a4514 Chore(deps): Bump linkifyjs from 4.1.3 to 4.3.2
Bumps [linkifyjs](https://github.com/nfrasser/linkifyjs/tree/HEAD/packages/linkifyjs) from 4.1.3 to 4.3.2.
- [Release notes](https://github.com/nfrasser/linkifyjs/releases)
- [Changelog](https://github.com/nfrasser/linkifyjs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nfrasser/linkifyjs/commits/v4.3.2/packages/linkifyjs)

---
updated-dependencies:
- dependency-name: linkifyjs
  dependency-version: 4.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-29 19:10:40 +00:00
grnd-alt
10dc1fe9c1 fix: make comments with mention editable
Signed-off-by: grnd-alt <github@belakkaf.net>
2025-07-24 15:45:15 +02:00
38 changed files with 386 additions and 223 deletions

View File

@@ -13,6 +13,23 @@ updates:
- juliushaertl
- luka-nextcloud
- package-ecosystem: npm
target-branch: stable32
versioning-strategy: lockfile-only
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:15"
timezone: Europe/Paris
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major"]
open-pull-requests-limit: 30
labels:
- 3. to review
- dependencies
- package-ecosystem: npm
target-branch: stable31
versioning-strategy: lockfile-only

View File

@@ -18,7 +18,7 @@ jobs:
steps:
- uses: actions/checkout@v4.2.2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v5.0.0
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7

View File

@@ -71,7 +71,7 @@ jobs:
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
# Skip if no package.json
if: ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.1.0
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v4.1.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View File

@@ -41,7 +41,7 @@ jobs:
steps:
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v5.0.0
with:
node-version: ${{ matrix.node-version }}

View File

@@ -68,7 +68,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.1.0
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v4.1.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View File

@@ -37,7 +37,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.1.0
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v4.1.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View File

@@ -14,7 +14,7 @@ jobs:
steps:
- uses: actions/checkout@v4.2.2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v5.0.0
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7

View File

@@ -24,7 +24,7 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['main', 'master', 'stable31', 'stable30']
branches: ['main', 'master', 'stable32', 'stable31', 'stable30']
name: npm-audit-fix-${{ matrix.branches }}
@@ -45,7 +45,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.1.0
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v4.1.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View File

@@ -23,7 +23,7 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['main', 'master', 'stable31', 'stable30']
branches: ['main', 'master', 'stable32', 'stable31', 'stable30']
name: update-nextcloud-ocp-${{ matrix.branches }}

View File

@@ -5,6 +5,17 @@
# Changelog
All notable changes to this project will be documented in this file.
## 1.16.0-beta.1
### Added
- feat: update default content @luka-nextcloud [#6740](https://github.com/nextcloud/deck/pull/6740)
- feat: add board import and export @luka-nextcloud [#6872](https://github.com/nextcloud/deck/pull/6872)
- feat: use outline icons @luka-nextcloud [#7114](https://github.com/nextcloud/deck/pull/7114)
- Add OCC commands for global calendar feature opt-in and opt-out in Deck @Fledermaus-20 [#7080](https://github.com/nextcloud/deck/pull/7080)
### Fixed
- CSV export fixes @gidan80 [#6800](https://github.com/nextcloud/deck/pull/6800)
## 1.15.0-beta.1
### Fixed
- fix: Catch not found card @juliusknorr [#6646](https://github.com/nextcloud/deck/pull/6646)

View File

@@ -42,7 +42,7 @@
<database min-version="9.4">pgsql</database>
<database>sqlite</database>
<database min-version="8.0">mysql</database>
<nextcloud min-version="32" max-version="32"/>
<nextcloud min-version="33" max-version="33"/>
</dependencies>
<background-jobs>
<job>OCA\Deck\Cron\DeleteCron</job>

8
composer.lock generated
View File

@@ -380,12 +380,12 @@
"source": {
"type": "git",
"url": "https://github.com/nextcloud-deps/ocp.git",
"reference": "76e366bf801150029d17a516fa496b5b89a772ac"
"reference": "851f4248065d96ee9d4971bb671b363f7dbd7850"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/76e366bf801150029d17a516fa496b5b89a772ac",
"reference": "76e366bf801150029d17a516fa496b5b89a772ac",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/851f4248065d96ee9d4971bb671b363f7dbd7850",
"reference": "851f4248065d96ee9d4971bb671b363f7dbd7850",
"shasum": ""
},
"require": {
@@ -421,7 +421,7 @@
"issues": "https://github.com/nextcloud-deps/ocp/issues",
"source": "https://github.com/nextcloud-deps/ocp/tree/master"
},
"time": "2025-08-01T01:04:13+00:00"
"time": "2025-08-30T00:45:22+00:00"
},
{
"name": "nikic/php-parser",

View File

@@ -1,6 +1,9 @@
OC.L10N.register(
"deck",
{
"The file was uploaded" : "Файл быў запампаваны.",
"The file was only partially uploaded" : "Файл быў запампаваны толькі часткова",
"No file was uploaded" : "Ніводзін файл не быў запампаваны",
"Missing a temporary folder" : "Адсутнічае часовая папка",
"Could not write file to disk" : "Не ўдалося запісаць файл на дыск",
"A PHP extension stopped the file upload" : "Пашырэнне PHP спыніла запампоўванне файла",
@@ -8,28 +11,50 @@ OC.L10N.register(
"Done" : "Гатова",
"File" : "Файл",
"Cancel" : "Скасаваць",
"File already exists" : "Файл ужо існуе",
"A file with the name {filename} already exists." : "Файл з назвай {filename} ужо існуе.",
"Do you want to overwrite it?" : "Хочаце перазапісаць яго?",
"Overwrite file" : "Перазапісаць файл",
"Keep existing file" : "Пакінуць існуючы файл",
"Active filters" : "Актыўныя фільтры",
"Apply filter" : "Ужыць фільтр",
"Open" : "Адкрыць",
"Clear filter" : "Ачысціць фільтр",
"Open details" : "Адкрыць падрабязнасці",
"Details" : "Падрабязнасці",
"Sharing" : "Абагульванне",
"Tags" : "Тэгі",
"Activity" : "Актыўнасць",
"Undo" : "Адрабіць",
"Transfer" : "Перадаць",
"(Group)" : "(Група)",
"Can edit" : "Можа рэдагаваць",
"Can share" : "Можа абагульваць",
"Owner" : "Уладальнік",
"Delete" : "Выдаліць",
"Edit" : "Рэдагаваць",
"Members" : "Удзельнікі",
"Show in Files" : "Паказаць у Файлах",
"Download" : "Спампаваць",
"Modified" : "Зменены",
"Comments" : "Каментарыі",
"Save" : "Захаваць",
"Created:" : "Створана:",
"Reply" : "Адказаць",
"Update" : "Абнавіць",
"Description" : "Апісанне",
"(group)" : "(група)",
"Open link" : "Адкрыць спасылку",
"seconds ago" : "с таму",
"Keyboard shortcuts" : "Спалучэнні клавіш",
"Keyboard shortcut" : "Спалучэнне клавіш",
"Action" : "Дзеянне",
"Search" : "Пошук",
"Shared with you" : "Абагулена з вамі",
"Cancel edit" : "Скасаваць рэдагаванне",
"An error occurred" : "Узнікла памылка",
"No notifications" : "Няма апавяшчэнняў",
"Export" : "Экспарт",
"Today" : "Сёння",
"Close" : "Закрыць",
"Share" : "Абагуліць"

View File

@@ -1,4 +1,7 @@
{ "translations": {
"The file was uploaded" : "Файл быў запампаваны.",
"The file was only partially uploaded" : "Файл быў запампаваны толькі часткова",
"No file was uploaded" : "Ніводзін файл не быў запампаваны",
"Missing a temporary folder" : "Адсутнічае часовая папка",
"Could not write file to disk" : "Не ўдалося запісаць файл на дыск",
"A PHP extension stopped the file upload" : "Пашырэнне PHP спыніла запампоўванне файла",
@@ -6,28 +9,50 @@
"Done" : "Гатова",
"File" : "Файл",
"Cancel" : "Скасаваць",
"File already exists" : "Файл ужо існуе",
"A file with the name {filename} already exists." : "Файл з назвай {filename} ужо існуе.",
"Do you want to overwrite it?" : "Хочаце перазапісаць яго?",
"Overwrite file" : "Перазапісаць файл",
"Keep existing file" : "Пакінуць існуючы файл",
"Active filters" : "Актыўныя фільтры",
"Apply filter" : "Ужыць фільтр",
"Open" : "Адкрыць",
"Clear filter" : "Ачысціць фільтр",
"Open details" : "Адкрыць падрабязнасці",
"Details" : "Падрабязнасці",
"Sharing" : "Абагульванне",
"Tags" : "Тэгі",
"Activity" : "Актыўнасць",
"Undo" : "Адрабіць",
"Transfer" : "Перадаць",
"(Group)" : "(Група)",
"Can edit" : "Можа рэдагаваць",
"Can share" : "Можа абагульваць",
"Owner" : "Уладальнік",
"Delete" : "Выдаліць",
"Edit" : "Рэдагаваць",
"Members" : "Удзельнікі",
"Show in Files" : "Паказаць у Файлах",
"Download" : "Спампаваць",
"Modified" : "Зменены",
"Comments" : "Каментарыі",
"Save" : "Захаваць",
"Created:" : "Створана:",
"Reply" : "Адказаць",
"Update" : "Абнавіць",
"Description" : "Апісанне",
"(group)" : "(група)",
"Open link" : "Адкрыць спасылку",
"seconds ago" : "с таму",
"Keyboard shortcuts" : "Спалучэнні клавіш",
"Keyboard shortcut" : "Спалучэнне клавіш",
"Action" : "Дзеянне",
"Search" : "Пошук",
"Shared with you" : "Абагулена з вамі",
"Cancel edit" : "Скасаваць рэдагаванне",
"An error occurred" : "Узнікла памылка",
"No notifications" : "Няма апавяшчэнняў",
"Export" : "Экспарт",
"Today" : "Сёння",
"Close" : "Закрыць",
"Share" : "Абагуліць"

View File

@@ -124,6 +124,7 @@ OC.L10N.register(
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Ce commentaire comporte plus de %s caractères.\nAjouté en pièce jointe à la carte intitulée %s.\nAccessible depuis l'URL: %s.",
"Attachments" : "Pièces jointes",
"File" : "Fichier",
"date" : "date",
"Card not found" : "Carte introuvable",
"Path is already shared with this card" : "Le chemin est déjà partagé avec cette carte",
"Invalid date, date format must be YYYY-MM-DD" : "Date non valable, le format de la date doit être AAAA-MM-JJ",
@@ -239,6 +240,7 @@ OC.L10N.register(
"Modified" : "Modifiée",
"Created" : "Créée",
"The title cannot be empty." : "Le titre ne peut pas être vide.",
"Cannot close unsaved card!" : "Impossible de fermer une carte non enregistrée !",
"Open in sidebar view" : "Ouvrir dans le panneau latéral",
"Open in bigger view" : "Ouvrir dans la vue large",
"Comments" : "Commentaires",
@@ -253,6 +255,7 @@ OC.L10N.register(
"Reply" : "Répondre",
"Update" : "Mettre à jour",
"Write a description …" : "Écrire une description…",
"Could not save description" : "Impossible d'enregistrer la description",
"Description" : "Description",
"(Unsaved)" : "(Non enregistré)",
"(Saving…)" : "(Enregistrement ...)",

View File

@@ -122,6 +122,7 @@
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Ce commentaire comporte plus de %s caractères.\nAjouté en pièce jointe à la carte intitulée %s.\nAccessible depuis l'URL: %s.",
"Attachments" : "Pièces jointes",
"File" : "Fichier",
"date" : "date",
"Card not found" : "Carte introuvable",
"Path is already shared with this card" : "Le chemin est déjà partagé avec cette carte",
"Invalid date, date format must be YYYY-MM-DD" : "Date non valable, le format de la date doit être AAAA-MM-JJ",
@@ -237,6 +238,7 @@
"Modified" : "Modifiée",
"Created" : "Créée",
"The title cannot be empty." : "Le titre ne peut pas être vide.",
"Cannot close unsaved card!" : "Impossible de fermer une carte non enregistrée !",
"Open in sidebar view" : "Ouvrir dans le panneau latéral",
"Open in bigger view" : "Ouvrir dans la vue large",
"Comments" : "Commentaires",
@@ -251,6 +253,7 @@
"Reply" : "Répondre",
"Update" : "Mettre à jour",
"Write a description …" : "Écrire une description…",
"Could not save description" : "Impossible d'enregistrer la description",
"Description" : "Description",
"(Unsaved)" : "(Non enregistré)",
"(Saving…)" : "(Enregistrement ...)",

View File

@@ -124,6 +124,7 @@ OC.L10N.register(
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Ez a megjegyzés több mint %s karakter hosszú.\nMellékletként lett hozzáadva a(z) %s nevű kártyához.\nEzen az URL-en érhető el: %s.",
"Attachments" : "Mellékletek",
"File" : "Fájl",
"date" : "dátum",
"Card not found" : "A kártya nem található",
"Path is already shared with this card" : "Az útvonal már meg van osztva ezzel a kártyával",
"Invalid date, date format must be YYYY-MM-DD" : "Érvénytelen dátum, a dátumnak YYYY-MM-DD formátumúnak kell lennie",
@@ -239,6 +240,7 @@ OC.L10N.register(
"Modified" : "Módosítva",
"Created" : "Létrehozva",
"The title cannot be empty." : "A cím nem lehet üres.",
"Cannot close unsaved card!" : "A mentetlen kártya nem zárható be!",
"Open in sidebar view" : "Oldalsáv nézet megnyitása",
"Open in bigger view" : "Megtekintés nagyobb nézetben",
"Comments" : "Hozzászólások",
@@ -253,6 +255,7 @@ OC.L10N.register(
"Reply" : "Válasz",
"Update" : "Frissítés",
"Write a description …" : "Leírás megadása…",
"Could not save description" : "A leírás mentése sikertelen",
"Description" : "Leírás",
"(Unsaved)" : "(Nem mentett)",
"(Saving…)" : "(Mentés…)",

View File

@@ -122,6 +122,7 @@
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Ez a megjegyzés több mint %s karakter hosszú.\nMellékletként lett hozzáadva a(z) %s nevű kártyához.\nEzen az URL-en érhető el: %s.",
"Attachments" : "Mellékletek",
"File" : "Fájl",
"date" : "dátum",
"Card not found" : "A kártya nem található",
"Path is already shared with this card" : "Az útvonal már meg van osztva ezzel a kártyával",
"Invalid date, date format must be YYYY-MM-DD" : "Érvénytelen dátum, a dátumnak YYYY-MM-DD formátumúnak kell lennie",
@@ -237,6 +238,7 @@
"Modified" : "Módosítva",
"Created" : "Létrehozva",
"The title cannot be empty." : "A cím nem lehet üres.",
"Cannot close unsaved card!" : "A mentetlen kártya nem zárható be!",
"Open in sidebar view" : "Oldalsáv nézet megnyitása",
"Open in bigger view" : "Megtekintés nagyobb nézetben",
"Comments" : "Hozzászólások",
@@ -251,6 +253,7 @@
"Reply" : "Válasz",
"Update" : "Frissítés",
"Write a description …" : "Leírás megadása…",
"Could not save description" : "A leírás mentése sikertelen",
"Description" : "Leírás",
"(Unsaved)" : "(Nem mentett)",
"(Saving…)" : "(Mentés…)",

View File

@@ -274,6 +274,7 @@ OC.L10N.register(
"{count} comments, {unread} unread" : "コメント {count} 件あり、 {unread} 件未読",
"Todo items" : "Todo項目",
"Edit card title" : "カードタイトルを編集する",
"Open link" : "リンクを開く",
"Card deleted" : "カードが削除されました",
"Edit title" : "タイトルを編集",
"Assign to me" : "自分に割り当てる",

View File

@@ -272,6 +272,7 @@
"{count} comments, {unread} unread" : "コメント {count} 件あり、 {unread} 件未読",
"Todo items" : "Todo項目",
"Edit card title" : "カードタイトルを編集する",
"Open link" : "リンクを開く",
"Card deleted" : "カードが削除されました",
"Edit title" : "タイトルを編集",
"Assign to me" : "自分に割り当てる",

View File

@@ -26,6 +26,7 @@ OC.L10N.register(
"Save" : "Sekles",
"Cancel reply" : "Semmet tiririt.",
"Reply" : "Err",
"Ctrl" : "Ctrl",
"Search" : "Nadi",
"Cancel edit" : "Sefsex aseẓreg",
"No notifications" : "Ulac tisezmal",

View File

@@ -24,6 +24,7 @@
"Save" : "Sekles",
"Cancel reply" : "Semmet tiririt.",
"Reply" : "Err",
"Ctrl" : "Ctrl",
"Search" : "Nadi",
"Cancel edit" : "Sefsex aseẓreg",
"No notifications" : "Ulac tisezmal",

View File

@@ -63,7 +63,7 @@ OC.L10N.register(
"Reply" : "Atbildēt",
"Update" : "Atjaunināt",
"Description" : "Apraksts",
"Select Date" : "Izvēlieties datumu",
"Select Date" : "Atlasīt datumu",
"Later today {timeLocale}" : "Vēlāk šodien {timeLocale}",
"Set due date for later today" : "Iestatīt beigu datumu vēlāk šodienā",
"(group)" : "(grupa)",

View File

@@ -61,7 +61,7 @@
"Reply" : "Atbildēt",
"Update" : "Atjaunināt",
"Description" : "Apraksts",
"Select Date" : "Izvēlieties datumu",
"Select Date" : "Atlasīt datumu",
"Later today {timeLocale}" : "Vēlāk šodien {timeLocale}",
"Set due date for later today" : "Iestatīt beigu datumu vēlāk šodienā",
"(group)" : "(grupa)",

View File

@@ -81,10 +81,14 @@ OC.L10N.register(
"Could not write file to disk" : "Nie można zapisać pliku na dysk",
"A PHP extension stopped the file upload" : "Rozszerzenie PHP zatrzymało wysyłanie pliku",
"No file uploaded or file size exceeds maximum of %s" : "Brak wysłanego pliku lub rozmiar pliku przekracza maksymalny limit %s",
"Invalid file type. Only JSON files are allowed." : "Nieprawidłowy typ pliku. Dozwolone są tylko pliki JSON.",
"Invalid JSON data" : "Nieprawidłowe dane JSON",
"Failed to import board" : "Nie udało się zaimportować tablicy",
"Cards due today" : "Karty na dzisiaj",
"Cards due tomorrow" : "Karty na jutro",
"Upcoming cards" : "Nadchodzące karty",
"Load more" : "Wczytaj więcej",
"Welcome to Nextcloud Deck!" : "Witamy w Nextcloud Deck!",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Karta \"%s\" na \"%s\" została przydzielona Tobie przez %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} przydzielił Tobie kartę {deck-card} na {deck-board}.",
"The card \"%s\" on \"%s\" has reached its due date." : "Karta \"%s\" na \"%s\" wygasła.",
@@ -107,12 +111,20 @@ OC.L10N.register(
"Action needed" : "Wymagana akcja",
"Later" : "Później",
"copy" : "kopiuj",
"Read more inside" : "Czytaj więcej w środku",
"Custom lists - click to rename!" : "Listy niestandardowe kliknij, aby zmienić nazwę!",
"To Do" : "Do zrobienia",
"In Progress" : "W trakcie",
"Done" : "Zrobione",
"1. Open to learn more about boards and cards" : "1. Otwórz, aby dowiedzieć się więcej o tablicach i kartach",
"2. Drag cards left and right, up and down" : "2. Przeciągaj karty w lewo, prawo, w górę i w dół",
"3. Apply rich formatting and link content" : "3. Zastosuj formatowanie i dodaj linki",
"4. Share, comment and collaborate!" : "4. Udostępniaj, komentuj i współpracuj!",
"Create your first card!" : "Utwórz swoją pierwszą kartę!",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Ten komentarz ma więcej niż %s znaków.\nDodany jako załącznik do karty o nazwie %s.\nDostępne pod adresem URL: %s.",
"Attachments" : "Załączniki",
"File" : "Plik",
"date" : "data",
"Card not found" : "Nie znaleziono karty",
"Path is already shared with this card" : "Ścieżka jest już udostępniona dla tej karty",
"Invalid date, date format must be YYYY-MM-DD" : "Nieprawidłowa data, format daty to RRRR-MM-DD",
@@ -123,10 +135,12 @@ OC.L10N.register(
"Select the board to link to a project" : "Wybierz tablicę, aby połączyć się z projektem",
"Search by board title" : "Szukaj według tytułu tablicy",
"Select board" : "Wybierz tablicę",
"Move/copy card" : "Przenieś/skopiuj kartę",
"Select a board" : "Wybierz tablicę",
"No lists available" : "Brak dostępnych list",
"Select a list" : "Wybierz listę",
"Move card" : "Przenieś kartę",
"Copy card" : "Skopiuj kartę",
"Select the card to link to a project" : "Wybierz kartę, aby połączyć z projektem",
"Link to card" : "Link do karty",
"Select a card" : "Wybierz kartę",
@@ -147,6 +161,8 @@ OC.L10N.register(
"Filter by tag" : "Filtruj według etykiety",
"Filter by assigned user" : "Filtruj według przydzielonego użytkownika",
"Unassigned" : "Nieprzydzielone",
"Filter by status" : "Filtruj według statusu",
"Open and completed" : "Otwarte i zakończone",
"Open" : "Otwórz",
"Completed" : "Zakończone",
"Filter by due date" : "Filtruj według terminu",
@@ -182,9 +198,12 @@ OC.L10N.register(
"Transfer" : "Przenieś",
"The board has been transferred to {user}" : "Tablica została przeniesiona do {user}",
"Failed to transfer the board to {user}" : "Nie udało się przenieść tablicy do {user}",
"Share board with a user, group or team …" : "Udostępnij tablicę użytkownikowi, grupie lub zespołowi…",
"Searching for users, groups and teams …" : "Wyszukiwanie użytkowników, grup i zespołów…",
"No participants found" : "Nie znaleziono uczestników",
"Board owner" : "Właściciel tablicy",
"(Group)" : "(Grupa)",
"(Team)" : "(Zespół)",
"Can edit" : "Może edytować",
"Can share" : "Może udostępnić",
"Can manage" : "Może zarządzać",
@@ -204,7 +223,9 @@ OC.L10N.register(
"Add a new tag" : "Dodaj nową etykietę",
"Board name" : "Nazwa tablicy",
"Members" : "Członkowie",
"Assign to users/groups/team" : "Przypisz do użytkowników/grup/zespołu",
"Assign a user to this card…" : "Przypisz użytkownika do tej karty…",
"Select a user to assign to this card…" : "Wybierz użytkownika, aby przypisać do tej karty…",
"File to share" : "Plik do udostępnienia",
"Invalid path selected" : "Wybrano nieprawidłową ścieżkę",
"Upload new files" : "Wyślij nowe pliki",
@@ -219,6 +240,7 @@ OC.L10N.register(
"Modified" : "Zmodyfikowany",
"Created" : "Utworzono",
"The title cannot be empty." : "Tytuł nie może być pusty.",
"Cannot close unsaved card!" : "Nie można zamknąć niezapisanej karty!",
"Open in sidebar view" : "Otwórz w widoku paska bocznego",
"Open in bigger view" : "Otwórz w dużym widoku",
"Comments" : "Komentarze",
@@ -233,6 +255,7 @@ OC.L10N.register(
"Reply" : "Odpowiedz",
"Update" : "Aktualizuj",
"Write a description …" : "Napisz opis…",
"Could not save description" : "Nie udało się zapisać opisu",
"Description" : "Opis",
"(Unsaved)" : "(Niezapisane)",
"(Saving…)" : "(Zapisywanie…)",
@@ -261,6 +284,7 @@ OC.L10N.register(
"Unarchive card" : "Nie archiwizuj karty",
"Archive card" : "Zarchiwizuj kartę",
"Assign a tag to this card…" : "Przypisz etykietę do tej karty…",
"Select or create a tag…" : "Wybierz lub utwórz tag…",
"Create a new tag:" : "Utwórz nową etykietę:",
"(group)" : "(grupa)",
"{count} comments, {unread} unread" : "Komentarze: {count}, nieprzeczytane: {unread}",
@@ -275,12 +299,31 @@ OC.L10N.register(
"Delete card" : "Usuń kartę",
"seconds ago" : "przed chwilą",
"Keyboard shortcuts" : "Skróty klawiaturowe",
"Boost your productivity using Deck with keyboard shortcuts." : "Zwiększ swoją produktywność, korzystając z Deck i skrótów klawiaturowych.",
"Board actions" : "Akcje tablicy",
"Keyboard shortcut" : "Skrót klawiaturowy",
"Action" : "Akcja",
"Shift" : "Shift",
"Scroll" : "Przewijanie",
"Scroll sideways" : "Przewijanie w bok",
"Navigate between cards" : "Nawigacja między kartami",
"Esc" : "Esc",
"Close card details" : "Zamknij szczegóły karty",
"Ctrl" : "Ctrl",
"Search" : "Szukaj",
"Show card filters" : "Pokaż filtry kart",
"Clear card filters" : "Wyczyść filtry kart",
"Show help dialog" : "Pokaż okno pomocy",
"Card actions" : "Akcje karty",
"The following actions can be triggered on the currently highlighted card" : "Poniższe akcje mogą być wykonane na aktualnie podświetlonej karcie",
"Enter" : "Wpisz",
"Space" : "Spacja",
"Open card details" : "Otwórz szczegóły karty",
"Edit the card title" : "Edytuj tytuł karty",
"Assign yourself to the current card" : "Przypisz siebie do tej karty",
"Archive/unarchive the current card" : "Archiwizuj/odarchiwizuj tę kartę",
"Mark card as completed/not completed" : "Oznacz kartę jako ukończoną/nieukończoną",
"Open card menu" : "Otwórz menu karty",
"All boards" : "Wszystkie tablice",
"Archived boards" : "Zarchiwizowane tablice",
"Shared with you" : "Udostępnione Tobie",
@@ -291,6 +334,7 @@ OC.L10N.register(
"Limit board creation to some groups" : "Ogranicz tworzenie tablic dla niektórych grup",
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "Użytkownicy spoza tych grup nie będą mogli tworzyć własnych tablic, ale nadal będą mogli pracować na tablicach, które zostały im udostępnione.",
"Cancel edit" : "Anuluj edycję",
"Save board" : "Zapisz tablicę",
"Board {0} deleted" : "Tablica {0} została usunięta",
"All cards" : "Wszystkie karty",
"Only assigned cards" : "Tylko przydzielone karty",
@@ -298,6 +342,7 @@ OC.L10N.register(
"An error occurred" : "Wystąpił błąd",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Czy na pewno chcesz usunąć tablicę {title}? Spowoduje to usunięcie wszystkich danych z tej tablicy łącznie z zarchiwizowanymi kartami.",
"Delete the board?" : "Usunąć tablicę?",
"Exporting board..." : "Eksportowanie tablicy…",
"Board details" : "Szczegóły tablicy",
"Edit board" : "Edytuj tablicę",
"Clone board" : "Klonuj tablicę",
@@ -310,10 +355,22 @@ OC.L10N.register(
"Assigned cards" : "Przydzielone karty",
"No notifications" : "Brak powiadomień",
"Delete board" : "Usuń tablicę",
"Importing board..." : "Importowanie tablicy…",
"Board imported successfully" : "Tablica została pomyślnie zaimportowana",
"Import board" : "Importuj tablicę",
"Clone {boardTitle}" : "Klonuj {boardTitle}",
"Clone cards" : "Klonuj karty",
"Clone assignments" : "Klonuj przypisania",
"Clone labels" : "Klonuj etykiety",
"Clone due dates" : "Klonuj terminy",
"Advanced options" : "Opcje zaawansowane",
"Move all cards to the first list" : "Przenieś wszystkie karty na pierwszą listę",
"Restore archived cards" : "Przywróć zarchiwizowane karty",
"Clone" : "Klonuj",
"Export {boardTitle}" : "Eksportuj {boardTitle}",
"Export as JSON" : "Eksportuj jako JSON",
"Export as CSV" : "Eksportuj jako CSV",
"Note: Only the JSON format is supported for importing back into the Deck app." : "Uwaga: tylko format JSON jest obsługiwany przy imporcie z powrotem do aplikacji Deck.",
"Export" : "Eksportuj",
"Loading filtered view" : "Wczytywanie przefiltrowanego widoku",
"Today" : "Dzisiaj",
@@ -347,6 +404,7 @@ OC.L10N.register(
"Something went wrong" : "Coś poszło nie tak",
"Failed to upload {name}" : "Nie udało się wysłać {name}",
"Maximum file size of {size} exceeded" : "Przekroczono maksymalny rozmiar pliku {size}",
"Assigned users" : "Przypisani użytkownicy",
"Due date" : "Data realizacji",
"Error creating the share" : "Błąd podczas tworzenia udostępnienia",
"Share with a Deck card" : "Udostępnij za pomocą karty Tablicy",

View File

@@ -79,10 +79,14 @@
"Could not write file to disk" : "Nie można zapisać pliku na dysk",
"A PHP extension stopped the file upload" : "Rozszerzenie PHP zatrzymało wysyłanie pliku",
"No file uploaded or file size exceeds maximum of %s" : "Brak wysłanego pliku lub rozmiar pliku przekracza maksymalny limit %s",
"Invalid file type. Only JSON files are allowed." : "Nieprawidłowy typ pliku. Dozwolone są tylko pliki JSON.",
"Invalid JSON data" : "Nieprawidłowe dane JSON",
"Failed to import board" : "Nie udało się zaimportować tablicy",
"Cards due today" : "Karty na dzisiaj",
"Cards due tomorrow" : "Karty na jutro",
"Upcoming cards" : "Nadchodzące karty",
"Load more" : "Wczytaj więcej",
"Welcome to Nextcloud Deck!" : "Witamy w Nextcloud Deck!",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Karta \"%s\" na \"%s\" została przydzielona Tobie przez %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} przydzielił Tobie kartę {deck-card} na {deck-board}.",
"The card \"%s\" on \"%s\" has reached its due date." : "Karta \"%s\" na \"%s\" wygasła.",
@@ -105,12 +109,20 @@
"Action needed" : "Wymagana akcja",
"Later" : "Później",
"copy" : "kopiuj",
"Read more inside" : "Czytaj więcej w środku",
"Custom lists - click to rename!" : "Listy niestandardowe kliknij, aby zmienić nazwę!",
"To Do" : "Do zrobienia",
"In Progress" : "W trakcie",
"Done" : "Zrobione",
"1. Open to learn more about boards and cards" : "1. Otwórz, aby dowiedzieć się więcej o tablicach i kartach",
"2. Drag cards left and right, up and down" : "2. Przeciągaj karty w lewo, prawo, w górę i w dół",
"3. Apply rich formatting and link content" : "3. Zastosuj formatowanie i dodaj linki",
"4. Share, comment and collaborate!" : "4. Udostępniaj, komentuj i współpracuj!",
"Create your first card!" : "Utwórz swoją pierwszą kartę!",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Ten komentarz ma więcej niż %s znaków.\nDodany jako załącznik do karty o nazwie %s.\nDostępne pod adresem URL: %s.",
"Attachments" : "Załączniki",
"File" : "Plik",
"date" : "data",
"Card not found" : "Nie znaleziono karty",
"Path is already shared with this card" : "Ścieżka jest już udostępniona dla tej karty",
"Invalid date, date format must be YYYY-MM-DD" : "Nieprawidłowa data, format daty to RRRR-MM-DD",
@@ -121,10 +133,12 @@
"Select the board to link to a project" : "Wybierz tablicę, aby połączyć się z projektem",
"Search by board title" : "Szukaj według tytułu tablicy",
"Select board" : "Wybierz tablicę",
"Move/copy card" : "Przenieś/skopiuj kartę",
"Select a board" : "Wybierz tablicę",
"No lists available" : "Brak dostępnych list",
"Select a list" : "Wybierz listę",
"Move card" : "Przenieś kartę",
"Copy card" : "Skopiuj kartę",
"Select the card to link to a project" : "Wybierz kartę, aby połączyć z projektem",
"Link to card" : "Link do karty",
"Select a card" : "Wybierz kartę",
@@ -145,6 +159,8 @@
"Filter by tag" : "Filtruj według etykiety",
"Filter by assigned user" : "Filtruj według przydzielonego użytkownika",
"Unassigned" : "Nieprzydzielone",
"Filter by status" : "Filtruj według statusu",
"Open and completed" : "Otwarte i zakończone",
"Open" : "Otwórz",
"Completed" : "Zakończone",
"Filter by due date" : "Filtruj według terminu",
@@ -180,9 +196,12 @@
"Transfer" : "Przenieś",
"The board has been transferred to {user}" : "Tablica została przeniesiona do {user}",
"Failed to transfer the board to {user}" : "Nie udało się przenieść tablicy do {user}",
"Share board with a user, group or team …" : "Udostępnij tablicę użytkownikowi, grupie lub zespołowi…",
"Searching for users, groups and teams …" : "Wyszukiwanie użytkowników, grup i zespołów…",
"No participants found" : "Nie znaleziono uczestników",
"Board owner" : "Właściciel tablicy",
"(Group)" : "(Grupa)",
"(Team)" : "(Zespół)",
"Can edit" : "Może edytować",
"Can share" : "Może udostępnić",
"Can manage" : "Może zarządzać",
@@ -202,7 +221,9 @@
"Add a new tag" : "Dodaj nową etykietę",
"Board name" : "Nazwa tablicy",
"Members" : "Członkowie",
"Assign to users/groups/team" : "Przypisz do użytkowników/grup/zespołu",
"Assign a user to this card…" : "Przypisz użytkownika do tej karty…",
"Select a user to assign to this card…" : "Wybierz użytkownika, aby przypisać do tej karty…",
"File to share" : "Plik do udostępnienia",
"Invalid path selected" : "Wybrano nieprawidłową ścieżkę",
"Upload new files" : "Wyślij nowe pliki",
@@ -217,6 +238,7 @@
"Modified" : "Zmodyfikowany",
"Created" : "Utworzono",
"The title cannot be empty." : "Tytuł nie może być pusty.",
"Cannot close unsaved card!" : "Nie można zamknąć niezapisanej karty!",
"Open in sidebar view" : "Otwórz w widoku paska bocznego",
"Open in bigger view" : "Otwórz w dużym widoku",
"Comments" : "Komentarze",
@@ -231,6 +253,7 @@
"Reply" : "Odpowiedz",
"Update" : "Aktualizuj",
"Write a description …" : "Napisz opis…",
"Could not save description" : "Nie udało się zapisać opisu",
"Description" : "Opis",
"(Unsaved)" : "(Niezapisane)",
"(Saving…)" : "(Zapisywanie…)",
@@ -259,6 +282,7 @@
"Unarchive card" : "Nie archiwizuj karty",
"Archive card" : "Zarchiwizuj kartę",
"Assign a tag to this card…" : "Przypisz etykietę do tej karty…",
"Select or create a tag…" : "Wybierz lub utwórz tag…",
"Create a new tag:" : "Utwórz nową etykietę:",
"(group)" : "(grupa)",
"{count} comments, {unread} unread" : "Komentarze: {count}, nieprzeczytane: {unread}",
@@ -273,12 +297,31 @@
"Delete card" : "Usuń kartę",
"seconds ago" : "przed chwilą",
"Keyboard shortcuts" : "Skróty klawiaturowe",
"Boost your productivity using Deck with keyboard shortcuts." : "Zwiększ swoją produktywność, korzystając z Deck i skrótów klawiaturowych.",
"Board actions" : "Akcje tablicy",
"Keyboard shortcut" : "Skrót klawiaturowy",
"Action" : "Akcja",
"Shift" : "Shift",
"Scroll" : "Przewijanie",
"Scroll sideways" : "Przewijanie w bok",
"Navigate between cards" : "Nawigacja między kartami",
"Esc" : "Esc",
"Close card details" : "Zamknij szczegóły karty",
"Ctrl" : "Ctrl",
"Search" : "Szukaj",
"Show card filters" : "Pokaż filtry kart",
"Clear card filters" : "Wyczyść filtry kart",
"Show help dialog" : "Pokaż okno pomocy",
"Card actions" : "Akcje karty",
"The following actions can be triggered on the currently highlighted card" : "Poniższe akcje mogą być wykonane na aktualnie podświetlonej karcie",
"Enter" : "Wpisz",
"Space" : "Spacja",
"Open card details" : "Otwórz szczegóły karty",
"Edit the card title" : "Edytuj tytuł karty",
"Assign yourself to the current card" : "Przypisz siebie do tej karty",
"Archive/unarchive the current card" : "Archiwizuj/odarchiwizuj tę kartę",
"Mark card as completed/not completed" : "Oznacz kartę jako ukończoną/nieukończoną",
"Open card menu" : "Otwórz menu karty",
"All boards" : "Wszystkie tablice",
"Archived boards" : "Zarchiwizowane tablice",
"Shared with you" : "Udostępnione Tobie",
@@ -289,6 +332,7 @@
"Limit board creation to some groups" : "Ogranicz tworzenie tablic dla niektórych grup",
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "Użytkownicy spoza tych grup nie będą mogli tworzyć własnych tablic, ale nadal będą mogli pracować na tablicach, które zostały im udostępnione.",
"Cancel edit" : "Anuluj edycję",
"Save board" : "Zapisz tablicę",
"Board {0} deleted" : "Tablica {0} została usunięta",
"All cards" : "Wszystkie karty",
"Only assigned cards" : "Tylko przydzielone karty",
@@ -296,6 +340,7 @@
"An error occurred" : "Wystąpił błąd",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Czy na pewno chcesz usunąć tablicę {title}? Spowoduje to usunięcie wszystkich danych z tej tablicy łącznie z zarchiwizowanymi kartami.",
"Delete the board?" : "Usunąć tablicę?",
"Exporting board..." : "Eksportowanie tablicy…",
"Board details" : "Szczegóły tablicy",
"Edit board" : "Edytuj tablicę",
"Clone board" : "Klonuj tablicę",
@@ -308,10 +353,22 @@
"Assigned cards" : "Przydzielone karty",
"No notifications" : "Brak powiadomień",
"Delete board" : "Usuń tablicę",
"Importing board..." : "Importowanie tablicy…",
"Board imported successfully" : "Tablica została pomyślnie zaimportowana",
"Import board" : "Importuj tablicę",
"Clone {boardTitle}" : "Klonuj {boardTitle}",
"Clone cards" : "Klonuj karty",
"Clone assignments" : "Klonuj przypisania",
"Clone labels" : "Klonuj etykiety",
"Clone due dates" : "Klonuj terminy",
"Advanced options" : "Opcje zaawansowane",
"Move all cards to the first list" : "Przenieś wszystkie karty na pierwszą listę",
"Restore archived cards" : "Przywróć zarchiwizowane karty",
"Clone" : "Klonuj",
"Export {boardTitle}" : "Eksportuj {boardTitle}",
"Export as JSON" : "Eksportuj jako JSON",
"Export as CSV" : "Eksportuj jako CSV",
"Note: Only the JSON format is supported for importing back into the Deck app." : "Uwaga: tylko format JSON jest obsługiwany przy imporcie z powrotem do aplikacji Deck.",
"Export" : "Eksportuj",
"Loading filtered view" : "Wczytywanie przefiltrowanego widoku",
"Today" : "Dzisiaj",
@@ -345,6 +402,7 @@
"Something went wrong" : "Coś poszło nie tak",
"Failed to upload {name}" : "Nie udało się wysłać {name}",
"Maximum file size of {size} exceeded" : "Przekroczono maksymalny rozmiar pliku {size}",
"Assigned users" : "Przypisani użytkownicy",
"Due date" : "Data realizacji",
"Error creating the share" : "Błąd podczas tworzenia udostępnienia",
"Share with a Deck card" : "Udostępnij za pomocą karty Tablicy",

View File

@@ -107,6 +107,7 @@ OC.L10N.register(
"Action needed" : "Требуется действие",
"Later" : "Позже",
"copy" : "Копировать",
"Custom lists - click to rename!" : "Пользовательские списки — нажмите, чтобы переименовать!",
"To Do" : "Задачи",
"In Progress" : "Выполянется",
"Done" : "Выполненные",

View File

@@ -105,6 +105,7 @@
"Action needed" : "Требуется действие",
"Later" : "Позже",
"copy" : "Копировать",
"Custom lists - click to rename!" : "Пользовательские списки — нажмите, чтобы переименовать!",
"To Do" : "Задачи",
"In Progress" : "Выполянется",
"Done" : "Выполненные",

View File

@@ -88,7 +88,7 @@ OC.L10N.register(
"Cards due tomorrow" : "Картки на завтра",
"Upcoming cards" : "Очікують на виконання",
"Load more" : "Більше",
"Welcome to Nextcloud Deck!" : "Ласкаво просимо до колоди Nextcloud!",
"Welcome to Nextcloud Deck!" : "Ласкаво просимо до Колоди для Nextcloud!",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Картка \"%s\" на \"%s\" була призначена вам %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} призначив вам карту {deck-card} на {deck-board}.",
"The card \"%s\" on \"%s\" has reached its due date." : "Термін дії картки \"%s\" на \"%s\" закінчився.",
@@ -97,7 +97,7 @@ OC.L10N.register(
"{user} has mentioned you in a comment on {deck-card}." : "{user} згадав вас у коментарі до {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "Дошку \"%s\" з вами поділився %s.",
"{user} has shared {deck-board} with you." : "{user} поділився з вами {deck-board}.",
"Deck board" : "Дошка Deck",
"Deck board" : "Дошка колоди",
"Owned by %1$s" : "Належить %1$s",
"Deck boards, cards and comments" : "Дошки колод, карти та коментарі",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "З %1$s, в %2$s/%3$s, у власності %4$s",
@@ -327,7 +327,7 @@ OC.L10N.register(
"All boards" : "Усі дошки",
"Archived boards" : "Архівні дошки",
"Shared with you" : "Вам надано доступ",
"Deck settings" : "Налаштування колоди",
"Deck settings" : "Налаштування",
"Use bigger card view" : "Режим перегляду зі збільшеними картками",
"Show card ID badge" : "Покажіть бейдж з ідентифікаційною карткою",
"Show boards in calendar/tasks" : "Показувати дошки в календарі та завданнях",

View File

@@ -86,7 +86,7 @@
"Cards due tomorrow" : "Картки на завтра",
"Upcoming cards" : "Очікують на виконання",
"Load more" : "Більше",
"Welcome to Nextcloud Deck!" : "Ласкаво просимо до колоди Nextcloud!",
"Welcome to Nextcloud Deck!" : "Ласкаво просимо до Колоди для Nextcloud!",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Картка \"%s\" на \"%s\" була призначена вам %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} призначив вам карту {deck-card} на {deck-board}.",
"The card \"%s\" on \"%s\" has reached its due date." : "Термін дії картки \"%s\" на \"%s\" закінчився.",
@@ -95,7 +95,7 @@
"{user} has mentioned you in a comment on {deck-card}." : "{user} згадав вас у коментарі до {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "Дошку \"%s\" з вами поділився %s.",
"{user} has shared {deck-board} with you." : "{user} поділився з вами {deck-board}.",
"Deck board" : "Дошка Deck",
"Deck board" : "Дошка колоди",
"Owned by %1$s" : "Належить %1$s",
"Deck boards, cards and comments" : "Дошки колод, карти та коментарі",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "З %1$s, в %2$s/%3$s, у власності %4$s",
@@ -325,7 +325,7 @@
"All boards" : "Усі дошки",
"Archived boards" : "Архівні дошки",
"Shared with you" : "Вам надано доступ",
"Deck settings" : "Налаштування колоди",
"Deck settings" : "Налаштування",
"Use bigger card view" : "Режим перегляду зі збільшеними картками",
"Show card ID badge" : "Покажіть бейдж з ідентифікаційною карткою",
"Show boards in calendar/tasks" : "Показувати дошки в календарі та завданнях",

View File

@@ -14,6 +14,7 @@ use OCA\Deck\Db\CardMapper;
use OCA\Deck\Db\StackMapper;
use OCA\Deck\InvalidAttachmentType;
use OCA\Deck\Service\AttachmentService;
use OCA\Deck\Sharing\DeckShareProvider;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\IJob;
use OCP\BackgroundJob\TimedJob;
@@ -30,14 +31,25 @@ class DeleteCron extends TimedJob {
private $attachmentMapper;
/** @var StackMapper */
private $stackMapper;
/** @var DeckShareProvider */
private $deckShareProvider;
public function __construct(ITimeFactory $time, BoardMapper $boardMapper, CardMapper $cardMapper, AttachmentService $attachmentService, AttachmentMapper $attachmentMapper, StackMapper $stackMapper) {
public function __construct(
ITimeFactory $time,
BoardMapper $boardMapper,
CardMapper $cardMapper,
AttachmentService $attachmentService,
AttachmentMapper $attachmentMapper,
StackMapper $stackMapper,
DeckShareProvider $deckShareProvider,
) {
parent::__construct($time);
$this->boardMapper = $boardMapper;
$this->cardMapper = $cardMapper;
$this->attachmentService = $attachmentService;
$this->attachmentMapper = $attachmentMapper;
$this->stackMapper = $stackMapper;
$this->deckShareProvider = $deckShareProvider;
$this->setInterval(60 * 60 * 24);
$this->setTimeSensitivity(IJob::TIME_INSENSITIVE);
@@ -70,6 +82,12 @@ class DeleteCron extends TimedJob {
$this->attachmentMapper->delete($attachment);
}
// Delete orphaned attachment shares
$shares = $this->deckShareProvider->getOrphanedAttachmentShares();
foreach ($shares as $share) {
$this->deckShareProvider->delete($share);
}
$stacks = $this->stackMapper->findToDelete();
foreach ($stacks as $stack) {
$this->stackMapper->delete($stack);

View File

@@ -645,4 +645,16 @@ class CardMapper extends QBMapper implements IPermissionMapper {
$result->closeCursor();
}
public function getAllCardIds(): array {
$qb = $this->db->getQueryBuilder();
$qb->select('id')
->from('deck_cards');
$result = $qb->executeQuery();
$ids = [];
while ($row = $result->fetch()) {
$ids[] = (int)$row['id'];
}
return $ids;
}
}

View File

@@ -1046,4 +1046,21 @@ class DeckShareProvider implements \OCP\Share\IShareProvider {
}
$cursor->closeCursor();
}
public function getOrphanedAttachmentShares(): array {
$allCardIds = $this->cardMapper->getAllCardIds();
$qb = $this->dbConnection->getQueryBuilder();
$qb->select('*')
->from('share', 's')
->where($qb->expr()->eq('s.share_type', $qb->createNamedParameter(IShare::TYPE_DECK)))
->andWhere($qb->expr()->notIn('s.share_with', $qb->createNamedParameter($allCardIds, IQueryBuilder::PARAM_STR_ARRAY)));
$cursor = $qb->execute();
$shares = [];
while ($data = $cursor->fetch()) {
$shares[] = $this->createShareObject($data);
}
return $shares;
}
}

278
package-lock.json generated
View File

@@ -14,7 +14,7 @@
"@nextcloud/auth": "^2.4.0",
"@nextcloud/axios": "^2.5.1",
"@nextcloud/capabilities": "^1.2.0",
"@nextcloud/dialogs": "^6.0.1",
"@nextcloud/dialogs": "^6.3.1",
"@nextcloud/event-bus": "^3.3.2",
"@nextcloud/files": "^3.10.1",
"@nextcloud/initial-state": "^2.2.0",
@@ -2359,17 +2359,6 @@
"@floating-ui/core": "^0.3.0"
}
},
"node_modules/@gerrit0/mini-shiki": {
"version": "1.24.4",
"resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-1.24.4.tgz",
"integrity": "sha512-YEHW1QeAg6UmxEmswiQbOVEg1CW22b1XUD/lNTliOsu0LD0wqoyleFMnmbTp697QE0pcadQiR5cVtbbAPncvpw==",
"peer": true,
"dependencies": {
"@shikijs/engine-oniguruma": "^1.24.2",
"@shikijs/types": "^1.24.2",
"@shikijs/vscode-textmate": "^9.3.1"
}
},
"node_modules/@grpc/grpc-js": {
"version": "1.13.2",
"resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.13.2.tgz",
@@ -3499,12 +3488,13 @@
"integrity": "sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ=="
},
"node_modules/@nextcloud/auth": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-2.4.0.tgz",
"integrity": "sha512-T5OFltKd0O9Hfj47VrzE7TVjCwqOMHH9JLyjjLUR3pu2MaTY9WL6AjL79sHbFTXUaIkftZgJKu12lHYmqXnL2Q==",
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-2.5.1.tgz",
"integrity": "sha512-cToowJmI9rvIXuWvpvHp4tKm1ZzK4tlPh4rAuEjX6Dvpq74ia52yJYGJFR2maag/i/tMl9m0diZtHgSog6GTGg==",
"license": "GPL-3.0-or-later",
"dependencies": {
"@nextcloud/browser-storage": "^0.4.0",
"@nextcloud/event-bus": "^3.3.1"
"@nextcloud/event-bus": "^3.3.2"
},
"engines": {
"node": "^20.0.0",
@@ -3636,46 +3626,48 @@
"license": "MIT"
},
"node_modules/@nextcloud/dialogs": {
"version": "6.1.1",
"resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-6.1.1.tgz",
"integrity": "sha512-RrvFPt8SgCkg8rC0PtMC0fvyEu77kKbY2cJ/j+6RLse3rFWcNGwgNZNuRkA/Nn4GgzQ7QNhKTqWknsy0ld6rNQ==",
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-6.3.1.tgz",
"integrity": "sha512-lklTssGdphRZKoR07pYU88btqguEKcQjEpKYom342i1eiMPiejgmoPZEignWJvJhpaN9CT5FoGndCrqqS3BswA==",
"license": "AGPL-3.0-or-later",
"dependencies": {
"@mdi/js": "^7.4.47",
"@nextcloud/auth": "^2.4.0",
"@nextcloud/auth": "^2.5.1",
"@nextcloud/axios": "^2.5.1",
"@nextcloud/event-bus": "^3.3.1",
"@nextcloud/files": "^3.9.0",
"@nextcloud/browser-storage": "^0.4.0",
"@nextcloud/event-bus": "^3.3.2",
"@nextcloud/files": "^3.10.2",
"@nextcloud/initial-state": "^2.2.0",
"@nextcloud/l10n": "^3.1.0",
"@nextcloud/l10n": "^3.3.0",
"@nextcloud/router": "^3.0.1",
"@nextcloud/sharing": "^0.2.4",
"@nextcloud/typings": "^1.9.1",
"@types/toastify-js": "^1.12.3",
"@vueuse/core": "^11.2.0",
"@types/toastify-js": "^1.12.4",
"@vueuse/core": "^11.3.0",
"cancelable-promise": "^4.3.1",
"p-queue": "^8.1.0",
"toastify-js": "^1.12.0",
"vue-frag": "^1.4.3",
"webdav": "^5.7.1"
"webdav": "^5.8.0"
},
"engines": {
"node": "^20.0.0",
"npm": "^10.0.0"
},
"peerDependencies": {
"@nextcloud/vue": "^8.16.0",
"@nextcloud/vue": "^8.23.1",
"vue": "^2.7.16"
}
},
"node_modules/@nextcloud/dialogs/node_modules/@vueuse/core": {
"version": "11.2.0",
"resolved": "https://registry.npmjs.org/@vueuse/core/-/core-11.2.0.tgz",
"integrity": "sha512-JIUwRcOqOWzcdu1dGlfW04kaJhW3EXnnjJJfLTtddJanymTL7lF1C0+dVVZ/siLfc73mWn+cGP1PE1PKPruRSA==",
"version": "11.3.0",
"resolved": "https://registry.npmjs.org/@vueuse/core/-/core-11.3.0.tgz",
"integrity": "sha512-7OC4Rl1f9G8IT6rUfi9JrKiXy4bfmHhZ5x2Ceojy0jnd3mHNEvV4JaRygH362ror6/NZ+Nl+n13LPzGiPN8cKA==",
"license": "MIT",
"dependencies": {
"@types/web-bluetooth": "^0.0.20",
"@vueuse/metadata": "11.2.0",
"@vueuse/shared": "11.2.0",
"@vueuse/metadata": "11.3.0",
"@vueuse/shared": "11.3.0",
"vue-demi": ">=0.14.10"
},
"funding": {
@@ -3687,6 +3679,7 @@
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
"integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
"hasInstallScript": true,
"license": "MIT",
"bin": {
"vue-demi-fix": "bin/vue-demi-fix.js",
"vue-demi-switch": "bin/vue-demi-switch.js"
@@ -3708,17 +3701,19 @@
}
},
"node_modules/@nextcloud/dialogs/node_modules/@vueuse/metadata": {
"version": "11.2.0",
"resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-11.2.0.tgz",
"integrity": "sha512-L0ZmtRmNx+ZW95DmrgD6vn484gSpVeRbgpWevFKXwqqQxW9hnSi2Ppuh2BzMjnbv4aJRiIw8tQatXT9uOB23dQ==",
"version": "11.3.0",
"resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-11.3.0.tgz",
"integrity": "sha512-pwDnDspTqtTo2HwfLw4Rp6yywuuBdYnPYDq+mO38ZYKGebCUQC/nVj/PXSiK9HX5otxLz8Fn7ECPbjiRz2CC3g==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/@nextcloud/dialogs/node_modules/@vueuse/shared": {
"version": "11.2.0",
"resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-11.2.0.tgz",
"integrity": "sha512-VxFjie0EanOudYSgMErxXfq6fo8vhr5ICI+BuE3I9FnX7ePllEsVrRQ7O6Q1TLgApeLuPKcHQxAXpP+KnlrJsg==",
"version": "11.3.0",
"resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-11.3.0.tgz",
"integrity": "sha512-P8gSSWQeucH5821ek2mn/ciCk+MS/zoRKqdQIM3bHq6p7GXDAJLmnRRKmF5F65sAVJIfzQlwR3aDzwCn10s8hA==",
"license": "MIT",
"dependencies": {
"vue-demi": ">=0.14.10"
},
@@ -3731,6 +3726,7 @@
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
"integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
"hasInstallScript": true,
"license": "MIT",
"bin": {
"vue-demi-fix": "bin/vue-demi-fix.js",
"vue-demi-switch": "bin/vue-demi-switch.js"
@@ -3812,9 +3808,10 @@
}
},
"node_modules/@nextcloud/files": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.10.1.tgz",
"integrity": "sha512-hYUK28ZEU4GTbMXd0/YXTUUKedWnzdr4Eva+6sTxiuJMnACJ4/pZvSzFL9i82fBXvR/0MI5DA6+1gryMyNv1ww==",
"version": "3.10.2",
"resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.10.2.tgz",
"integrity": "sha512-8k6zN3nvGW8nEV5Db5DyfqcyK99RWw1iOSPIafi2RttiRQGpFzHlnF2EoM4buH5vWzI39WEvJnfuLZpkPX0cFw==",
"license": "AGPL-3.0-or-later",
"dependencies": {
"@nextcloud/auth": "^2.4.0",
"@nextcloud/capabilities": "^1.2.0",
@@ -3822,10 +3819,9 @@
"@nextcloud/logger": "^3.0.2",
"@nextcloud/paths": "^2.2.1",
"@nextcloud/router": "^3.0.1",
"@nextcloud/sharing": "^0.2.3",
"@nextcloud/sharing": "^0.2.4",
"cancelable-promise": "^4.3.1",
"is-svg": "^5.1.0",
"typedoc-plugin-missing-exports": "^3.1.0",
"typescript-event-target": "^1.1.1",
"webdav": "^5.7.1"
},
@@ -3844,21 +3840,20 @@
}
},
"node_modules/@nextcloud/l10n": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/@nextcloud/l10n/-/l10n-3.2.0.tgz",
"integrity": "sha512-5TbIc415C0r8YUA0i4bOXKL0iInY8ka+t8PGHihqevzqf/LAkFatd+p6mCLJT3tQPxgkcIRCIuyOkiUM0Lyw5Q==",
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/@nextcloud/l10n/-/l10n-3.3.0.tgz",
"integrity": "sha512-gPvAf5gzqxjnk8l6kr8LQTMN3lv5CLN8tTWwMfavmTbPsKj2/ZUjZhwIm3PcZ3xvJzBi7Ttgrf9xz5cT6CGsWg==",
"license": "GPL-3.0-or-later",
"dependencies": {
"@nextcloud/router": "^3.0.1",
"@nextcloud/typings": "^1.9.1",
"@types/dompurify": "^3.2.0",
"@types/escape-html": "^1.0.4",
"dompurify": "^3.2.4",
"dompurify": "^3.2.6",
"escape-html": "^1.0.3"
},
"engines": {
"node": "^20.0.0",
"npm": "^10.0.0"
"node": "^22.0.0",
"npm": "^10.5.1"
}
},
"node_modules/@nextcloud/logger": {
@@ -4695,41 +4690,6 @@
"url": "https://opencollective.com/core-js"
}
},
"node_modules/@shikijs/engine-oniguruma": {
"version": "1.24.2",
"resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.24.2.tgz",
"integrity": "sha512-ZN6k//aDNWRJs1uKB12pturKHh7GejKugowOFGAuG7TxDRLod1Bd5JhpOikOiFqPmKjKEPtEA6mRCf7q3ulDyQ==",
"peer": true,
"dependencies": {
"@shikijs/types": "1.24.2",
"@shikijs/vscode-textmate": "^9.3.0"
}
},
"node_modules/@shikijs/types": {
"version": "1.24.2",
"resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.24.2.tgz",
"integrity": "sha512-bdeWZiDtajGLG9BudI0AHet0b6e7FbR0EsE4jpGaI0YwHm/XJunI9+3uZnzFtX65gsyJ6ngCIWUfA4NWRPnBkQ==",
"peer": true,
"dependencies": {
"@shikijs/vscode-textmate": "^9.3.0",
"@types/hast": "^3.0.4"
}
},
"node_modules/@shikijs/types/node_modules/@types/hast": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
"integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
"peer": true,
"dependencies": {
"@types/unist": "*"
}
},
"node_modules/@shikijs/vscode-textmate": {
"version": "9.3.1",
"resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-9.3.1.tgz",
"integrity": "sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==",
"peer": true
},
"node_modules/@sideway/address": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz",
@@ -4875,16 +4835,6 @@
"@types/ms": "*"
}
},
"node_modules/@types/dompurify": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.2.0.tgz",
"integrity": "sha512-Fgg31wv9QbLDA0SpTOXO3MaxySc4DKGLi8sna4/Utjo4r3ZRPdCt4UQee8BWr+Q5z21yifghREPJGYaEOEIACg==",
"deprecated": "This is a stub types definition. dompurify provides its own type definitions, so you do not need this installed.",
"license": "MIT",
"dependencies": {
"dompurify": "*"
}
},
"node_modules/@types/escape-html": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@types/escape-html/-/escape-html-1.0.4.tgz",
@@ -5200,9 +5150,10 @@
}
},
"node_modules/@types/toastify-js": {
"version": "1.12.3",
"resolved": "https://registry.npmjs.org/@types/toastify-js/-/toastify-js-1.12.3.tgz",
"integrity": "sha512-9RjLlbAHMSaae/KZNHGv19VG4gcLIm3YjvacCXBtfMfYn26h76YP5oxXI8k26q4iKXCB9LNfv18lsoS0JnFPTg=="
"version": "1.12.4",
"resolved": "https://registry.npmjs.org/@types/toastify-js/-/toastify-js-1.12.4.tgz",
"integrity": "sha512-zfZHU4tKffPCnZRe7pjv/eFKzTVHozKewFCKaCjZ4gFinKgJRz/t0bkZiMCXJxPhv/ZoeDGNOeRD09R0kQZ/nw==",
"license": "MIT"
},
"node_modules/@types/trusted-types": {
"version": "2.0.7",
@@ -9005,9 +8956,9 @@
}
},
"node_modules/dompurify": {
"version": "3.2.5",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.5.tgz",
"integrity": "sha512-mLPd29uoRe9HpvwP2TxClGQBzGXeEC/we/q+bFlmPPmj2p2Ugl3r6ATu/UU1v77DXNcehiBg9zsr1dREyA/dJQ==",
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.6.tgz",
"integrity": "sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==",
"license": "(MPL-2.0 OR Apache-2.0)",
"optionalDependencies": {
"@types/trusted-types": "^2.0.7"
@@ -10652,21 +10603,18 @@
"dev": true
},
"node_modules/fast-xml-parser": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz",
"integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==",
"version": "4.5.3",
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz",
"integrity": "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/NaturalIntelligence"
},
{
"type": "paypal",
"url": "https://paypal.me/naturalintelligence"
}
],
"license": "MIT",
"dependencies": {
"strnum": "^1.0.5"
"strnum": "^1.1.1"
},
"bin": {
"fxparser": "src/cli/cli.js"
@@ -14714,9 +14662,9 @@
}
},
"node_modules/linkifyjs": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.1.3.tgz",
"integrity": "sha512-auMesunaJ8yfkHvK4gfg1K0SaKX/6Wn9g2Aac/NwX+l5VdmFZzo/hdPGxEOETj+ryRa4/fiOPjeeKURSAJx1sg==",
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.3.2.tgz",
"integrity": "sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA==",
"peer": true
},
"node_modules/listr2": {
@@ -15005,12 +14953,6 @@
"yallist": "^2.1.2"
}
},
"node_modules/lunr": {
"version": "2.3.9",
"resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
"integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==",
"peer": true
},
"node_modules/make-dir": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
@@ -19118,9 +19060,16 @@
"integrity": "sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw=="
},
"node_modules/strnum": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz",
"integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA=="
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz",
"integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/NaturalIntelligence"
}
],
"license": "MIT"
},
"node_modules/style-loader": {
"version": "4.0.0",
@@ -20355,64 +20304,11 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/typedoc": {
"version": "0.27.4",
"resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.27.4.tgz",
"integrity": "sha512-wXPQs1AYC2Crk+1XFpNuutLIkNWleokZf1UNf/X8w9KsMnirkvT+LzxTXDvfF6ug3TSLf3Xu5ZXRKGfoXPX7IA==",
"peer": true,
"dependencies": {
"@gerrit0/mini-shiki": "^1.24.0",
"lunr": "^2.3.9",
"markdown-it": "^14.1.0",
"minimatch": "^9.0.5",
"yaml": "^2.6.1"
},
"bin": {
"typedoc": "bin/typedoc"
},
"engines": {
"node": ">= 18"
},
"peerDependencies": {
"typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x"
}
},
"node_modules/typedoc-plugin-missing-exports": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/typedoc-plugin-missing-exports/-/typedoc-plugin-missing-exports-3.1.0.tgz",
"integrity": "sha512-Sogbaj+qDa21NjB3SlIw4JXSwmcl/WOjwiPNaVEcPhpNG/MiRTtpwV81cT7h1cbu9StpONFPbddYWR0KV/fTWA==",
"peerDependencies": {
"typedoc": "0.26.x || 0.27.x"
}
},
"node_modules/typedoc/node_modules/brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"peer": true,
"dependencies": {
"balanced-match": "^1.0.0"
}
},
"node_modules/typedoc/node_modules/minimatch": {
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"peer": true,
"dependencies": {
"brace-expansion": "^2.0.1"
},
"engines": {
"node": ">=16 || 14 >=14.17"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/typescript": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
"integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
"dev": true,
"peer": true,
"bin": {
"tsc": "bin/tsc",
@@ -21296,15 +21192,16 @@
}
},
"node_modules/webdav": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/webdav/-/webdav-5.7.1.tgz",
"integrity": "sha512-JVPn3nLxXJfHSRvennHsOrDYjFLkilZ1Qlw8Ff6hpqp6AvkgF7a//aOh5wA4rMp+sLZ1Km0V+iv0LyO1FIwtXg==",
"version": "5.8.0",
"resolved": "https://registry.npmjs.org/webdav/-/webdav-5.8.0.tgz",
"integrity": "sha512-iuFG7NamJ41Oshg4930iQgfIpRrUiatPWIekeznYgEf2EOraTRcDPTjy7gIOMtkdpKTaqPk1E68NO5PAGtJahA==",
"license": "MIT",
"dependencies": {
"@buttercup/fetch": "^0.2.1",
"base-64": "^1.0.0",
"byte-length": "^1.0.2",
"entities": "^5.0.0",
"fast-xml-parser": "^4.4.1",
"entities": "^6.0.0",
"fast-xml-parser": "^4.5.1",
"hot-patcher": "^2.0.1",
"layerr": "^3.0.0",
"md5": "^2.3.0",
@@ -21316,7 +21213,7 @@
"url-parse": "^1.5.10"
},
"engines": {
"node": ">=16"
"node": ">=14"
}
},
"node_modules/webdav/node_modules/brace-expansion": {
@@ -21328,9 +21225,10 @@
}
},
"node_modules/webdav/node_modules/entities": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-5.0.0.tgz",
"integrity": "sha512-BeJFvFRJddxobhvEdm5GqHzRV/X+ACeuw0/BuuxsCh1EUZcAIz8+kYmBp/LrQuloy6K1f3a0M7+IhmZ7QnkISA==",
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
"integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
"license": "BSD-2-Clause",
"engines": {
"node": ">=0.12"
},
@@ -22030,18 +21928,6 @@
"dev": true,
"license": "ISC"
},
"node_modules/yaml": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz",
"integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==",
"peer": true,
"bin": {
"yaml": "bin.mjs"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/yargs": {
"version": "17.7.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",

View File

@@ -35,7 +35,7 @@
"@nextcloud/auth": "^2.4.0",
"@nextcloud/axios": "^2.5.1",
"@nextcloud/capabilities": "^1.2.0",
"@nextcloud/dialogs": "^6.0.1",
"@nextcloud/dialogs": "^6.3.1",
"@nextcloud/event-bus": "^3.3.2",
"@nextcloud/files": "^3.10.1",
"@nextcloud/initial-state": "^2.2.0",

View File

@@ -178,7 +178,8 @@ export default {
},
},
watch: {
currentCard() {
currentCard(newCard, oldCard) {
if (newCard.id === oldCard.id) return
this.focusHeader()
},
'currentCard.title': {

View File

@@ -121,7 +121,12 @@ export default {
// do it or not based on the next element instead of always
// adding it.
// FIXME user names can contain spaces, in that case they need to be wrapped @"user name" [a-zA-Z0-9\ _\.@\-']+
const mentionValue = mention.firstElementChild.attributes['data-mention-id'].value
let mentionValue
if (mention.attributes['data-at-embedded'].value === 'true') {
mentionValue = mention.parentNode.parentNode.querySelector('.user-bubble__wrapper').attributes['data-mention-id'].value
} else {
mentionValue = mention.firstChild.attributes['data-mention-id'].value
}
if (mentionValue.indexOf(' ') !== -1) {
mention.replaceWith(' @"' + mentionValue + '" ')
} else {

View File

@@ -35,6 +35,7 @@ use OCA\Deck\Db\StackMapper;
use OCA\Deck\InvalidAttachmentType;
use OCA\Deck\Service\AttachmentService;
use OCA\Deck\Service\IAttachmentService;
use OCA\Deck\Sharing\DeckShareProvider;
use OCP\AppFramework\Utility\ITimeFactory;
use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
@@ -53,6 +54,8 @@ class DeleteCronTest extends TestCase {
private $attachmentMapper;
/** @var StackMapper|MockObject */
private $stackMapper;
/** @var DeckShareProvider */
private $deckShareProvider;
/** @var DeleteCron */
protected $deleteCron;
@@ -64,7 +67,16 @@ class DeleteCronTest extends TestCase {
$this->attachmentService = $this->createMock(AttachmentService::class);
$this->attachmentMapper = $this->createMock(AttachmentMapper::class);
$this->stackMapper = $this->createMock(StackMapper::class);
$this->deleteCron = new DeleteCron($this->timeFactory, $this->boardMapper, $this->cardMapper, $this->attachmentService, $this->attachmentMapper, $this->stackMapper);
$this->deckShareProvider = $this->createMock(DeckShareProvider::class);
$this->deleteCron = new DeleteCron(
$this->timeFactory,
$this->boardMapper,
$this->cardMapper,
$this->attachmentService,
$this->attachmentMapper,
$this->stackMapper,
$this->deckShareProvider,
);
}
protected function getBoard($id) {