Compare commits

..
Author SHA1 Message Date
grnd-altandbackportbot[bot] 8621714ab4 fix: comments with mentions cant be submitted
Signed-off-by: grnd-alt <github@belakkaf.net>
2025-10-06 16:18:18 +00:00
Nextcloud bot f044267a50 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-04 00:31:21 +00:00
Nextcloud bot 23b062a846 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-03 00:33:35 +00:00
Nextcloud bot 189aa8210f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-02 00:32:27 +00:00
Nextcloud bot 8450682c44 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-01 00:32:07 +00:00
Nextcloud bot 6a1ff4e81a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-30 00:32:06 +00:00
Nextcloud bot 189b96d594 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-28 00:31:41 +00:00
Nextcloud bot ac22d7867a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-27 00:32:18 +00:00
Nextcloud bot 5fede57c51 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-26 00:32:22 +00:00
Nextcloud bot 0b0bf1d4df fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-25 00:31:46 +00:00
Nextcloud bot 6cb1acbbab fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-24 00:31:59 +00:00
Nextcloud bot 70f2d860b5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-23 00:31:56 +00:00
Nextcloud bot 0ac2d9b2d5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-22 00:31:36 +00:00
Nextcloud bot 30118ba1ee fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-19 00:32:07 +00:00
Nextcloud bot e385e1af39 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-18 00:31:49 +00:00
Nextcloud bot dad2a865e5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-17 00:31:49 +00:00
Nextcloud bot cc2693ebe4 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-16 00:31:55 +00:00
Nextcloud bot a535fd5bb0 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-15 00:31:06 +00:00
Nextcloud bot 44e0f65dea fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-14 00:30:59 +00:00
Nextcloud bot f8cb55b094 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-13 00:31:29 +00:00
Nextcloud bot 4594d5f0d2 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-12 00:31:54 +00:00
Nextcloud bot cbe9d89163 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-11 00:31:59 +00:00
Nextcloud bot b3ce230dd2 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-09 00:33:45 +00:00
Nextcloud bot c158a5aa6a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-08 00:32:18 +00:00
Nextcloud bot 9ded00b7bb fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-07 00:33:36 +00:00
Nextcloud bot 55ea67d081 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-06 00:31:32 +00:00
Nextcloud bot 779ff6f31f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-05 00:32:08 +00:00
Nextcloud bot f47dd0f7dd fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-04 00:30:35 +00:00
Nextcloud bot c8e72e45f1 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-03 00:29:43 +00:00
Nextcloud bot 012b8a2aad fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-02 00:30:28 +00:00
Luka TrovicandGitHub 7a3bb0fa2c Merge pull request #7197 from nextcloud/backport/7128/stable30
[stable30] fix: make comments with mention editable
2025-09-01 12:00:00 +02:00
grnd-altandbackportbot[bot] b42ad7a32f fix: make comments with mention editable
Signed-off-by: grnd-alt <github@belakkaf.net>
2025-09-01 09:54:29 +00:00
Nextcloud bot 125fb5b0d6 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-30 00:29:25 +00:00
Nextcloud bot 64d6c7e78c fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-29 00:29:38 +00:00
Nextcloud bot d5f6b389df fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-28 00:29:37 +00:00
Nextcloud bot 9545b0dee3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-27 00:29:32 +00:00
Nextcloud bot 5fc1c82baa fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-26 00:30:42 +00:00
Luka TrovicandGitHub 1e102faae5 Merge pull request #7179 from nextcloud/backport/7177/stable30
[stable30] Clean attachment sharing records after permanent deleted
2025-08-25 11:39:50 +02:00
Luka Trovicandbackportbot[bot] 607c89739e fix: clean attachment sharing records after permanent deleted
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2025-08-25 08:52:39 +00:00
Nextcloud bot bac68412c5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-23 00:29:05 +00:00
Nextcloud bot dbed20ce9a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-22 00:28:56 +00:00
Nextcloud bot dc8a1b799f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-20 00:28:49 +00:00
Nextcloud bot c6c583ecbd fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-19 00:31:16 +00:00
grnd-altandGitHub c5bba36224 Merge pull request #7174 from nextcloud/backport/7162/stable30
[stable30] fix: do not change focus when card id stays the same
2025-08-18 11:16:27 +02:00
grnd-altandbackportbot[bot] 03528362a4 fix: do not change focus when card id stays the same
Signed-off-by: grnd-alt <github@belakkaf.net>
2025-08-18 09:15:46 +00:00
Nextcloud bot 0a36e5f5c3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-14 00:29:51 +00:00
Nextcloud bot 121bcdd79d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-13 00:30:26 +00:00
Nextcloud bot d24bb74be0 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-12 00:29:22 +00:00
Nextcloud bot d40562cf2e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-10 00:28:24 +00:00
Nextcloud bot 36e56e5738 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-09 00:28:50 +00:00
Nextcloud bot 40c086180e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-04 00:31:09 +00:00
Nextcloud bot ebdf4c01b1 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-03 00:28:41 +00:00
Nextcloud bot 34a3490912 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-02 00:29:09 +00:00
Nextcloud bot ab445537bf fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-01 00:28:52 +00:00
Nextcloud bot c072c2c0f2 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-30 00:29:03 +00:00
grnd-altandGitHub 0cbfa61f26 Merge pull request #7145 from nextcloud/backport/7139/stable30
[stable30] fix:  Use getId() method for card ID retrieval
2025-07-29 11:14:53 +02:00
grnd-altandbackportbot[bot] adb82eb333 fix: make labels in dialog deletable
Signed-off-by: grnd-alt <github@belakkaf.net>
2025-07-29 09:01:35 +00:00
grnd-altandbackportbot[bot] 99e7f86849 fix: dont add labels without id
Signed-off-by: grnd-alt <github@belakkaf.net>
2025-07-29 09:01:35 +00:00
Enjeck C.andbackportbot[bot] 66d94dd9df fix: Use getId() method for card ID retrieval
Signed-off-by: Enjeck C. <patrathewhiz@gmail.com>
2025-07-29 09:01:35 +00:00
Nextcloud bot 0c9ad4aaa0 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-29 00:28:44 +00:00
grnd-altandGitHub 9f6d33e337 release/1.14.6
Signed-off-by: grnd-alt <github@belakkaf.net>
2025-07-28 14:52:32 +02:00
Nextcloud bot 9218e449cf fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-28 00:28:52 +00:00
Luka TrovicandGitHub 9f0b439702 Merge pull request #7133 from nextcloud/backport/7131/stable30
[stable30] fix: acl check when delete, update board acl
2025-07-25 18:17:36 +02:00
Luka Trovicandbackportbot[bot] 5efb894ed6 fix: acl check when delete, update board acl
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2025-07-25 15:51:13 +00:00
Luka TrovicandGitHub 298e46f12b Merge pull request #7129 from nextcloud/backport/7127/stable30
[stable30] fix:allow foreign label deletion
2025-07-25 13:21:04 +02:00
grnd-altandbackportbot[bot] ede59e85ac fix:allow foreign label deletion
Signed-off-by: grnd-alt <github@belakkaf.net>
2025-07-25 10:27:09 +00:00
Nextcloud bot 1467164692 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-25 00:29:34 +00:00
Nextcloud bot 37a7c7b73a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-24 00:30:29 +00:00
Nextcloud bot ea00c9cb88 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-23 00:33:45 +00:00
Nextcloud bot 24955a06d6 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-22 00:29:09 +00:00
Luka TrovicandGitHub c266b1b3df Merge pull request #7097 from nextcloud/automated/noid/stable30-update-nextcloud-ocp
[stable30] Update nextcloud/ocp dependency
2025-07-16 11:01:18 +02:00
nextcloud-commandandLuka Trovic 115ca045fc chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-07-16 10:34:52 +02:00
dependabot[bot]andGitHub 79275848d7 Merge pull request #7049 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/l10n-3.3.0 2025-07-15 18:46:56 +00:00
dependabot[bot]andLuka Trovic 2e05254ef7 Chore(deps): Bump @nextcloud/l10n from 3.2.0 to 3.3.0
Bumps [@nextcloud/l10n](https://github.com/nextcloud-libraries/nextcloud-l10n) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-l10n/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-l10n/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-l10n/compare/v3.2.0...v3.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-15 20:43:02 +02:00
Luka TrovicandGitHub 6f4683e674 Merge pull request #7048 from nextcloud/dependabot/npm_and_yarn/stable30/babel/runtime-7.27.6
Chore(deps): Bump @babel/runtime from 7.27.1 to 7.27.6
2025-07-15 20:42:34 +02:00
dependabot[bot]andGitHub 821060bccd Merge pull request #7015 from nextcloud/dependabot/npm_and_yarn/stable30/dompurify-3.2.6 2025-07-15 18:39:25 +00:00
dependabot[bot]andLuka Trovic 56efe29aaa Chore(deps): Bump dompurify from 3.2.5 to 3.2.6
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.2.5 to 3.2.6.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.2.5...3.2.6)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-15 20:35:43 +02:00
dependabot[bot]andGitHub 976b817c64 Merge pull request #6986 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/cypress-1.0.0-beta.15 2025-07-15 18:32:02 +00:00
dependabot[bot]andLuka Trovic ef1390ac15 Chore(deps-dev): Bump @nextcloud/cypress
Bumps [@nextcloud/cypress](https://github.com/nextcloud/nextcloud-cypress) from 1.0.0-beta.13 to 1.0.0-beta.15.
- [Release notes](https://github.com/nextcloud/nextcloud-cypress/releases)
- [Commits](https://github.com/nextcloud/nextcloud-cypress/compare/v1.0.0-beta.13...v1.0.0-beta.15)

---
updated-dependencies:
- dependency-name: "@nextcloud/cypress"
  dependency-version: 1.0.0-beta.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-15 20:25:53 +02:00
Luka TrovicandGitHub 538882b414 Merge pull request #7112 from nextcloud/backport/7107/stable30
[stable30] fix: styling for new stack input field
2025-07-14 15:43:12 +02:00
Luka Trovicandbackportbot[bot] 418a86dad3 fix: styling for new stack input field
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2025-07-14 13:17:26 +00:00
Nextcloud bot 178ab996c6 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-14 00:27:53 +00:00
Nextcloud bot f194252b18 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-10 00:28:48 +00:00
Nextcloud bot 5ab8b170a1 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-09 00:29:08 +00:00
Nextcloud bot a2a5cd4f25 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-08 00:29:07 +00:00
Nextcloud bot 47a450e8cb fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-06 00:28:17 +00:00
Nextcloud bot 846336ca7f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-05 00:28:27 +00:00
Nextcloud bot 8ccb29c183 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-04 00:28:42 +00:00
Luka TrovicandGitHub 0b61d118b6 Merge pull request #7090 from nextcloud/backport/7070/stable30
[stable30] fix: add retry and show warning on description saving error
2025-07-03 17:32:34 +02:00
Luka Trovicandbackportbot[bot] 304b0c2c17 fix: add retry and show warning on description saving error
Signed-off-by: Luka Trovic <luka@nextcloud.com>

[skip ci]
2025-07-03 09:47:42 +00:00
Nextcloud bot 4d29f91d35 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-03 00:28:55 +00:00
Nextcloud bot b77c81223d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-02 00:29:17 +00:00
Nextcloud bot c0b3266ba9 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-01 00:28:32 +00:00
Nextcloud bot 54e4252499 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-30 00:27:46 +00:00
Nextcloud bot 043cff03d8 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-29 00:27:44 +00:00
Nextcloud bot 6a82964a4c fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-28 00:29:10 +00:00
Nextcloud bot e1851c408d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-28 00:28:08 +00:00
Nextcloud bot 28f39e55ba fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-27 00:43:54 +00:00
Nextcloud bot c14f7d11a5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-26 00:43:02 +00:00
Nextcloud bot 70ca2dbe40 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-25 00:43:19 +00:00
Nextcloud bot 23245a1e28 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-24 00:43:16 +00:00
Nextcloud bot 878334d3b5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-20 00:42:33 +00:00
Nextcloud bot 891d7dee43 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-19 00:42:38 +00:00
Luka TrovicandGitHub 3bd4504001 Merge pull request #7067 from nextcloud/automated/noid/stable30-fix-npm-audit
[stable30] Fix npm audit
2025-06-18 17:14:47 +02:00
Julius KnorrandGitHub d6d502e9fb Merge pull request #6999 from nextcloud/automated/noid/stable30-update-nextcloud-ocp 2025-06-18 08:34:57 +02:00
Nextcloud bot f60e8677cb fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-17 00:40:31 +00:00
Nextcloud bot 9badf91391 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-16 00:40:43 +00:00
nextcloud-commandandGitHub 5422c73c35 fix(deps): Fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2025-06-15 03:46:24 +00:00
nextcloud-commandandGitHub 09174f6ad0 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-06-15 03:34:35 +00:00
Nextcloud bot 784f327e67 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-14 00:40:06 +00:00
Elizabeth DanzbergerandGitHub f1962a7454 Merge pull request #7057 from nextcloud/automated/noid/stable30-fix-npm-audit
[stable30] Fix npm audit
2025-06-13 21:30:32 +00:00
nextcloud-commandandElizabeth Danzberger 03938578c4 fix(deps): Fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2025-06-13 16:51:09 -04:00
Luka TrovicandGitHub 82fdbcefa1 Merge pull request #7062 from nextcloud/backport/7030/stable30
[stable30] fix: unstable cypress test
2025-06-12 18:41:02 +02:00
Luka Trovicandbackportbot[bot] caf6ac193d fix: unstable cypress test
Signed-off-by: Luka Trovic <luka@nextcloud.com>

[skip ci]
2025-06-12 16:27:22 +00:00
Luka TrovicandGitHub 03ed276241 Merge pull request #7060 from nextcloud/backport/7059/stable30
[stable30] fix: not show Share with a Deck card for unauthorized users
2025-06-11 15:04:09 +02:00
Luka Trovicandbackportbot[bot] 38d3660b77 fix: not show Share with a Deck card for unauthorized users
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2025-06-11 12:40:39 +00:00
Nextcloud bot 0bffb5db6a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-11 00:44:38 +00:00
Nextcloud bot 27eeec7ba3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-10 00:40:14 +00:00
dependabot[bot]andGitHub 011c4db1be Chore(deps): Bump @babel/runtime from 7.27.1 to 7.27.6
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.27.1 to 7.27.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.27.6/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-version: 7.27.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-07 01:12:10 +00:00
Elizabeth DanzbergerandGitHub 01622b1f50 Merge pull request #7041 from nextcloud/automated/noid/stable30-fix-npm-audit
[stable30] Fix npm audit
2025-06-06 00:53:28 +00:00
nextcloud-commandandElizabeth Danzberger 70931d0d56 fix(deps): Fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2025-06-05 20:48:39 -04:00
Luka TrovicandGitHub c75bfa41ec Merge pull request #7028 from nextcloud/backport/7027/stable30
[stable30] fix: update DeleteCron to remove deleted lists
2025-06-05 20:25:45 +02:00
Luka TrovicandLuka Trovic 7c22020316 fix: update DeleteCron to remove deleted lists
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2025-06-05 20:14:07 +02:00
Luka TrovicandGitHub 5113a4c7b9 Merge pull request #7031 from nextcloud/s30-fix-integration-test
fix: integration test
2025-06-05 18:38:42 +02:00
Luka Trovic 43a471c897 fix: integraion test
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2025-06-05 18:08:52 +02:00
Nextcloud bot 774ae86b79 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-01 00:40:04 +00:00
Nextcloud bot 223a06b79a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-31 00:40:59 +00:00
Nextcloud bot 211182e5ee fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-28 00:41:42 +00:00
Nextcloud bot 7f28cd730c fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-26 00:41:12 +00:00
Nextcloud bot dadd92a378 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-23 00:40:42 +00:00
Nextcloud bot 8d14a6571c fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-22 00:41:25 +00:00
Nextcloud bot e57f106dcf fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-21 00:45:45 +00:00
Luka TrovicandGitHub b57cf8e4fe Merge pull request #7001 from nextcloud/automated/noid/stable30-fix-npm-audit
[stable30] Fix npm audit
2025-05-20 19:17:31 +02:00
nextcloud-commandandGitHub d0740cf0ae fix(deps): Fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2025-05-18 03:43:19 +00:00
Nextcloud bot 886bbc9a4c fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-18 00:41:56 +00:00
Nextcloud bot 18265357e6 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-17 00:44:05 +00:00
Nextcloud bot 495bd0a55d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-15 00:44:26 +00:00
Nextcloud bot 1a6e66aabf fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-14 00:41:41 +00:00
Nextcloud bot 456726251a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-13 00:42:52 +00:00
Nextcloud bot 98d0c35789 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-12 00:41:56 +00:00
Nextcloud bot 23343c5514 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-11 00:41:48 +00:00
Nextcloud bot b5aa9c3ed3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-10 00:44:02 +00:00
dependabot[bot]andGitHub 540f35a22c Merge pull request #6975 from nextcloud/dependabot/npm_and_yarn/stable30/babel/runtime-7.27.1 2025-05-08 15:21:21 +00:00
dependabot[bot]andLuka Trovic c8ae989380 Chore(deps): Bump @babel/runtime from 7.27.0 to 7.27.1
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.27.0 to 7.27.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.27.1/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-version: 7.27.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-08 17:20:14 +02:00
dependabot[bot]andGitHub 9a610f5d6f Merge pull request #6974 from nextcloud/dependabot/npm_and_yarn/stable30/relative-ci/agent-4.3.1 2025-05-08 15:10:32 +00:00
dependabot[bot]andLuka Trovic 16930c5e7a Chore(deps-dev): Bump @relative-ci/agent from 4.3.0 to 4.3.1
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.3.0 to 4.3.1.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.3.0...v4.3.1)

---
updated-dependencies:
- dependency-name: "@relative-ci/agent"
  dependency-version: 4.3.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-08 17:09:15 +02:00
Luka TrovicandGitHub 6ecb740508 Merge pull request #6978 from nextcloud/automated/noid/stable30-update-nextcloud-ocp
[stable30] Update nextcloud/ocp dependency
2025-05-08 15:19:50 +02:00
Luka TrovicandGitHub ea46f02833 Merge pull request #6981 from nextcloud/automated/noid/stable30-fix-npm-audit
[stable30] Fix npm audit
2025-05-08 15:18:21 +02:00
Nextcloud bot 315987f888 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-08 00:43:35 +00:00
Nextcloud bot 0b0724d833 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-07 00:43:36 +00:00
Nextcloud bot 053556d554 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-06 00:43:43 +00:00
Nextcloud bot cd0cef7494 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-05 01:11:38 +00:00
nextcloud-commandandGitHub eef27c4fb3 fix(deps): Fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2025-05-04 03:43:38 +00:00
nextcloud-commandandGitHub 051aa2afd6 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-05-04 03:19:56 +00:00
Nextcloud bot 5b1c9f8b4e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-04 00:41:47 +00:00
Nextcloud bot 8bd61286b6 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-03 00:42:59 +00:00
dependabot[bot]andGitHub 640be2d26a Merge pull request #6840 from nextcloud/dependabot/npm_and_yarn/stable30/relative-ci/agent-4.3.0 2025-05-02 16:38:01 +00:00
dependabot[bot]andLuka Trovic e8cd367334 Chore(deps-dev): Bump @relative-ci/agent from 4.2.14 to 4.3.0
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.2.14 to 4.3.0.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.2.14...v4.3.0)

---
updated-dependencies:
- dependency-name: "@relative-ci/agent"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-02 18:34:06 +02:00
Luka TrovicandGitHub cf4aa5926a Merge pull request #6868 from nextcloud/automated/noid/stable30-update-nextcloud-ocp
[stable30] Update nextcloud/ocp dependency
2025-05-02 17:55:27 +02:00
Nextcloud bot 4fe7079c09 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-02 00:43:05 +00:00
Nextcloud bot a6cc83fcf0 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-05-01 00:42:13 +00:00
grnd-altandGitHub cfe346503c Merge pull request #6957 from nextcloud/release/1.14.5
release/1.14.5
2025-04-29 13:15:50 +02:00
grnd-alt de9d9e5e68 release/1.14.5
Signed-off-by: grnd-alt <github@belakkaf.net>
2025-04-29 13:05:17 +02:00
Julius KnorrandGitHub 2fde8eaf2e Merge pull request #6953 from nextcloud/backport/6933/stable30
[stable30] fix: Limit label actions to labels of the cards board
2025-04-29 12:30:49 +02:00
grnd-altandGitHub 508cf46909 fix: only delete assignments on unshared board (#6935)
Signed-off-by: grnd-alt <github@belakkaf.net>
2025-04-29 11:48:59 +02:00
Nextcloud bot 3c9403bef3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-29 00:42:27 +00:00
Julius Knorr 4b17dc9813 chore: Update base query count
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-04-28 13:37:34 +02:00
Julius Knorrandgrnd-alt 1fb221e5d3 tests: Fix unit test mocking around label checks
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-04-28 11:37:22 +02:00
Julius Härtlandbackportbot[bot] c465d15fb2 fix: Limit label actions to labels of the cards board
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2025-04-28 08:43:33 +00:00
Julius KnorrandGitHub 07d4184d47 Merge pull request #6948 from nextcloud/automated/noid/stable30-fix-npm-audit
[stable30] Fix npm audit
2025-04-28 08:52:32 +02:00
Nextcloud bot 039992dfe5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-28 00:42:40 +00:00
nextcloud-commandandGitHub fe2bcda335 fix(deps): Fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2025-04-27 03:50:25 +00:00
nextcloud-commandandGitHub 7bd65078be chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-04-27 03:13:35 +00:00
Nextcloud bot 7a80acb77f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-27 00:42:09 +00:00
dependabot[bot]andGitHub 445942e1c9 Merge pull request #6939 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/vue-8.26.0 2025-04-26 02:05:08 +00:00
dependabot[bot]andGitHub 24539a6a1c Chore(deps): Bump @nextcloud/vue from 8.25.1 to 8.26.0
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.25.1 to 8.26.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.25.1...v8.26.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-26 01:20:33 +00:00
Nextcloud bot 56ceb4d889 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-25 00:42:03 +00:00
Nextcloud bot 69442f217b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-24 00:42:57 +00:00
0764bd9724 [stable30] chore: update workflows from templates (#6921)
* chore: update workflows from templates

Signed-off-by: grnd-alt <github@belakkaf.net>

* chore: set minimum phpVersion for psalm

Signed-off-by: grnd-alt <github@belakkaf.net>

---------

Signed-off-by: grnd-alt <github@belakkaf.net>
Co-authored-by: grnd-alt <github@belakkaf.net>
2025-04-23 13:47:43 +02:00
Nextcloud bot 7318c3291d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-23 00:42:11 +00:00
dependabot[bot]andGitHub 835e7fa69e Merge pull request #6923 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/vue-8.25.1 2025-04-19 01:35:22 +00:00
dependabot[bot]andGitHub 1ac098b418 Chore(deps): Bump @nextcloud/vue from 8.24.0 to 8.25.1
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.24.0 to 8.25.1.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/v8.25.1/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.24.0...v8.25.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-19 01:29:46 +00:00
Nextcloud bot fa8af18f82 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-18 00:43:15 +00:00
Luka TrovicandGitHub 20aff5bbc3 Merge pull request #6914 from nextcloud/backport/6902/stable30
[stable30] Clear selected stack when selected board changed
2025-04-17 09:10:38 +02:00
Nextcloud bot 18efab07a2 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-17 00:42:42 +00:00
Nextcloud bot 8f698a29f6 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-16 00:43:56 +00:00
Luka Trovicandbackportbot[bot] dd0818382a fix: clear selected stack when selected board changed
Signed-off-by: Luka Trovic <luka@nextcloud.com>

[skip ci]
2025-04-15 16:36:14 +00:00
Luka TrovicandGitHub a14e5685a3 Merge pull request #6911 from nextcloud/automated/noid/stable30-fix-npm-audit
[stable30] Fix npm audit
2025-04-14 13:38:56 +02:00
nextcloud-commandandGitHub 9af4c58506 fix(deps): Fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2025-04-13 04:31:04 +00:00
dependabot[bot]andGitHub 28de118ee2 Merge pull request #6909 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/webpack-vue-config-6.3.0 2025-04-12 02:09:30 +00:00
dependabot[bot]andGitHub c163a608a6 Chore(deps-dev): Bump @nextcloud/webpack-vue-config from 6.2.0 to 6.3.0
Bumps [@nextcloud/webpack-vue-config](https://github.com/nextcloud-libraries/webpack-vue-config) from 6.2.0 to 6.3.0.
- [Release notes](https://github.com/nextcloud-libraries/webpack-vue-config/releases)
- [Changelog](https://github.com/nextcloud-libraries/webpack-vue-config/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/webpack-vue-config/compare/v6.2.0...v6.3.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/webpack-vue-config"
  dependency-version: 6.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-12 01:50:19 +00:00
Nextcloud bot 6f1352d018 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-12 00:44:06 +00:00
Elizabeth DanzbergerandGitHub a6b2d207ee Merge pull request #6887 from nextcloud/automated/noid/stable30-fix-npm-audit
[stable30] Fix npm audit
2025-04-11 16:26:12 -04:00
Nextcloud bot 2dfb3d6379 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-11 00:43:43 +00:00
Nextcloud bot 83922f26b3 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-10 00:42:56 +00:00
Julius KnorrandGitHub 2d96431bdc Merge pull request #6895 from nextcloud/backport/6893/stable30 2025-04-09 20:15:21 +02:00
Julius Knorrandbackportbot[bot] 6f5df944ad perf: Skip doing a query just to check if a board is deleted
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-04-08 21:00:24 +00:00
nextcloud-commandandGitHub 021e9e3bfd fix(deps): Fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2025-04-06 03:27:57 +00:00
Nextcloud bot e3de1ed923 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-06 00:44:09 +00:00
dependabot[bot]andGitHub 734964e77a Merge pull request #6882 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/vue-8.24.0 2025-04-05 01:50:29 +00:00
dependabot[bot]andGitHub a5f8a73f6b Merge pull request #6881 from nextcloud/dependabot/npm_and_yarn/stable30/dompurify-3.2.5 2025-04-05 01:49:53 +00:00
dependabot[bot]andGitHub 7e54d0d6c8 Chore(deps): Bump @nextcloud/vue from 8.23.1 to 8.24.0
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.23.1 to 8.24.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/8.23.1...v8.24.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-05 01:33:53 +00:00
dependabot[bot]andGitHub e1fc729275 Chore(deps): Bump dompurify from 3.2.4 to 3.2.5
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.2.4 to 3.2.5.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.2.4...3.2.5)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-05 01:33:39 +00:00
Nextcloud bot 032029357b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-04 00:42:56 +00:00
Nextcloud bot 07f04be59d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-02 00:43:24 +00:00
Nextcloud bot 21d26a4536 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-30 00:44:14 +00:00
dependabot[bot]andGitHub 697ef8d187 Merge pull request #6866 from nextcloud/dependabot/npm_and_yarn/stable30/babel/runtime-7.27.0 2025-03-29 02:55:09 +00:00
dependabot[bot]andGitHub 87f4117164 Chore(deps): Bump @babel/runtime from 7.26.10 to 7.27.0
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.26.10 to 7.27.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.27.0/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-29 02:40:23 +00:00
Nextcloud bot c2b08b7e2f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-29 00:43:42 +00:00
Nextcloud bot 74ea201db0 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-28 00:44:55 +00:00
Nextcloud bot 65c3404d39 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-27 00:44:49 +00:00
Nextcloud bot 2742273f5c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-25 00:43:47 +00:00
Nextcloud bot 72917dfa28 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-24 00:43:06 +00:00
Nextcloud bot e83cc8f6e2 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-23 00:43:36 +00:00
dependabot[bot]andGitHub adefe30352 Merge pull request #6804 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/eslint-config-8.4.2 2025-03-21 15:06:06 +00:00
dependabot[bot]andGitHub 9314e3a2c3 chore(deps-dev): bump @nextcloud/eslint-config from 8.4.1 to 8.4.2
Bumps [@nextcloud/eslint-config](https://github.com/nextcloud-libraries/eslint-config) from 8.4.1 to 8.4.2.
- [Release notes](https://github.com/nextcloud-libraries/eslint-config/releases)
- [Changelog](https://github.com/nextcloud-libraries/eslint-config/blob/v8.4.2/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/eslint-config/compare/v8.4.1...v8.4.2)

---
updated-dependencies:
- dependency-name: "@nextcloud/eslint-config"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-21 15:01:31 +00:00
Luka TrovicandGitHub 5812050f10 Merge pull request #6844 from nextcloud/automated/noid/stable30-fix-npm-audit
[stable30] Fix npm audit
2025-03-21 15:59:13 +01:00
Nextcloud bot 09f6a39e7c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-20 00:45:38 +00:00
Nextcloud bot b840d9b1e0 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-18 00:45:15 +00:00
nextcloud-commandandGitHub ac347e8a84 fix(deps): Fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2025-03-16 03:42:10 +00:00
Nextcloud bot 67e297084d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-16 00:43:47 +00:00
dependabot[bot]andGitHub 135a1a007b Merge pull request #6839 from nextcloud/dependabot/npm_and_yarn/stable30/babel/runtime-7.26.10 2025-03-15 02:54:17 +00:00
dependabot[bot]andGitHub 7de5b241d2 Chore(deps): Bump @babel/runtime from 7.26.9 to 7.26.10
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.26.9 to 7.26.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.10/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-15 02:25:03 +00:00
Nextcloud bot 62e1839485 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-15 00:45:27 +00:00
Nextcloud bot 035e45735c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-12 00:44:30 +00:00
Luka TrovicandGitHub c3394ed72d Merge pull request #6826 from nextcloud/automated/noid/stable30-update-nextcloud-ocp
[stable30] Update nextcloud/ocp dependency
2025-03-11 19:13:10 +01:00
nextcloud-commandandGitHub 5aaa5903dd chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-03-09 02:36:58 +00:00
Nextcloud bot 08fc1d1f21 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-03 00:42:25 +00:00
dependabot[bot]andGitHub 1a8591a1f3 Merge pull request #6801 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/event-bus-3.3.2 2025-03-01 02:14:38 +00:00
dependabot[bot]andGitHub a74a6badbe chore(deps): bump @nextcloud/event-bus from 3.3.1 to 3.3.2
Bumps [@nextcloud/event-bus](https://github.com/nextcloud/nextcloud-event-bus) from 3.3.1 to 3.3.2.
- [Release notes](https://github.com/nextcloud/nextcloud-event-bus/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-event-bus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-event-bus/compare/v3.3.1...v3.3.2)

---
updated-dependencies:
- dependency-name: "@nextcloud/event-bus"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-01 02:05:18 +00:00
Nextcloud bot 7a32e1ff61 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-01 01:05:13 +00:00
Nextcloud bot a782fe63c6 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-27 00:44:29 +00:00
dependabot[bot]andGitHub 4b59fbdda7 Merge pull request #6766 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/files-3.10.2 2025-02-26 15:21:14 +00:00
dependabot[bot]andLuka Trovic b2f36b1687 chore(deps): bump @nextcloud/files from 3.10.1 to 3.10.2
---
updated-dependencies:
- dependency-name: "@nextcloud/files"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-26 16:12:22 +01:00
Luka TrovicandGitHub d900537f7d Merge pull request #6792 from nextcloud/automated/noid/stable30-fix-npm-audit
[stable30] Fix npm audit
2025-02-26 10:03:04 +01:00
Luka TrovicandGitHub 20752f53cd Merge pull request #6791 from nextcloud/automated/noid/stable30-update-nextcloud-ocp
[stable30] Update nextcloud/ocp dependency
2025-02-26 10:00:03 +01:00
Nextcloud bot 5cde5f834f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-25 00:45:16 +00:00
Nextcloud bot 6f45de6bde Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-24 00:41:58 +00:00
nextcloud-commandandGitHub 6034cc3838 fix(deps): Fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2025-02-23 03:35:52 +00:00
nextcloud-commandandGitHub bf71460c62 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-02-23 03:00:00 +00:00
Nextcloud bot fb59063e1c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-22 00:41:57 +00:00
Luka TrovicandGitHub a4e40ec11e Merge pull request #6780 from nextcloud/release/1.14.4
chore(release): bump version to 1.14.4
2025-02-21 19:06:28 +01:00
Luka Trovic a0da308164 bump version to 1.14.4
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2025-02-21 16:15:27 +01:00
Nextcloud bot 2fdbf7dd01 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-21 00:41:25 +00:00
Luka TrovicandGitHub bc5fd69969 Merge pull request #6769 from nextcloud/automated/noid/stable30-update-nextcloud-ocp
[stable30] Update nextcloud/ocp dependency
2025-02-20 17:23:55 +01:00
Nextcloud bot f1c0b03d58 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-20 00:43:30 +00:00
Nextcloud bot 1555c6c277 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-19 00:42:15 +00:00
Nextcloud bot 609ecb8d78 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-18 00:42:09 +00:00
Nextcloud bot 838d29093a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-17 00:41:34 +00:00
nextcloud-commandandGitHub 1e44b744a5 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-02-16 02:58:00 +00:00
Nextcloud bot 3059fa42ca Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-16 01:06:45 +00:00
dependabot[bot]andGitHub 8741ac0728 Merge pull request #6765 from nextcloud/dependabot/npm_and_yarn/stable30/babel/runtime-7.26.9 2025-02-15 04:05:51 +00:00
dependabot[bot]andGitHub 724ed2e78d chore(deps): bump @babel/runtime from 7.26.7 to 7.26.9
---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-15 04:01:03 +00:00
dependabot[bot]andGitHub cdc51e7d94 Merge pull request #6761 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/vue-8.23.1 2025-02-15 03:54:50 +00:00
dependabot[bot]andGitHub 8fc2e02e29 chore(deps): bump @nextcloud/vue from 8.22.0 to 8.23.1
---
updated-dependencies:
- dependency-name: "@nextcloud/vue"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-15 03:49:57 +00:00
Nextcloud bot b0f58331af Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-15 00:41:58 +00:00
Nextcloud bot 136cbdf2cb Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-14 00:42:28 +00:00
Nextcloud bot 9852a3ccf8 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-13 00:42:13 +00:00
Nextcloud bot c2787f2500 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-12 00:43:14 +00:00
Nextcloud bot 81a67e84b3 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-11 00:41:52 +00:00
Nextcloud bot 44d6981ec6 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-09 00:41:48 +00:00
dependabot[bot]andGitHub ba841069e5 Merge pull request #6727 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/cypress-1.0.0-beta.13 2025-02-08 02:22:22 +00:00
dependabot[bot]andGitHub 39867846a7 chore(deps-dev): bump @nextcloud/cypress
Bumps [@nextcloud/cypress](https://github.com/nextcloud/nextcloud-cypress) from 1.0.0-beta.12 to 1.0.0-beta.13.
- [Release notes](https://github.com/nextcloud/nextcloud-cypress/releases)
- [Commits](https://github.com/nextcloud/nextcloud-cypress/compare/v1.0.0-beta.12...v1.0.0-beta.13)

---
updated-dependencies:
- dependency-name: "@nextcloud/cypress"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-08 02:08:50 +00:00
Luka TrovicandGitHub 17bd927f85 Merge pull request #6718 from nextcloud/automated/noid/stable30-update-nextcloud-ocp
[stable30] Update nextcloud/ocp dependency
2025-02-07 17:18:34 +01:00
Luka Trovic ecec14bf53 fix: update query count
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2025-02-07 17:12:32 +01:00
Nextcloud bot c94e8d9199 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-07 00:41:30 +00:00
Nextcloud bot 95970a2f94 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-05 00:43:25 +00:00
Elizabeth DanzbergerandGitHub 5cb1afac84 Merge pull request #6722 from nextcloud/backport/6692/stable30
[stable30] fix: skip exporting a deleted card
2025-02-04 14:25:03 -05:00
Elizabeth Danzbergerandbackportbot[bot] 4bf0f33234 fix: skip exporting a deleted card
Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
2025-02-04 18:28:10 +00:00
Nextcloud bot c22181cc2e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-03 01:02:38 +00:00
nextcloud-commandandGitHub b6bf1ced09 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-02-02 02:52:42 +00:00
Nextcloud bot 5a45a1cd4c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-02 00:42:34 +00:00
Luka TrovicandGitHub 1bc35e8f4e Merge pull request #6700 from nextcloud/automated/noid/stable30-update-nextcloud-ocp
[stable30] Update nextcloud/ocp dependency
2025-02-01 17:44:59 +01:00
dependabot[bot]andGitHub 986abc2e49 Merge pull request #6714 from nextcloud/dependabot/npm_and_yarn/stable30/dompurify-3.2.4 2025-02-01 03:31:43 +00:00
dependabot[bot]andGitHub 50234f35bf chore(deps): bump dompurify from 3.2.3 to 3.2.4
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.2.3...3.2.4)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-01 02:55:41 +00:00
Nextcloud bot 4fda41741d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-28 00:41:19 +00:00
Julius KnorrandGitHub 54df23741b Merge pull request #6673 from nextcloud/backport/6671/stable30
[stable30] fix: Properly show attachment extension
2025-01-27 10:44:43 +01:00
Nextcloud bot bcbcd191a1 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-27 00:40:25 +00:00
nextcloud-commandandGitHub 75b0c568cc chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-01-26 02:51:47 +00:00
dependabot[bot]andGitHub acc16b57c8 Merge pull request #6697 from nextcloud/dependabot/npm_and_yarn/stable30/babel/runtime-7.26.7 2025-01-25 03:30:35 +00:00
dependabot[bot]andGitHub 3fb15c5fc5 chore(deps): bump @babel/runtime from 7.26.0 to 7.26.7
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.26.0 to 7.26.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.7/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-25 03:23:10 +00:00
Nextcloud bot e78f70302d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-25 01:01:26 +00:00
Nextcloud bot 5e6596a949 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-24 00:41:39 +00:00
dependabot[bot]andGitHub 6672844704 Merge pull request #6686 from nextcloud/dependabot/npm_and_yarn/stable30/p-queue-8.1.0 2025-01-23 19:17:04 +00:00
dependabot[bot]andGitHub 43cff1c3f6 chore(deps): bump p-queue from 8.0.1 to 8.1.0
Bumps [p-queue](https://github.com/sindresorhus/p-queue) from 8.0.1 to 8.1.0.
- [Release notes](https://github.com/sindresorhus/p-queue/releases)
- [Commits](https://github.com/sindresorhus/p-queue/compare/v8.0.1...v8.1.0)

---
updated-dependencies:
- dependency-name: p-queue
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-23 19:10:49 +00:00
Nextcloud bot 4d59da0513 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-23 00:41:46 +00:00
Nextcloud bot 3d8cfbab85 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-22 00:43:23 +00:00
Nextcloud bot c4ed5198a9 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-21 00:42:20 +00:00
Julius Härtlandbackportbot[bot] 5cf65cfed7 fix: Properly show attachment extension
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2025-01-20 14:05:28 +00:00
Nextcloud bot 7af03f1a1d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-18 00:41:03 +00:00
Nextcloud bot 70a1d52fd3 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-16 00:41:01 +00:00
Julius KnorrandGitHub 229c6dd752 Merge pull request #6656 from nextcloud/automated/noid/stable30-update-nextcloud-ocp
[stable30] Update nextcloud/ocp dependency
2025-01-15 12:02:57 +01:00
Nextcloud bot 1d84ceed4e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-15 00:41:17 +00:00
grnd-altandGitHub 633c60592f Merge pull request #6662 from nextcloud/release/1.14.3
release/1.14.3
2025-01-14 12:20:14 +01:00
grnd-alt 5126de1719 release/1.14.3
Signed-off-by: grnd-alt <git@belakkaf.net>
2025-01-14 11:47:40 +01:00
Luka TrovicandGitHub 0407d2109c Merge pull request #6659 from nextcloud/backport/6496/stable30
[stable30] fix: two close buttons on card modal
2025-01-14 11:21:52 +01:00
Luka Trovicandbackportbot[bot] 4819771561 fix: two close buttons on card modal
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2025-01-14 09:48:20 +00:00
Nextcloud bot df064d07da Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-13 00:40:00 +00:00
nextcloud-commandandGitHub b9a013d364 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-01-12 03:03:12 +00:00
Julius KnorrandGitHub c7b30b0df2 Merge pull request #6652 from nextcloud/backport/6646/stable30
[stable30] fix: Catch not found card
2025-01-10 13:21:30 +01:00
Julius Knorrandbackportbot[bot] 5d109684fc fix: Catch not found card
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-01-10 12:02:59 +00:00
Nextcloud bot dfdc148593 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-08 00:41:29 +00:00
Nextcloud bot c76545e410 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-06 00:52:30 +00:00
Nextcloud bot bd169f9229 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-05 00:42:09 +00:00
Nextcloud bot 54568805cb Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-04 00:41:21 +00:00
dependabot[bot]andGitHub 6c16c307a7 Merge pull request #6634 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/vue-8.22.0 2024-12-28 03:49:01 +00:00
dependabot[bot]andGitHub 6114626e29 chore(deps): bump @nextcloud/vue from 8.21.0 to 8.22.0
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.21.0 to 8.22.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.21.0...v8.22.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-28 03:43:35 +00:00
Nextcloud bot 016f471516 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-12-27 00:40:49 +00:00
Nextcloud bot 8535f7fe98 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-12-26 00:41:16 +00:00
Nextcloud bot 06eb2cf20d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-12-23 00:41:12 +00:00
Nextcloud bot ed9896ca79 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-12-22 00:42:38 +00:00
dependabot[bot]andGitHub eb21f79323 Merge pull request #6625 from nextcloud/dependabot/npm_and_yarn/stable30/cypress-13.17.0 2024-12-21 02:18:53 +00:00
dependabot[bot]andGitHub dfc472fb0e chore(deps-dev): bump cypress from 13.16.1 to 13.17.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 13.16.1 to 13.17.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v13.16.1...v13.17.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-21 02:11:38 +00:00
Nextcloud bot b022d4a007 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-12-21 00:41:13 +00:00
Nextcloud bot 6bf3104419 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-12-20 00:42:10 +00:00
grnd-altandGitHub 562a491f2e Merge pull request #6619 from nextcloud/backport/6617/stable30
[stable30] fix: close modal after deleting card
2024-12-19 14:11:57 +01:00
Luutzen Radiosphereandbackportbot[bot] 3b07fbcaac fix: close modal after deleting card
Signed-off-by: Luutzen Dijkstra <luutzen.dijkstra@gmail.com>
2024-12-19 11:33:58 +00:00
dependabot[bot]andGitHub c4f1abd3e2 Merge pull request #6584 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/cypress-1.0.0-beta.12 2024-12-18 22:37:18 +00:00
Julius KnorrandGitHub 7ad37067bc Merge pull request #6587 from nextcloud/automated/noid/stable30-update-nextcloud-ocp
[stable30] Update nextcloud/ocp dependency
2024-12-18 20:08:00 +01:00
Julius KnorrandGitHub 81bd5e279a Merge pull request #6612 from nextcloud/backport/6611/stable30
[stable30] fix: Use new query builder
2024-12-18 18:57:13 +01:00
Julius Knorrandbackportbot[bot] 9be1a0ed90 fix: Use new query builder
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2024-12-18 07:48:54 +00:00
Julius KnorrandGitHub 22470ee050 Merge pull request #6588 from nextcloud/automated/noid/stable30-fix-npm-audit
[stable30] Fix npm audit
2024-12-16 23:45:52 +01:00
Nextcloud bot f76f8e54d7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-12-16 00:39:58 +00:00
nextcloud-commandandGitHub 9608b6ac48 fix(deps): Fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2024-12-15 03:39:27 +00:00
nextcloud-commandandGitHub 06c2a4da3b chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2024-12-15 03:12:54 +00:00
dependabot[bot]andGitHub 25d9206c38 Merge pull request #6598 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/moment-1.3.2 2024-12-14 02:43:16 +00:00
dependabot[bot]andGitHub f16aa05258 Merge pull request #6597 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/files-3.10.1 2024-12-14 02:42:01 +00:00
dependabot[bot]andGitHub e7c5306b59 Merge pull request #6596 from nextcloud/dependabot/npm_and_yarn/stable30/dompurify-3.2.3 2024-12-14 02:40:05 +00:00
dependabot[bot]andGitHub 438f741eca Chore(deps): Bump @nextcloud/moment from 1.3.1 to 1.3.2
Bumps [@nextcloud/moment](https://github.com/nextcloud/nextcloud-moment) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/nextcloud/nextcloud-moment/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-moment/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-moment/compare/v1.3.1...v1.3.2)

---
updated-dependencies:
- dependency-name: "@nextcloud/moment"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-14 02:32:12 +00:00
dependabot[bot]andGitHub 147b3facfd Chore(deps): Bump @nextcloud/files from 3.10.0 to 3.10.1
Bumps [@nextcloud/files](https://github.com/nextcloud-libraries/nextcloud-files) from 3.10.0 to 3.10.1.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-files/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-files/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-files/compare/v3.10.0...v3.10.1)

---
updated-dependencies:
- dependency-name: "@nextcloud/files"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-14 02:31:58 +00:00
dependabot[bot]andGitHub 46ca498bd1 Chore(deps): Bump dompurify from 3.2.2 to 3.2.3
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.2.2 to 3.2.3.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.2.2...3.2.3)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-14 02:31:50 +00:00
dependabot[bot]andGitHub fb9b9b37be Merge pull request #6583 from nextcloud/dependabot/npm_and_yarn/stable30/cypress-13.16.1 2024-12-07 03:02:51 +00:00
dependabot[bot]andGitHub 9d4f9ad55e Chore(deps-dev): Bump @nextcloud/cypress
Bumps [@nextcloud/cypress](https://github.com/nextcloud/nextcloud-cypress) from 1.0.0-beta.11 to 1.0.0-beta.12.
- [Release notes](https://github.com/nextcloud/nextcloud-cypress/releases)
- [Commits](https://github.com/nextcloud/nextcloud-cypress/compare/v1.0.0-beta.11...v1.0.0-beta.12)

---
updated-dependencies:
- dependency-name: "@nextcloud/cypress"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-07 02:34:44 +00:00
dependabot[bot]andGitHub cdd806910c Chore(deps-dev): Bump cypress from 13.16.0 to 13.16.1
Bumps [cypress](https://github.com/cypress-io/cypress) from 13.16.0 to 13.16.1.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v13.16.0...v13.16.1)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-07 02:34:33 +00:00
Nextcloud bot b348d63e9b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-12-07 00:43:10 +00:00
Luka TrovicandGitHub 905efa307c Merge pull request #6576 from nextcloud/backport/6574/stable30
[stable30] fix: new card input spacing
2024-12-06 09:54:23 +01:00
Luka Trovicandbackportbot[bot] e70e31c843 fix: new card input spacing
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2024-12-06 08:43:40 +00:00
Nextcloud bot c9570631e6 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-12-06 00:47:09 +00:00
dependabot[bot]andGitHub 68a6cf7eb5 Merge pull request #6559 from nextcloud/dependabot/npm_and_yarn/stable30/relative-ci/agent-4.2.14 2024-11-30 02:23:51 +00:00
dependabot[bot]andGitHub d446bb528f Merge pull request #6558 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/cypress-1.0.0-beta.11 2024-11-30 02:23:43 +00:00
dependabot[bot]andGitHub 450f60730e Merge pull request #6557 from nextcloud/dependabot/npm_and_yarn/stable30/dompurify-3.2.2 2024-11-30 02:18:35 +00:00
dependabot[bot]andGitHub 8ff3839de3 Chore(deps-dev): Bump @relative-ci/agent from 4.2.13 to 4.2.14
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.2.13 to 4.2.14.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.2.13...v4.2.14)

---
updated-dependencies:
- dependency-name: "@relative-ci/agent"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-30 02:13:48 +00:00
dependabot[bot]andGitHub c30c0ea10f Chore(deps-dev): Bump @nextcloud/cypress
Bumps [@nextcloud/cypress](https://github.com/nextcloud/nextcloud-cypress) from 1.0.0-beta.10 to 1.0.0-beta.11.
- [Release notes](https://github.com/nextcloud/nextcloud-cypress/releases)
- [Commits](https://github.com/nextcloud/nextcloud-cypress/compare/1.0.0-beta.10...v1.0.0-beta.11)

---
updated-dependencies:
- dependency-name: "@nextcloud/cypress"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-30 02:13:36 +00:00
dependabot[bot]andGitHub d4572e3c0b Chore(deps): Bump dompurify from 3.2.1 to 3.2.2
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.2.1 to 3.2.2.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.2.1...3.2.2)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-30 02:13:16 +00:00
grnd-altandGitHub 8ce6adf276 Merge pull request #6524 from nextcloud/backport/6471/stable30
[stable30] fix(sharing): list accounts with matches in email
2024-11-25 13:03:10 +01:00
Julius KnorrandGitHub f95252e8a6 Merge pull request #6549 from nextcloud/automated/noid/stable30-fix-npm-audit
[stable30] Fix npm audit
2024-11-25 08:31:48 +01:00
Nextcloud bot 048ba91ca7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-11-25 00:39:42 +00:00
nextcloud-commandandGitHub ba983d6fbf fix(deps): Fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2024-11-24 03:31:27 +00:00
Nextcloud bot b1249aa364 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-11-24 00:39:44 +00:00
dependabot[bot]andGitHub ae775a4a7f Merge pull request #6542 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/cypress-1.0.0-beta.10 2024-11-23 03:27:14 +00:00
dependabot[bot]andGitHub 819a5c4715 Merge pull request #6541 from nextcloud/dependabot/npm_and_yarn/stable30/dompurify-3.2.1 2024-11-23 03:19:03 +00:00
dependabot[bot]andGitHub f29cd18c1e Chore(deps): Bump dompurify from 3.2.0 to 3.2.1
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.2.0...3.2.1)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-23 03:10:40 +00:00
dependabot[bot]andGitHub 6d4097ed93 Merge pull request #6543 from nextcloud/dependabot/npm_and_yarn/stable30/cypress-13.16.0 2024-11-23 03:10:09 +00:00
dependabot[bot]andGitHub 98a0dc82f3 Merge pull request #6540 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/vue-8.21.0 2024-11-23 03:09:54 +00:00
dependabot[bot]andGitHub 8ad36025c9 Chore(deps-dev): Bump cypress from 13.15.2 to 13.16.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 13.15.2 to 13.16.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v13.15.2...v13.16.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-23 02:21:54 +00:00
dependabot[bot]andGitHub 3150ba9fe3 Chore(deps-dev): Bump @nextcloud/cypress
Bumps [@nextcloud/cypress](https://github.com/nextcloud/nextcloud-cypress) from 1.0.0-beta.9 to 1.0.0-beta.10.
- [Release notes](https://github.com/nextcloud/nextcloud-cypress/releases)
- [Commits](https://github.com/nextcloud/nextcloud-cypress/compare/v1.0.0-beta.9...1.0.0-beta.10)

---
updated-dependencies:
- dependency-name: "@nextcloud/cypress"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-23 02:21:43 +00:00
dependabot[bot]andGitHub ee73876d2e Chore(deps): Bump @nextcloud/vue from 8.19.0 to 8.21.0
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.19.0 to 8.21.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.19.0...v8.21.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-23 02:21:18 +00:00
Nextcloud bot 4efc819f31 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-11-21 00:40:44 +00:00
Maxandbackportbot[bot] 6fdd55993c fix(sharing): list accounts with matches in email
* Show users with matches in the email address.
* List email addresses in sharing dialog.

`NcSelect` filters the options based on matches in `label` and `subname`.
By using the email address as a subname we ensure
options with a matching email address are shown.

Signed-off-by: Max <max@nextcloud.com>
2024-11-20 09:17:36 +00:00
Nextcloud bot f1cae1d706 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-11-18 00:38:38 +00:00
dependabot[bot]andGitHub e0abc77943 Merge pull request #6500 from nextcloud/dependabot/npm_and_yarn/stable30/dompurify-3.2.0 2024-11-16 04:10:23 +00:00
dependabot[bot]andGitHub 2aa082ea57 Merge pull request #6501 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/files-3.10.0 2024-11-16 03:11:54 +00:00
dependabot[bot]andGitHub 395889331a Chore(deps): Bump @nextcloud/files from 3.9.1 to 3.10.0
Bumps [@nextcloud/files](https://github.com/nextcloud-libraries/nextcloud-files) from 3.9.1 to 3.10.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-files/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-files/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-files/commits/v3.10.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-16 02:18:39 +00:00
dependabot[bot]andGitHub c61f361e47 Chore(deps): Bump dompurify from 3.1.7 to 3.2.0
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.1.7 to 3.2.0.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.1.7...3.2.0)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-16 02:18:19 +00:00
Nextcloud bot 30743a31d9 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-11-11 00:40:30 +00:00
dependabot[bot]andGitHub a392507cc5 Merge pull request #6485 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/dialogs-5.3.8 2024-11-09 03:17:39 +00:00
dependabot[bot]andGitHub fc96100022 Merge pull request #6484 from nextcloud/dependabot/npm_and_yarn/stable30/cypress-13.15.2 2024-11-09 03:17:05 +00:00
dependabot[bot]andGitHub 9cc4be0dbb Chore(deps): Bump @nextcloud/dialogs from 5.3.7 to 5.3.8
Bumps [@nextcloud/dialogs](https://github.com/nextcloud-libraries/nextcloud-dialogs) from 5.3.7 to 5.3.8.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-dialogs/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-dialogs/blob/v5.3.8/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-dialogs/compare/v5.3.7...v5.3.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-09 03:12:21 +00:00
dependabot[bot]andGitHub 7274ae23e6 Chore(deps-dev): Bump cypress from 13.15.0 to 13.15.2
Bumps [cypress](https://github.com/cypress-io/cypress) from 13.15.0 to 13.15.2.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v13.15.0...v13.15.2)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-09 03:12:11 +00:00
Luka TrovicandGitHub 7d9362ef50 Merge pull request #6478 from nextcloud/release/1.14.2
chore(release): bump version to 1.14.2
2024-11-08 19:44:38 +01:00
Luka Trovic 667be29233 bump version to 1.14.2
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2024-11-08 19:18:51 +01:00
Luka TrovicandGitHub c438a665ae Merge pull request #6470 from nextcloud/automated/noid/stable30-update-nextcloud-ocp
[stable30] Update nextcloud/ocp dependency
2024-11-07 14:09:31 +01:00
Luka TrovicandGitHub b6bba78541 Merge pull request #6450 from nextcloud/automated/noid/stable30-fix-npm-audit
[stable30] Fix npm audit
2024-11-07 08:53:24 +01:00
Luka TrovicandGitHub 3a5c865bbb Merge pull request #6477 from nextcloud/backport/6461/stable30
[stable30] fix: board bubble preview widget
2024-11-04 18:31:52 +01:00
Luka Trovicandbackportbot[bot] 14503d2f3d fix: board bubble preview widget
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2024-11-04 17:27:05 +00:00
Nextcloud bot 2c49c4e1ea Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-11-04 00:42:48 +00:00
nextcloud-commandandGitHub 847fc3bd32 fix(deps): Fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2024-11-03 03:32:34 +00:00
nextcloud-commandandGitHub 3cd0e8c324 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2024-11-03 03:00:07 +00:00
dependabot[bot]andGitHub ba8fe8ba1f Merge pull request #6464 from nextcloud/dependabot/npm_and_yarn/stable30/relative-ci/agent-4.2.13 2024-11-02 03:17:19 +00:00
dependabot[bot]andGitHub 34566c6542 Chore(deps-dev): Bump @relative-ci/agent from 4.2.12 to 4.2.13
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.2.12 to 4.2.13.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.2.12...v4.2.13)

---
updated-dependencies:
- dependency-name: "@relative-ci/agent"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-02 03:11:30 +00:00
dependabot[bot]andGitHub 835d61985a Merge pull request #6444 from nextcloud/dependabot/npm_and_yarn/stable30/babel/runtime-7.26.0 2024-10-26 03:06:55 +00:00
dependabot[bot]andGitHub 03cfe95073 Chore(deps): Bump @babel/runtime from 7.25.7 to 7.26.0
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.25.7 to 7.26.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.0/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-26 02:42:08 +00:00
Nextcloud bot 37b0c376ed Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-10-26 00:39:02 +00:00
Julius KnorrandGitHub 4e954fce21 Merge pull request #6421 from nextcloud/deps/noid/bump-ocp-stable30
[stable30] chore(dev-deps): Bump nextcloud/ocp package
2024-10-25 13:17:36 +02:00
Luka TrovicandGitHub 814ad66f4a Merge pull request #6411 from nextcloud/automated/noid/stable30-fix-npm-audit
[stable30] Fix npm audit
2024-10-25 10:26:14 +02:00
Nextcloud bot 519f92c7e7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-10-24 00:42:08 +00:00
Nextcloud bot c1f7d7dd44 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-10-23 00:48:15 +00:00
Luka Trovic 09973e01b4 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2024-10-22 20:55:49 +02:00
Nextcloud bot c899278c23 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-10-22 00:40:48 +00:00
Nextcloud bot 16627c17eb Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-10-21 00:37:53 +00:00
nextcloud-commandandGitHub 4d607987d2 fix(deps): Fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2024-10-20 03:24:49 +00:00
Nextcloud bot af6a588f10 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-10-20 00:39:11 +00:00
Nextcloud bot caadc7959a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-10-17 00:39:57 +00:00
Nextcloud bot 69d480f0c0 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-10-15 00:39:23 +00:00
Nextcloud bot a5995ffa84 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-10-14 00:37:27 +00:00
Nextcloud bot 6eaac5d5a2 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-10-13 00:40:59 +00:00
dependabot[bot]andGitHub 19d37ab123 Merge pull request #6407 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/webpack-vue-config-6.2.0 2024-10-12 03:18:43 +00:00
dependabot[bot]andGitHub b56f161484 Merge pull request #6406 from nextcloud/dependabot/npm_and_yarn/stable30/relative-ci/agent-4.2.12 2024-10-12 03:18:22 +00:00
dependabot[bot]andGitHub 9175ec7a19 Merge pull request #6405 from nextcloud/dependabot/npm_and_yarn/stable30/eslint-plugin-cypress-3.6.0 2024-10-12 03:17:45 +00:00
dependabot[bot]andGitHub 46b07513a7 Merge pull request #6404 from nextcloud/dependabot/npm_and_yarn/stable30/vue-material-design-icons-5.3.1 2024-10-12 03:16:33 +00:00
dependabot[bot]andGitHub 8c27b7341f Chore(deps-dev): Bump @nextcloud/webpack-vue-config from 6.1.1 to 6.2.0
Bumps [@nextcloud/webpack-vue-config](https://github.com/nextcloud-libraries/webpack-vue-config) from 6.1.1 to 6.2.0.
- [Release notes](https://github.com/nextcloud-libraries/webpack-vue-config/releases)
- [Changelog](https://github.com/nextcloud-libraries/webpack-vue-config/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/webpack-vue-config/compare/v6.1.1...v6.2.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/webpack-vue-config"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-12 03:03:37 +00:00
dependabot[bot]andGitHub e11a4a646f Chore(deps-dev): Bump @relative-ci/agent from 4.2.11 to 4.2.12
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.2.11 to 4.2.12.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.2.11...v4.2.12)

---
updated-dependencies:
- dependency-name: "@relative-ci/agent"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-12 03:03:25 +00:00
dependabot[bot]andGitHub c46659e9ee Chore(deps-dev): Bump eslint-plugin-cypress from 3.5.0 to 3.6.0
Bumps [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) from 3.5.0 to 3.6.0.
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v3.5.0...v3.6.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-12 03:03:10 +00:00
dependabot[bot]andGitHub fb8127b449 Chore(deps): Bump vue-material-design-icons from 5.3.0 to 5.3.1
Bumps [vue-material-design-icons](https://github.com/robcresswell/vue-material-design-icons) from 5.3.0 to 5.3.1.
- [Release notes](https://github.com/robcresswell/vue-material-design-icons/releases)
- [Changelog](https://github.com/robcresswell/vue-material-design-icons/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/robcresswell/vue-material-design-icons/compare/5.3.0...5.3.1)

---
updated-dependencies:
- dependency-name: vue-material-design-icons
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-12 03:02:59 +00:00
Nextcloud bot b030b0fc28 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-10-11 00:44:39 +00:00
Nextcloud bot bd45b525b8 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-10-09 00:39:50 +00:00
Julius KnorrandGitHub b207755e37 Merge pull request #6388 from nextcloud/fix/changelog-1.14.1 2024-10-07 20:51:45 +02:00
JoshandGitHub 7a429d8ffb fix(changelog): Typo fix in 1.14.1 entry
Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-10-07 14:01:59 -04:00
Luka TrovicandGitHub c8ec8828b0 Merge pull request #6373 from nextcloud/automated/noid/stable30-update-nextcloud-ocp
[stable30] Update nextcloud/ocp dependency
2024-10-07 14:35:21 +02:00
nextcloud-commandandGitHub 94eda67f70 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2024-10-06 03:08:43 +00:00
Nextcloud bot aa33327fd7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-10-06 00:39:49 +00:00
dependabot[bot]andGitHub 97c326c340 Merge pull request #6380 from nextcloud/dependabot/npm_and_yarn/stable30/babel/runtime-7.25.7 2024-10-05 02:04:35 +00:00
dependabot[bot]andGitHub 633f14ccce Chore(deps): Bump @babel/runtime from 7.25.6 to 7.25.7
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.25.6 to 7.25.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.25.7/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-05 01:28:50 +00:00
Nextcloud bot d4e93e8317 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-10-05 00:38:39 +00:00
dependabot[bot]andGitHub 511ad4238e Merge pull request #6362 from nextcloud/dependabot/npm_and_yarn/stable30/cypress-13.15.0 2024-09-28 01:30:31 +00:00
dependabot[bot]andGitHub d086ef50b1 Merge pull request #6363 from nextcloud/dependabot/npm_and_yarn/stable30/dompurify-3.1.7 2024-09-28 01:30:09 +00:00
dependabot[bot]andGitHub f61f2a667c Chore(deps): Bump dompurify from 3.1.6 to 3.1.7
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.1.6 to 3.1.7.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.1.6...3.1.7)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-28 01:19:44 +00:00
dependabot[bot]andGitHub 45718d6bd9 Chore(deps-dev): Bump cypress from 13.14.2 to 13.15.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 13.14.2 to 13.15.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v13.14.2...v13.15.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-28 01:19:34 +00:00
Nextcloud bot 422ee80946 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-09-26 00:42:12 +00:00
dependabot[bot]andGitHub 9eacfa07e5 Merge pull request #6356 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/webpack-vue-config-6.1.1 2024-09-24 11:24:50 +00:00
dependabot[bot]andGitHub 8714ef3a88 Chore(deps-dev): Bump @nextcloud/webpack-vue-config from 6.0.1 to 6.1.1
Bumps [@nextcloud/webpack-vue-config](https://github.com/nextcloud-libraries/webpack-vue-config) from 6.0.1 to 6.1.1.
- [Release notes](https://github.com/nextcloud-libraries/webpack-vue-config/releases)
- [Changelog](https://github.com/nextcloud-libraries/webpack-vue-config/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/webpack-vue-config/compare/v6.0.1...v6.1.1)

---
updated-dependencies:
- dependency-name: "@nextcloud/webpack-vue-config"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-24 11:19:31 +00:00
grnd-altandGitHub f3bafd9b44 Merge pull request #6355 from nextcloud/release/1.14.1
bump version to 1.14.1
2024-09-24 13:17:57 +02:00
grnd-alt a18da4b2d5 bump version to 1.14.1
Signed-off-by: grnd-alt <salimbelakkaf@outlook.de>
2024-09-24 10:51:17 +02:00
Nextcloud bot d9c468229c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-09-22 00:39:22 +00:00
dependabot[bot]andGitHub 80224267cc Merge pull request #6344 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/cypress-1.0.0-beta.9 2024-09-21 03:23:37 +00:00
dependabot[bot]andGitHub 23ad6b3e65 Merge pull request #6345 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/axios-2.5.1 2024-09-21 03:17:06 +00:00
dependabot[bot]andGitHub 360c07af58 Chore(deps): Bump @nextcloud/axios from 2.5.0 to 2.5.1
Bumps [@nextcloud/axios](https://github.com/nextcloud/nextcloud-axios) from 2.5.0 to 2.5.1.
- [Release notes](https://github.com/nextcloud/nextcloud-axios/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-axios/blob/v2.5.1/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-axios/compare/v2.5.0...v2.5.1)

---
updated-dependencies:
- dependency-name: "@nextcloud/axios"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-21 03:04:05 +00:00
dependabot[bot]andGitHub df38d09840 Merge pull request #6347 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/vue-8.19.0 2024-09-21 03:03:11 +00:00
dependabot[bot]andGitHub 0ab6d7ccd3 Chore(deps): Bump @nextcloud/vue from 8.18.0 to 8.19.0
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.18.0 to 8.19.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.18.0...v8.19.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-21 02:10:30 +00:00
dependabot[bot]andGitHub 70054ec65e Chore(deps-dev): Bump @nextcloud/cypress
Bumps [@nextcloud/cypress](https://github.com/nextcloud/nextcloud-cypress) from 1.0.0-beta.8 to 1.0.0-beta.9.
- [Release notes](https://github.com/nextcloud/nextcloud-cypress/releases)
- [Commits](https://github.com/nextcloud/nextcloud-cypress/compare/v1.0.0-beta.8...v1.0.0-beta.9)

---
updated-dependencies:
- dependency-name: "@nextcloud/cypress"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-21 02:09:50 +00:00
Luka TrovicandGitHub 9a57c891ca Merge pull request #6322 from nextcloud/automated/noid/stable30-update-nextcloud-ocp
[stable30] Update nextcloud/ocp dependency
2024-09-20 17:37:50 +02:00
Nextcloud bot e4135337d7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-09-18 00:40:44 +00:00
Julius KnorrandGitHub bb9d539813 Merge pull request #6326 from nextcloud/backport/6309/stable30
[stable30] fix: Load archived card if URL is opened directly
2024-09-17 18:32:56 +02:00
Nextcloud bot 9e04f88a1d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-09-17 00:40:10 +00:00
Julius Knorrandbackportbot[bot] 4873735ab2 fix: Load archived card if URL is opened directly
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2024-09-16 13:42:50 +00:00
Nextcloud bot 818e8e9eb7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-09-16 00:36:20 +00:00
Julius Knorr b490633a3d chore(release): Bump version to 1.14.0
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2024-09-15 10:42:44 +02:00
nextcloud-commandandGitHub fad889db15 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2024-09-15 03:03:15 +00:00
Nextcloud bot 94d0225f52 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-09-15 00:50:05 +00:00
dependabot[bot]andGitHub f26bc92612 Merge pull request #6313 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/vue-8.18.0 2024-09-14 02:19:03 +00:00
dependabot[bot]andGitHub e8f536fbb5 Chore(deps): Bump @nextcloud/vue from 8.17.1 to 8.18.0
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.17.1 to 8.18.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.17.1...v8.18.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-14 01:16:59 +00:00
Nextcloud bot 8ec5def76f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-09-12 00:38:31 +00:00
Nextcloud bot 1e8ce54361 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-09-11 00:40:34 +00:00
Julius KnorrandGitHub bbc4b80d56 Merge pull request #6307 from nextcloud/backport/6285/stable30
[stable30] Bug fix collection
2024-09-10 08:16:04 +02:00
Nextcloud bot 4fc8ea196d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-09-10 01:04:05 +00:00
Julius Härtlandbackportbot[bot] 07b0716d33 fix: Avoid double tap on iOS and close navigation on click
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-09-09 18:21:34 +00:00
Julius Härtlandbackportbot[bot] aca6b9d969 fix: Auto-scroll horizontally
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-09-09 18:21:34 +00:00
Julius Härtlandbackportbot[bot] 16592324a0 fix: Hide navigation initially on mobile
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-09-09 18:21:34 +00:00
Julius Härtlandbackportbot[bot] 6b315f95a7 fix: Proper drag zone height (fix #6264)
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-09-09 18:21:34 +00:00
Julius Härtlandbackportbot[bot] 500662f8ce fix: Fix modal sizing, focus error and cover image sizing
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-09-09 18:21:34 +00:00
Julius Härtlandbackportbot[bot] b8e05284eb fix: Set proper name on modal
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-09-09 18:21:34 +00:00
Julius Härtlandbackportbot[bot] c665cfb03d fix: Fix focus and emptycontent titles
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-09-09 18:21:34 +00:00
Julius Härtlandbackportbot[bot] dc7a41ee35 fix: Move card create input to the bottom
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-09-09 18:21:34 +00:00
Julius Härtlandbackportbot[bot] 90664cf869 fix: Fix empty board view design
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-09-09 18:21:34 +00:00
Julius Härtlandbackportbot[bot] c0084a6b5b fix: Fix styling of navigation input fields
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-09-09 18:21:34 +00:00
Julius Härtlandbackportbot[bot] 9227f9e9a1 fix: Adapt spacing to new compact design
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-09-09 18:21:34 +00:00
Julius Härtlandbackportbot[bot] 95117be03a fix: Proper slots for card selector dialog
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-09-09 18:21:34 +00:00
Julius Härtlandbackportbot[bot] 80c428e114 fix: Avoid swipe navigation while scrolling
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-09-09 18:21:34 +00:00
Julius Härtlandbackportbot[bot] 03c712c965 fix: Properly scroll on mobile devices
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-09-09 18:21:33 +00:00
Julius HärtlandGitHub 4f59de7498 Merge pull request #6273 from nextcloud/dependabot/npm_and_yarn/stable30/babel/runtime-7.25.6
Chore(deps): Bump @babel/runtime from 7.25.4 to 7.25.6
2024-09-09 14:47:38 +02:00
Julius HärtlandGitHub 5f7709af93 Merge pull request #6304 from nextcloud/automated/noid/stable30-fix-npm-audit 2024-09-09 14:29:30 +02:00
Julius HärtlandGitHub 79497b061a Merge pull request #6303 from nextcloud/automated/noid/stable30-update-nextcloud-ocp 2024-09-09 14:28:48 +02:00
nextcloud-commandandGitHub f402181db6 fix(deps): Fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2024-09-08 03:39:19 +00:00
nextcloud-commandandGitHub 0275ecf3ad chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2024-09-08 02:55:22 +00:00
dependabot[bot]andGitHub ba8294bdce Merge pull request #6292 from nextcloud/dependabot/npm_and_yarn/stable30/cypress-13.14.2 2024-09-07 02:02:02 +00:00
dependabot[bot]andGitHub 80ed3c5e87 Merge pull request #6293 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/files-3.9.0 2024-09-07 02:01:08 +00:00
dependabot[bot]andGitHub 9efc73ce41 Chore(deps): Bump @nextcloud/files from 3.8.0 to 3.9.0
Bumps [@nextcloud/files](https://github.com/nextcloud-libraries/nextcloud-files) from 3.8.0 to 3.9.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-files/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-files/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-files/compare/v3.8.0...v3.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-07 01:14:47 +00:00
dependabot[bot]andGitHub 0c4d366950 Chore(deps-dev): Bump cypress from 13.14.1 to 13.14.2
Bumps [cypress](https://github.com/cypress-io/cypress) from 13.14.1 to 13.14.2.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v13.14.1...v13.14.2)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-07 01:14:32 +00:00
Nextcloud bot c624b4cda0 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-09-03 00:39:09 +00:00
grnd-altandGitHub b3b9b0d18f Merge pull request #6289 from nextcloud/backport/6257/stable30
[stable30] copy labels when moving cards between boards
2024-09-02 13:04:54 +02:00
grnd-altandbackportbot[bot] c846880a1e copy labels when moving cards between boards
Signed-off-by: grnd-alt <salimbelakkaf@outlook.de>
2024-09-02 07:37:39 +00:00
Julius HärtlandGitHub acaaccda05 Merge pull request #6283 from nextcloud/automated/noid/stable30-update-nextcloud-ocp
[stable30] Update nextcloud/ocp dependency
2024-09-02 08:14:26 +02:00
nextcloud-commandandGitHub 67b378fda5 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2024-09-01 02:59:42 +00:00
Nextcloud bot 827b7da7c2 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-09-01 00:41:42 +00:00
Julius Härtl e01149cd81 chore(release): Bump version to 1.14.0-beta.2
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-08-31 08:44:08 +02:00
dependabot[bot]andGitHub 4b594be8f0 Merge pull request #6274 from nextcloud/dependabot/npm_and_yarn/stable30/relative-ci/agent-4.2.11 2024-08-31 03:03:29 +00:00
dependabot[bot]andGitHub b570dd8880 Merge pull request #6271 from nextcloud/dependabot/npm_and_yarn/stable30/cypress-13.14.1 2024-08-31 03:03:04 +00:00
dependabot[bot]andGitHub afc92908fd Merge pull request #6272 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/vue-8.17.1 2024-08-31 03:02:28 +00:00
dependabot[bot]andGitHub 58bc1a87b1 Chore(deps-dev): Bump @relative-ci/agent from 4.2.10 to 4.2.11
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.2.10 to 4.2.11.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.2.10...v4.2.11)

---
updated-dependencies:
- dependency-name: "@relative-ci/agent"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-31 01:52:00 +00:00
dependabot[bot]andGitHub 7936dd6b56 Chore(deps): Bump @babel/runtime from 7.25.4 to 7.25.6
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.25.4 to 7.25.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.25.6/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-31 01:51:49 +00:00
dependabot[bot]andGitHub dbbd57e443 Chore(deps): Bump @nextcloud/vue from 8.17.0 to 8.17.1
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.17.0 to 8.17.1.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.17.0...v8.17.1)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-31 01:51:39 +00:00
dependabot[bot]andGitHub 0d42750d19 Chore(deps-dev): Bump cypress from 13.13.3 to 13.14.1
Bumps [cypress](https://github.com/cypress-io/cypress) from 13.13.3 to 13.14.1.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v13.13.3...v13.14.1)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-31 01:51:28 +00:00
Julius HärtlandGitHub c56170f76f Merge pull request #6265 from nextcloud/backport/6232/stable30 2024-08-30 20:16:00 +02:00
Julius Härtlandbackportbot[bot] c56aeba3d3 fix: Avoid duplicate scrollbars
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-08-30 17:35:58 +00:00
Luka Trovicandbackportbot[bot] ca4e0c122b fix: 30 design issues
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2024-08-30 17:35:58 +00:00
Nextcloud bot 05939792a1 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-08-30 00:56:05 +00:00
Nextcloud bot 5cbd91649b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-08-28 00:41:44 +00:00
Julius HärtlandGitHub 61d58fb4eb Merge pull request #6261 from nextcloud/backport/6260/stable30 2024-08-26 13:43:12 +02:00
Julius HärtlandGitHub 5aa2428e2d Merge pull request #6258 from nextcloud/backport/6235/stable30
[stable30] Fix UI with the new compact design
2024-08-26 13:37:13 +02:00
Jérôme Herbinetandbackportbot[bot] d35d8e5a50 Translation call fix
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
2024-08-26 11:20:08 +00:00
Julius Härtlandbackportbot[bot] 71fe340fad fix: Adjust UI to be more consistent with new Nextcloud compact UI
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-08-26 10:43:38 +00:00
Julius Härtlandbackportbot[bot] 6f3f391a04 fix: Hide inline search box as the global one is working now
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-08-26 10:43:38 +00:00
Julius HärtlandGitHub 50dea78147 Merge pull request #6256 from nextcloud/automated/noid/stable30-fix-npm-audit
[stable30] Fix npm audit
2024-08-26 08:11:01 +02:00
nextcloud-commandandGitHub 3f3b1a11d7 fix(deps): Fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2024-08-25 03:12:45 +00:00
Julius HärtlandGitHub c29686feec Merge pull request #6244 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/vue-8.17.0 2024-08-24 10:10:50 +02:00
dependabot[bot]andGitHub 086617563d Merge pull request #6246 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/dialogs-5.3.7 2024-08-24 03:14:33 +00:00
dependabot[bot]andGitHub c7d7f2e5fe Merge pull request #6245 from nextcloud/dependabot/npm_and_yarn/stable30/babel/runtime-7.25.4 2024-08-24 03:13:33 +00:00
dependabot[bot]andGitHub ac19f517c5 Chore(deps): Bump @nextcloud/dialogs from 5.3.6 to 5.3.7
Bumps [@nextcloud/dialogs](https://github.com/nextcloud-libraries/nextcloud-dialogs) from 5.3.6 to 5.3.7.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-dialogs/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-dialogs/blob/v5.3.7/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-dialogs/compare/v5.3.6...v5.3.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-24 01:32:05 +00:00
dependabot[bot]andGitHub 9a738ee7ac Chore(deps): Bump @babel/runtime from 7.25.0 to 7.25.4
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.25.0 to 7.25.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.25.4/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-24 01:31:55 +00:00
dependabot[bot]andGitHub b81c249164 Chore(deps): Bump @nextcloud/vue from 8.16.0 to 8.17.0
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.16.0 to 8.17.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.16.0...v8.17.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-24 01:31:46 +00:00
Nextcloud bot 20f74812ea Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-08-24 00:39:00 +00:00
Julius HärtlandGitHub 63709be9ad Merge pull request #6210 from nextcloud/dependabot/npm_and_yarn/stable30/babel/runtime-7.25.0
Chore(deps): Bump @babel/runtime from 7.24.8 to 7.25.0
2024-08-22 17:41:55 +02:00
Nextcloud bot a94efb4905 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-08-22 00:38:06 +00:00
dependabot[bot]andGitHub 412a5d183e Merge pull request #6224 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/dialogs-5.3.6 2024-08-17 04:04:45 +00:00
dependabot[bot]andGitHub e144303e26 Merge pull request #6223 from nextcloud/dependabot/npm_and_yarn/stable30/cypress-13.13.3 2024-08-17 04:02:03 +00:00
dependabot[bot]andGitHub fdb3a29256 Chore(deps): Bump @nextcloud/dialogs from 5.3.5 to 5.3.6
Bumps [@nextcloud/dialogs](https://github.com/nextcloud-libraries/nextcloud-dialogs) from 5.3.5 to 5.3.6.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-dialogs/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-dialogs/blob/v5.3.6/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-dialogs/compare/v5.3.5...v5.3.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-17 02:43:53 +00:00
dependabot[bot]andGitHub de760ac6fa Chore(deps-dev): Bump cypress from 13.13.2 to 13.13.3
Bumps [cypress](https://github.com/cypress-io/cypress) from 13.13.2 to 13.13.3.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v13.13.2...v13.13.3)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-17 02:43:20 +00:00
dependabot[bot]andGitHub 1e20832cd6 Merge pull request #6207 from nextcloud/dependabot/npm_and_yarn/stable30/nextcloud/auth-2.4.0 2024-08-16 18:59:29 +00:00
dependabot[bot]andGitHub 8e77849027 Merge pull request #6213 from nextcloud/dependabot/npm_and_yarn/stable30/eslint-plugin-cypress-3.5.0 2024-08-16 18:59:02 +00:00
dependabot[bot]andJulius Härtl 147dadd1ab Chore(deps-dev): Bump eslint-plugin-cypress from 3.3.0 to 3.5.0
Bumps [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) from 3.3.0 to 3.5.0.
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v3.3.0...v3.5.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-16 20:50:47 +02:00
dependabot[bot]andJulius Härtl bd39df04f6 Chore(deps): Bump @babel/runtime from 7.24.8 to 7.25.0
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.24.8 to 7.25.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.25.0/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-16 20:50:40 +02:00
dependabot[bot]andJulius Härtl 12f30e946e Chore(deps): Bump @nextcloud/auth from 2.3.0 to 2.4.0
Bumps [@nextcloud/auth](https://github.com/nextcloud/nextcloud-auth) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/nextcloud/nextcloud-auth/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-auth/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-auth/compare/v2.3.0...v2.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-16 20:50:34 +02:00
Julius HärtlandGitHub 01a6f93730 Merge pull request #6205 from nextcloud/update-stable30-target-versions
chore(CI): Adjust testing matrix for Nextcloud 30 on stable30
2024-08-16 20:50:16 +02:00
Joas SchillingandJulius Härtl c72bec7220 chore(CI): Adjust testing matrix for Nextcloud 30 on stable30
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-08-16 20:06:30 +02:00
Nextcloud bot c9a5f9e79b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-08-15 00:45:54 +00:00
315 changed files with 3997 additions and 8608 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
{
"image": "ghcr.io/juliusknorr/nextcloud-dev-php81:latest",
"image": "ghcr.io/juliushaertl/nextcloud-dev-php81:latest",
"forwardPorts": [80],
"containerEnv": {
"NEXTCLOUD_AUTOINSTALL_APPS": "deck",
-2
View File
@@ -1,2 +0,0 @@
# App maintainers
* @luka-nextcloud @grnd-alt @elzody
+9 -9
View File
@@ -14,13 +14,13 @@ updates:
- luka-nextcloud
- package-ecosystem: npm
target-branch: stable32
target-branch: stable29
versioning-strategy: lockfile-only
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:15"
time: "03:00"
timezone: Europe/Paris
ignore:
- dependency-name: "*"
@@ -31,13 +31,13 @@ updates:
- dependencies
- package-ecosystem: npm
target-branch: stable31
target-branch: stable28
versioning-strategy: lockfile-only
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:15"
time: "03:00"
timezone: Europe/Paris
ignore:
- dependency-name: "*"
@@ -48,13 +48,13 @@ updates:
- dependencies
- package-ecosystem: npm
target-branch: stable30
target-branch: stable27
versioning-strategy: lockfile-only
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:30"
time: "03:00"
timezone: Europe/Paris
ignore:
- dependency-name: "*"
@@ -69,7 +69,7 @@ updates:
schedule:
interval: weekly
day: saturday
time: "03:45"
time: "03:00"
timezone: Europe/Paris
open-pull-requests-limit: 10
reviewers:
@@ -81,7 +81,7 @@ updates:
schedule:
interval: weekly
day: saturday
time: "04:00"
time: "03:00"
timezone: Europe/Paris
open-pull-requests-limit: 10
reviewers:
@@ -93,7 +93,7 @@ updates:
schedule:
interval: weekly
day: saturday
time: "04:15"
time: "03:00"
timezone: Europe/Paris
open-pull-requests-limit: 10
reviewers:
+3 -3
View File
@@ -16,15 +16,15 @@ jobs:
node-version: [16.x]
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v4.1.7
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v4.0.3
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7
run: npm i -g npm@7
- name: Setup PHP
uses: shivammathur/setup-php@2.34.1
uses: shivammathur/setup-php@2.31.1
with:
php-version: '7.4'
tools: composer
+5 -5
View File
@@ -35,7 +35,7 @@ jobs:
echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
path: ${{ env.APP_NAME }}
@@ -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@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -87,7 +87,7 @@ jobs:
filename: ${{ env.APP_NAME }}/appinfo/info.xml
- name: Set up php ${{ steps.php-versions.outputs.php-min }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ steps.php-versions.outputs.php-min }}
coverage: none
@@ -149,7 +149,7 @@ jobs:
unzip latest-$NCVERSION.zip
- name: Checkout server master fallback
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
if: ${{ steps.server-checkout.outcome != 'success' }}
with:
persist-credentials: false
@@ -173,7 +173,7 @@ jobs:
tar -zcvf ${{ env.APP_NAME }}.tar.gz ${{ env.APP_NAME }}
- name: Attach tarball to github release
uses: svenstaro/upload-release-action@81c65b7cd4de9b2570615ce3aad67a41de5b1a13 # v2
uses: svenstaro/upload-release-action@04733e069f2d7f7f0b4aebc4fbdbce8613b03ccd # v2
id: attach_to_release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
+51
View File
@@ -0,0 +1,51 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Rebase command
on:
issue_comment:
types: created
permissions:
contents: read
jobs:
rebase:
runs-on: ubuntu-latest
permissions:
contents: none
# On pull requests and if the comment starts with `/rebase`
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/rebase')
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reaction-type: "+1"
- name: Checkout the latest code
uses: actions/checkout@v4.1.7 # v3.5.2
with:
fetch-depth: 0
token: ${{ secrets.COMMAND_BOT_PAT }}
- name: Automatic Rebase
uses: cirrus-actions/rebase@b87d48154a87a85666003575337e27b8cd65f691 # 1.8
env:
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reaction-type: "-1"
+6 -6
View File
@@ -22,7 +22,7 @@ jobs:
node-version: [20.x]
# containers: [1, 2, 3]
php-versions: [ '8.2' ]
server-versions: [ 'master' ]
server-versions: [ 'stable30' ]
env:
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu
@@ -41,7 +41,7 @@ jobs:
steps:
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v4.0.3
with:
node-version: ${{ matrix.node-version }}
@@ -51,7 +51,7 @@ jobs:
echo "text_app_ref=$text_app_ref" >> $GITHUB_ENV
- name: Checkout server
uses: actions/checkout@v4.2.2
uses: actions/checkout@v4.1.7
with:
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
@@ -64,12 +64,12 @@ jobs:
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Checkout ${{ env.APP_NAME }}
uses: actions/checkout@v4.2.2
uses: actions/checkout@v4.1.7
with:
path: apps/${{ env.APP_NAME }}
- name: Checkout text
uses: actions/checkout@v4.2.2
uses: actions/checkout@v4.1.7
with:
repository: nextcloud/text
ref: ${{ env.text_app_ref }}
@@ -91,7 +91,7 @@ jobs:
restore-keys: ${{ steps.extcache.outputs.key }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.34.1
uses: shivammathur/setup-php@2.31.1
with:
php-version: ${{ matrix.php-versions }}
extensions: ${{ env.extensions }}
+5 -9
View File
@@ -28,7 +28,7 @@ jobs:
matrix:
php-versions: ['8.1']
databases: ['sqlite', 'mysql', 'pgsql']
server-versions: ['master']
server-versions: ['stable30']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
@@ -52,7 +52,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@v4.2.2
uses: actions/checkout@v4.1.7
with:
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
@@ -66,19 +66,19 @@ jobs:
cd build/integration && composer require --dev phpunit/phpunit:~9
- name: Checkout app
uses: actions/checkout@v4.2.2
uses: actions/checkout@v4.1.7
with:
path: apps/${{ env.APP_NAME }}
- name: Checkout activity
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
repository: nextcloud/activity
ref: ${{ matrix.server-versions }}
path: apps/activity
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.34.1
uses: shivammathur/setup-php@2.31.1
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, apcu, gd
@@ -112,10 +112,6 @@ jobs:
working-directory: apps/${{ env.APP_NAME }}/tests/integration
run: ./run.sh
- name: Print log
if: always()
run: cat data/nextcloud.log
- name: Query count
if: ${{ matrix.databases == 'mysql' }}
uses: actions/github-script@v7
+2 -4
View File
@@ -56,9 +56,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
@@ -68,7 +66,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.1.0
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
+3 -5
View File
@@ -25,16 +25,14 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Get php version
id: versions
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
- name: Set up php${{ steps.versions.outputs.php-min }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
- name: Set up php${{ steps.versions.outputs.php-available }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ steps.versions.outputs.php-min }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
+3 -8
View File
@@ -24,10 +24,7 @@ jobs:
php-versions: ${{ steps.versions.outputs.php-versions }}
steps:
- name: Checkout app
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Get version matrix
id: versions
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.0.0
@@ -43,12 +40,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
+2 -4
View File
@@ -25,9 +25,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
@@ -37,7 +35,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.1.0
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
+2 -2
View File
@@ -12,9 +12,9 @@ jobs:
node-version: [14.x]
steps:
- uses: actions/checkout@v4.2.2
- uses: actions/checkout@v4.1.7
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@v4.0.3
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7
+7 -13
View File
@@ -14,9 +14,6 @@ on:
# At 2:30 on Sundays
- cron: '30 2 * * 0'
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
@@ -24,18 +21,15 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['main', 'master', 'stable32', 'stable31', 'stable30']
branches: ['main', 'master', 'stable29', 'stable28', 'stable27']
name: npm-audit-fix-${{ matrix.branches }}
steps:
- name: Checkout
id: checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
ref: ${{ matrix.branches }}
continue-on-error: true
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
@@ -45,7 +39,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.1.0
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -54,10 +48,10 @@ jobs:
- name: Fix npm audit
id: npm-audit
uses: nextcloud-libraries/npm-audit-action@1b1728b2b4a7a78d69de65608efcf4db0e3e42d0 # v0.2.0
uses: nextcloud-libraries/npm-audit-action@2a60bd2e79cc77f2cc4d9a3fe40f1a69896f3a87 # v0.1.0
- name: Run npm ci and npm run build
if: steps.checkout.outcome == 'success'
if: always()
env:
CYPRESS_INSTALL_BINARY: 0
run: |
@@ -65,8 +59,8 @@ jobs:
npm run build --if-present
- name: Create Pull Request
if: steps.checkout.outcome == 'success'
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
if: always()
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6.1.0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(deps): Fix npm audit'
+4 -6
View File
@@ -24,9 +24,7 @@ jobs:
matrix: ${{ steps.versions.outputs.sparse-matrix }}
steps:
- name: Checkout app
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Get version matrix
id: versions
@@ -89,7 +87,7 @@ jobs:
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
@@ -97,13 +95,13 @@ jobs:
ref: ${{ matrix.server-versions }}
- name: Checkout app
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+4 -6
View File
@@ -25,9 +25,7 @@ jobs:
server-max: ${{ steps.versions.outputs.branches-max-list }}
steps:
- name: Checkout app
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Get version matrix
id: versions
@@ -92,7 +90,7 @@ jobs:
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
@@ -100,13 +98,13 @@ jobs:
ref: ${{ matrix.server-versions }}
- name: Checkout app
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+4 -6
View File
@@ -25,9 +25,7 @@ jobs:
server-max: ${{ steps.versions.outputs.branches-max-list }}
steps:
- name: Checkout app
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Get version matrix
id: versions
@@ -81,7 +79,7 @@ jobs:
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
@@ -89,13 +87,13 @@ jobs:
ref: ${{ matrix.server-versions }}
- name: Checkout app
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -6
View File
@@ -15,17 +15,12 @@ on:
schedule:
- cron: '30 1 * * *'
permissions:
contents: read
pull-requests: write
jobs:
pr-feedback:
if: ${{ github.repository_owner == 'nextcloud' }}
runs-on: ubuntu-latest
steps:
- name: The get-github-handles-from-website action
uses: marcelklehr/get-github-handles-from-website-action@06b2239db0a48fe1484ba0bfd966a3ab81a08308 # v1.0.1
uses: marcelklehr/get-github-handles-from-website-action@a739600f6b91da4957f51db0792697afbb2f143c # v1.0.0
id: scrape
with:
website: 'https://nextcloud.com/team/'
+3 -5
View File
@@ -24,9 +24,7 @@ jobs:
name: static-psalm-analysis
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Get php version
id: versions
@@ -35,8 +33,8 @@ jobs:
- name: Check enforcement of minimum PHP version ${{ steps.versions.outputs.php-min }} in psalm.xml
run: grep 'phpVersion="${{ steps.versions.outputs.php-min }}' psalm.xml
- name: Set up php${{ steps.versions.outputs.php-min }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
- name: Set up php${{ steps.versions.outputs.php-available }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ steps.versions.outputs.php-min }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
+3 -5
View File
@@ -16,12 +16,10 @@ permissions:
jobs:
reuse-compliance-check:
runs-on: ubuntu-latest-low
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: REUSE Compliance Check
uses: fsfe/reuse-action@bb774aa972c2a89ff34781233d275075cbddf542 # v5.0.0
uses: fsfe/reuse-action@3ae3c6bdf1257ab19397fab11fd3312144692083 # v4.0.0
+4 -4
View File
@@ -23,13 +23,13 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['main', 'master', 'stable32', 'stable31', 'stable30']
branches: ['main', 'master', 'stable29', 'stable28', 'stable27']
name: update-nextcloud-ocp-${{ matrix.branches }}
steps:
- id: checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
ref: ${{ matrix.branches }}
@@ -38,7 +38,7 @@ jobs:
- name: Set up php8.2
if: steps.checkout.outcome == 'success'
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: 8.2
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -107,7 +107,7 @@ jobs:
- name: Create Pull Request
if: steps.checkout.outcome == 'success'
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6.1.0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'chore(dev-deps): Bump nextcloud/ocp package'
+1 -8
View File
@@ -7,7 +7,7 @@
/.editorconfig
/.eslintrc.js
/.nextcloudignore
/webpack.js
/webpack.*.js
/.codecov.yml
/composer.json
/composer.lock
@@ -26,10 +26,3 @@
/package-lock.json
/node_modules/
/src/
/cypress/
/cypress.config.js
/.devcontainer/
/.php-cs-fixer.dist.php
/psalm.xml
/relativeci.config.js
/stylelint.config.js
-1
View File
@@ -6,7 +6,6 @@
- Adrian Missy <adrian.missy@onewavestudios.com>
- Alexandru Puiu <alexpuiu20@yahoo.com>
- Arne Bartelt <arne.bartelt@gmail.com>
- Chandi Langecker <git@chandi.it>
- Christoph Wurst <christoph@winzerhof-wurst.at>
- Gary Kim <gary@garykim.dev>
+77 -21
View File
@@ -5,31 +5,83 @@
# Changelog
All notable changes to this project will be documented in this file.
## 1.16.0-beta.1
## 1.14.6
### Fixed
* [stable30] fix: update DeleteCron to remove deleted lists by @backportbot[bot] in https://github.com/nextcloud/deck/pull/7028
* [stable30] fix: not show Share with a Deck card for unauthorized users by @backportbot[bot] in https://github.com/nextcloud/deck/pull/7060
* [stable30] fix: add retry and show warning on description saving error by @backportbot[bot] in https://github.com/nextcloud/deck/pull/7090
* [stable30] fix: styling for new stack input field by @backportbot[bot] in https://github.com/nextcloud/deck/pull/7112
* [stable30] fix:allow foreign label deletion by @backportbot[bot] in https://github.com/nextcloud/deck/pull/7129
* [stable30] fix: acl check when delete, update board acl by @backportbot[bot] in https://github.com/nextcloud/deck/pull/7133
## 1.14.5
### Fixed
* [stable30] Clear selected stack when selected board changed by @backportbot in https://github.com/nextcloud/deck/pull/6914
* [stable30] perf: Skip doing a query just to check if a board is deleted by @backportbot in https://github.com/nextcloud/deck/pull/6895
* [stable30] fix: only delete assignments on unshared board by @grnd-alt in https://github.com/nextcloud/deck/pull/6935
* [stable30] fix: Limit label actions to labels of the cards board by @backportbot in https://github.com/nextcloud/deck/pull/6953
### Maintenance
* Chore(deps): Bump @babel/runtime from 7.26.10 to 7.27.0 by @dependabot in https://github.com/nextcloud/deck/pull/6866
* Chore(deps): Bump dompurify from 3.2.4 to 3.2.5 by @dependabot in https://github.com/nextcloud/deck/pull/6881
* Chore(deps): Bump @nextcloud/vue from 8.23.1 to 8.24.0 by @dependabot in https://github.com/nextcloud/deck/pull/6882
* [stable30] Fix npm audit by @nextcloud-command in https://github.com/nextcloud/deck/pull/6887
* Chore(deps-dev): Bump @nextcloud/webpack-vue-config from 6.2.0 to 6.3.0 by @dependabot in https://github.com/nextcloud/deck/pull/6909
* [stable30] Fix npm audit by @nextcloud-command in https://github.com/nextcloud/deck/pull/6911
* Chore(deps): Bump @nextcloud/vue from 8.24.0 to 8.25.1 by @dependabot in https://github.com/nextcloud/deck/pull/6923
* [stable30] chore: update workflows from templates by @backportbot in https://github.com/nextcloud/deck/pull/6921
* Chore(deps): Bump @nextcloud/vue from 8.25.1 to 8.26.0 by @dependabot in https://github.com/nextcloud/deck/pull/6939
* [stable30] Fix npm audit by @nextcloud-command in https://github.com/nextcloud/deck/pull/6948
## 1.14.4
### Fixed
- fix: skip exporting a deleted card #6722
- fix: Properly show attachment extension #6673
### Maintenance
- Update nextcloud/ocp dependency #6769
- Update nextcloud/ocp dependency #6718
- Update nextcloud/ocp dependency #6700
- Update nextcloud/ocp dependency #6656
## 1.14.3
### Fixed
- fix: two close buttons on card modal @app/backportbot [#6659](https://github.com/nextcloud/deck/pull/6659)
- fix: Catch not found card @app/backportbot [#6652](https://github.com/nextcloud/deck/pull/6652)
- fix: close modal after deleting card @app/backportbot [#6619](https://github.com/nextcloud/deck/pull/6619)
- fix: Use new query builder @app/backportbot [#6612](https://github.com/nextcloud/deck/pull/6612)
- fix: new card input spacing @app/backportbot [#6576](https://github.com/nextcloud/deck/pull/6576)
- fix(sharing): list accounts with matches in email @app/backportbot [#6524](https://github.com/nextcloud/deck/pull/6524)
## 1.14.2
### Fixed
- fix: board bubble preview widget [#6477](https://github.com/nextcloud/deck/pull/6477)
### Dependencies
- Update nextcloud/ocp dependency @nextcloud-command [#6470](https://github.com/nextcloud/deck/pull/6470)
- Fix npm audit @nextcloud-command [#6450](https://github.com/nextcloud/deck/pull/6450)
## 1.14.1
### Fixed
- fix: Load archived card if URL is opened directly #6326
- Update nextcloud/ocp dependency #6322
## 1.14.0
### 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)
- fix: Avoid failing on public dav URLs @juliusknorr [#6642](https://github.com/nextcloud/deck/pull/6642)
- fix: Proper rich object formats @juliusknorr [#6641](https://github.com/nextcloud/deck/pull/6641)
- fix(notifications): Notifier::prepare() threw \InvalidArgumentExcepti… @nickvergessen [#6623](https://github.com/nextcloud/deck/pull/6623)
- fix: close modal after deleting card @ludij [#6617](https://github.com/nextcloud/deck/pull/6617)
- fix: Use new query builder @juliusknorr [#6611](https://github.com/nextcloud/deck/pull/6611)
- fix: new card input spacing @luka-nextcloud [#6574](https://github.com/nextcloud/deck/pull/6574)
## 1.14.0-beta.1
- export json data of commments @grnd-alt [#6119](https://github.com/nextcloud/deck/pull/6119)
### Fixed
- fix: losing focus while editing title field @luka-nextcloud [#6140](https://github.com/nextcloud/deck/pull/6140)
- Fix UI with the new compact design [#6258](https://github.com/nextcloud/deck/pull/6258)
- Translation call fix [#6261](https://github.com/nextcloud/deck/pull/6261)
- fix: 30 design issues [#6265](https://github.com/nextcloud/deck/pull/6265)
- copy labels when moving cards between boards [#6289](https://github.com/nextcloud/deck/pull/6289)
- Bug fix collection [#6307](https://github.com/nextcloud/deck/pull/6307)
- fix: card details focus issue with screen reader @luka-nextcloud [#5858](https://github.com/nextcloud/deck/pull/5858)
- Cleaning up unused indicies @mintsoft [#5612](https://github.com/nextcloud/deck/pull/5612)
- Change import command's config default argument @JimMadge [#5722](https://github.com/nextcloud/deck/pull/5722)
@@ -42,12 +94,17 @@ All notable changes to this project will be documented in this file.
- fix: remove redundant log @luka-nextcloud [#6115](https://github.com/nextcloud/deck/pull/6115)
- fix: Adjust dependencies to fix filepicker @susnux [#5964](https://github.com/nextcloud/deck/pull/5964)
- fix: Remove bindParam usage with simpler query @juliushaertl [#6065](https://github.com/nextcloud/deck/pull/6065)
- add Order when cloning board @grnd-alt [#6117](https://github.com/nextcloud/deck/pull/6117)
- use deleted_users for users that do not exist @grnd-alt [#6201](https://github.com/nextcloud/deck/pull/6201)
- chore: Clean up permission service @juliushaertl [#6011](https://github.com/nextcloud/deck/pull/6011)
### Other
- fix(files): fix appstore-build-publish.yml @JuliaKirschenheuter [#6142](https://github.com/nextcloud/deck/pull/6142)
- tests: Add environment variable and document commands to run behat tests locally @juliushaertl [#6137](https://github.com/nextcloud/deck/pull/6137)
- chore(CI): Adjust testing matrix for Nextcloud 30 on stable30 @nickvergessen [#6205](https://github.com/nextcloud/deck/pull/6205)
- Adds link to Nextcloud Deck for iOS in README.md file @StCyr [#5886](https://github.com/nextcloud/deck/pull/5886)
- choir(i18n): Change filter title @rakekniven [#5957](https://github.com/nextcloud/deck/pull/5957)
- chore: Clean up permission service @juliushaertl [#6011](https://github.com/nextcloud/deck/pull/6011)
- Update User_documentation_en.md @StCyr [#6029](https://github.com/nextcloud/deck/pull/6029)
- chore: Move comments event handler to use proper event dispatcher @juliushaertl [#6008](https://github.com/nextcloud/deck/pull/6008)
- Migrate REUSE to TOML format @AndyScherzinger [#6084](https://github.com/nextcloud/deck/pull/6084)
@@ -883,4 +940,3 @@ Android app team for helping to improve our REST API:
- Assign labels
- Markdown notes for each card
- Archive cards
+1
View File
@@ -25,6 +25,7 @@ Deck is a kanban style organization tool aimed at personal planning and project
- [Nextcloud Deck app for Android](https://github.com/stefan-niedermann/nextcloud-deck) - It is available in [F-Droid](https://f-droid.org/de/packages/it.niedermann.nextcloud.deck/) and the [Google Play Store](https://play.google.com/store/apps/details?id=it.niedermann.nextcloud.deck.play)
- [Nextcloud Deck app for iOS](https://github.com/StCyr/deck-react-native) - It is available in [Apple App store](https://apps.apple.com/ml/app/nextcloud-deck/id1570892788)
- [deck NG for Android and iOS](https://github.com/meltzow/deck-ng) - It is available in [Google Play Store](https://play.google.com/store/apps/details?id=net.meltzow.deckng) and [Apple App Store](https://apps.apple.com/us/app/deck-ng/id6443334702)
### 3rd-Party Integrations
+1 -1
View File
@@ -12,7 +12,7 @@ SPDX-FileCopyrightText = "none"
SPDX-License-Identifier = "CC0-1.0"
[[annotations]]
path = ["l10n/**.js", "l10n/**.json", "js/**.js.map", "js/**.js", "js/**.mjs", "js/**.mjs.map", "js/templates/**.handlebars", "lib/Service/Importer/fixtures/config-deckJson-schema.json", "lib/Service/Importer/fixtures/config-trelloApi-schema.json", "lib/Service/Importer/fixtures/config-trelloJson-schema.json", "lib/Service/fixtures/default-board.json", "screenshots/screenshot1.png", "src/assets/file-placeholder.svg", "img/favicon.ico", "img/favicon.png", "img/favicon.svg", "img/activity.svg", "img/activity-dark.svg", "img/deck.svg", "img/deck-current.svg", "img/deck-dark.svg", "img/details-white.svg", "img/card.svg", "img/sample-image.jpg"]
path = ["l10n/**.js", "l10n/**.json", "js/**.js.map", "js/**.js", "js/**.mjs", "js/**.mjs.map", "js/templates/**.handlebars", "lib/Service/Importer/fixtures/config-deckJson-schema.json", "lib/Service/Importer/fixtures/config-trelloApi-schema.json", "lib/Service/Importer/fixtures/config-trelloJson-schema.json", "screenshots/screenshot1.png", "src/assets/file-placeholder.svg", "img/favicon.ico", "img/favicon.png", "img/favicon.svg", "img/activity.svg", "img/activity-dark.svg", "img/deck.svg", "img/deck-current.svg", "img/deck-dark.svg", "img/details-white.svg", "img/card.svg"]
precedence = "aggregate"
SPDX-FileCopyrightText = "2019 Nextcloud GmbH and Nextcloud contributors"
SPDX-License-Identifier = "AGPL-3.0-or-later"
-1
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
+6 -10
View File
@@ -20,17 +20,17 @@
- 🚀 Get your project organized
</description>
<version>2.0.0-dev.0</version>
<version>1.14.6</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<namespace>Deck</namespace>
<types>
<dav/>
</types>
<documentation>
<user>https://deck.readthedocs.io/en/latest/User_documentation_en/</user>
<developer>https://deck.readthedocs.io/en/latest/API/</developer>
</documentation>
<namespace>Deck</namespace>
<types>
<dav/>
</types>
<category>organization</category>
<category>office</category>
<website>https://github.com/nextcloud/deck</website>
@@ -42,7 +42,7 @@
<database min-version="9.4">pgsql</database>
<database>sqlite</database>
<database min-version="8.0">mysql</database>
<nextcloud min-version="33" max-version="33"/>
<nextcloud min-version="30" max-version="30"/>
</dependencies>
<background-jobs>
<job>OCA\Deck\Cron\DeleteCron</job>
@@ -54,15 +54,11 @@
<live-migration>
<step>OCA\Deck\Migration\DeletedCircleCleanup</step>
</live-migration>
<post-migration>
<step>OCA\Deck\Migration\LabelMismatchCleanup</step>
</post-migration>
</repair-steps>
<commands>
<command>OCA\Deck\Command\UserExport</command>
<command>OCA\Deck\Command\BoardImport</command>
<command>OCA\Deck\Command\TransferOwnership</command>
<command>OCA\Deck\Command\CalendarToggle</command>
</commands>
<activity>
<settings>
-6
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -29,7 +28,6 @@ return [
['name' => 'board#clone', 'url' => '/boards/{boardId}/clone', 'verb' => 'POST'],
['name' => 'board#transferOwner', 'url' => '/boards/{boardId}/transferOwner', 'verb' => 'PUT'],
['name' => 'board#export', 'url' => '/boards/{boardId}/export', 'verb' => 'GET'],
['name' => 'board#import', 'url' => '/boards/import', 'verb' => 'POST'],
// stacks
['name' => 'stack#index', 'url' => '/stacks/{boardId}', 'verb' => 'GET'],
@@ -104,8 +102,6 @@ return [
['name' => 'card_api#assignUser', 'url' => '/api/v{apiVersion}/boards/{boardId}/stacks/{stackId}/cards/{cardId}/assignUser', 'verb' => 'PUT'],
['name' => 'card_api#unassignUser', 'url' => '/api/v{apiVersion}/boards/{boardId}/stacks/{stackId}/cards/{cardId}/unassignUser', 'verb' => 'PUT'],
['name' => 'card_api#reorder', 'url' => '/api/v{apiVersion}/boards/{boardId}/stacks/{stackId}/cards/{cardId}/reorder', 'verb' => 'PUT'],
['name' => 'card_api#archive', 'url' => '/api/v{apiVersion}/boards/{boardId}/stacks/{stackId}/cards/{cardId}/archive', 'verb' => 'PUT'],
['name' => 'card_api#unarchive', 'url' => '/api/v{apiVersion}/boards/{boardId}/stacks/{stackId}/cards/{cardId}/unarchive', 'verb' => 'PUT'],
['name' => 'card_api#delete', 'url' => '/api/v{apiVersion}/boards/{boardId}/stacks/{stackId}/cards/{cardId}', 'verb' => 'DELETE'],
['name' => 'card_api#findAllWithDue', 'url' => '/api/v{apiVersion}/dashboard/due', 'verb' => 'GET'],
@@ -140,8 +136,6 @@ return [
['name' => 'comments_api#update', 'url' => '/api/v{apiVersion}/cards/{cardId}/comments/{commentId}', 'verb' => 'PUT'],
['name' => 'comments_api#delete', 'url' => '/api/v{apiVersion}/cards/{cardId}/comments/{commentId}', 'verb' => 'DELETE'],
['name' => 'card#clone', 'url' => '/api/v{apiVersion}/cards/{cardId}/clone', 'verb' => 'POST'],
['name' => 'overview_api#upcomingCards', 'url' => '/api/v{apiVersion}/overview/upcoming', 'verb' => 'GET'],
['name' => 'search#search', 'url' => '/api/v{apiVersion}/search', 'verb' => 'GET'],
+8 -12
View File
@@ -9,35 +9,31 @@
}
],
"require": {
"justinrainbow/json-schema": "^6.0",
"bamarni/composer-bin-plugin": "^1.8"
"justinrainbow/json-schema": "^6.0"
},
"require-dev": {
"roave/security-advisories": "dev-master",
"phpunit/phpunit": "^9",
"nextcloud/coding-standard": "^1.1",
"nextcloud/ocp": "dev-master"
"nextcloud/ocp": "dev-stable30",
"psalm/phar": "^5.13"
},
"config": {
"optimize-autoloader": true,
"allow-plugins": {
"composer/package-versions-deprecated": true,
"bamarni/composer-bin-plugin": true
"composer/package-versions-deprecated": true
},
"platform": {
"php": "8.1"
"php": "8.0"
}
},
"scripts": {
"post-install-cmd": [
"@composer bin all install --ansi"
],
"lint": "find . -name \\*.php -not -path './vendor/*' -print0 | xargs -0 -n1 php -l",
"cs:check": "php-cs-fixer fix --dry-run --diff",
"cs:fix": "php-cs-fixer fix",
"psalm": "psalm",
"psalm:update-baseline": "psalm --threads=$(nproc) --no-cache --update-baseline",
"psalm:fix": "psalm --alter --issues=InvalidReturnType,InvalidNullableReturnType,MismatchingDocblockParamType,MismatchingDocblockReturnType,MissingParamType,InvalidFalsableReturnType",
"psalm": "psalm.phar",
"psalm:update-baseline": "psalm.phar --update-baseline",
"psalm:fix": "psalm.phar --alter --issues=InvalidReturnType,InvalidNullableReturnType,MismatchingDocblockParamType,MismatchingDocblockReturnType,MissingParamType,InvalidFalsableReturnType",
"test": [
"@test:unit",
"@test:integration"
Generated
+406 -514
View File
File diff suppressed because it is too large Load Diff
-1
View File
@@ -14,7 +14,6 @@
input[type=submit].icon-confirm {
border-color: var(--color-border-maxcontrast) !important;
border-style: solid;
border-left: none;
}
-149
View File
@@ -5,7 +5,6 @@
import { randUser } from '../utils/index.js'
const user = randUser()
const recipient = randUser()
import { sampleBoard } from '../utils/sampleBoard'
describe('Board', function() {
@@ -59,151 +58,3 @@ describe('Board', function() {
.should('be.visible')
})
})
describe('Board cloning', function() {
before(function() {
cy.createUser(user)
})
it('Clones a board without cards', function() {
const boardName = 'Clone board original'
const board = sampleBoard(boardName)
cy.createExampleBoard({ user, board }).then((board) => {
const boardId = board.id
cy.visit(`/apps/deck/board/${boardId}`)
cy.get('.app-navigation__list .app-navigation-entry:contains("' + boardName + '")')
.parent()
.find('button[aria-label="Actions"]')
.click()
cy.get('button:contains("Clone board")')
.click()
cy.get('.modal-container button:contains("Clone")')
.click()
cy.get('.app-navigation__list .app-navigation-entry:contains("' + boardName + '")')
.should('be.visible')
cy.get('.app-navigation__list .app-navigation-entry:contains("' + boardName + ' (copy)")')
.should('be.visible')
cy.get('.board-title h2').contains(boardName + ' (copy)')
cy.get('h3[aria-label="TestList"]')
.should('be.visible')
})
})
it('Clones a board with cards', function() {
const boardName = 'Clone with cards'
const board = sampleBoard(boardName)
cy.createExampleBoard({ user, board }).then((board) => {
const boardId = board.id
cy.visit(`/apps/deck/board/${boardId}`)
cy.get('.app-navigation__list .app-navigation-entry:contains("' + boardName + '")')
.parent()
.find('button[aria-label="Actions"]')
.click()
cy.get('button:contains("Clone board")')
.click()
cy.get('.checkbox-content__text:contains("Clone cards")')
.click()
cy.get('.modal-container button:contains("Clone")')
.click()
cy.get('.app-navigation__list .app-navigation-entry:contains("' + boardName + '")')
.should('be.visible')
cy.get('.app-navigation__list .app-navigation-entry:contains("' + boardName + ' (copy)")')
.should('be.visible')
cy.get('.board-title h2').contains(boardName + ' (copy)')
cy.get('h3[aria-label="TestList"]')
.should('be.visible')
cy.get('.card:contains("Hello world")')
.should('be.visible')
})
})
})
describe('Board export', function() {
before(function() {
cy.createUser(user)
})
it('Exports a board as JSON', function() {
const boardName = 'Export JSON board'
const board = sampleBoard(boardName)
cy.createExampleBoard({ user, board }).then((board) => {
const boardId = board.id
cy.visit(`/apps/deck/board/${boardId}`)
cy.get('.app-navigation__list .app-navigation-entry:contains("' + boardName + '")')
.parent()
.find('button[aria-label="Actions"]')
.click()
cy.get('button:contains("Export board")')
.click()
cy.get('.modal-container .checkbox-radio-switch__text:contains("Export as JSON")')
.click()
cy.get('.modal-container button:contains("Export")')
.click()
const downloadsFolder = Cypress.config('downloadsFolder')
cy.readFile(`${downloadsFolder}/${boardName}.json`)
})
})
it('Exports a board as CSV', function() {
const boardName = 'Export CSV board'
const board = sampleBoard(boardName)
cy.createExampleBoard({ user, board }).then((board) => {
const boardId = board.id
cy.visit(`/apps/deck/board/${boardId}`)
cy.get('.app-navigation__list .app-navigation-entry:contains("' + boardName + '")')
.parent()
.find('button[aria-label="Actions"]')
.click()
cy.get('button:contains("Export board")')
.click()
cy.get('.modal-container .checkbox-radio-switch__text:contains("Export as CSV")')
.click()
cy.get('.modal-container button:contains("Export")')
.click()
const downloadsFolder = Cypress.config('downloadsFolder')
cy.readFile(`${downloadsFolder}/${boardName}.csv`)
})
})
})
describe('Board import', function() {
before(function () {
cy.createUser(user)
})
beforeEach(function() {
cy.login(user)
cy.visit('/apps/deck')
})
it('Imports a board from JSON', function() {
cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry:contains("Import board")')
.should('be.visible')
.click()
// Upload a JSON file
cy.get('input[type="file"]')
.selectFile([
{
contents: 'cypress/fixtures/import-board.json',
fileName: 'import-board.json',
},
], { force: true })
cy.get('.app-navigation__list .app-navigation-entry:contains("Imported board")')
.should('be.visible')
})
})
+16 -103
View File
@@ -25,9 +25,9 @@ const useModal = (useModal) => {
})
}
describe('Card', function () {
describe('Card', function() {
let boardId
before(function () {
before(function() {
cy.createUser(user)
cy.login(user)
cy.createExampleBoard({
@@ -38,11 +38,11 @@ describe('Card', function () {
})
})
beforeEach(function () {
beforeEach(function() {
cy.login(user)
})
it('Can add a card', function () {
it('Can add a card', function() {
cy.visit(`/apps/deck/#/board/${boardId}`)
const newCardTitle = 'Write some cypress tests'
@@ -63,7 +63,7 @@ describe('Card', function () {
})
})
it('Create card from overview', function () {
it('Create card from overview', function() {
cy.visit(`/apps/deck/#/`)
const newCardTitle = 'Test create from overview'
cy.intercept({ method: 'POST', url: '**/apps/deck/cards' }).as('save')
@@ -71,10 +71,6 @@ describe('Card', function () {
cy.get('.button-vue[aria-label*="Add card"]')
.first().click()
// Somehow this avoids the electron crash
cy.wait(2000)
cy.get('.modal-mask.card-selector .card-title').should('be.visible').click().type(newCardTitle)
cy.get('.modal-mask.card-selector .multiselect-board').should('be.visible').click()
cy.get('.vs__dropdown-menu [data-cy="board-select-title"]:contains("' + boardData.title + '")').should('be.visible').click()
@@ -87,85 +83,22 @@ describe('Card', function () {
cy.get('.modal-mask.card-selector button.button-vue--vue-primary').should('be.visible').click()
cy.wait('@save', { timeout: 7000 })
cy.reload()
cy.visit(`/apps/deck/#/board/${boardId}`)
cy.reload()
cy.get('.board .stack').eq(0).within(() => {
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible')
})
})
it('Card with link reference', () => {
cy.visit(`/apps/deck/#/board/${boardId}`)
const absoluteUrl = `https://example.com`
cy.get('.board .stack').eq(0).within(() => {
cy.get('.button-vue[aria-label*="Add card"]')
.first().click()
cy.get('.stack__card-add form input#new-stack-input-main')
.type(absoluteUrl)
cy.get('.stack__card-add form input[type=submit]')
.first().click()
cy.get('.card:contains("Example Domain")')
.should('be.visible')
.click()
})
cy.get('.app-sidebar-header', { timeout: 10000 })
.should('be.visible')
.find('h2').contains('Example Domain').should('be.visible')
})
it('Rename card with link', () => {
cy.visit(`/apps/deck/#/board/${boardId}`)
const absoluteUrl = `https://example.com`
const plainTitle = 'New title'
cy.get('.board .stack').eq(0).within(() => {
cy.get('.button-vue[aria-label*="Add card"]')
.first().click()
cy.get('.stack__card-add form input#new-stack-input-main')
.type(absoluteUrl)
cy.get('.stack__card-add form input[type=submit]')
.first().click()
cy.get('.card:contains("Example Domain")')
.should('be.visible')
})
// Rename link to plain title
cy.get('.card:contains("Example Domain")')
.last() // A duplicate card might be created in other test case, so we select the last one
.find('.action-item__menutoggle')
.click()
cy.get('.v-popper__popper button:contains("Edit title")')
.click()
cy.get(`h4:contains("${absoluteUrl}") span[contenteditable="true"]`)
.type(`{selectAll}${plainTitle}{enter}`)
cy.get(`.card:contains("${plainTitle}")`)
.should('be.visible')
// Rename plain title to link
cy.get('.card:contains("New title")')
.find('.action-item__menutoggle')
.click()
cy.get('.v-popper__popper button:contains("Edit title")')
.click()
cy.get('h4:contains("New title") span[contenteditable="true"]')
.type(`{selectAll}${absoluteUrl}{enter}`)
cy.get('.board').click()
cy.get('.card:contains("Example Domain")')
.should('be.visible')
})
describe('Modal', () => {
beforeEach(function () {
beforeEach(function() {
cy.login(user)
useModal(true).then(() => {
cy.visit(`/apps/deck/#/board/${boardId}`)
})
})
it('Can show card details modal', function () {
it('Can show card details modal', function() {
cy.getNavigationEntry(boardData.title)
.first().click({ force: true })
@@ -188,11 +121,10 @@ describe('Card', function () {
cy.get('.file-picker__main [data-filename="welcome.txt"]', { timeout: 30000 }).should('be.visible')
.click()
cy.get('.dialog__actions button.button-vue--vue-primary').click()
cy.get('.attachment-list .filename').contains('welcome')
cy.get('.attachment-list .filename .extension').contains('txt')
cy.get('.attachment-list .basename').contains('welcome.txt')
})
it('Shows the modal with the editor', () => {
it.only('Shows the modal with the editor', () => {
cy.get('.card:contains("Hello world")').should('be.visible').click()
cy.intercept({ method: 'PUT', url: '**/apps/deck/cards/*' }).as('save')
cy.get('.modal__card').should('be.visible')
@@ -229,9 +161,9 @@ describe('Card', function () {
cy.get('.reference-picker-modal--content .reference-picker .multiselect-list').should('be.visible').contains(boardData.stacks[0].title)
cy.get('.reference-picker-modal--content .reference-picker button.button-vue--vue-primary').should('be.visible').click()
cy.wait('@save', { timeout: 7000 })
cy.get('.modal__card .ProseMirror').contains('/index.php/apps/deck/card/').should('have.length', 1)
cy.get('.modal__card .ProseMirror').contains('/index.php/apps/deck/card/').should('be.visible')
cy.visit(`/apps/deck/board/${boardId}`)
cy.visit(`/apps/deck/#/board/${boardId}`)
cy.reload()
cy.get('.board .stack').eq(0).within(() => {
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible')
@@ -240,7 +172,7 @@ describe('Card', function () {
})
describe('Sidebar', () => {
beforeEach(function () {
beforeEach(function() {
cy.login(user)
useModal(false).then(() => {
cy.visit(`/apps/deck/#/board/${boardId}`)
@@ -253,7 +185,7 @@ describe('Card', function () {
.find('.ProseMirror h1').contains('Hello world writing more text').should('be.visible')
})
it('Set a due date', function () {
it('Set a due date', function() {
const newCardTitle = 'Card with a due date'
cy.get('.button-vue[aria-label*="Add card"]')
@@ -291,7 +223,7 @@ describe('Card', function () {
cy.get(`.card:contains("${newCardTitle}")`).find('[data-due-state]').should('not.exist')
})
it('Add a label', function () {
it('Add a label', function() {
const newCardTitle = 'Card with labels'
cy.get('.button-vue[aria-label*="Add card"]')
@@ -302,9 +234,6 @@ describe('Card', function () {
.first().click()
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible').click()
// Add delay to ensure the events are bound
cy.wait(1000)
cy.get('#app-sidebar-vue [data-test="tag-selector"] .vs__dropdown-toggle').should('be.visible').click()
cy.get('.vs__dropdown-menu .tag:contains("Action needed")').should('be.visible').click()
cy.get('.vs__dropdown-menu .tag:contains("Later")').should('be.visible').click()
@@ -323,7 +252,7 @@ describe('Card', function () {
})
describe('Card actions', () => {
beforeEach(function () {
beforeEach(function() {
cy.login(user)
useModal(false).then(() => {
cy.visit(`/apps/deck/#/board/${boardId}`)
@@ -369,21 +298,5 @@ describe('Card', function () {
})
})
})
it('clone card', () => {
cy.intercept({ method: 'POST', url: '**/apps/deck/**/cards/*/clone' }).as('clone')
cy.get('.card:contains("Hello world")').should('be.visible').click()
cy.get('#app-sidebar-vue')
.find('.ProseMirror h1').contains('Hello world').should('be.visible')
cy.get('.app-sidebar-header .action-item__menutoggle').click()
cy.get('.v-popper__popper button:contains("Move/copy card")').click()
cy.get('.vs__dropdown-menu span[title="MyTestBoard"]').should('be.visible').click()
cy.get('[data-cy="select-stack"] .vs__dropdown-toggle').should('be.visible').click()
cy.get('.vs__dropdown-menu span[title="TestList"]').should('be.visible').click()
cy.get('.modal-container button:contains("Copy card")').click()
cy.wait('@clone', { timeout: 7000 })
cy.get('.card:contains("Hello world")').should('have.length', 2)
})
})
})
+2 -2
View File
@@ -22,10 +22,10 @@ describe('Deck dashboard', function() {
.should($el => expect($el.text().trim()).to.equal('Upcoming cards'))
})
it('Can see the default "Welcome Board" created for user by default', function() {
it('Can see the default "Personal Board" created for user by default', function() {
cy.visit('/apps/deck')
const defaultBoard = 'Welcome to Nextcloud Deck!'
const defaultBoard = 'Personal'
cy.get('.app-navigation-entry-wrapper[icon=icon-deck]')
.find('ul.app-navigation-entry__children .app-navigation-entry:contains(' + defaultBoard + ')')
-102
View File
@@ -1,102 +0,0 @@
{
"boards": [
{
"id": 70,
"title": "Imported board",
"owner": "unvjrmwuag",
"color": "00ff00",
"archived": false,
"labels": [
{
"id": 293,
"title": "Finished",
"color": "31CC7C",
"boardId": 70,
"cardId": null,
"lastModified": 0,
"ETag": "cfcd208495d565ef66e7dff9f98764da"
},
{
"id": 294,
"title": "To review",
"color": "317CCC",
"boardId": 70,
"cardId": null,
"lastModified": 0,
"ETag": "cfcd208495d565ef66e7dff9f98764da"
},
{
"id": 295,
"title": "Action needed",
"color": "FF7A66",
"boardId": 70,
"cardId": null,
"lastModified": 0,
"ETag": "cfcd208495d565ef66e7dff9f98764da"
},
{
"id": 296,
"title": "Later",
"color": "F1DB50",
"boardId": 70,
"cardId": null,
"lastModified": 0,
"ETag": "cfcd208495d565ef66e7dff9f98764da"
}
],
"acl": [],
"permissions": [],
"users": [],
"stacks": {
"114": {
"id": 114,
"title": "TestList",
"boardId": 70,
"deletedAt": 0,
"lastModified": 1743495533,
"cards": [
{
"id": 124,
"title": "Hello world",
"description": "# Hello world",
"descriptionPrev": null,
"stackId": 114,
"type": "plain",
"lastModified": 1743495533,
"lastEditor": null,
"createdAt": 1743495533,
"labels": [],
"assignedUsers": null,
"attachments": null,
"attachmentCount": null,
"owner": {
"primaryKey": "unvjrmwuag",
"uid": "unvjrmwuag",
"displayname": "unvjrmwuag",
"type": 0
},
"order": 999,
"archived": false,
"done": null,
"duedate": null,
"notified": false,
"deletedAt": 0,
"commentsUnread": 0,
"commentsCount": 0,
"relatedStack": null,
"relatedBoard": null,
"ETag": "aa85bb973089e7fbc0bbf122e926c23f"
}
],
"order": 0,
"ETag": "aa85bb973089e7fbc0bbf122e926c23f"
}
},
"activeSessions": [],
"deletedAt": 0,
"lastModified": 1743495533,
"settings": [],
"ETag": "aa85bb973089e7fbc0bbf122e926c23f"
}
]
}
+1 -5
View File
@@ -102,11 +102,7 @@ Cypress.Commands.add('shareBoardWithUi', (query, userId=query) => {
cy.intercept({ method: 'GET', url: `**/ocs/v2.php/apps/files_sharing/api/v1/sharees?search=${query}*` }).as('fetchRecipients')
cy.get('[aria-label="Open details"]').click()
cy.get('.app-sidebar').should('be.visible')
// Add delay to ensure the events are bound
cy.wait(1000)
cy.get('.select input').click().type(`${query}`)
cy.get('.select input').type(`${query}`)
cy.wait('@fetchRecipients', { timeout: 7000 })
cy.get('.vs__dropdown-menu .option').first().contains(query)
+10 -61
View File
@@ -6,7 +6,7 @@ The REST API provides access for authenticated users to their data inside the De
# Prerequisites
- All requests require a `OCS-APIRequest` HTTP header to be set to `true` and a `Content-Type` of `application/json`. This does not apply to the endpoint for uploading attachments, which consumes `multipart/form-data`.
- All requests require a `OCS-APIRequest` HTTP header to be set to `true` and a `Content-Type` of `application/json`.
- The API is located at https://nextcloud.local/index.php/apps/deck/api/v1.0
- All request parameters are required, unless otherwise specified
@@ -347,34 +347,6 @@ A 403 response might be returned if the users ability to create new boards has b
##### 200 Success
### PUT /boards/{boardId}/stacks/{stackId}/cards/{cardId}/archive - Archive a card
#### Request parameters
| Parameter | Type | Description |
| --------- | ------- | --------------------------------------- |
| boardId | Integer | The id of the board the card belongs to |
| stackId | Integer | The id of the stack the card belongs to |
| cardId | Integer | The id of the card |
#### Response
##### 200 Success
### PUT /boards/{boardId}/stacks/{stackId}/cards/{cardId}/unarchive - Unarchive a card
#### Request parameters
| Parameter | Type | Description |
| --------- | ------- | --------------------------------------- |
| boardId | Integer | The id of the board the card belongs to |
| stackId | Integer | The id of the stack the card belongs to |
| cardId | Integer | The id of the card |
#### Response
##### 200 Success
### DELETE /boards/{boardId} - Delete a board
#### Request parameters
@@ -451,25 +423,6 @@ A 403 response might be returned if the users ability to create new boards has b
##### 200 Success
### POST /boards/{boardId}/clone - Clone a board
Creates a copy of the board.
#### Request body
| Parameter | Type | Description |
| --------- | ------ | ---------------------------------------------------- |
| withCards | Bool | Setting if the cards should be copied (Default: false) |
| withAssignments | Bool | Setting if the card assignments should be cloned (Default: false) |
| withLabels | Bool | Setting if the card labels should be cloned (Default: false) |
| withDueDate | Bool | Setting if the card due dates should be cloned (Default: false) |
| moveCardsToLeftStack | Bool | Setting if all cards should be moved to the most left column (useful for To-Do / Doing / Done boards) (Default: false) |
| restoreArchivedCards | Bool | Setting if the archived cards should be unarchived (Default: false) |
#### Response
##### 200 Success
### DELETE /boards/{boardId}/acl/{aclId} - Delete an acl rule
#### Response
@@ -733,7 +686,6 @@ The board list endpoint supports setting an `If-Modified-Since` header to limit
| Parameter | Type | Description |
| --------- | ------- | --------------------------------------- |
| labelId | Integer | The label id to assign to the card |
#### Response
##### 200 Success
@@ -998,12 +950,10 @@ The request can fail with a bad request response for the following reasons:
#### Request data
The request is performed as `multipart/form-data`.
| Parameter | Type | Description |
| --------- | ------- | ----------------------------------------------------------------------------------------------- |
| type | String | The type of the attachement. Use `file` or `deck_file`. |
| file | Binary | File data to add as an attachment together with the `filename` parameter according to RFC 7578. |
| Parameter | Type | Description |
| --------- | ------- | --------------------------------------------- |
| type | String | The type of the attachement |
| file | Binary | File data to add as an attachment |
- Prior to Deck version v1.3.0 (API v1.0), attachments were stored within deck. For this type of attachments `deck_file` was used as the default type of attachments
- Starting with Deck version 1.3.0 (API v1.1) files are stored within the users regular Nextcloud files and the type `file` has been introduced for that
@@ -1025,13 +975,12 @@ The request is performed as `multipart/form-data`.
#### Request data
The request is performed as `multipart/form-data`.
| Parameter | Type | Description |
| --------- | ------- | ----------------------------------------------------------------------------------------------- |
| type | String | The type of the attachement. For now only `deck_file` is supported as an attachment type. |
| file | Binary | File data to add as an attachment together with the `filename` parameter according to RFC 7578. |
| Parameter | Type | Description |
| --------- | ------- | --------------------------------------------- |
| type | String | The type of the attachement |
| file | Binary | File data to add as an attachment |
For now only `deck_file` is supported as an attachment type.
#### Response
+1 -1
View File
@@ -13,7 +13,7 @@ The Deck application plugin uses the [markdown-it](https://github.com/markdown-i
## Supported Markdown
Markdown comes in many flavors. The best way to learn markdown and understand how to use it, is simply to [try it](https://markdown-it.github.io) on the original script official playground.
Markdown comes in may flavors. The best way to learn markdown and understand how to use it, is simply to [try it](https://markdown-it.github.io) on the original script official playground.
That same link offers also a comprehensive list of what is supported, and what is not - rendering it unnecessary to duplicate that content in here.
[CommonMark Markdown Reference](http://commonmark.org/help/)
+22 -22
View File
@@ -105,21 +105,17 @@ It is possible to import from the following sources:
#### Trello JSON
**Limitations:**
* Comments with more than 1000 characters are placed as attached files to the card.
Steps:
* Create the data file
* Access Trello
* go to the board you want to export
* Follow the steps in [Trello documentation](https://help.trello.com/article/747-exporting-data-from-trello-1) and export as JSON
* Create the configuration file
* Execute the import informing the import file path, data file and source as `Trello JSON`
**Steps:**
1. Create the data file:
* Access Trello.
* Go to the board you want to export.
* Follow the steps in [Trello documentation](https://help.trello.com/article/747-exporting-data-from-trello-1) and export as JSON.
2. Create the configuration file.
3. Execute the import, specifying the import file path, data file, and source as `Trello JSON`.
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/main/lib/Service/Importer/fixtures/config-trelloJson-schema.json) for importing `Trello JSON`.
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/main/lib/Service/Importer/fixtures/config-trelloJson-schema.json) for import `Trello JSON`
Example configuration file:
```json
{
"owner": "admin",
@@ -130,22 +126,26 @@ Example configuration file:
}
```
**Additional Limitations**:
* Importing from a JSON file imports up to 1000 actions. To find out how many actions the board to be imported has, check the number of actions in the JSON.
**Limitations**:
Importing from a JSON file imports up to 1000 actions. To find out how many actions the board to be imported has, identify how many actions the JSON has.
#### Trello API
Importing via API is recommended for boards with more than 1000 actions. Trello allows attaching links to a card, but Deck does not support this feature. Attachment links are instead added in a markdown table at the end of the description for each imported card.
Import using API is recommended for boards with more than 1000 actions.
1. Get the API Key and Token [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/api-introduction/#authentication-and-authorization).
2. Obtain the ID of the board you want to import by making a request to:
```
https://api.trello.com/1/members/me/boards?key={yourKey}&token={yourToken}&fields=id,name
```
3. Create the configuration file, ensuring it follows the [JSON Schema](https://github.com/nextcloud/deck/blob/main/lib/Service/Importer/fixtures/config-trelloApi-schema.json) for `Trello JSON`.
Trello makes it possible to attach links to a card. Deck does not have this feature. Attachments and attachment links are added in a markdown table at the end of the description for every imported card that has attachments in Trello.
* Get the API Key and API Token [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/api-introduction/#authentication-and-authorization)
* Get the ID of the board you want to import by making a request to:
https://api.trello.com/1/members/me/boards?key={yourKey}&token={yourToken}&fields=id,name
This ID you will use in the configuration file in the `board` property
* Create the configuration file
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/main/lib/Service/Importer/fixtures/config-trelloApi-schema.json) for import `Trello JSON`
Example configuration file:
```json
{
"owner": "admin",
+35 -50
View File
@@ -4,19 +4,18 @@
-->
## Export
Deck currently supports exporting all boards a user owns in a single JSON file. The format is based on the database schema that Deck uses. It can be used to re-import boards on the same or other instances.
Deck currently supports exporting all boards a user owns in a single JSON file. The format is based on the database schema that deck uses. It can be used to re-import boards on the same or other instances.
The export currently has some known limitations in terms of specific data not included:
The export currently has some kown limitations in terms of specific data not included:
- Activity information
- File attachments to Deck cards
- File attachments to deck cards
- Comments
-
```
occ deck:export userid > userid-deck-export.json
occ deck:export > my-file.json
```
*(`userid` = username as seen in the admin user accounts page)*
## Import Boards
## Import boards
Importing can be done using the API or the `occ` `deck:import` command.
@@ -24,57 +23,39 @@ It is possible to import from the following sources:
### Deck JSON
A JSON file that has been obtained from the above-described `occ deck:export [userid] > userid-deck-export.json` command can be imported.
A json file that has been obtained from the above described `occ deck:export [userid]` command can be imported.
```
occ deck:import userid-deck-export.json
occ deck:import my-file.json
```
You will be asked to provide a path to a config file.
In case you are importing from a different instance you may use an additional config file to provide custom user id mapping in case users have different identifiers.
To know what to put in there:
- Have a look at your `userid-deck-export.json`
- Near the top, you will see `"uid"` with a username.
- Search for additional `"uid"` entries to find all the usernames involved and note them.
- Search for `"acl"`, where `"uid"`s of groups are also present; note them too.
If you are importing from a different instance, you must provide custom user ID mapping in case users have different identifiers.
Create a config file, e.g., `deck-import-config-file-userid.json`, and adjust the content of this example as described above. User IDs on the new instance can be seen in the admin user accounts page.
```json
```
{
"owner": "useridofnewownerofallboards",
"owner": "admin",
"uidRelation": {
"userid1onoldinstance": "userid1onnewinstance",
"userid2onoldinstance": "userid2onnewinstance",
"groupid1onoldinstance": "groupid1onnewinstance"
"johndoe": "test-user-1"
}
}
```
After pressing enter, everything will be imported.
Additional info:
- If you export a users boards, all boards that the user has access to will be exported (including those shared with that user).
#### Trello JSON
**Limitations:**
Limitations:
* Comments with more than 1000 characters are placed as attached files to the card.
**Steps:**
1. Create the data file:
* Access Trello.
* Go to the board you want to export.
* Follow the steps in [Trello documentation](https://help.trello.com/article/747-exporting-data-from-trello-1) and export as JSON.
2. Create the configuration file.
3. Execute the import, specifying the import file path, data file, and source as `Trello JSON`.
Steps:
* Create the data file
* Access Trello
* go to the board you want to export
* Follow the steps in [Trello documentation](https://help.trello.com/article/747-exporting-data-from-trello-1) and export as JSON
* Create the configuration file
* Execute the import informing the import file path, data file and source as `Trello JSON`
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/main/lib/Service/Importer/fixtures/config-trelloJson-schema.json) for importing `Trello JSON`.
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/main/lib/Service/Importer/fixtures/config-trelloJson-schema.json) for import `Trello JSON`
Example configuration file:
```json
{
"owner": "admin",
@@ -85,22 +66,26 @@ Example configuration file:
}
```
**Additional Limitations**:
* Importing from a JSON file imports up to 1000 actions. To find out how many actions the board to be imported has, check the number of actions in the JSON.
**Limitations**:
Importing from a JSON file imports up to 1000 actions. To find out how many actions the board to be imported has, identify how many actions the JSON has.
#### Trello API
Importing via API is recommended for boards with more than 1000 actions. Trello allows attaching links to a card, but Deck does not support this feature. Attachment links are instead added in a markdown table at the end of the description for each imported card.
Import using API is recommended for boards with more than 1000 actions.
1. Get the API Key and Token [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/api-introduction/#authentication-and-authorization).
2. Obtain the ID of the board you want to import by making a request to:
```
https://api.trello.com/1/members/me/boards?key={yourKey}&token={yourToken}&fields=id,name
```
3. Create the configuration file, ensuring it follows the [JSON Schema](https://github.com/nextcloud/deck/blob/main/lib/Service/Importer/fixtures/config-trelloApi-schema.json) for `Trello JSON`.
Trello makes it possible to attach links to a card. Deck does not have this feature. Attachments and attachment links are added in a markdown table at the end of the description for every imported card that has attachments in Trello.
* Get the API Key and API Token [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/api-introduction/#authentication-and-authorization)
* Get the ID of the board you want to import by making a request to:
https://api.trello.com/1/members/me/boards?key={yourKey}&token={yourToken}&fields=id,name
This ID you will use in the configuration file in the `board` property
* Create the configuration file
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/main/lib/Service/Importer/fixtures/config-trelloApi-schema.json) for import `Trello JSON`
Example configuration file:
```json
{
"owner": "admin",
Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 KiB

+4
View File
@@ -9,9 +9,11 @@ OC.L10N.register(
"Missing a temporary folder" : "Адсутнічае часовая папка",
"Could not write file to disk" : "Не ўдалося запісаць файл на дыск",
"A PHP extension stopped the file upload" : "Пашырэнне PHP спыніла запампоўванне файла",
"No file uploaded or file size exceeds maximum of %s" : "Файл не запампаваны, або памер файла перавышае максімальны %s",
"copy" : "копія",
"Done" : "Гатова",
"File" : "Файл",
"Invalid date, date format must be YYYY-MM-DD" : "Памылковая дата, дата павінна быць у фармаце ГГГГ-ММ-ДД",
"Cancel" : "Скасаваць",
"Drop your files to upload" : "Перацягніце файлы для запампоўвання",
"File already exists" : "Файл ужо існуе",
@@ -50,6 +52,7 @@ OC.L10N.register(
"Reply" : "Адказаць",
"Update" : "Абнавіць",
"Description" : "Апісанне",
"Formatting help" : "Даведка па фармаціраванні",
"Later today {timeLocale}" : "Пазней сёння {timeLocale}",
"Set due date for later today" : "Задаць дату выканання на пазней сёння",
"Tomorrow {timeLocale}" : "Заўтра {timeLocale}",
@@ -66,6 +69,7 @@ OC.L10N.register(
"Keyboard shortcut" : "Спалучэнне клавіш",
"Action" : "Дзеянне",
"Shift" : "Shift",
"Ctrl" : "Ctrl",
"Search" : "Пошук",
"Enter" : "Enter",
"Shared with you" : "Абагулена з вамі",
+4
View File
@@ -7,9 +7,11 @@
"Missing a temporary folder" : "Адсутнічае часовая папка",
"Could not write file to disk" : "Не ўдалося запісаць файл на дыск",
"A PHP extension stopped the file upload" : "Пашырэнне PHP спыніла запампоўванне файла",
"No file uploaded or file size exceeds maximum of %s" : "Файл не запампаваны, або памер файла перавышае максімальны %s",
"copy" : "копія",
"Done" : "Гатова",
"File" : "Файл",
"Invalid date, date format must be YYYY-MM-DD" : "Памылковая дата, дата павінна быць у фармаце ГГГГ-ММ-ДД",
"Cancel" : "Скасаваць",
"Drop your files to upload" : "Перацягніце файлы для запампоўвання",
"File already exists" : "Файл ужо існуе",
@@ -48,6 +50,7 @@
"Reply" : "Адказаць",
"Update" : "Абнавіць",
"Description" : "Апісанне",
"Formatting help" : "Даведка па фармаціраванні",
"Later today {timeLocale}" : "Пазней сёння {timeLocale}",
"Set due date for later today" : "Задаць дату выканання на пазней сёння",
"Tomorrow {timeLocale}" : "Заўтра {timeLocale}",
@@ -64,6 +67,7 @@
"Keyboard shortcut" : "Спалучэнне клавіш",
"Action" : "Дзеянне",
"Shift" : "Shift",
"Ctrl" : "Ctrl",
"Search" : "Пошук",
"Enter" : "Enter",
"Shared with you" : "Абагулена з вамі",
+4
View File
@@ -188,6 +188,10 @@ OC.L10N.register(
"Add Attachment" : "Tilføj vedhæftning",
"Choose attachment" : "Vælg en vedhæftning",
"Select Date" : "Vælg dato",
"Later today {timeLocale}" : "Senere i dag {timeLocale}",
"Tomorrow {timeLocale}" : "I morgen {timeLocale}",
"This weekend {timeLocale}" : "Denne weekend {timeLocale}",
"Next week {timeLocale}" : "Næste uge {timeLocale}",
"Set a due date" : "Angiv en forfaldsdato",
"Remove due date" : "Fjern forfaldsdato",
"Mark as done" : "Marker som færdig",
+4
View File
@@ -186,6 +186,10 @@
"Add Attachment" : "Tilføj vedhæftning",
"Choose attachment" : "Vælg en vedhæftning",
"Select Date" : "Vælg dato",
"Later today {timeLocale}" : "Senere i dag {timeLocale}",
"Tomorrow {timeLocale}" : "I morgen {timeLocale}",
"This weekend {timeLocale}" : "Denne weekend {timeLocale}",
"Next week {timeLocale}" : "Næste uge {timeLocale}",
"Set a due date" : "Angiv en forfaldsdato",
"Remove due date" : "Fjern forfaldsdato",
"Mark as done" : "Marker som færdig",
+1
View File
@@ -373,6 +373,7 @@ OC.L10N.register(
"Note: Only the JSON format is supported for importing back into the Deck app." : "Megjegyzés: Csak a JSON formátum támogatott a Kártyák alkalmazásba való importáláskor.",
"Export" : "Exportálás",
"Loading filtered view" : "Szűrt nézet betöltése",
"Search for {searchQuery} in other boards" : "Keresés a(z) {searchQuery} kifejezésre a többi táblában",
"Search for {searchQuery} in all boards" : "Keresés a(z) {searchQuery} kifejezésre az összes táblában",
"No results found" : "Nincs találat",
"Deck board {name}\n* Last modified on {lastMod}" : "{name} kártyatábla\n* Legutóbb módosítva: {lastMod}",
+1
View File
@@ -371,6 +371,7 @@
"Note: Only the JSON format is supported for importing back into the Deck app." : "Megjegyzés: Csak a JSON formátum támogatott a Kártyák alkalmazásba való importáláskor.",
"Export" : "Exportálás",
"Loading filtered view" : "Szűrt nézet betöltése",
"Search for {searchQuery} in other boards" : "Keresés a(z) {searchQuery} kifejezésre a többi táblában",
"Search for {searchQuery} in all boards" : "Keresés a(z) {searchQuery} kifejezésre az összes táblában",
"No results found" : "Nincs találat",
"Deck board {name}\n* Last modified on {lastMod}" : "{name} kártyatábla\n* Legutóbb módosítva: {lastMod}",
+19
View File
@@ -81,10 +81,14 @@ OC.L10N.register(
"Could not write file to disk" : "Неможе да се запишува на дискот",
"A PHP extension stopped the file upload" : "PHP додаток го стопираше прикачувањето на датотеката",
"No file uploaded or file size exceeds maximum of %s" : "Нема прикачена дадотека или големината го надмминува максимумот од %s",
"Invalid file type. Only JSON files are allowed." : "Невалиден тип на датотека. Дозволени се само JSON датотеки.",
"Invalid JSON data" : "Невалидни JSON податоци",
"Failed to import board" : "Неуспешен увоз на табла",
"Cards due today" : "Картици со рок до денес",
"Cards due tomorrow" : "Картици со рок до утре",
"Upcoming cards" : "Престојни картици",
"Load more" : "Вчитај повеќе",
"Welcome to Nextcloud Deck!" : "Добредојдовте во Nextcloud Deck!",
"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\" го достигна датумот на истекување.",
@@ -108,9 +112,15 @@ OC.L10N.register(
"Later" : "Покасно",
"copy" : "копирај",
"Read more inside" : "Прочитај повеќе",
"Custom lists - click to rename!" : "Прилагодени листи – кликнете за преименување!",
"To Do" : "За правење",
"In Progress" : "Во тек",
"Done" : "Готово",
"1. Open to learn more about boards and cards" : "1. Отворете за да дознаете повеќе за таблите и картичките",
"2. Drag cards left and right, up and down" : "2. Влечете ги картичките лево и десно, горе и долу",
"3. Apply rich formatting and link content" : "3. Применете богато форматирање и поврзете содржина",
"4. Share, comment and collaborate!" : "4. Споделувајте, коментирајте и соработувајте!",
"Create your first card!" : "Креирајте ја вашата прва картичка!",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Коментарот има повеќе од %s карактери.\nДодаден е како пролог на картицата со име %s.\nДостапен е на линк: %s.",
"Attachments" : "Прилози",
"File" : "Датотека",
@@ -152,6 +162,7 @@ OC.L10N.register(
"Filter by assigned user" : "Филтрирај по назначени корисници",
"Unassigned" : "Неназначени",
"Filter by status" : "Филтрирај по статус",
"Open and completed" : "Отворени и завршени",
"Open" : "Отвори",
"Completed" : "Завршено",
"Filter by due date" : "Филтрирај по краен рок",
@@ -294,7 +305,9 @@ OC.L10N.register(
"Action" : "Акција",
"Shift" : "Shift",
"Scroll" : "Scroll",
"Scroll sideways" : "Лизгај странично",
"Navigate between cards" : "Навигација помеѓу картиците",
"Esc" : "Esc",
"Close card details" : "Затвори детали на картица",
"Ctrl" : "Ctrl",
"Search" : "Барај",
@@ -342,6 +355,9 @@ OC.L10N.register(
"Assigned cards" : "Доделени картици",
"No notifications" : "Нема известувања",
"Delete board" : "Избриши табла",
"Importing board..." : "Увезување табла...",
"Board imported successfully" : "Таблата е успешно увезена",
"Import board" : "Увези табла",
"Clone {boardTitle}" : "Клонирај {boardTitle}",
"Clone cards" : "Клинирај картици",
"Clone assignments" : "Клонирај задачи",
@@ -352,6 +368,9 @@ OC.L10N.register(
"Restore archived cards" : "Врати архивирани картици",
"Clone" : "Клонирај",
"Export {boardTitle}" : "Извези {boardTitle}",
"Export as JSON" : "Извези како JSON",
"Export as CSV" : "Извези како CSV",
"Note: Only the JSON format is supported for importing back into the Deck app." : "Забелешка: Поддржан е само JSON формат за увоз назад во апликацијата Deck.",
"Export" : "Извези",
"Loading filtered view" : "Вчитување на филтриран поглед",
"Search for {searchQuery} in other boards" : "Барај {searchQuery} во други табли",
+19
View File
@@ -79,10 +79,14 @@
"Could not write file to disk" : "Неможе да се запишува на дискот",
"A PHP extension stopped the file upload" : "PHP додаток го стопираше прикачувањето на датотеката",
"No file uploaded or file size exceeds maximum of %s" : "Нема прикачена дадотека или големината го надмминува максимумот од %s",
"Invalid file type. Only JSON files are allowed." : "Невалиден тип на датотека. Дозволени се само JSON датотеки.",
"Invalid JSON data" : "Невалидни JSON податоци",
"Failed to import board" : "Неуспешен увоз на табла",
"Cards due today" : "Картици со рок до денес",
"Cards due tomorrow" : "Картици со рок до утре",
"Upcoming cards" : "Престојни картици",
"Load more" : "Вчитај повеќе",
"Welcome to Nextcloud Deck!" : "Добредојдовте во Nextcloud Deck!",
"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\" го достигна датумот на истекување.",
@@ -106,9 +110,15 @@
"Later" : "Покасно",
"copy" : "копирај",
"Read more inside" : "Прочитај повеќе",
"Custom lists - click to rename!" : "Прилагодени листи – кликнете за преименување!",
"To Do" : "За правење",
"In Progress" : "Во тек",
"Done" : "Готово",
"1. Open to learn more about boards and cards" : "1. Отворете за да дознаете повеќе за таблите и картичките",
"2. Drag cards left and right, up and down" : "2. Влечете ги картичките лево и десно, горе и долу",
"3. Apply rich formatting and link content" : "3. Применете богато форматирање и поврзете содржина",
"4. Share, comment and collaborate!" : "4. Споделувајте, коментирајте и соработувајте!",
"Create your first card!" : "Креирајте ја вашата прва картичка!",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Коментарот има повеќе од %s карактери.\nДодаден е како пролог на картицата со име %s.\nДостапен е на линк: %s.",
"Attachments" : "Прилози",
"File" : "Датотека",
@@ -150,6 +160,7 @@
"Filter by assigned user" : "Филтрирај по назначени корисници",
"Unassigned" : "Неназначени",
"Filter by status" : "Филтрирај по статус",
"Open and completed" : "Отворени и завршени",
"Open" : "Отвори",
"Completed" : "Завршено",
"Filter by due date" : "Филтрирај по краен рок",
@@ -292,7 +303,9 @@
"Action" : "Акција",
"Shift" : "Shift",
"Scroll" : "Scroll",
"Scroll sideways" : "Лизгај странично",
"Navigate between cards" : "Навигација помеѓу картиците",
"Esc" : "Esc",
"Close card details" : "Затвори детали на картица",
"Ctrl" : "Ctrl",
"Search" : "Барај",
@@ -340,6 +353,9 @@
"Assigned cards" : "Доделени картици",
"No notifications" : "Нема известувања",
"Delete board" : "Избриши табла",
"Importing board..." : "Увезување табла...",
"Board imported successfully" : "Таблата е успешно увезена",
"Import board" : "Увези табла",
"Clone {boardTitle}" : "Клонирај {boardTitle}",
"Clone cards" : "Клинирај картици",
"Clone assignments" : "Клонирај задачи",
@@ -350,6 +366,9 @@
"Restore archived cards" : "Врати архивирани картици",
"Clone" : "Клонирај",
"Export {boardTitle}" : "Извези {boardTitle}",
"Export as JSON" : "Извези како JSON",
"Export as CSV" : "Извези како CSV",
"Note: Only the JSON format is supported for importing back into the Deck app." : "Забелешка: Поддржан е само JSON формат за увоз назад во апликацијата Deck.",
"Export" : "Извези",
"Loading filtered view" : "Вчитување на филтриран поглед",
"Search for {searchQuery} in other boards" : "Барај {searchQuery} во други табли",
+2
View File
@@ -266,6 +266,7 @@ OC.L10N.register(
"{count} comments, {unread} unread" : "{count} reacties, {unread} ongelezen",
"Todo items" : "Te doen onderwerpen",
"Edit card title" : "Wijzig de titel van de kaart",
"Open link" : "Open link",
"Card deleted" : "Kaart verwijderd",
"Edit title" : "Titel bewerken",
"Assign to me" : "Aan mij toewijzen",
@@ -279,6 +280,7 @@ OC.L10N.register(
"Shift" : "Shift",
"Ctrl" : "Ctrl",
"Search" : "Zoeken",
"Enter" : "Enter",
"All boards" : "Alle borden",
"Archived boards" : "Gearchiveerde borden",
"Shared with you" : "Deelde met jou",
+2
View File
@@ -264,6 +264,7 @@
"{count} comments, {unread} unread" : "{count} reacties, {unread} ongelezen",
"Todo items" : "Te doen onderwerpen",
"Edit card title" : "Wijzig de titel van de kaart",
"Open link" : "Open link",
"Card deleted" : "Kaart verwijderd",
"Edit title" : "Titel bewerken",
"Assign to me" : "Aan mij toewijzen",
@@ -277,6 +278,7 @@
"Shift" : "Shift",
"Ctrl" : "Ctrl",
"Search" : "Zoeken",
"Enter" : "Enter",
"All boards" : "Alle borden",
"Archived boards" : "Gearchiveerde borden",
"Shared with you" : "Deelde met jou",
+5 -6
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -101,7 +100,7 @@ class ActivityManager {
StackMapper $stackMapper,
AclMapper $aclMapper,
IFactory $l10nFactory,
?string $userId,
?string $userId
) {
$this->manager = $manager;
$this->permissionService = $permissionsService;
@@ -485,7 +484,7 @@ class ActivityManager {
$objectId = $entity->getObjectId();
break;
default:
throw new InvalidArgumentException('No entity relation present for ' . $className . ' to ' . $objectType);
throw new InvalidArgumentException('No entity relation present for '. $className . ' to ' . $objectType);
}
return $this->cardMapper->find($objectId);
}
@@ -500,11 +499,11 @@ class ActivityManager {
$objectId = $entity->getBoardId();
break;
default:
throw new InvalidArgumentException('No entity relation present for ' . $className . ' to ' . $objectType);
throw new InvalidArgumentException('No entity relation present for '. $className . ' to ' . $objectType);
}
return $this->boardMapper->find($objectId);
}
throw new InvalidArgumentException('No entity relation present for ' . $className . ' to ' . $objectType);
throw new InvalidArgumentException('No entity relation present for '. $className . ' to ' . $objectType);
}
private function findDetailsForStack($stackId) {
@@ -516,7 +515,7 @@ class ActivityManager {
];
}
private function findDetailsForCard(int $cardId, ?string $subject = null): array {
private function findDetailsForCard($cardId, $subject = null) {
$card = $this->cardMapper->find($cardId);
$stack = $this->stackMapper->find($card->getStackId());
$board = $this->boardMapper->find($stack->getBoardId());
-1
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
+16 -17
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -109,7 +108,7 @@ class DeckProvider implements IProvider {
}
$board = [
'type' => 'highlight',
'id' => (string)$event->getObjectId(),
'id' => $event->getObjectId(),
'name' => $event->getObjectName(),
'link' => $this->deckUrl('/board/' . $event->getObjectId()),
];
@@ -126,12 +125,12 @@ class DeckProvider implements IProvider {
}
$card = [
'type' => 'highlight',
'id' => (string)$event->getObjectId(),
'id' => $event->getObjectId(),
'name' => $event->getObjectName(),
];
if (array_key_exists('board', $subjectParams)) {
$card['link'] = $this->cardService->getCardUrl($event->getObjectId());
$card['link'] = $this->cardService->getRedirectUrlForCard($event->getObjectId());
$event->setLink($card['link']);
}
$params['card'] = $card;
@@ -213,7 +212,7 @@ class DeckProvider implements IProvider {
if (array_key_exists($paramName, $subjectParams)) {
$params[$paramName] = [
'type' => 'highlight',
'id' => (string)$subjectParams[$paramName]['id'],
'id' => $subjectParams[$paramName]['id'],
'name' => $subjectParams[$paramName]['title'],
'link' => $this->deckUrl('/board/' . $subjectParams[$paramName]['id'] . '/'),
];
@@ -224,7 +223,7 @@ class DeckProvider implements IProvider {
if (array_key_exists($paramName, $subjectParams)) {
$params[$paramName] = [
'type' => 'highlight',
'id' => (string)$subjectParams[$paramName]['id'],
'id' => $subjectParams[$paramName]['id'],
'name' => $subjectParams[$paramName]['title'],
];
}
@@ -235,7 +234,7 @@ class DeckProvider implements IProvider {
if (array_key_exists($paramName, $subjectParams)) {
$params[$paramName] = [
'type' => 'highlight',
'id' => (string)$subjectParams[$paramName]['id'],
'id' => $subjectParams[$paramName]['id'],
'name' => $subjectParams[$paramName]['data'],
'link' => $this->urlGenerator->linkToRoute('deck.attachment.display', ['cardId' => $subjectParams['card']['id'], 'attachmentId' => $subjectParams['attachment']['id']]),
];
@@ -259,7 +258,7 @@ class DeckProvider implements IProvider {
if (array_key_exists('label', $subjectParams)) {
$params['label'] = [
'type' => 'highlight',
'id' => (string)$subjectParams['label']['id'],
'id' => $subjectParams['label']['id'],
'name' => $subjectParams['label']['title']
];
}
@@ -278,7 +277,7 @@ class DeckProvider implements IProvider {
} else {
$params['acl'] = [
'type' => 'highlight',
'id' => (string)$subjectParams['acl']['participant'],
'id' => $subjectParams['acl']['participant'],
'name' => $subjectParams['acl']['participant']
];
}
@@ -294,7 +293,7 @@ class DeckProvider implements IProvider {
$event->setParsedMessage($comment->getMessage());
$params['comment'] = [
'type' => 'highlight',
'id' => (string)$subjectParams['comment'],
'id' => $subjectParams['comment'],
'name' => $comment->getMessage()
];
} catch (NotFoundException $e) {
@@ -343,28 +342,28 @@ class DeckProvider implements IProvider {
if (array_key_exists('before', $subjectParams)) {
$params['before'] = [
'type' => 'highlight',
'id' => (string)$subjectParams['before'],
'name' => $subjectParams['before'] ?? ''
'id' => $subjectParams['before'],
'name' => $subjectParams['before']
];
}
if (array_key_exists('after', $subjectParams)) {
$params['after'] = [
'type' => 'highlight',
'id' => (string)$subjectParams['after'],
'name' => $subjectParams['after'] ?? ''
'id' => $subjectParams['after'],
'name' => $subjectParams['after']
];
}
if (array_key_exists('card', $subjectParams) && $event->getSubject() === ActivityManager::SUBJECT_CARD_UPDATE_TITLE) {
$params['card'] = [
'type' => 'highlight',
'id' => (string)$subjectParams['after'],
'name' => $subjectParams['after'] ?? ''
'id' => $subjectParams['after'],
'name' => $subjectParams['after']
];
}
return $params;
}
public function deckUrl($endpoint) {
return $this->urlGenerator->linkToRouteAbsolute('deck.page.index') . trim($endpoint, '/');
return $this->urlGenerator->linkToRouteAbsolute('deck.page.index') . '#' . $endpoint;
}
}
+3 -4
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -16,7 +15,7 @@ class Filter implements \OCP\Activity\IFilter {
public function __construct(
IL10N $l10n,
IURLGenerator $urlGenerator,
IURLGenerator $urlGenerator
) {
$this->l10n = $l10n;
$this->urlGenerator = $urlGenerator;
@@ -40,8 +39,8 @@ class Filter implements \OCP\Activity\IFilter {
/**
* @return int whether the filter should be rather on the top or bottom of
* the admin section. The filters are arranged in ascending order of the
* priority values. It is required to return a value between 0 and 100.
* the admin section. The filters are arranged in ascending order of the
* priority values. It is required to return a value between 0 and 100.
* @since 11.0.0
*/
public function getPriority(): int {
+2 -3
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -48,8 +47,8 @@ abstract class SettingBase extends ActivitySettings {
/**
* @return int whether the filter should be rather on the top or bottom of
* the admin section. The filters are arranged in ascending order of the
* priority values. It is required to return a value between 0 and 100.
* the admin section. The filters are arranged in ascending order of the
* priority values. It is required to return a value between 0 and 100.
* @since 11.0.0
*/
public function getPriority(): int {
+2 -3
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -26,8 +25,8 @@ class SettingChanges extends SettingBase {
/**
* @return int whether the filter should be rather on the top or bottom of
* the admin section. The filters are arranged in ascending order of the
* priority values. It is required to return a value between 0 and 100.
* the admin section. The filters are arranged in ascending order of the
* priority values. It is required to return a value between 0 and 100.
* @since 11.0.0
*/
public function getPriority(): int {
-4
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -7,9 +6,6 @@
namespace OCA\Deck\Activity;
/**
* @psalm-api SettingComment
*/
class SettingComment extends SettingBase {
/**
-1
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
+1 -2
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -177,7 +176,7 @@ class Application extends App implements IBootstrap {
$permissionService = $this->getContainer()->get(PermissionService::class);
try {
return $permissionService->checkPermission($cardMapper, (int)$name, Acl::PERMISSION_READ);
return $permissionService->checkPermission($cardMapper, (int) $name, Acl::PERMISSION_READ);
} catch (\Exception $e) {
return false;
}
-1
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
-1
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
+1 -2
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -15,7 +14,7 @@ class Capabilities implements ICapability {
/** @var IAppManager */
private $appManager;
/** @var PermissionService */
/** @var PermissionService */
private $permissionService;
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -57,7 +56,7 @@ class ResourceProvider implements IProvider {
*/
public function getResourceRichObject(IResource $resource): array {
$board = $this->getBoard($resource);
$link = $this->urlGenerator->linkToRoute('deck.page.indexBoard', ['boardId' => $resource->getId()]);
$link = $this->urlGenerator->linkToRoute('deck.page.index') . '#/board/' . $resource->getId();
return [
'type' => self::RESOURCE_TYPE,
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -66,10 +65,7 @@ class ResourceProviderCard implements IProvider {
throw new ResourceException('No unique card found for resource, this should never happen');
}
$link = $this->urlGenerator->linkToRoute('deck.page.indexCard', [
'boardId' => $board->getId(),
'cardId' => $card->getId()
]);
$link = $this->urlGenerator->linkToRoute('deck.page.index') . '#/board/' . $board->getId() . '/card/' . $resource->getId();
return [
'type' => self::RESOURCE_TYPE,
+1 -2
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -16,7 +15,7 @@ use Symfony\Component\Console\Output\OutputInterface;
class BoardImport extends Command {
public function __construct(
private BoardImportCommandService $boardImportCommandService,
private BoardImportCommandService $boardImportCommandService
) {
parent::__construct();
}
-67
View File
@@ -1,67 +0,0 @@
<?php
/**
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\Deck\Command;
use OCP\IConfig;
use OCP\IUserManager;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
class CalendarToggle extends Command {
private IUserManager $userManager;
private IConfig $config;
public function __construct(IUserManager $userManager, IConfig $config) {
parent::__construct();
$this->userManager = $userManager;
$this->config = $config;
}
protected function configure() {
$this
->setName('deck:calendar-toggle')
->setDescription('Enable or disable Deck calendar/tasks integration for all existing users. Users can still change their own setting afterwards. Only affects users that already exist at the time of execution.')
->addOption(
'on',
null,
InputOption::VALUE_NONE,
'Enable calendar/tasks integration for all existing users (users can opt-out later)'
)
->addOption(
'off',
null,
InputOption::VALUE_NONE,
'Disable calendar/tasks integration for all existing users (users can opt-in later)'
);
}
protected function execute(InputInterface $input, OutputInterface $output): int {
$enable = $input->getOption('on');
$disable = $input->getOption('off');
if ($enable && $disable) {
$output->writeln('<error>Cannot use --on and --off together.</error>');
return 1;
}
if (!$enable && !$disable) {
$output->writeln('<error>Please specify either --on or --off.</error>');
return 1;
}
$value = $enable ? 'yes' : '';
$users = $this->userManager->search('');
$count = 0;
foreach ($users as $user) {
$uid = $user->getUID();
$this->config->setUserValue($uid, 'deck', 'calendar', $value);
$output->writeln("Set calendar integration to '" . ($enable ? 'on' : 'off') . "' for user: $uid");
$count++;
}
$output->writeln("Done. Updated $count existing users.");
return 0;
}
}
+5 -6
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -73,17 +72,17 @@ final class TransferOwnership extends Command {
try {
$board = $boardId ? $this->boardMapper->find($boardId) : null;
} catch (\Exception $e) {
$output->writeln('Could not find a board for the provided id.');
$output->writeln("Could not find a board for the provided id.");
return 1;
}
if ($boardId !== null && $board->getOwner() !== $owner) {
$output->writeln("$owner is not the owner of the board $boardId (" . $board->getTitle() . ')');
$output->writeln("$owner is not the owner of the board $boardId (" . $board->getTitle() . ")");
return 1;
}
if ($boardId) {
$output->writeln('Transfer board ' . $board->getTitle() . ' from ' . $board->getOwner() . " to $newOwner");
$output->writeln("Transfer board " . $board->getTitle() . " from ". $board->getOwner() ." to $newOwner");
} else {
$output->writeln("Transfer all boards from $owner to $newOwner");
}
@@ -95,12 +94,12 @@ final class TransferOwnership extends Command {
if ($boardId) {
$this->boardService->transferBoardOwnership($boardId, $newOwner, $remapAssignment);
$output->writeln('<info>Board ' . $board->getTitle() . ' from ' . $board->getOwner() . " transferred to $newOwner completed</info>");
$output->writeln("<info>Board " . $board->getTitle() . " from ". $board->getOwner() ." transferred to $newOwner completed</info>");
return 0;
}
foreach ($this->boardService->transferOwnership($owner, $newOwner, $remapAssignment) as $board) {
$output->writeln(' - ' . $board->getTitle() . ' transferred');
$output->writeln(" - " . $board->getTitle() . " transferred");
}
$output->writeln("<info>All boards from $owner to $newOwner transferred</info>");
-1
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
+45 -30
View File
@@ -1,18 +1,13 @@
<?php
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\Deck\Controller;
use OCA\Deck\Db\Attachment;
use OCA\Deck\Service\AttachmentService;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\Attribute\CORS;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
@@ -25,52 +20,72 @@ class AttachmentApiController extends ApiController {
parent::__construct($appName, $request);
}
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function getAll(string $apiVersion): DataResponse {
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
*/
public function getAll($apiVersion) {
$attachment = $this->attachmentService->findAll($this->request->getParam('cardId'), true);
if ($apiVersion === '1.0') {
$attachment = array_filter($attachment, fn (Attachment $attachment): bool => $attachment->getType() === 'deck_file');
$attachment = array_filter($attachment, function ($attachment) {
return $attachment->getType() === 'deck_file';
});
}
return new DataResponse($attachment, HTTP::STATUS_OK);
}
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function display(int $cardId, int $attachmentId, string $type = 'deck_file') {
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
*/
public function display($cardId, $attachmentId, $type = 'deck_file') {
return $this->attachmentService->display($cardId, $attachmentId, $type);
}
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function create(int $cardId, string $type, string $data): DataResponse {
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
*/
public function create($cardId, $type, $data) {
$attachment = $this->attachmentService->create($cardId, $type, $data);
return new DataResponse($attachment, HTTP::STATUS_OK);
}
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function update(int $cardId, int $attachmentId, string $data, string $type = 'deck_file'): DataResponse {
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
*/
public function update($cardId, $attachmentId, $data, $type = 'deck_file') {
$attachment = $this->attachmentService->update($cardId, $attachmentId, $data, $type);
return new DataResponse($attachment, HTTP::STATUS_OK);
}
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function delete(int $cardId, int $attachmentId, string $type = 'deck_file'): DataResponse {
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
*/
public function delete($cardId, $attachmentId, $type = 'deck_file') {
$attachment = $this->attachmentService->delete($cardId, $attachmentId, $type);
return new DataResponse($attachment, HTTP::STATUS_OK);
}
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function restore(int $cardId, int $attachmentId, string $type = 'deck_file'): DataResponse {
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
*/
public function restore($cardId, $attachmentId, $type = 'deck_file') {
$attachment = $this->attachmentService->restore($cardId, $attachmentId, $type);
return new DataResponse($attachment, HTTP::STATUS_OK);
}
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
+56 -54
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -7,13 +6,8 @@
namespace OCA\Deck\Controller;
use OCA\Deck\BadRequestException;
use OCA\Deck\Db\Attachment;
use OCA\Deck\Service\AttachmentService;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\Response;
use OCP\IRequest;
class AttachmentController extends Controller {
@@ -25,66 +19,74 @@ class AttachmentController extends Controller {
parent::__construct($appName, $request);
}
#[NoAdminRequired]
public function getAll(int $cardId): array {
/**
* @NoAdminRequired
*/
public function getAll($cardId) {
return $this->attachmentService->findAll($cardId, true);
}
/**
* @param $cardId
* @param $attachmentId
* @NoCSRFRequired
* @NoAdminRequired
* @return \OCP\AppFramework\Http\Response
* @throws \OCA\Deck\NotFoundException
*/
#[NoAdminRequired]
#[NoCSRFRequired]
public function display(int $cardId, string $attachmentId): Response {
['type' => $type, 'attachmentId' => $attachmentId] = $this->extractTypeAndAttachmentId($attachmentId);
return $this->attachmentService->display($cardId, $attachmentId, $type);
}
#[NoAdminRequired]
public function create(int $cardId): Attachment {
return $this->attachmentService->create(
$cardId,
$this->request->getParam('type'),
$this->request->getParam('data') ?? '',
);
}
#[NoAdminRequired]
public function update(int $cardId, string $attachmentId): Attachment {
['type' => $type, 'attachmentId' => $attachmentId] = $this->extractTypeAndAttachmentId($attachmentId);
return $this->attachmentService->update($cardId, $attachmentId, $this->request->getParam('data') ?? '', $type);
}
#[NoAdminRequired]
public function delete(int $cardId, string $attachmentId): Attachment {
['type' => $type, 'attachmentId' => $attachmentId] = $this->extractTypeAndAttachmentId($attachmentId);
return $this->attachmentService->delete($cardId, $attachmentId, $type);
}
#[NoAdminRequired]
public function restore(int $cardId, string $attachmentId): Attachment {
['type' => $type, 'attachmentId' => $attachmentId] = $this->extractTypeAndAttachmentId($attachmentId);
return $this->attachmentService->restore($cardId, $attachmentId, $type);
}
/**
* @return array{type: string, attachmentId: int}
* @throws BadRequestException
*/
private function extractTypeAndAttachmentId(string $attachmentId): array {
public function display($cardId, $attachmentId) {
if (!str_contains($attachmentId, ':')) {
$type = 'deck_file';
} else {
[$type, $attachmentId] = [...explode(':', $attachmentId), '', ''];
[$type, $attachmentId] = explode(':', $attachmentId);
}
return $this->attachmentService->display($cardId, $attachmentId, $type);
}
if ($type === '' || !is_numeric($attachmentId)) {
throw new BadRequestException('Invalid attachment id');
/**
* @NoAdminRequired
*/
public function create($cardId) {
return $this->attachmentService->create(
$cardId,
$this->request->getParam('type'),
$this->request->getParam('data')
);
}
/**
* @NoAdminRequired
*/
public function update($cardId, $attachmentId) {
if (!str_contains($attachmentId, ':')) {
$type = 'deck_file';
} else {
[$type, $attachmentId] = explode(':', $attachmentId);
}
return $this->attachmentService->update($cardId, $attachmentId, $this->request->getParam('data'), $type);
}
return [
'type' => $type,
'attachmentId' => (int)$attachmentId,
];
/**
* @NoAdminRequired
*/
public function delete($cardId, $attachmentId) {
if (!str_contains($attachmentId, ':')) {
$type = 'deck_file';
} else {
[$type, $attachmentId] = explode(':', $attachmentId);
}
return $this->attachmentService->delete($cardId, $attachmentId, $type);
}
/**
* @NoAdminRequired
*/
public function restore($cardId, $attachmentId) {
if (!str_contains($attachmentId, ':')) {
$type = 'deck_file';
} else {
[$type, $attachmentId] = explode(':', $attachmentId);
}
return $this->attachmentService->restore($cardId, $attachmentId, $type);
}
}
+53 -46
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -12,13 +11,10 @@ use OCA\Deck\Service\BoardService;
use OCA\Deck\StatusException;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\Attribute\CORS;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
use function Sabre\HTTP\parseDate;
use OCP\IRequest;
use Sabre\HTTP\Util;
/**
* Class BoardApiController
@@ -39,18 +35,21 @@ class BoardApiController extends ApiController {
}
/**
* Return all the boards that the current user has access to.
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* Return all of the boards that the current user has access to.
*
* @param bool $details
* @throws StatusException
*/
#[NoAdminRequired]
#[NoCSRFRequired]
#[CORS]
public function index(bool $details = false): DataResponse {
public function index(bool $details = false) {
$modified = $this->request->getHeader('If-Modified-Since');
if ($modified === '') {
if ($modified === null || $modified === '') {
$boards = $this->boardService->findAll(0, $details === true);
} else {
$date = parseDate($modified);
$date = Util::parseHTTPDate($modified);
if (!$date) {
throw new StatusException('Invalid If-Modified-Since header provided.');
}
@@ -64,12 +63,14 @@ class BoardApiController extends ApiController {
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
*
* Return the board specified by $this->request->getParam('boardId').
*/
#[NoAdminRequired]
#[NoCSRFRequired]
#[CORS]
public function get(): DataResponse {
public function get() {
$board = $this->boardService->find($this->request->getParam('boardId'));
$response = new DataResponse($board, HTTP::STATUS_OK);
$response->setETag($board->getEtag());
@@ -77,53 +78,68 @@ class BoardApiController extends ApiController {
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* @params $title
* @params $color
*
* Create a board with the specified title and color.
*/
#[NoAdminRequired]
#[NoCSRFRequired]
#[CORS]
public function create(string $title, string $color): DataResponse {
public function create($title, $color) {
$board = $this->boardService->create($title, $this->userId, $color);
return new DataResponse($board, HTTP::STATUS_OK);
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* @params $title
* @params $color
* @params $archived
*
* Update a board with the specified boardId, title and color, and archived state.
*/
#[NoAdminRequired]
#[NoCSRFRequired]
#[CORS]
public function update(string $title, string $color, bool $archived = false): DataResponse {
public function update($title, $color, $archived = false) {
$board = $this->boardService->update($this->request->getParam('boardId'), $title, $color, $archived);
return new DataResponse($board, HTTP::STATUS_OK);
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
*
* Delete the board specified by $boardId. Return the board that was deleted.
*/
#[NoAdminRequired]
#[NoCSRFRequired]
#[CORS]
public function delete(): DataResponse {
public function delete() {
$board = $this->boardService->delete($this->request->getParam('boardId'));
return new DataResponse($board, HTTP::STATUS_OK);
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
*
* Undo the deletion of the board specified by $boardId.
*/
#[NoAdminRequired]
#[NoCSRFRequired]
#[CORS]
public function undoDelete(): DataResponse {
public function undoDelete() {
$board = $this->boardService->deleteUndo($this->request->getParam('boardId'));
return new DataResponse($board, HTTP::STATUS_OK);
}
#[NoAdminRequired]
#[NoCSRFRequired]
#[CORS]
public function addAcl(int $boardId, $type, $participant, $permissionEdit, $permissionShare, $permissionManage) {
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*/
public function addAcl($boardId, $type, $participant, $permissionEdit, $permissionShare, $permissionManage) {
$acl = $this->boardService->addAcl($boardId, $type, $participant, $permissionEdit, $permissionShare, $permissionManage);
return new DataResponse($acl, HTTP::STATUS_OK);
}
@@ -147,13 +163,4 @@ class BoardApiController extends ApiController {
$acl = $this->boardService->deleteAcl($aclId);
return new DataResponse($acl, HTTP::STATUS_OK);
}
/**
* @NoAdminRequired
*/
public function clone(int $boardId, bool $withCards = false, bool $withAssignments = false, bool $withLabels = false, bool $withDueDate = false, bool $moveCardsToLeftStack = false, bool $restoreArchivedCards = false): DataResponse {
return new DataResponse(
$this->boardService->clone($boardId, $this->userId, $withCards, $withAssignments, $withLabels, $withDueDate, $moveCardsToLeftStack, $restoreArchivedCards)
);
}
}
+56 -84
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -10,13 +9,10 @@ namespace OCA\Deck\Controller;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\Board;
use OCA\Deck\Service\BoardService;
use OCA\Deck\Service\Importer\BoardImportService;
use OCA\Deck\Service\PermissionService;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\DataResponse;
use OCP\IL10N;
use OCP\IRequest;
class BoardController extends ApiController {
@@ -25,45 +21,73 @@ class BoardController extends ApiController {
IRequest $request,
private BoardService $boardService,
private PermissionService $permissionService,
private BoardImportService $boardImportService,
private IL10N $l10n,
private $userId,
) {
parent::__construct($appName, $request);
}
#[NoAdminRequired]
/**
* @NoAdminRequired
*/
public function index() {
return $this->boardService->findAll();
}
#[NoAdminRequired]
public function read(int $boardId): Board {
/**
* @NoAdminRequired
* @param $boardId
* @return \OCP\AppFramework\Db\Entity
*/
public function read(int $boardId) {
return $this->boardService->find($boardId);
}
#[NoAdminRequired]
public function create(string $title, string $color): Board {
/**
* @NoAdminRequired
* @param $title
* @param $color
* @return \OCP\AppFramework\Db\Entity
*/
public function create($title, $color) {
return $this->boardService->create($title, $this->userId, $color);
}
#[NoAdminRequired]
public function update(int $id, string $title, string $color, bool $archived): Board {
/**
* @NoAdminRequired
* @param $id
* @param $title
* @param $color
* @param $archived
* @return \OCP\AppFramework\Db\Entity
*/
public function update($id, $title, $color, $archived) {
return $this->boardService->update($id, $title, $color, $archived);
}
#[NoAdminRequired]
public function delete(int $boardId): Board {
/**
* @NoAdminRequired
* @param $boardId
* @return \OCP\AppFramework\Db\Entity
*/
public function delete($boardId) {
return $this->boardService->delete($boardId);
}
#[NoAdminRequired]
public function deleteUndo(int $boardId): Board {
/**
* @NoAdminRequired
* @param $boardId
* @return \OCP\AppFramework\Db\Entity
*/
public function deleteUndo($boardId) {
return $this->boardService->deleteUndo($boardId);
}
#[NoAdminRequired]
public function getUserPermissions(int $boardId): array {
/**
* @NoAdminRequired
* @param $boardId
* @return array|bool
* @internal param $userId
*/
public function getUserPermissions($boardId) {
$permissions = $this->permissionService->getPermissions($boardId);
return [
'PERMISSION_READ' => $permissions[Acl::PERMISSION_READ],
@@ -74,10 +98,16 @@ class BoardController extends ApiController {
}
/**
* @NoAdminRequired
* @param $boardId
* @param $type
* @param $participant
* @param $permissionEdit
* @param $permissionShare
* @param $permissionManage
* @return \OCP\AppFramework\Db\Entity
*/
#[NoAdminRequired]
public function addAcl(int $boardId, int $type, $participant, bool $permissionEdit, bool $permissionShare, bool $permissionManage): Acl {
public function addAcl($boardId, $type, $participant, $permissionEdit, $permissionShare, $permissionManage) {
return $this->boardService->addAcl($boardId, $type, $participant, $permissionEdit, $permissionShare, $permissionManage);
}
@@ -104,11 +134,11 @@ class BoardController extends ApiController {
/**
* @NoAdminRequired
* @param $boardId
* @return Board
*/
public function clone(int $boardId, bool $withCards = false, bool $withAssignments = false, bool $withLabels = false, bool $withDueDate = false, bool $moveCardsToLeftStack = false, bool $restoreArchivedCards = false): DataResponse {
return new DataResponse(
$this->boardService->clone($boardId, $this->userId, $withCards, $withAssignments, $withLabels, $withDueDate, $moveCardsToLeftStack, $restoreArchivedCards)
);
public function clone($boardId) {
return $this->boardService->clone($boardId, $this->userId);
}
/**
@@ -132,62 +162,4 @@ class BoardController extends ApiController {
public function export($boardId) {
return $this->boardService->export($boardId);
}
/**
* @NoAdminRequired
*/
public function import(): DataResponse {
$file = $this->request->getUploadedFile('file');
$error = null;
$phpFileUploadErrors = [
UPLOAD_ERR_OK => $this->l10n->t('The file was uploaded'),
UPLOAD_ERR_INI_SIZE => $this->l10n->t('The uploaded file exceeds the upload_max_filesize directive in php.ini'),
UPLOAD_ERR_FORM_SIZE => $this->l10n->t('The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form'),
UPLOAD_ERR_PARTIAL => $this->l10n->t('The file was only partially uploaded'),
UPLOAD_ERR_NO_FILE => $this->l10n->t('No file was uploaded'),
UPLOAD_ERR_NO_TMP_DIR => $this->l10n->t('Missing a temporary folder'),
UPLOAD_ERR_CANT_WRITE => $this->l10n->t('Could not write file to disk'),
UPLOAD_ERR_EXTENSION => $this->l10n->t('A PHP extension stopped the file upload'),
];
if (empty($file)) {
$error = $this->l10n->t('No file uploaded or file size exceeds maximum of %s', [\OCP\Util::humanFileSize(\OCP\Util::uploadLimit())]);
}
if (!empty($file) && array_key_exists('error', $file) && $file['error'] !== UPLOAD_ERR_OK) {
$error = $phpFileUploadErrors[$file['error']];
}
if (!empty($file) && $file['error'] === UPLOAD_ERR_OK && !in_array($file['type'], ['application/json', 'text/plain'])) {
$error = $this->l10n->t('Invalid file type. Only JSON files are allowed.');
}
if ($error !== null) {
return new DataResponse([
'status' => 'error',
'message' => $error,
], Http::STATUS_BAD_REQUEST);
}
try {
$fileContent = file_get_contents($file['tmp_name']);
$this->boardImportService->setSystem('DeckJson');
$config = new \stdClass();
$config->owner = $this->userId;
$this->boardImportService->setConfigInstance($config);
$this->boardImportService->setData(json_decode($fileContent));
$this->boardImportService->import();
$importedBoard = $this->boardImportService->getBoard();
$board = $this->boardService->find($importedBoard->getId());
return new DataResponse($board, Http::STATUS_OK);
} catch (\TypeError $e) {
return new DataResponse([
'status' => 'error',
'message' => $this->l10n->t('Invalid JSON data'),
], Http::STATUS_BAD_REQUEST);
} catch (\Exception $e) {
return new DataResponse([
'status' => 'error',
'message' => $this->l10n->t('Failed to import board'),
], Http::STATUS_BAD_REQUEST);
}
}
}
+15 -13
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -9,9 +8,6 @@ namespace OCA\Deck\Controller;
use OCA\Deck\Service\Importer\BoardImportService;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\Attribute\CORS;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\OCSController;
use OCP\IRequest;
@@ -26,9 +22,11 @@ class BoardImportApiController extends OCSController {
parent::__construct($appName, $request);
}
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*/
public function import(string $system, array $config, array $data): DataResponse {
$this->boardImportService->setSystem($system);
$config = json_decode(json_encode($config));
@@ -39,17 +37,21 @@ class BoardImportApiController extends OCSController {
return new DataResponse($this->boardImportService->getBoard(), Http::STATUS_OK);
}
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*/
public function getAllowedSystems(): DataResponse {
$allowedSystems = $this->boardImportService->getAllowedImportSystems();
return new DataResponse($allowedSystems, Http::STATUS_OK);
}
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*/
public function getConfigSchema(string $name): DataResponse {
$this->boardImportService->setSystem($name);
$this->boardImportService->validateSystem();
+38 -56
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -12,9 +11,6 @@ use OCA\Deck\Service\AssignmentService;
use OCA\Deck\Service\CardService;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\Attribute\CORS;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
@@ -30,7 +26,7 @@ class CardApiController extends ApiController {
* @param IRequest $request
* @param CardService $cardService
* @param AssignmentService $assignmentService
* @param string $userId
* @param $userId
*/
public function __construct(
string $appName,
@@ -83,102 +79,88 @@ class CardApiController extends ApiController {
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
*
* Update a card
*/
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function update(string $title, $type, string $owner, string $description = '', int $order = 0, $duedate = null, $archived = null): DataResponse {
public function update($title, $type, $owner, $description = '', $order = 0, $duedate = null, $archived = null) {
$done = array_key_exists('done', $this->request->getParams()) ? new OptionalNullableValue($this->request->getParam('done', null)) : null;
$card = $this->cardService->update($this->request->getParam('cardId'), $title, $this->request->getParam('stackId'), $type, $owner, $description, $order, $duedate, 0, $archived, $done);
return new DataResponse($card, HTTP::STATUS_OK);
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* Delete a specific card.
*/
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function delete(): DataResponse {
public function delete() {
$card = $this->cardService->delete($this->request->getParam('cardId'));
return new DataResponse($card, HTTP::STATUS_OK);
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* Assign a label to a card.
*/
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function assignLabel(int $labelId): DataResponse {
public function assignLabel($labelId) {
$card = $this->cardService->assignLabel($this->request->getParam('cardId'), $labelId);
return new DataResponse($card, HTTP::STATUS_OK);
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* Assign a label to a card.
*/
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function removeLabel(int $labelId): DataResponse {
public function removeLabel($labelId) {
$card = $this->cardService->removeLabel($this->request->getParam('cardId'), $labelId);
return new DataResponse($card, HTTP::STATUS_OK);
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* Assign a user to a card
*/
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function assignUser(int $cardId, string $userId, int $type = 0): DataResponse {
public function assignUser($cardId, $userId, $type = 0) {
$card = $this->assignmentService->assignUser($cardId, $userId, $type);
return new DataResponse($card, HTTP::STATUS_OK);
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* Unassign a user from a card
*/
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function unassignUser(int $cardId, string $userId, int $type = 0): DataResponse {
public function unassignUser($cardId, $userId, $type = 0) {
$card = $this->assignmentService->unassignUser($cardId, $userId, $type);
return new DataResponse($card, HTTP::STATUS_OK);
}
/**
* Archive card
*/
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function archive(int $cardId): DataResponse {
$card = $this->cardService->archive($cardId);
return new DataResponse($card, HTTP::STATUS_OK);
}
/**
* Unarchive card
*/
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function unarchive(int $cardId): DataResponse {
$card = $this->cardService->unarchive($cardId);
return new DataResponse($card, HTTP::STATUS_OK);
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* Reorder cards
*/
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function reorder(int $stackId, int $order): DataResponse {
$card = $this->cardService->reorder((int)$this->request->getParam('cardId'), $stackId, $order);
public function reorder($stackId, $order) {
$card = $this->cardService->reorder($this->request->getParam('cardId'), $stackId, $order);
return new DataResponse($card, HTTP::STATUS_OK);
}
}
+92 -41
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -7,12 +6,9 @@
namespace OCA\Deck\Controller;
use OCA\Deck\Db\Assignment;
use OCA\Deck\Db\Card;
use OCA\Deck\Service\AssignmentService;
use OCA\Deck\Service\CardService;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\IRequest;
class CardController extends Controller {
@@ -26,26 +22,45 @@ class CardController extends Controller {
parent::__construct($appName, $request);
}
#[NoAdminRequired]
public function read(int $cardId): Card {
/**
* @NoAdminRequired
* @param $cardId
* @return \OCP\AppFramework\Db\Entity
*/
public function read($cardId) {
return $this->cardService->find($cardId);
}
/**
* @return Card[]
* @NoAdminRequired
* @param $cardId
* @param $stackId
* @param $order
* @return array
*/
#[NoAdminRequired]
public function reorder(int $cardId, int $stackId, int $order): array {
return $this->cardService->reorder($cardId, $stackId, $order);
public function reorder($cardId, $stackId, $order) {
return $this->cardService->reorder((int)$cardId, (int)$stackId, (int)$order);
}
#[NoAdminRequired]
public function rename(int $cardId, string $title): Card {
/**
* @NoAdminRequired
* @param $cardId
* @param $title
* @return \OCP\AppFramework\Db\Entity
*/
public function rename($cardId, $title) {
return $this->cardService->rename($cardId, $title);
}
#[NoAdminRequired]
public function create(string $title, int $stackId, string $type = 'plain', int $order = 999, string $description = '', $duedate = null, array $labels = [], array $users = []): Card {
/**
* @NoAdminRequired
* @param $title
* @param $stackId
* @param $type
* @param int $order
* @return \OCP\AppFramework\Db\Entity
*/
public function create($title, $stackId, $type = 'plain', $order = 999, string $description = '', $duedate = null, $labels = [], $users = []) {
$card = $this->cardService->create($title, $stackId, $type, $order, $this->userId, $description, $duedate);
foreach ($labels as $label) {
@@ -60,68 +75,104 @@ class CardController extends Controller {
}
/**
* @NoAdminRequired
* @param $id
* @param $title
* @param $stackId
* @param $type
* @param $order
* @param $description
* @param $duedate
* @param $deletedAt
* @return \OCP\AppFramework\Db\Entity
*/
#[NoAdminRequired]
public function update(int $id, string $title, int $stackId, string $type, int $order, string $description, $duedate, $deletedAt): Card {
public function update($id, $title, $stackId, $type, $order, $description, $duedate, $deletedAt) {
return $this->cardService->update($id, $title, $stackId, $type, $this->userId, $description, $order, $duedate, $deletedAt);
}
#[NoAdminRequired]
public function clone(int $cardId, ?int $targetStackId = null): Card {
return $this->cardService->cloneCard($cardId, $targetStackId);
}
#[NoAdminRequired]
public function delete(int $cardId): Card {
/**
* @NoAdminRequired
* @param $cardId
* @return \OCP\AppFramework\Db\Entity
*/
public function delete($cardId) {
return $this->cardService->delete($cardId);
}
/**
* @return Card[]
* @NoAdminRequired
* @param $boardId
* @return \OCP\AppFramework\Db\Entity
*/
#[NoAdminRequired]
public function deleted(int $boardId): array {
public function deleted($boardId) {
return $this->cardService->fetchDeleted($boardId);
}
#[NoAdminRequired]
/**
* @NoAdminRequired
* @param $cardId
* @return \OCP\AppFramework\Db\Entity
*/
public function archive($cardId) {
return $this->cardService->archive($cardId);
}
#[NoAdminRequired]
public function unarchive(int $cardId): Card {
/**
* @NoAdminRequired
* @param $cardId
* @return \OCP\AppFramework\Db\Entity
*/
public function unarchive($cardId) {
return $this->cardService->unarchive($cardId);
}
#[NoAdminRequired]
public function done(int $cardId): Card {
/**
* @NoAdminRequired
* @param $cardId
* @return \OCP\AppFramework\Db\Entity
*/
public function done(int $cardId) {
return $this->cardService->done($cardId);
}
#[NoAdminRequired]
public function undone(int $cardId): Card {
/**
* @NoAdminRequired
* @param $cardId
* @return \OCP\AppFramework\Db\Entity
*/
public function undone(int $cardId) {
return $this->cardService->undone($cardId);
}
#[NoAdminRequired]
public function assignLabel(int $cardId, int $labelId): void {
/**
* @NoAdminRequired
* @param $cardId
* @param $labelId
*/
public function assignLabel($cardId, $labelId) {
$this->cardService->assignLabel($cardId, $labelId);
}
#[NoAdminRequired]
public function removeLabel(int $cardId, int $labelId): void {
/**
* @NoAdminRequired
* @param $cardId
* @param $labelId
*/
public function removeLabel($cardId, $labelId) {
$this->cardService->removeLabel($cardId, $labelId);
}
#[NoAdminRequired]
public function assignUser(int $cardId, string $userId, int $type = 0): Assignment {
/**
* @NoAdminRequired
*/
public function assignUser($cardId, $userId, $type = 0) {
return $this->assignmentService->assignUser($cardId, $userId, $type);
}
#[NoAdminRequired]
public function unassignUser(int $cardId, string $userId, int $type = 0): Assignment {
/**
* @NoAdminRequired
*/
public function unassignUser($cardId, $userId, $type = 0) {
return $this->assignmentService->unassignUser($cardId, $userId, $type);
}
}
+5 -10
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -9,15 +8,11 @@ namespace OCA\Deck\Controller;
use OCA\Deck\Service\CommentService;
use OCA\Deck\StatusException;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\OCSController;
use OCP\IRequest;
/**
* @psalm-api
*/
class CommentsApiController extends OCSController {
public function __construct(
string $appName,
@@ -31,33 +26,33 @@ class CommentsApiController extends OCSController {
}
/**
* @NoAdminRequired
* @throws StatusException
*/
#[NoAdminRequired]
public function list(int $cardId, int $limit = 20, int $offset = 0): DataResponse {
public function list(string $cardId, int $limit = 20, int $offset = 0): DataResponse {
return $this->commentService->list($cardId, $limit, $offset);
}
/**
* @NoAdminRequired
* @throws StatusException
*/
#[NoAdminRequired]
public function create(int $cardId, string $message, int $parentId = 0): DataResponse {
return $this->commentService->create($cardId, $message, $parentId);
}
/**
* @NoAdminRequired
* @throws StatusException
*/
#[NoAdminRequired]
public function update(int $cardId, int $commentId, string $message): DataResponse {
return $this->commentService->update($cardId, $commentId, $message);
}
/**
* @NoAdminRequired
* @throws StatusException
*/
#[NoAdminRequired]
public function delete(int $cardId, int $commentId): DataResponse {
return $this->commentService->delete($cardId, $commentId);
}
+9 -8
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -8,8 +7,6 @@
namespace OCA\Deck\Controller;
use OCA\Deck\Service\ConfigService;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\Http\NotFoundResponse;
use OCP\AppFramework\OCSController;
@@ -24,15 +21,19 @@ class ConfigController extends OCSController {
parent::__construct($AppName, $request);
}
#[NoAdminRequired]
#[NoCSRFRequired]
/**
* @NoCSRFRequired
* @NoAdminRequired
*/
public function get(): DataResponse {
return new DataResponse($this->configService->getAll());
}
#[NoAdminRequired]
#[NoCSRFRequired]
public function setValue(string $key, mixed $value): DataResponse|NotFoundResponse {
/**
* @NoCSRFRequired
* @NoAdminRequired
*/
public function setValue(string $key, $value) {
$result = $this->configService->set($key, $value);
if ($result === null) {
return new NotFoundResponse();
+25 -20
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -10,9 +9,6 @@ namespace OCA\Deck\Controller;
use OCA\Deck\Service\LabelService;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\Attribute\CORS;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
@@ -29,50 +25,59 @@ class LabelApiController extends ApiController {
$appName,
IRequest $request,
private LabelService $labelService,
private $userId,
) {
parent::__construct($appName, $request);
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* Get a specific label.
*/
#[NoAdminRequired]
#[NoCSRFRequired]
#[CORS]
public function get(): DataResponse {
public function get() {
$label = $this->labelService->find($this->request->getParam('labelId'));
return new DataResponse($label, HTTP::STATUS_OK);
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* @params $title
* @params $color
* Create a new label
*/
#[NoAdminRequired]
#[NoCSRFRequired]
#[CORS]
public function create(string $title, string $color): DataResponse {
public function create($title, $color) {
$label = $this->labelService->create($title, $color, $this->request->getParam('boardId'));
return new DataResponse($label, HTTP::STATUS_OK);
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* @params $title
* @params $color
* Update a specific label
*/
#[NoAdminRequired]
#[NoCSRFRequired]
#[CORS]
public function update(string $title, string $color): DataResponse {
public function update($title, $color) {
$label = $this->labelService->update($this->request->getParam('labelId'), $title, $color);
return new DataResponse($label, HTTP::STATUS_OK);
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* Delete a specific label
*/
#[NoAdminRequired]
#[NoCSRFRequired]
#[CORS]
public function delete(): DataResponse {
public function delete() {
$label = $this->labelService->delete($this->request->getParam('labelId'));
return new DataResponse($label, HTTP::STATUS_OK);
}
+22 -9
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -7,10 +6,8 @@
namespace OCA\Deck\Controller;
use OCA\Deck\Db\Label;
use OCA\Deck\Service\LabelService;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\IRequest;
class LabelController extends Controller {
@@ -22,18 +19,34 @@ class LabelController extends Controller {
parent::__construct($appName, $request);
}
#[NoAdminRequired]
public function create(string $title, string $color, int $boardId): Label {
/**
* @NoAdminRequired
* @param $title
* @param $color
* @param $boardId
* @return \OCP\AppFramework\Db\Entity
*/
public function create($title, $color, $boardId) {
return $this->labelService->create($title, $color, $boardId);
}
#[NoAdminRequired]
public function update(int $id, string $title, string $color): Label {
/**
* @NoAdminRequired
* @param $id
* @param $title
* @param $color
* @return \OCP\AppFramework\Db\Entity
*/
public function update($id, $title, $color) {
return $this->labelService->update($id, $title, $color);
}
#[NoAdminRequired]
public function delete(int $labelId): Label {
/**
* @NoAdminRequired
* @param $labelId
* @return \OCP\AppFramework\Db\Entity
*/
public function delete($labelId) {
return $this->labelService->delete($labelId);
}
}
+3 -2
View File
@@ -10,7 +10,6 @@ declare(strict_types=1);
namespace OCA\Deck\Controller;
use OCA\Deck\Service\OverviewService;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\OCSController;
use OCP\IRequest;
@@ -25,7 +24,9 @@ class OverviewApiController extends OCSController {
parent::__construct($appName, $request);
}
#[NoAdminRequired]
/**
* @NoAdminRequired
*/
public function upcomingCards(): DataResponse {
return new DataResponse($this->dashboardService->findUpcomingCards($this->userId));
}
-1
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
+3 -3
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -13,7 +12,6 @@ namespace OCA\Deck\Controller;
use OCA\Deck\Db\Card;
use OCA\Deck\Model\CardDetails;
use OCA\Deck\Service\SearchService;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\OCSController;
use OCP\IRequest;
@@ -27,7 +25,9 @@ class SearchController extends OCSController {
parent::__construct($appName, $request);
}
#[NoAdminRequired]
/**
* @NoAdminRequired
*/
public function search(string $term, ?int $limit = null, ?int $cursor = null): DataResponse {
$cards = $this->searchService->searchCards($term, $limit, $cursor);
return new DataResponse(array_map(function (Card $card) {
+1 -2
View File
@@ -21,8 +21,7 @@ use OCP\AppFramework\OCSController;
use OCP\IRequest;
class SessionController extends OCSController {
public function __construct(
$appName,
public function __construct($appName,
IRequest $request,
private SessionService $sessionService,
private PermissionService $permissionService,
+44 -34
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -7,16 +6,14 @@
namespace OCA\Deck\Controller;
use OCA\Deck\Service\BoardService;
use OCA\Deck\Service\StackService;
use OCA\Deck\StatusException;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\Attribute\CORS;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
use function Sabre\HTTP\parseDate;
use Sabre\HTTP\Util;
/**
* Class StackApiController
@@ -31,21 +28,23 @@ class StackApiController extends ApiController {
$appName,
IRequest $request,
private StackService $stackService,
private BoardService $boardService,
) {
parent::__construct($appName, $request);
}
/**
* Return all the stacks in the specified board.
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* Return all of the stacks in the specified board.
*/
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function index(): DataResponse {
public function index() {
$since = 0;
$modified = $this->request->getHeader('If-Modified-Since');
if ($modified !== '') {
$date = parseDate($modified);
if ($modified !== null && $modified !== '') {
$date = Util::parseHTTPDate($modified);
if (!$date) {
throw new StatusException('Invalid If-Modified-Since header provided.');
}
@@ -56,12 +55,13 @@ class StackApiController extends ApiController {
}
/**
* Return all the stacks in the specified board.
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* Return all of the stacks in the specified board.
*/
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function get(): DataResponse {
public function get() {
$stack = $this->stackService->find($this->request->getParam('stackId'));
$response = new DataResponse($stack, HTTP::STATUS_OK);
$response->setETag($stack->getETag());
@@ -69,45 +69,55 @@ class StackApiController extends ApiController {
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* @params $title
* @params $order
*
* Create a stack with the specified title and order.
*/
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function create(string $title, int $order): DataResponse {
public function create($title, $order) {
$stack = $this->stackService->create($title, $this->request->getParam('boardId'), $order);
return new DataResponse($stack, HTTP::STATUS_OK);
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* @params $title
* @params $order
*
* Update a stack by the specified stackId and boardId with the values that were put.
*/
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function update(string $title, int $order) {
public function update($title, $order) {
$stack = $this->stackService->update($this->request->getParam('stackId'), $title, $this->request->getParam('boardId'), $order, 0);
return new DataResponse($stack, HTTP::STATUS_OK);
}
/**
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* Delete the stack specified by $this->request->getParam('stackId').
*/
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function delete(): DataResponse {
public function delete() {
$stack = $this->stackService->delete($this->request->getParam('stackId'));
return new DataResponse($stack, HTTP::STATUS_OK);
}
/**
* Get the stacks that have been archived.
* @NoAdminRequired
* @CORS
* @NoCSRFRequired
*
* get the stacks that have been archived.
*/
#[NoAdminRequired]
#[CORS]
#[NoCSRFRequired]
public function getArchived(): DataResponse {
public function getArchived() {
$stacks = $this->stackService->findAllArchived($this->request->getParam('boardId'));
return new DataResponse($stacks, HTTP::STATUS_OK);
}
+43 -22
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -7,12 +6,10 @@
namespace OCA\Deck\Controller;
use OCA\Deck\Db\Stack;
use OCA\Deck\Service\StackService;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\IRequest;
class StackController extends Controller {
@@ -20,54 +17,78 @@ class StackController extends Controller {
string $appName,
IRequest $request,
private StackService $stackService,
private $userId,
) {
parent::__construct($appName, $request);
}
/**
* @return Stack[]
* @NoAdminRequired
* @param $boardId
* @return array
*/
#[NoAdminRequired]
public function index(int $boardId): array {
public function index($boardId) {
return $this->stackService->findAll($boardId);
}
/**
* @return Stack[]
* @NoAdminRequired
* @param $boardId
* @return array
*/
#[NoAdminRequired]
public function archived(int $boardId): array {
public function archived($boardId) {
return $this->stackService->findAllArchived($boardId);
}
#[NoAdminRequired]
public function create(string $title, int $boardId, int $order = 999): Stack {
/**
* @NoAdminRequired
* @param $title
* @param $boardId
* @param int $order
* @return \OCP\AppFramework\Db\Entity
*/
public function create($title, $boardId, $order = 999) {
return $this->stackService->create($title, $boardId, $order);
}
#[NoAdminRequired]
public function update(int $id, string $title, int $boardId, int $order, ?int $deletedAt = null): Stack {
/**
* @NoAdminRequired
* @param $id
* @param $title
* @param $boardId
* @param $order
* @param $deletedAt
* @return \OCP\AppFramework\Db\Entity
*/
public function update($id, $title, $boardId, $order, $deletedAt) {
return $this->stackService->update($id, $title, $boardId, $order, $deletedAt);
}
/**
* @return array<int, Stack>
* @NoAdminRequired
* @param $stackId
* @param $order
* @return array
*/
#[NoAdminRequired]
public function reorder(int $stackId, int $order): array {
return $this->stackService->reorder($stackId, $order);
public function reorder($stackId, $order) {
return $this->stackService->reorder((int)$stackId, (int)$order);
}
#[NoAdminRequired]
public function delete(int $stackId): Stack {
/**
* @NoAdminRequired
* @param $stackId
* @return \OCP\AppFramework\Db\Entity
*/
public function delete($stackId) {
return $this->stackService->delete($stackId);
}
/**
* @return Stack[]
* @NoAdminRequired
* @param $boardId
* @return \OCP\AppFramework\Db\Entity
*/
#[NoAdminRequired]
public function deleted(int $boardId): array {
public function deleted($boardId) {
return $this->stackService->fetchDeleted($boardId);
}
}
-1
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
-1
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
+14 -5
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -13,17 +12,27 @@ use OCA\Deck\Notification\NotificationHelper;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\Job;
use Psr\Log\LoggerInterface;
use OCP\ILogger;
class ScheduledNotifications extends Job {
/** @var CardMapper */
protected $cardMapper;
/** @var NotificationHelper */
protected $notificationHelper;
/** @var ILogger */
protected $logger;
public function __construct(
ITimeFactory $time,
protected CardMapper $cardMapper,
protected NotificationHelper $notificationHelper,
protected LoggerInterface $logger,
CardMapper $cardMapper,
NotificationHelper $notificationHelper,
ILogger $logger
) {
parent::__construct($time);
$this->cardMapper = $cardMapper;
$this->notificationHelper = $notificationHelper;
$this->logger = $logger;
}
/**
+8 -6
View File
@@ -14,19 +14,21 @@ namespace OCA\Deck\Cron;
use OCA\Deck\Service\SessionService;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\TimedJob;
use Psr\Log\LoggerInterface;
use OCP\ILogger;
class SessionsCleanup extends TimedJob {
private $sessionService;
private $documentService;
private $logger;
private $imageService;
public function __construct(
ITimeFactory $time,
private SessionService $sessionService,
private LoggerInterface $logger,
) {
public function __construct(ITimeFactory $time,
SessionService $sessionService,
ILogger $logger) {
parent::__construct($time);
$this->sessionService = $sessionService;
$this->logger = $logger;
$this->setInterval(SessionService::SESSION_VALID_TIME);
}
+1 -2
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -26,7 +25,7 @@ class Calendar extends ExternalCalendar {
private $children;
/** @var DeckCalendarBackend */
private $backend;
/** @var Board */
/** @var Board */
private $board;
public function __construct(string $principalUri, string $calendarUri, Board $board, DeckCalendarBackend $backend) {
-1
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
-1
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
+1 -2
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -33,7 +32,7 @@ class DeckCalendarBackend {
public function __construct(
BoardService $boardService, StackService $stackService, CardService $cardService, PermissionService $permissionService,
BoardMapper $boardMapper,
BoardMapper $boardMapper
) {
$this->boardService = $boardService;
$this->stackService = $stackService;
+12 -23
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -7,20 +6,6 @@
namespace OCA\Deck\Db;
/**
* @method int getBoardId()
* @method bool isPermissionEdit()
* @method void setPermissionEdit(bool $permissionEdit)
* @method bool isPermissionShare()
* @method void setPermissionShare(bool $permissionShare)
* @method bool isPermissionManage()
* @method void setPermissionManage(bool $permissionManage)
* @method int getType()
* @method void setType(int $type)
* @method bool isOwner()
* @method void setOwner(int $owner)
*
*/
class Acl extends RelationalEntity {
public const PERMISSION_READ = 0;
public const PERMISSION_EDIT = 1;
@@ -51,13 +36,17 @@ class Acl extends RelationalEntity {
$this->addResolvable('participant');
}
public function getPermission(int $permission): bool {
return match ($permission) {
self::PERMISSION_READ => true,
self::PERMISSION_EDIT => $this->getPermissionEdit(),
self::PERMISSION_SHARE => $this->getPermissionShare(),
self::PERMISSION_MANAGE => $this->getPermissionManage(),
default => false,
};
public function getPermission($permission) {
switch ($permission) {
case self::PERMISSION_READ:
return true;
case self::PERMISSION_EDIT:
return $this->getPermissionEdit();
case self::PERMISSION_SHARE:
return $this->getPermissionShare();
case self::PERMISSION_MANAGE:
return $this->getPermissionManage();
}
return false;
}
}
+15 -6
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -19,10 +18,13 @@ class AclMapper extends DeckMapper implements IPermissionMapper {
}
/**
* @param numeric $boardId
* @param int|null $limit
* @param int|null $offset
* @return Acl[]
* @throws \OCP\DB\Exception
*/
public function findAll(int $boardId, ?int $limit = null, ?int $offset = null) {
public function findAll($boardId, $limit = null, $offset = null) {
$qb = $this->db->getQueryBuilder();
$qb->select('id', 'board_id', 'type', 'participant', 'permission_edit', 'permission_share', 'permission_manage')
->from('deck_board_acl')
@@ -48,9 +50,12 @@ class AclMapper extends DeckMapper implements IPermissionMapper {
}
/**
* @param numeric $userId
* @param numeric $id
* @return bool
* @throws \OCP\DB\Exception
*/
public function isOwner(string $userId, int $id): bool {
public function isOwner($userId, $id): bool {
$aclId = $id;
$qb = $this->db->getQueryBuilder();
$qb->select('acl.id')
@@ -62,11 +67,15 @@ class AclMapper extends DeckMapper implements IPermissionMapper {
return count($qb->executeQuery()->fetchAll()) > 0;
}
public function findBoardId(int $id): ?int {
/**
* @param numeric $id
* @return int|null
*/
public function findBoardId($id): ?int {
try {
$entity = $this->find($id);
return $entity->getBoardId();
} catch (DoesNotExistException|MultipleObjectsReturnedException $e) {
} catch (DoesNotExistException | MultipleObjectsReturnedException $e) {
}
return null;
}
@@ -77,7 +86,7 @@ class AclMapper extends DeckMapper implements IPermissionMapper {
* @return Acl[]
* @throws \OCP\DB\Exception
*/
public function findByParticipant(int $type, string $participant): array {
public function findByParticipant($type, $participant): array {
$qb = $this->db->getQueryBuilder();
$qb->select('*')
-1
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
+10 -29
View File
@@ -1,5 +1,4 @@
<?php
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -77,41 +76,26 @@ class AssignmentMapper extends DeckMapper implements IPermissionMapper {
}
public function deleteByParticipantOnBoard(string $participant, int $boardId, $type = Assignment::TYPE_USER) {
// Step 1: Get all card IDs for the board that have assignments for this participant
// This avoids MySQL Error 1093 by separating the SELECT from the DELETE operation
$qb = $this->db->getQueryBuilder();
$cardIdQuery = $this->db->getQueryBuilder();
$cardIdQuery->select('a.card_id')
->from('deck_assigned_users', 'a')
->innerJoin('a', 'deck_cards', 'c', 'c.id = a.card_id')
->innerJoin('c', 'deck_stacks', 's', 's.id = c.stack_id')
->where($cardIdQuery->expr()->eq('a.participant', $cardIdQuery->createNamedParameter($participant, IQueryBuilder::PARAM_STR)))
->andWhere($cardIdQuery->expr()->eq('s.board_id', $cardIdQuery->createNamedParameter($boardId, IQueryBuilder::PARAM_INT)))
->andWhere($cardIdQuery->expr()->eq('a.type', $cardIdQuery->createNamedParameter($type, IQueryBuilder::PARAM_INT)));
$result = $cardIdQuery->executeQuery();
$cardIds = [];
while ($row = $result->fetch()) {
$cardIds[] = $row['card_id'];
}
$result->closeCursor();
// Step 2: If we have card IDs, delete the assignments
if (!empty($cardIds)) {
$deleteQuery = $this->db->getQueryBuilder();
$deleteQuery->delete('deck_assigned_users')
->where($deleteQuery->expr()->eq('participant', $deleteQuery->createNamedParameter($participant, IQueryBuilder::PARAM_STR)))
->andWhere($deleteQuery->expr()->eq('type', $deleteQuery->createNamedParameter($type, IQueryBuilder::PARAM_INT)))
->andWhere($deleteQuery->expr()->in('card_id', $deleteQuery->createNamedParameter($cardIds, IQueryBuilder::PARAM_INT_ARRAY)));
$deleteQuery->executeStatement();
}
->where($cardIdQuery->expr()->eq('a.participant', $qb->createNamedParameter($participant, IQueryBuilder::PARAM_STR)))
->andWhere($cardIdQuery->expr()->eq('s.board_id', $qb->createNamedParameter($boardId, IQueryBuilder::PARAM_INT)))
->andWhere($cardIdQuery->expr()->eq('a.type', $qb->createNamedParameter($type, IQueryBuilder::PARAM_INT)));
$qb->delete('deck_assigned_users')
->where($qb->expr()->in('card_id', $qb->createFunction($cardIdQuery->getSQL()), IQueryBuilder::PARAM_INT_ARRAY));
$qb->executeStatement();
}
public function isOwner(string $userId, int $id): bool {
public function isOwner($userId, $id): bool {
return $this->cardMapper->isOwner($userId, $id);
}
public function findBoardId(int $id): ?int {
public function findBoardId($id): ?int {
return $this->cardMapper->findBoardId($id);
}
@@ -123,9 +107,6 @@ class AssignmentMapper extends DeckMapper implements IPermissionMapper {
* @throws NotFoundException
*/
public function insert(Entity $entity): Entity {
if (!($entity instanceof Assignment)) {
throw new \LogicException('Trying to insert a ' . get_class($entity) . ' in the assignment mapper');
}
$origin = $this->getOrigin($entity);
if ($origin === null) {
throw new NotFoundException('No origin found for assignment');
@@ -144,7 +125,7 @@ class AssignmentMapper extends DeckMapper implements IPermissionMapper {
});
}
public function isUserAssigned(int $cardId, string $userId): bool {
public function isUserAssigned($cardId, $userId): bool {
$assignments = $this->findAll($cardId);
foreach ($assignments as $assignment) {
$origin = $this->getOrigin($assignment);

Some files were not shown because too many files have changed in this diff Show More