Compare commits

..

453 Commits

Author SHA1 Message Date
Julius Härtl
672616d14a chore(release): Bump version to 1.9.5
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-01-17 15:03:19 +01:00
Nextcloud bot
caa5464f88 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-16 00:36:03 +00:00
Nextcloud bot
78e96962c2 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-14 00:36:31 +00:00
Nextcloud bot
a07b0e1d66 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-13 00:37:38 +00:00
Julius Härtl
c7b0b4c4a8 Merge pull request #5443 from nextcloud/backport/5423/stable26
[stable26] Fix deleted card/board issues
2024-01-12 09:30:48 +01:00
Nextcloud bot
1e12559cb2 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-12 00:35:53 +00:00
Nextcloud bot
5a3fe55d1b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-10 00:37:27 +00:00
Julius Härtl
95c274c59b ci(cypress): Fix file picker selector
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-01-09 22:43:08 +01:00
Julius Härtl
dda1702afb tests: Fix missing behat context methods
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-01-09 22:43:07 +01:00
Julius Härtl
632871ad4d chore: Fix ci setup for activity
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-01-09 15:26:48 +01:00
Julius Härtl
6c1f4744cc fix: Limit card activities for deleted cards
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-01-09 15:26:48 +01:00
Julius Härtl
df2beaf5a5 fix: Further limit updating cards
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-01-09 15:26:48 +01:00
Julius Härtl
a91e0eb1ac fix: limit to non-deleted cards
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-01-09 15:26:48 +01:00
Julius Härtl
25875f1c05 fix: Consider a deleted board inaccessible to share recipients
Only the owner can delete/undo a board deletion so there is no reason
other users should have any permission on a board marked as deleted

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-01-09 15:26:47 +01:00
Julius Härtl
116e124b2d tests: Add integration tests for deleted boards/cards
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-01-09 15:26:46 +01:00
Julius Härtl
497d06c700 Merge pull request #5439 from nextcloud/backport/5354/stable26
[stable26] fix: allow null label colors in trello json importer
2024-01-09 11:33:00 +01:00
Mario Jäckle
cea66746d7 fix: allow null label colors in trello json importer
Signed-off-by: Mario Jäckle <github@jacksbox.de>
2024-01-09 10:57:33 +01:00
Nextcloud bot
c807fcf635 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-09 00:37:07 +00:00
Julius Härtl
73b6053a5e Merge pull request #5434 from nextcloud/automated/noid/stable26-update-nextcloud-ocp
[stable26] Update nextcloud/ocp dependency
2024-01-08 09:27:40 +01:00
nextcloud-command
2ab4766085 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2024-01-07 02:42:27 +00:00
Nextcloud bot
9d0f7d6f95 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-07 00:40:00 +00:00
Nextcloud bot
a833f4190a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-05 00:39:50 +00:00
Nextcloud bot
fa9f220834 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-04 00:37:40 +00:00
Julius Härtl
a07cb8b9db Merge pull request #5421 from nextcloud/backport/5296/stable26
[stable26] Fix small issues around delete/undo
2024-01-03 23:27:21 +01:00
Julius Härtl
833f1ed0df fix: Only query boards not marked for deletion unless we want to undo
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-01-03 15:53:05 +00:00
Nextcloud bot
8ceb48baef Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-03 00:38:26 +00:00
Nextcloud bot
33f8e33a9e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-30 00:39:16 +00:00
Nextcloud bot
da7af01577 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-27 00:36:31 +00:00
Nextcloud bot
6ac95eda6f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-26 00:38:14 +00:00
Nextcloud bot
57c8e9b51b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-24 00:41:15 +00:00
Nextcloud bot
a1bc2a34b1 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-23 00:37:27 +00:00
Nextcloud bot
3a243b4869 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-20 00:35:28 +00:00
Nextcloud bot
090e67f473 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-18 00:36:09 +00:00
Nextcloud bot
55049ce411 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-17 00:36:24 +00:00
Nextcloud bot
2444adf5a1 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-15 00:35:59 +00:00
Nextcloud bot
3f71b3e190 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-13 00:36:51 +00:00
Nextcloud bot
869ff5bb84 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-12 00:35:32 +00:00
Nextcloud bot
3741d53ebf Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-11 00:41:19 +00:00
Nextcloud bot
6d37fd72d7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-10 00:35:27 +00:00
Nextcloud bot
5447fe69cd Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-09 00:35:29 +00:00
Nextcloud bot
219a316cb0 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-08 00:35:44 +00:00
Nextcloud bot
53bc3b75ef Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-07 00:36:19 +00:00
Nextcloud bot
4313351ee5 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-06 00:37:14 +00:00
Nextcloud bot
70953909f8 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-05 00:37:43 +00:00
Nextcloud bot
10b7cd649d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-01 00:34:23 +00:00
Julius Härtl
3aa3d57c3b chore(release): Bump version to 1.9.5
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-11-29 12:27:55 +01:00
Nextcloud bot
004c55a661 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-27 00:40:20 +00:00
Nextcloud bot
4537ca72da Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-26 00:39:58 +00:00
Nextcloud bot
7399cdc7c8 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-25 00:44:15 +00:00
Nextcloud bot
188b42e46f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-24 01:06:36 +00:00
Nextcloud bot
c5e4274503 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-23 00:42:59 +00:00
Nextcloud bot
62d4b387bb Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-22 00:43:04 +00:00
Nextcloud bot
e97672a321 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-21 00:44:15 +00:00
Nextcloud bot
9c420cdaec Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-20 00:44:00 +00:00
Julius Härtl
a590f1407f Merge pull request #5302 from nextcloud/dependabot/npm_and_yarn/stable26/relative-ci/agent-4.2.1 2023-11-18 08:48:19 +01:00
dependabot[bot]
7331d0a77a Chore(deps-dev): Bump @relative-ci/agent from 4.1.10 to 4.2.1
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.1.10 to 4.2.1.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.1.10...v4.2.1)

---
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>
2023-11-18 02:15:03 +00:00
Julius Härtl
d4189cfb95 Merge pull request #5298 from nextcloud/backport/5294/stable26 2023-11-17 12:57:47 +01:00
Julius Härtl
69fd17df43 fix: Use text content as result for comments
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-11-17 10:39:09 +00:00
Julius Härtl
0204d38b8f chore(release): Bump version to 1.9.4
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-11-15 09:07:16 +01:00
Nextcloud bot
7081e617fa Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-15 00:48:18 +00:00
Julius Härtl
fd87c34a00 Merge pull request #5289 from nextcloud/backport/4817/stable26 2023-11-14 17:01:33 +01:00
Luka Trovic
d6030a3f09 fix: cypress issue
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2023-11-14 16:25:14 +01:00
Luka Trovic
7494e35ffb fix: open card in modal on main route
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2023-11-14 16:25:14 +01:00
Julius Härtl
9532a5f935 chore: Revert to @nextcloud/eslint-config 8.2.1
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-11-14 16:25:00 +01:00
Nextcloud bot
5953b8a829 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-14 00:43:38 +00:00
Nextcloud bot
2c67766914 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-13 00:41:37 +00:00
Julius Härtl
a0d9c519ee Merge pull request #5276 from nextcloud/automated/noid/stable26-update-nextcloud-ocp 2023-11-12 09:03:38 +01:00
nextcloud-command
f0594aac2e chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-11-12 02:46:26 +00:00
Nextcloud bot
71a3c114db Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-12 00:40:52 +00:00
Julius Härtl
829189f97d Merge pull request #5270 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/vue-7.12.7 2023-11-11 08:44:45 +01:00
dependabot[bot]
2a7e14941e Chore(deps): Bump @nextcloud/vue from 7.12.6 to 7.12.7
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 7.12.6 to 7.12.7.
- [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/v7.12.6...v7.12.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-11 02:16:05 +00:00
Nextcloud bot
2f08b27798 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-11 00:38:55 +00:00
Nextcloud bot
a9408f4aa7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-10 00:40:57 +00:00
Nextcloud bot
8e04fb9c09 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-09 00:43:11 +00:00
Nextcloud bot
8ef5f7c12a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-07 00:49:41 +00:00
Nextcloud bot
f707440080 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-05 00:45:41 +00:00
Nextcloud bot
d7ec9d7d0c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-03 00:43:36 +00:00
Nextcloud bot
e978a1b518 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-02 00:41:17 +00:00
Nextcloud bot
25ab49e0c0 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-01 00:45:19 +00:00
Nextcloud bot
56c5b5b7ef Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-31 00:44:41 +00:00
Nextcloud bot
a82deb6210 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-30 00:42:30 +00:00
Julius Härtl
e66db256cf Merge pull request #5244 from nextcloud/dependabot/npm_and_yarn/stable26/vue-2.7.15 2023-10-29 21:14:24 +01:00
dependabot[bot]
b360d50129 bump vue-template-compiler from 2.7.14 to 2.7.15
---
updated-dependencies:
- dependency-name: vue-template-compiler
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-29 21:08:09 +01:00
dependabot[bot]
8c4b5cc7e5 Chore(deps): Bump vue from 2.7.14 to 2.7.15
Bumps [vue](https://github.com/vuejs/core) from 2.7.14 to 2.7.15.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-28 03:00:02 +00:00
Nextcloud bot
27b135753b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-26 00:44:24 +00:00
Nextcloud bot
c77058222a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-25 00:59:19 +00:00
Nextcloud bot
78f64f7c04 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-24 00:44:30 +00:00
Nextcloud bot
6cd5b1a0aa Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-23 00:42:49 +00:00
Nextcloud bot
ea009fa1ee Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-22 00:45:28 +00:00
Nextcloud bot
5d4a4d3520 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-21 00:43:30 +00:00
Nextcloud bot
40f98a5883 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-20 00:44:48 +00:00
Nextcloud bot
b6fb131cc9 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-19 00:43:51 +00:00
Nextcloud bot
cf88330910 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-18 01:08:15 +00:00
Nextcloud bot
e47c66a669 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-17 00:46:46 +00:00
Julius Härtl
e7387acd24 Merge pull request #5198 from nextcloud/dependabot/npm_and_yarn/stable26/relative-ci/agent-4.1.10
Chore(deps-dev): Bump @relative-ci/agent from 4.1.9 to 4.1.10
2023-10-16 23:01:30 +02:00
Julius Härtl
4d18c1d361 Merge pull request #5197 from nextcloud/dependabot/npm_and_yarn/stable26/babel/runtime-7.23.2
Chore(deps): Bump @babel/runtime from 7.23.1 to 7.23.2
2023-10-16 23:00:54 +02:00
Julius Härtl
cf36de3f10 Merge pull request #5209 from nextcloud/automated/noid/stable26-update-nextcloud-ocp
[stable26] Update nextcloud/ocp dependency
2023-10-16 10:21:51 +02:00
nextcloud-command
911e7bbeb7 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-10-15 02:43:28 +00:00
dependabot[bot]
47204d57a8 Chore(deps-dev): Bump @relative-ci/agent from 4.1.9 to 4.1.10
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.1.9 to 4.1.10.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.1.9...v4.1.10)

---
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>
2023-10-14 01:08:46 +00:00
dependabot[bot]
cd40a1617b Chore(deps): Bump @babel/runtime from 7.23.1 to 7.23.2
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.23.1 to 7.23.2.
- [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.23.2/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>
2023-10-14 01:08:30 +00:00
Nextcloud bot
3cbf284e4f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-14 00:44:05 +00:00
Nextcloud bot
e0d8cbf1ac Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-13 01:14:55 +00:00
Nextcloud bot
8d91224998 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-12 00:42:14 +00:00
Nextcloud bot
0413a56bcd Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-11 00:47:38 +00:00
Julius Härtl
6910158bb4 Merge pull request #5140 from nextcloud/dependabot/npm_and_yarn/stable26/eslint-plugin-cypress-2.15.1
Chore(deps-dev): Bump eslint-plugin-cypress from 2.14.0 to 2.15.1
2023-10-10 08:36:46 +02:00
Julius Härtl
48ec850f46 Merge pull request #5142 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/dialogs-4.2.1
Chore(deps): Bump @nextcloud/dialogs from 4.1.0 to 4.2.1
2023-10-10 08:36:37 +02:00
Julius Härtl
e761133022 Merge pull request #5188 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/eslint-config-8.3.0
Chore(deps-dev): Bump @nextcloud/eslint-config from 8.2.1 to 8.3.0
2023-10-10 08:36:29 +02:00
Nextcloud bot
5b051acdae Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-10 01:07:40 +00:00
Julius Härtl
7bf07ee0ab Merge pull request #5192 from nextcloud/automated/noid/stable26-update-nextcloud-ocp
[stable26] Update nextcloud/ocp dependency
2023-10-09 12:16:49 +02:00
Nextcloud bot
0dd16e09a9 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-09 00:44:29 +00:00
nextcloud-command
4f3590c067 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-10-08 02:32:18 +00:00
Nextcloud bot
acd6d0d956 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-08 00:46:05 +00:00
Nextcloud bot
e3a6adb430 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-07 01:19:08 +00:00
Nextcloud bot
6600f133a2 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-06 00:42:37 +00:00
Nextcloud bot
3cf976650d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-04 00:42:51 +00:00
Nextcloud bot
64fc71aa6d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-03 00:42:03 +00:00
Nextcloud bot
cebe7e7409 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-02 00:42:41 +00:00
dependabot[bot]
635c68da80 Merge pull request #5190 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/vue-7.12.6 2023-09-30 03:23:24 +00:00
dependabot[bot]
595c099b46 Merge pull request #5189 from nextcloud/dependabot/npm_and_yarn/stable26/markdown-it-13.0.2 2023-09-30 03:23:09 +00:00
dependabot[bot]
93411a10e7 Merge pull request #5187 from nextcloud/dependabot/npm_and_yarn/stable26/babel/runtime-7.23.1 2023-09-30 03:15:45 +00:00
dependabot[bot]
c77477ab97 Merge pull request #5186 from nextcloud/dependabot/npm_and_yarn/stable26/dompurify-3.0.6 2023-09-30 03:13:14 +00:00
dependabot[bot]
834e068844 Chore(deps): Bump @nextcloud/vue from 7.12.5 to 7.12.6
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.12.5 to 7.12.6.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/v7.12.6/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.12.5...v7.12.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-30 01:29:23 +00:00
dependabot[bot]
f5e36b97d9 Chore(deps): Bump markdown-it from 13.0.1 to 13.0.2
Bumps [markdown-it](https://github.com/markdown-it/markdown-it) from 13.0.1 to 13.0.2.
- [Changelog](https://github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/markdown-it/markdown-it/compare/13.0.1...13.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-30 01:29:07 +00:00
dependabot[bot]
557e229f79 Chore(deps-dev): Bump @nextcloud/eslint-config from 8.2.1 to 8.3.0
Bumps [@nextcloud/eslint-config](https://github.com/nextcloud-libraries/eslint-config) from 8.2.1 to 8.3.0.
- [Release notes](https://github.com/nextcloud-libraries/eslint-config/releases)
- [Changelog](https://github.com/nextcloud-libraries/eslint-config/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/eslint-config/compare/v8.2.1...v8.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-30 01:28:56 +00:00
dependabot[bot]
592e4db5bf Chore(deps): Bump @babel/runtime from 7.22.15 to 7.23.1
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.22.15 to 7.23.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.23.1/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>
2023-09-30 01:28:34 +00:00
dependabot[bot]
77ab2fe709 Chore(deps): Bump dompurify from 3.0.5 to 3.0.6
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.0.5 to 3.0.6.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.0.5...3.0.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-30 01:28:16 +00:00
Nextcloud bot
81c06a8e76 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-28 00:43:54 +00:00
Nextcloud bot
f262911dad Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-26 00:43:53 +00:00
dependabot[bot]
847d21b962 Merge pull request #5143 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/auth-2.2.1 2023-09-23 07:36:16 +00:00
dependabot[bot]
752c973082 Merge pull request #5139 from nextcloud/dependabot/npm_and_yarn/stable26/relative-ci/agent-4.1.9 2023-09-23 03:18:26 +00:00
dependabot[bot]
3613316bf4 Chore(deps): Bump @nextcloud/auth from 2.1.0 to 2.2.1
Bumps [@nextcloud/auth](https://github.com/nextcloud/nextcloud-auth) from 2.1.0 to 2.2.1.
- [Release notes](https://github.com/nextcloud/nextcloud-auth/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-auth/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-auth/compare/v2.1.0...v2.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-23 03:07:51 +00:00
dependabot[bot]
e77b1928b4 Merge pull request #5138 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/vue-7.12.5 2023-09-23 03:07:01 +00:00
dependabot[bot]
82c7d13049 Chore(deps): Bump @nextcloud/dialogs from 4.1.0 to 4.2.1
Bumps [@nextcloud/dialogs](https://github.com/nextcloud-libraries/nextcloud-dialogs) from 4.1.0 to 4.2.1.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-dialogs/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-dialogs/blob/v4.2.1/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-dialogs/compare/v4.1.0...v4.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-23 01:05:49 +00:00
dependabot[bot]
9a629167d8 Chore(deps-dev): Bump eslint-plugin-cypress from 2.14.0 to 2.15.1
Bumps [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) from 2.14.0 to 2.15.1.
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v2.14.0...v2.15.1)

---
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>
2023-09-23 01:05:17 +00:00
dependabot[bot]
5714dc17f2 Chore(deps-dev): Bump @relative-ci/agent from 4.1.8 to 4.1.9
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.1.8 to 4.1.9.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.1.8...v4.1.9)

---
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>
2023-09-23 01:05:04 +00:00
dependabot[bot]
d6721cd3ec Chore(deps): Bump @nextcloud/vue from 7.12.4 to 7.12.5
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.12.4 to 7.12.5.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/v7.12.5/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.12.4...v7.12.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-23 01:04:41 +00:00
Nextcloud bot
94af83966c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-22 00:48:03 +00:00
dependabot[bot]
042b84ff5c Merge pull request #5129 from nextcloud/dependabot/npm_and_yarn/stable26/jest-29.7.0 2023-09-16 04:25:06 +00:00
dependabot[bot]
4d5c09334d Chore(deps-dev): Bump jest from 29.6.4 to 29.7.0
Bumps [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) from 29.6.4 to 29.7.0.
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v29.7.0/packages/jest)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-16 03:00:13 +00:00
Julius Härtl
3a27e94afa chore(release): Bump version to 1.9.3
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-09-13 14:43:50 +02:00
Julius Härtl
9243a43082 Merge pull request #5117 from nextcloud/backport/5096/stable26 2023-09-13 13:36:44 +02:00
Michał Walczak
f56bf48446 fix: export doesn't handle lists with no cards
Signed-off-by: Michał Walczak <mw@michalwalczak.eu>
2023-09-13 11:12:04 +00:00
Julius Härtl
4d5321bfc4 Merge pull request #5116 from nextcloud/automated/noid/stable26-update-nextcloud-ocp 2023-09-11 22:13:57 +02:00
Nextcloud bot
36b7f3b491 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-11 00:42:51 +00:00
nextcloud-command
7346142ef2 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-09-10 02:29:21 +00:00
dependabot[bot]
b54e52ce7e Merge pull request #5107 from nextcloud/dependabot/npm_and_yarn/stable26/p-queue-7.4.1 2023-09-09 02:53:43 +00:00
dependabot[bot]
0d18b82c04 Merge pull request #5106 from nextcloud/dependabot/npm_and_yarn/stable26/vue/vue2-jest-29.2.6 2023-09-09 02:47:54 +00:00
dependabot[bot]
ba4f8d13bc Merge pull request #5105 from nextcloud/dependabot/npm_and_yarn/stable26/babel/runtime-7.22.15 2023-09-09 02:46:23 +00:00
dependabot[bot]
2a27789854 Merge pull request #5104 from nextcloud/dependabot/npm_and_yarn/stable26/url-search-params-polyfill-8.2.5 2023-09-09 02:45:49 +00:00
dependabot[bot]
15d07a23e7 Chore(deps): Bump p-queue from 7.4.0 to 7.4.1
Bumps [p-queue](https://github.com/sindresorhus/p-queue) from 7.4.0 to 7.4.1.
- [Release notes](https://github.com/sindresorhus/p-queue/releases)
- [Commits](https://github.com/sindresorhus/p-queue/compare/v7.4.0...v7.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-09 01:30:49 +00:00
dependabot[bot]
75ed083c93 Chore(deps-dev): Bump @vue/vue2-jest from 29.2.5 to 29.2.6
Bumps [@vue/vue2-jest](https://github.com/vuejs/vue-jest) from 29.2.5 to 29.2.6.
- [Release notes](https://github.com/vuejs/vue-jest/releases)
- [Commits](https://github.com/vuejs/vue-jest/compare/v29.2.5...v29.2.6)

---
updated-dependencies:
- dependency-name: "@vue/vue2-jest"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-09 01:30:41 +00:00
dependabot[bot]
517641eed2 Chore(deps): Bump @babel/runtime from 7.22.11 to 7.22.15
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.22.11 to 7.22.15.
- [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.22.15/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>
2023-09-09 01:30:29 +00:00
dependabot[bot]
90afe70022 Chore(deps): Bump url-search-params-polyfill from 8.2.4 to 8.2.5
Bumps [url-search-params-polyfill](https://github.com/jerrybendy/url-search-params-polyfill) from 8.2.4 to 8.2.5.
- [Release notes](https://github.com/jerrybendy/url-search-params-polyfill/releases)
- [Commits](https://github.com/jerrybendy/url-search-params-polyfill/commits)

---
updated-dependencies:
- dependency-name: url-search-params-polyfill
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-09 01:30:19 +00:00
Nextcloud bot
c2c0324f58 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-09 00:42:03 +00:00
Nextcloud bot
9305a836f9 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-07 00:45:19 +00:00
Julius Härtl
96a0176194 Merge pull request #5083 from nextcloud/automated/noid/stable26-update-nextcloud-ocp 2023-09-04 08:39:55 +02:00
nextcloud-command
fbbbd372c2 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-09-03 02:33:05 +00:00
dependabot[bot]
26fabf2b37 Merge pull request #5079 from nextcloud/dependabot/npm_and_yarn/stable26/p-queue-7.4.0 2023-09-02 04:11:10 +00:00
dependabot[bot]
240e230c5d Chore(deps): Bump p-queue from 7.3.4 to 7.4.0
Bumps [p-queue](https://github.com/sindresorhus/p-queue) from 7.3.4 to 7.4.0.
- [Release notes](https://github.com/sindresorhus/p-queue/releases)
- [Commits](https://github.com/sindresorhus/p-queue/compare/v7.3.4...v7.4.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>
2023-09-02 02:21:40 +00:00
Nextcloud bot
0f804bb113 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-02 00:42:38 +00:00
Nextcloud bot
33faee97eb Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-01 00:45:54 +00:00
Nextcloud bot
fa842d10df Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-31 00:50:53 +00:00
Nextcloud bot
587e0f439a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-30 00:47:52 +00:00
Julius Härtl
74c517690d Merge pull request #5051 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/vue-7.12.4 2023-08-28 08:30:49 +02:00
Nextcloud bot
6663a522f1 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-28 00:42:46 +00:00
dependabot[bot]
27025d2d8e Merge pull request #5053 from nextcloud/dependabot/npm_and_yarn/stable26/relative-ci/agent-4.1.8 2023-08-26 03:06:42 +00:00
dependabot[bot]
58a9ff4e39 Merge pull request #5052 from nextcloud/dependabot/npm_and_yarn/stable26/jest-29.6.4 2023-08-26 03:05:20 +00:00
dependabot[bot]
80ca8f4b15 Merge pull request #5050 from nextcloud/dependabot/npm_and_yarn/stable26/babel/runtime-7.22.11 2023-08-26 02:47:27 +00:00
dependabot[bot]
fd838c52b0 Chore(deps-dev): Bump @relative-ci/agent from 4.1.6 to 4.1.8
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.1.6 to 4.1.8.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.1.6...v4.1.8)

---
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>
2023-08-26 01:07:03 +00:00
dependabot[bot]
b9eb84bf05 Chore(deps-dev): Bump jest from 29.6.2 to 29.6.4
Bumps [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) from 29.6.2 to 29.6.4.
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v29.6.4/packages/jest)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-26 01:06:52 +00:00
dependabot[bot]
d4019016bc Chore(deps): Bump @nextcloud/vue from 7.12.2 to 7.12.4
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.12.2 to 7.12.4.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/v7.12.4/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.12.2...v7.12.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-26 01:06:27 +00:00
dependabot[bot]
eecdcd7a95 Chore(deps): Bump @babel/runtime from 7.22.10 to 7.22.11
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.22.10 to 7.22.11.
- [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.22.11/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>
2023-08-26 01:06:13 +00:00
Nextcloud bot
1e5f8910c7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-26 00:48:44 +00:00
Nextcloud bot
9b73f8436d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-25 00:52:09 +00:00
Nextcloud bot
d5750309fe Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-24 01:17:44 +00:00
Nextcloud bot
5639683ad3 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-23 00:44:38 +00:00
Julius Härtl
c25b8905e6 Merge pull request #5044 from nextcloud/backport/4850/stable26 2023-08-22 08:12:01 +02:00
Git'Fellow
b5d18298f9 Remove duplicate button
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2023-08-22 05:55:08 +00:00
dependabot[bot]
3d678819f8 Merge pull request #5040 from nextcloud/dependabot/npm_and_yarn/stable26/cypress-12.17.4 2023-08-19 03:54:20 +00:00
dependabot[bot]
6a6f9b1aee Chore(deps-dev): Bump cypress from 12.17.3 to 12.17.4
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.17.3 to 12.17.4.
- [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/v12.17.3...v12.17.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-19 01:32:04 +00:00
Nextcloud bot
db143b8dd9 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-18 00:51:58 +00:00
Nextcloud bot
290f35434f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-16 00:41:41 +00:00
Nextcloud bot
6c681355c2 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-15 01:16:04 +00:00
Nextcloud bot
4501e98bc3 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-14 00:41:52 +00:00
Julius Härtl
aaae6250ef Merge pull request #5004 from nextcloud/backport/5003/stable26 2023-08-12 10:01:11 +02:00
Julius Härtl
6e9379fd6f Merge pull request #5012 from nextcloud/dependabot/npm_and_yarn/stable26/babel/runtime-7.22.10 2023-08-12 09:38:30 +02:00
Julius Härtl
c081102c13 ci(cypress): Catch resize observer loop limit (2)
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-12 09:27:23 +02:00
Julius Härtl
a352aaf924 ci(integration): Fix query counter
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-12 09:16:34 +02:00
Julius Härtl
0bdba67953 ci(cypress): Catch resize observer loop limit
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-12 09:14:49 +02:00
Julius Härtl
f2e1a24b6b fix: use proper owner source
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-12 09:11:36 +02:00
dependabot[bot]
e8111ddd2d Merge pull request #5011 from nextcloud/dependabot/npm_and_yarn/stable26/eslint-plugin-cypress-2.14.0 2023-08-12 04:31:48 +00:00
dependabot[bot]
23dfb4debe Merge pull request #5013 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/vue-7.12.2 2023-08-12 04:31:25 +00:00
dependabot[bot]
795d68024c Merge pull request #5010 from nextcloud/dependabot/npm_and_yarn/stable26/vue/vue2-jest-29.2.5 2023-08-12 04:30:32 +00:00
dependabot[bot]
964acbf02b Chore(deps): Bump @nextcloud/vue from 7.12.1 to 7.12.2
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.12.1 to 7.12.2.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/v7.12.2/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.12.1...v7.12.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-12 01:44:40 +00:00
dependabot[bot]
5d4bec2aa4 Chore(deps): Bump @babel/runtime from 7.22.6 to 7.22.10
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.22.6 to 7.22.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.22.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>
2023-08-12 01:44:21 +00:00
dependabot[bot]
435367ccd4 Chore(deps-dev): Bump eslint-plugin-cypress from 2.13.3 to 2.14.0
Bumps [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) from 2.13.3 to 2.14.0.
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v2.13.3...v2.14.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>
2023-08-12 01:44:07 +00:00
dependabot[bot]
640a4b6ece Chore(deps-dev): Bump @vue/vue2-jest from 29.2.4 to 29.2.5
Bumps [@vue/vue2-jest](https://github.com/vuejs/vue-jest) from 29.2.4 to 29.2.5.
- [Release notes](https://github.com/vuejs/vue-jest/releases)
- [Commits](https://github.com/vuejs/vue-jest/compare/v29.2.4...v29.2.5)

---
updated-dependencies:
- dependency-name: "@vue/vue2-jest"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-12 01:43:59 +00:00
Nextcloud bot
0728342c34 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-12 00:43:19 +00:00
Julius Härtl
6891b80eb2 style: fix php-cs
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:49:01 +02:00
Julius Härtl
63eb8cf350 tests: ignore version of stored json for import tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:48:39 +02:00
Julius Härtl
3a5d5bd449 fix: Only map owner for user mapping
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:40:15 +02:00
Julius Härtl
5b81f4b614 chore: Cleanup some outdated fixme comments
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:40:15 +02:00
Julius Härtl
4ee7203990 fix: Map card assignments through mapping config
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:40:14 +02:00
Julius Härtl
3039d6dce2 fix: Add output for individual failures or skipped parts
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:40:14 +02:00
Julius Härtl
60df897bd2 tests: assert json diff between import/export
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:40:14 +02:00
Julius Härtl
b78f8a664f fix: Do not fail on missing owner details
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:40:14 +02:00
Julius Härtl
9ca442f959 fix: Only set last modified if not already set manually
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:40:14 +02:00
Julius Härtl
fd9883207e fix: Avoid duplicate data on board export
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:40:14 +02:00
Julius Härtl
073093c958 test: Add reimport test case
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:40:13 +02:00
Julius Härtl
f98873093d fix: request full details for board export
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:40:13 +02:00
Julius Härtl
f160ec63c0 draft: todos
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:40:13 +02:00
Julius Härtl
f5648284f2 feat: Let occ deck:import default to deck json importer
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:40:11 +02:00
Julius Härtl
890893f9e3 docs: Add dedicated documentation section for import/export
Signed-off-by: Julius Härtl <jus@bitgrid.net>

docs: Update import docs

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:39:13 +02:00
Julius Härtl
748f8bee3f test: Add example test data for deck import
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:39:13 +02:00
Julius Härtl
d93d4af44f test: Add some basic integration test skeleton for import
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:39:12 +02:00
Julius Härtl
e98188fbf8 feat: Add app version to the deck app export
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:39:12 +02:00
Julius Härtl
2ae9f71483 feat: Implement logic to import multiple boards
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:39:12 +02:00
Max
8954569aee WIP: enh(import): import deck json exports
Signed-off-by: Max <max@nextcloud.com>
2023-08-11 19:39:12 +02:00
Julius Härtl
ef463f32e6 fix: Avoid failing due to uninitialized acces of systemInstance
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:39:12 +02:00
Julius Härtl
72b5e1baf6 fix: Properly export cards as a child element of the related stack
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-11 19:39:12 +02:00
Nextcloud bot
185699f6d7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-11 00:45:43 +00:00
Julius Härtl
2f4f7d9fc0 Merge pull request #4985 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/stylelint-config-2.3.1 2023-08-10 22:47:21 +02:00
dependabot[bot]
9fdfbd7239 Chore(deps-dev): Bump @nextcloud/stylelint-config from 2.3.0 to 2.3.1
Bumps [@nextcloud/stylelint-config](https://github.com/nextcloud/stylelint-config) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/nextcloud/stylelint-config/releases)
- [Changelog](https://github.com/nextcloud-libraries/stylelint-config/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/stylelint-config/compare/v2.3.0...v2.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-10 22:38:54 +02:00
Nextcloud bot
dc84f29e4f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-10 00:43:10 +00:00
Nextcloud bot
f77655ec35 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-09 01:06:08 +00:00
Nextcloud bot
5e2f6305fa Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-08 00:46:21 +00:00
Julius Härtl
3112301260 Merge pull request #4992 from nextcloud/automated/noid/stable26-update-nextcloud-ocp 2023-08-06 11:56:34 +02:00
Julius Härtl
5da87e3a2e Merge pull request #4994 from nextcloud/automated/noid/stable26-fix-npm-audit 2023-08-06 11:54:48 +02:00
nextcloud-command
dc59f96e59 chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-08-06 03:29:25 +00:00
nextcloud-command
2cc4f133a5 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-08-06 02:34:45 +00:00
Nextcloud bot
14317ef4d5 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-06 00:41:22 +00:00
dependabot[bot]
37e459948c Merge pull request #4986 from nextcloud/dependabot/npm_and_yarn/stable26/relative-ci/agent-4.1.6 2023-08-05 05:26:54 +00:00
dependabot[bot]
b507a83ea1 Merge pull request #4987 from nextcloud/dependabot/npm_and_yarn/stable26/jest-29.6.2 2023-08-05 05:26:30 +00:00
dependabot[bot]
3e4c2eb324 Chore(deps-dev): Bump jest from 29.6.1 to 29.6.2
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 29.6.1 to 29.6.2.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.6.2/packages/jest)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-05 03:32:05 +00:00
dependabot[bot]
e127b1ee77 Chore(deps-dev): Bump @relative-ci/agent from 4.1.5 to 4.1.6
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.1.5 to 4.1.6.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.1.5...v4.1.6)

---
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>
2023-08-05 03:31:31 +00:00
Nextcloud bot
3704b17f41 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-04 00:46:32 +00:00
Nextcloud bot
3fdd8a4a4d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-02 01:09:06 +00:00
Nextcloud bot
1750046eb0 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-30 00:41:14 +00:00
Julius Härtl
e9ab1ae6fc Merge pull request #4950 from nextcloud/backport/4906/stable26 2023-07-24 17:36:02 +02:00
Julius Härtl
f6783f14cd Merge pull request #4958 from nextcloud/automated/noid/stable26-fix-npm-audit 2023-07-23 20:45:24 +02:00
Julius Härtl
6aa824385c Merge pull request #4956 from nextcloud/automated/noid/stable26-update-nextcloud-ocp 2023-07-23 20:44:44 +02:00
nextcloud-command
0a79232bfe chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-07-23 03:19:57 +00:00
nextcloud-command
530b3be82a chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-07-23 02:50:04 +00:00
dependabot[bot]
efeb2278f4 Merge pull request #4953 from nextcloud/dependabot/npm_and_yarn/stable26/cypress-12.17.2 2023-07-22 01:35:08 +00:00
dependabot[bot]
a3891c792c Chore(deps-dev): Bump cypress from 12.17.1 to 12.17.2
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.17.1 to 12.17.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/v12.17.1...v12.17.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-22 01:22:46 +00:00
Julius Härtl
07c219dfa7 fix: Split query to fetch board ids to avoid slow query join
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-07-21 18:30:22 +02:00
Nextcloud bot
221fa2eab6 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-19 00:41:21 +00:00
Nextcloud bot
3f6d42257d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-18 00:38:55 +00:00
Julius Härtl
81ca7c887e Merge pull request #4937 from nextcloud/automated/noid/stable26-update-nextcloud-ocp 2023-07-16 12:41:43 +02:00
nextcloud-command
99c858e134 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-07-16 03:18:05 +00:00
Nextcloud bot
6644b11af7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-16 00:39:23 +00:00
dependabot[bot]
801259479d Merge pull request #4926 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/vue-7.12.1 2023-07-15 05:03:56 +00:00
dependabot[bot]
4dc27f4e7e Merge pull request #4929 from nextcloud/dependabot/npm_and_yarn/stable26/cypress-12.17.1 2023-07-15 05:03:46 +00:00
dependabot[bot]
42085fac7f Merge pull request #4928 from nextcloud/dependabot/npm_and_yarn/stable26/dompurify-3.0.5 2023-07-15 05:03:33 +00:00
dependabot[bot]
a95dc22cba Merge pull request #4927 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/initial-state-2.1.0 2023-07-15 05:03:26 +00:00
dependabot[bot]
6b5bf3c7cd Chore(deps-dev): Bump cypress from 12.17.0 to 12.17.1
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.17.0 to 12.17.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/v12.17.0...v12.17.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-15 01:40:33 +00:00
dependabot[bot]
2f046a7c80 Chore(deps): Bump dompurify from 3.0.4 to 3.0.5
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.0.4 to 3.0.5.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.0.4...3.0.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-15 01:40:19 +00:00
dependabot[bot]
bd5bb01944 Chore(deps): Bump @nextcloud/initial-state from 2.0.0 to 2.1.0
Bumps [@nextcloud/initial-state](https://github.com/nextcloud/nextcloud-initial-state) from 2.0.0 to 2.1.0.
- [Release notes](https://github.com/nextcloud/nextcloud-initial-state/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-initial-state/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-initial-state/compare/v2.0.0...v2.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-15 01:40:03 +00:00
dependabot[bot]
2ade022deb Chore(deps): Bump @nextcloud/vue from 7.12.0 to 7.12.1
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.12.0 to 7.12.1.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.12.0...v7.12.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>
2023-07-15 01:39:54 +00:00
Julius Härtl
afc3b6c307 Merge pull request #4910 from nextcloud/backport/4908/stable26 2023-07-14 08:52:06 +02:00
Joas Schilling
e396c17828 fix(notification): Prevent null in parameters
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-14 06:25:58 +00:00
Nextcloud bot
3134607498 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-14 00:44:29 +00:00
dependabot[bot]
d5975e6f64 Merge pull request #4905 from nextcloud/dependabot/npm_and_yarn/stable26/url-search-params-polyfill-8.2.4 2023-07-13 10:10:06 +00:00
dependabot[bot]
b0e67abdc8 Chore(deps): Bump url-search-params-polyfill from 8.1.1 to 8.2.4
Bumps [url-search-params-polyfill](https://github.com/jerrybendy/url-search-params-polyfill) from 8.1.1 to 8.2.4.
- [Release notes](https://github.com/jerrybendy/url-search-params-polyfill/releases)
- [Commits](https://github.com/jerrybendy/url-search-params-polyfill/compare/v8.1.1...v8.2.4)

---
updated-dependencies:
- dependency-name: url-search-params-polyfill
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-13 09:48:44 +00:00
Nextcloud bot
48bac5b089 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-13 00:44:47 +00:00
Nextcloud bot
7e7d4406b9 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-12 00:36:33 +00:00
Nextcloud bot
3dc1122c1f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-11 00:47:43 +00:00
Julius Härtl
90f0298cdb Merge pull request #4875 from nextcloud/automated/noid/stable26-fix-npm-audit 2023-07-10 12:31:16 +02:00
Julius Härtl
f57102ef8c Merge pull request #4900 from nextcloud/automated/noid/stable26-update-nextcloud-ocp 2023-07-10 12:27:49 +02:00
Nextcloud bot
e75d7bfe1f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-10 00:44:08 +00:00
nextcloud-command
0a78018dd2 chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-07-09 03:54:25 +00:00
nextcloud-command
5e441c72e4 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-07-09 03:19:14 +00:00
dependabot[bot]
5180c3599b Merge pull request #4887 from nextcloud/dependabot/npm_and_yarn/stable26/cypress-12.17.0 2023-07-08 02:27:38 +00:00
dependabot[bot]
bd610f1e75 Merge pull request #4884 from nextcloud/dependabot/npm_and_yarn/stable26/jest-29.6.1 2023-07-08 02:22:39 +00:00
dependabot[bot]
fc55d571f8 Merge pull request #4885 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/axios-2.4.0 2023-07-08 02:18:48 +00:00
dependabot[bot]
d0234d1a23 Merge pull request #4886 from nextcloud/dependabot/npm_and_yarn/stable26/babel/runtime-7.22.6 2023-07-08 02:18:02 +00:00
dependabot[bot]
505bbabe3c Chore(deps-dev): Bump cypress from 12.16.0 to 12.17.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.16.0 to 12.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/v12.16.0...v12.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>
2023-07-08 01:13:27 +00:00
dependabot[bot]
cc4a3936f4 Chore(deps): Bump @babel/runtime from 7.22.5 to 7.22.6
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.22.5 to 7.22.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.22.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>
2023-07-08 01:13:14 +00:00
dependabot[bot]
7312e0bc4d Chore(deps): Bump @nextcloud/axios from 2.3.0 to 2.4.0
Bumps [@nextcloud/axios](https://github.com/nextcloud/nextcloud-axios) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/nextcloud/nextcloud-axios/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-axios/compare/v2.3.0...v2.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-08 01:12:49 +00:00
dependabot[bot]
4965a07ae9 Chore(deps-dev): Bump jest from 29.5.0 to 29.6.1
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 29.5.0 to 29.6.1.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.6.1/packages/jest)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-08 01:12:38 +00:00
Nextcloud bot
47225513e0 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-08 00:45:05 +00:00
Nextcloud bot
2dea87d0cc Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-07 00:42:30 +00:00
Nextcloud bot
fc5bc30400 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-06 00:45:30 +00:00
dependabot[bot]
cd711fbcc9 Merge pull request #4869 from nextcloud/dependabot/npm_and_yarn/stable26/dompurify-3.0.4 2023-07-01 03:46:42 +00:00
dependabot[bot]
ac3ddf5666 Merge pull request #4868 from nextcloud/dependabot/npm_and_yarn/stable26/cypress-12.16.0 2023-07-01 03:43:10 +00:00
dependabot[bot]
b02556783e Chore(deps): Bump dompurify from 3.0.3 to 3.0.4
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.0.3 to 3.0.4.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.0.3...3.0.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-01 02:15:01 +00:00
dependabot[bot]
9718e523a1 Chore(deps-dev): Bump cypress from 12.15.0 to 12.16.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.15.0 to 12.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/v12.15.0...v12.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>
2023-07-01 02:14:35 +00:00
Nextcloud bot
e9d057bb3a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-30 00:44:09 +00:00
Nextcloud bot
e19d97232e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-28 00:46:06 +00:00
Nextcloud bot
67ae0b5fce Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-27 00:47:16 +00:00
dependabot[bot]
687934fb44 Merge pull request #4856 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/l10n-2.2.0 2023-06-26 14:59:54 +00:00
dependabot[bot]
0c13ab5060 Chore(deps): Bump @nextcloud/l10n from 2.1.0 to 2.2.0
Bumps [@nextcloud/l10n](https://github.com/nextcloud/nextcloud-l10n) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/nextcloud/nextcloud-l10n/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-l10n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-l10n/compare/v2.1.0...v2.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-26 14:30:30 +00:00
Julius Härtl
5f6b77bd29 Merge pull request #4830 from nextcloud/automated/noid/stable26-update-nextcloud-ocp 2023-06-26 16:29:53 +02:00
Nextcloud bot
27a258bd58 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-26 00:42:55 +00:00
Julius Härtl
777598de30 Merge pull request #4854 from nextcloud/automated/noid/stable26-fix-npm-audit 2023-06-25 12:31:12 +02:00
nextcloud-command
eeb33bd2d4 chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-06-25 03:59:45 +00:00
nextcloud-command
16c34b35dd chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-06-25 03:21:23 +00:00
dependabot[bot]
1882cabff4 Merge pull request #4847 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/dialogs-4.1.0 2023-06-24 03:51:16 +00:00
dependabot[bot]
dd4142d47c Chore(deps): Bump @nextcloud/dialogs from 4.0.1 to 4.1.0
Bumps [@nextcloud/dialogs](https://github.com/nextcloud/nextcloud-dialogs) from 4.0.1 to 4.1.0.
- [Release notes](https://github.com/nextcloud/nextcloud-dialogs/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-dialogs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-dialogs/compare/v4.0.1...v4.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-24 03:43:19 +00:00
dependabot[bot]
0817e99c0d Merge pull request #4844 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/dialogs-4.1.0 2023-06-24 03:42:30 +00:00
dependabot[bot]
3cef62927a Chore(deps): Bump @nextcloud/dialogs from 4.0.1 to 4.1.0
Bumps [@nextcloud/dialogs](https://github.com/nextcloud/nextcloud-dialogs) from 4.0.1 to 4.1.0.
- [Release notes](https://github.com/nextcloud/nextcloud-dialogs/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-dialogs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-dialogs/compare/v4.0.1...v4.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-24 03:32:31 +00:00
Nextcloud bot
a66293eba2 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-24 00:40:46 +00:00
Nextcloud bot
0c6f4f7ab8 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-23 01:12:45 +00:00
dependabot[bot]
0e7df10872 Merge pull request #4838 from nextcloud/dependabot/npm_and_yarn/stable26/cypress-12.15.0 2023-06-21 15:54:27 +00:00
dependabot[bot]
52af5955a3 Merge pull request #4837 from nextcloud/dependabot/npm_and_yarn/stable26/relative-ci/agent-4.1.5 2023-06-21 15:52:52 +00:00
dependabot[bot]
680ed918be Chore(deps-dev): Bump cypress from 12.14.0 to 12.15.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.14.0 to 12.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/v12.14.0...v12.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>
2023-06-21 15:46:19 +00:00
dependabot[bot]
d06a73b233 Chore(deps-dev): Bump @relative-ci/agent from 4.1.4 to 4.1.5
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.1.4 to 4.1.5.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.1.4...v4.1.5)

---
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>
2023-06-21 15:45:49 +00:00
Julius Härtl
8d7d35d28a Merge pull request #4832 from nextcloud/backport/4816/stable26 2023-06-20 11:24:53 +02:00
Max
3be3c0cef1 fix: crash when leaving out system parameter
The `--system` parameter can be supplied via command line
or selected afterwards.

However if none was provided the command would crash with
`TypeError: Cannot assign null to property $system`.

Handle that gracefully and make the type spec more precise
for the setSystem function.

Signed-off-by: Max <max@nextcloud.com>
2023-06-20 08:49:13 +00:00
Nextcloud bot
c302eaf0dc Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-20 00:38:13 +00:00
dependabot[bot]
257bad8c6c Merge pull request #4821 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/router-2.1.2 2023-06-17 03:20:18 +00:00
dependabot[bot]
db25b83a06 Chore(deps): Bump @nextcloud/router from 2.1.1 to 2.1.2
Bumps [@nextcloud/router](https://github.com/nextcloud/nextcloud-router) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/nextcloud/nextcloud-router/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-router/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-router/compare/v2.1.1...v2.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-17 01:57:37 +00:00
Nextcloud bot
7daaf97514 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-17 00:32:07 +00:00
Nextcloud bot
1baff63376 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-16 00:32:04 +00:00
Nextcloud bot
6fb5ccca15 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-15 00:32:08 +00:00
Julius Härtl
efa097df5b Merge pull request #4814 from nextcloud/backport/4810/stable26 2023-06-14 16:17:49 +02:00
Julius Härtl
0f9cb189a8 Merge pull request #4812 from nextcloud/backport/4809/stable26 2023-06-14 16:17:31 +02:00
Max
90ae3130c1 Fix(occ): set user id for permission sevice from board service
Fixes #4010.

Signed-off-by: Max <max@nextcloud.com>
2023-06-14 10:31:04 +00:00
Max
a3bfda27e8 fix: execute return int for export command
Signed-off-by: Max <max@nextcloud.com>
2023-06-14 10:29:51 +00:00
Nextcloud bot
572b1ba9fa Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-14 00:32:19 +00:00
Nextcloud bot
e7ac681415 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-13 00:32:41 +00:00
Julius Härtl
907de3c88d Merge pull request #4805 from nextcloud/backport/4772/stable26 2023-06-12 12:32:14 +02:00
Julius Härtl
75f015759d fix: Allow dynamic autoloading for classes added during upgrade
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-06-12 08:14:36 +00:00
Julius Härtl
c228277453 Merge pull request #4801 from nextcloud/automated/noid/stable26-fix-npm-audit 2023-06-12 09:14:59 +02:00
nextcloud-command
17e07fae08 chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-06-11 03:36:42 +00:00
Nextcloud bot
88adbe8514 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-11 00:52:42 +00:00
dependabot[bot]
bf022a75e5 Merge pull request #4787 from nextcloud/dependabot/npm_and_yarn/stable26/cypress-12.14.0 2023-06-10 04:11:34 +00:00
dependabot[bot]
d21af86dc1 Merge pull request #4786 from nextcloud/dependabot/npm_and_yarn/stable26/vue/test-utils-1.3.6 2023-06-10 04:09:00 +00:00
dependabot[bot]
4a95e4a7a0 Merge pull request #4782 from nextcloud/dependabot/npm_and_yarn/stable26/babel/runtime-7.22.5 2023-06-10 03:10:02 +00:00
dependabot[bot]
e830de6ca1 Chore(deps-dev): Bump cypress from 12.13.0 to 12.14.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.13.0 to 12.14.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/v12.13.0...v12.14.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-10 03:07:37 +00:00
dependabot[bot]
66676e09b0 Chore(deps-dev): Bump @vue/test-utils from 1.3.5 to 1.3.6
Bumps [@vue/test-utils](https://github.com/vuejs/test-utils) from 1.3.5 to 1.3.6.
- [Release notes](https://github.com/vuejs/test-utils/releases)
- [Commits](https://github.com/vuejs/test-utils/commits)

---
updated-dependencies:
- dependency-name: "@vue/test-utils"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-10 03:07:26 +00:00
dependabot[bot]
c834b58c9a Merge pull request #4780 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/vue-7.12.0 2023-06-10 03:06:43 +00:00
dependabot[bot]
b9ae5e558d Chore(deps): Bump @babel/runtime from 7.22.3 to 7.22.5
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.22.3 to 7.22.5.
- [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.22.5/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>
2023-06-10 03:01:39 +00:00
dependabot[bot]
650ca34399 Chore(deps): Bump @nextcloud/vue from 7.11.6 to 7.12.0
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.11.6 to 7.12.0.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/v7.12.0/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.11.6...v7.12.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>
2023-06-10 01:57:53 +00:00
Julius Härtl
a001ad76b0 Merge pull request #4774 from nextcloud/backport/4765/stable26 2023-06-09 17:45:14 +02:00
Git'Fellow
da93c1a4c6 Ensure boardId is an integer
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2023-06-09 07:43:25 +00:00
Julius Härtl
c5cf9a9d95 Merge pull request #4766 from nextcloud/backport/4574/stable26 2023-06-06 12:37:56 +02:00
Josh Richards
e95936dbcd Stop tag being edit button if user lacks perms
Addresses #4554 

Signed-off-by: Josh Richards <josh.t.richards@gmail.com>
2023-06-06 09:16:48 +00:00
dependabot[bot]
68e066a86c Merge pull request #4757 from nextcloud/dependabot/npm_and_yarn/stable26/babel/runtime-7.22.3 2023-06-03 03:51:19 +00:00
dependabot[bot]
986a34176c Chore(deps): Bump @babel/runtime from 7.22.0 to 7.22.3
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.22.0 to 7.22.3.
- [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.22.3/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>
2023-06-03 01:57:57 +00:00
Nextcloud bot
0d941ac960 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-03 00:31:48 +00:00
Julius Härtl
3d08e5c767 Merge pull request #4747 from nextcloud/automated/noid/stable26-update-nextcloud-ocp 2023-05-30 10:54:52 +02:00
nextcloud-command
024fa24cc7 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-05-28 02:58:09 +00:00
dependabot[bot]
f24bda2de2 Merge pull request #4740 from nextcloud/dependabot/npm_and_yarn/stable26/cypress-12.13.0 2023-05-27 06:50:40 +00:00
dependabot[bot]
d54471eadd Merge pull request #4734 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/auth-2.1.0 2023-05-27 03:29:36 +00:00
dependabot[bot]
70e0247334 Merge pull request #4731 from nextcloud/dependabot/npm_and_yarn/stable26/babel/runtime-7.22.0 2023-05-27 03:18:53 +00:00
dependabot[bot]
43c144a9cc Chore(deps-dev): Bump cypress from 12.12.0 to 12.13.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.12.0 to 12.13.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/v12.12.0...v12.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-27 03:14:23 +00:00
dependabot[bot]
5ec4e4796d Chore(deps): Bump @nextcloud/auth from 2.0.0 to 2.1.0
Bumps [@nextcloud/auth](https://github.com/nextcloud/nextcloud-auth) from 2.0.0 to 2.1.0.
- [Release notes](https://github.com/nextcloud/nextcloud-auth/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-auth/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-auth/compare/v2.0.0...v2.1.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>
2023-05-27 01:57:57 +00:00
dependabot[bot]
9a2a3f0b4c Chore(deps): Bump @babel/runtime from 7.21.5 to 7.22.0
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.21.5 to 7.22.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.22.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>
2023-05-27 01:57:44 +00:00
Nextcloud bot
8444b510ce Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-27 00:32:25 +00:00
Nextcloud bot
e4e5c9a651 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-21 00:29:07 +00:00
Julius Härtl
9e813f322a Merge pull request #4713 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/webpack-vue-config-5.5.1 2023-05-18 09:29:32 +02:00
Julius Härtl
70144b9061 Merge pull request #4709 from nextcloud/dependabot/npm_and_yarn/stable26/eslint-webpack-plugin-4.0.1 2023-05-18 09:29:12 +02:00
dependabot[bot]
27af65731e Merge pull request #4704 from nextcloud/dependabot/npm_and_yarn/stable26/cypress-12.12.0 2023-05-18 00:30:41 +00:00
dependabot[bot]
2778e5940c Merge pull request #4705 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/event-bus-3.1.0 2023-05-18 00:30:25 +00:00
Nextcloud bot
e20f2eac97 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-18 00:29:44 +00:00
dependabot[bot]
a91262b153 Merge pull request #4711 from nextcloud/dependabot/npm_and_yarn/stable26/babel/runtime-7.21.5 2023-05-17 21:44:03 +00:00
dependabot[bot]
084c3649b2 Merge pull request #4708 from nextcloud/dependabot/npm_and_yarn/stable26/relative-ci/agent-4.1.4 2023-05-17 21:44:00 +00:00
dependabot[bot]
c6584b93f3 Merge pull request #4703 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud-vue-collections-0.11.1 2023-05-17 21:39:53 +00:00
dependabot[bot]
57ed57ce23 Merge pull request #4714 from nextcloud/dependabot/npm_and_yarn/stable26/vue/vue2-jest-29.2.4 2023-05-17 21:39:29 +00:00
dependabot[bot]
77a81d273a Merge pull request #4712 from nextcloud/dependabot/npm_and_yarn/stable26/stylelint-webpack-plugin-4.1.1 2023-05-17 21:39:20 +00:00
dependabot[bot]
b2e3d75b75 Merge pull request #4707 from nextcloud/dependabot/npm_and_yarn/stable26/jest-29.5.0 2023-05-17 21:39:07 +00:00
dependabot[bot]
4de693a402 Merge pull request #4706 from nextcloud/dependabot/npm_and_yarn/stable26/dompurify-3.0.3 2023-05-17 21:38:38 +00:00
dependabot[bot]
08febcb29a Chore(deps-dev): Bump @nextcloud/webpack-vue-config from 5.4.0 to 5.5.1
Bumps [@nextcloud/webpack-vue-config](https://github.com/nextcloud/webpack-vue-config) from 5.4.0 to 5.5.1.
- [Release notes](https://github.com/nextcloud/webpack-vue-config/releases)
- [Changelog](https://github.com/nextcloud/webpack-vue-config/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/webpack-vue-config/compare/v5.4.0...v5.5.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>
2023-05-17 21:35:24 +00:00
dependabot[bot]
c1b6cc1149 Chore(deps): Bump @nextcloud/event-bus from 3.0.2 to 3.1.0
Bumps [@nextcloud/event-bus](https://github.com/nextcloud/nextcloud-event-bus) from 3.0.2 to 3.1.0.
- [Release notes](https://github.com/nextcloud/nextcloud-event-bus/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-event-bus/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-event-bus/compare/v3.0.2...v3.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 21:35:18 +00:00
dependabot[bot]
2f43aabb2e Chore(deps-dev): Bump cypress from 12.7.0 to 12.12.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.7.0 to 12.12.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/v12.7.0...v12.12.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 21:35:15 +00:00
dependabot[bot]
50293ffbb4 Merge pull request #4697 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/vue-7.11.6 2023-05-17 21:34:40 +00:00
dependabot[bot]
a52bc5dc3f Merge pull request #4694 from nextcloud/dependabot/npm_and_yarn/stable26/vue/test-utils-1.3.5 2023-05-17 21:34:36 +00:00
dependabot[bot]
5acf52370a Merge pull request #4701 from nextcloud/dependabot/npm_and_yarn/stable26/eslint-plugin-cypress-2.13.3 2023-05-17 21:34:24 +00:00
dependabot[bot]
85e46f2513 Chore(deps-dev): Bump @vue/vue2-jest from 29.2.2 to 29.2.4
Bumps [@vue/vue2-jest](https://github.com/vuejs/vue-jest) from 29.2.2 to 29.2.4.
- [Release notes](https://github.com/vuejs/vue-jest/releases)
- [Commits](https://github.com/vuejs/vue-jest/compare/v29.2.2...v29.2.4)

---
updated-dependencies:
- dependency-name: "@vue/vue2-jest"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 18:14:18 +00:00
dependabot[bot]
db485aa713 Chore(deps-dev): Bump stylelint-webpack-plugin from 4.1.0 to 4.1.1
Bumps [stylelint-webpack-plugin](https://github.com/webpack-contrib/stylelint-webpack-plugin) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/webpack-contrib/stylelint-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/stylelint-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/stylelint-webpack-plugin/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: stylelint-webpack-plugin
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 18:13:51 +00:00
dependabot[bot]
e8aaa7c165 Chore(deps): Bump @babel/runtime from 7.21.0 to 7.21.5
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.21.0 to 7.21.5.
- [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.21.5/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>
2023-05-17 18:13:40 +00:00
dependabot[bot]
281d6c2af7 Chore(deps-dev): Bump eslint-webpack-plugin from 4.0.0 to 4.0.1
Bumps [eslint-webpack-plugin](https://github.com/webpack-contrib/eslint-webpack-plugin) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/webpack-contrib/eslint-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/eslint-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/eslint-webpack-plugin/compare/v4.0.0...v4.0.1)

---
updated-dependencies:
- dependency-name: eslint-webpack-plugin
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 18:13:14 +00:00
dependabot[bot]
c8714ec821 Chore(deps-dev): Bump @relative-ci/agent from 4.1.3 to 4.1.4
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.1.3 to 4.1.4.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.1.3...v4.1.4)

---
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>
2023-05-17 18:13:05 +00:00
dependabot[bot]
84b2036374 Chore(deps-dev): Bump jest from 29.4.3 to 29.5.0
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 29.4.3 to 29.5.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.5.0/packages/jest)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 18:12:51 +00:00
dependabot[bot]
5c65bf9b00 Chore(deps): Bump dompurify from 3.0.0 to 3.0.3
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.0.0 to 3.0.3.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.0.0...3.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 18:12:33 +00:00
dependabot[bot]
237f832ad1 Chore(deps): Bump nextcloud-vue-collections from 0.11.0 to 0.11.1
Bumps [nextcloud-vue-collections](https://github.com/juliushaertl/nextcloud-vue-collections) from 0.11.0 to 0.11.1.
- [Release notes](https://github.com/juliushaertl/nextcloud-vue-collections/releases)
- [Commits](https://github.com/juliushaertl/nextcloud-vue-collections/compare/v0.11.0...v0.11.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 18:11:53 +00:00
dependabot[bot]
d019d80efa Chore(deps-dev): Bump eslint-plugin-cypress from 2.12.1 to 2.13.3
Bumps [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) from 2.12.1 to 2.13.3.
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v2.12.1...v2.13.3)

---
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>
2023-05-17 18:11:40 +00:00
dependabot[bot]
42a2ef39db Chore(deps): Bump @nextcloud/vue from 7.8.4 to 7.11.6
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.8.4 to 7.11.6.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/v7.11.6/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.8.4...v7.11.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 18:11:28 +00:00
dependabot[bot]
ed7c9fbf05 Chore(deps-dev): Bump @vue/test-utils from 1.3.4 to 1.3.5
Bumps [@vue/test-utils](https://github.com/vuejs/test-utils) from 1.3.4 to 1.3.5.
- [Release notes](https://github.com/vuejs/test-utils/releases)
- [Commits](https://github.com/vuejs/test-utils/commits)

---
updated-dependencies:
- dependency-name: "@vue/test-utils"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 18:11:10 +00:00
Julius Härtl
4f4627a600 Merge pull request #4680 from nextcloud/automated/noid/stable26-update-nextcloud-ocp 2023-05-15 08:25:30 +02:00
Julius Härtl
7900c73d90 Merge pull request #4682 from nextcloud/automated/noid/stable26-fix-npm-audit 2023-05-15 08:24:56 +02:00
nextcloud-command
0030b8c20c chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-05-14 03:10:23 +00:00
nextcloud-command
fbc7d3135d chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-05-14 02:55:23 +00:00
Nextcloud bot
7350ae2ef3 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-12 02:43:19 +00:00
Julius Härtl
9cebe7ac56 Bump version to 1.9.2
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-11 19:02:40 +02:00
Julius Härtl
bfe45c5af4 Merge pull request #4665 from nextcloud/backport/4664/stable26 2023-05-11 19:01:04 +02:00
Julius Härtl
c3c8faffea fix: Properly overwrite z-index of datepicker above modal
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-11 13:15:57 +00:00
Julius Härtl
96508580fd Bump version to 1.9.1
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-10 15:51:29 +02:00
Julius Härtl
ee7fcefd73 Merge pull request #4662 from nextcloud/backport/4660/stable26 2023-05-10 07:46:53 +02:00
Julius Härtl
ac31ff6efe fix: Bring back overdue column by removing faulty condition
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-10 05:36:30 +00:00
Julius Härtl
af6111b51e Merge pull request #4650 from nextcloud/backport/4586/stable26 2023-05-09 07:38:32 +02:00
Nextcloud bot
6700c903eb Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-08 02:40:20 +00:00
Julius Härtl
10e48aded1 fix: Move dashboard fetching to dedicated store module
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-05 12:42:32 +02:00
Julius Härtl
e80ba82d77 chore: Remove unused @nextcloud/vue-dashboard
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-05 12:42:31 +02:00
Julius Härtl
48202e6d98 Merge pull request #4644 from nextcloud/backport/4643/stable26
[stable26] fix: Append datetime picker to body to avoid cut off
2023-05-03 13:31:58 +02:00
Julius Härtl
e3ba870577 fix: z-index of datepicker in modal
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-03 13:10:23 +02:00
Julius Härtl
56fae37144 Merge pull request #4642 from nextcloud/automated/noid/stable26-fix-npm-audit
[stable26] Fix npm audit
2023-05-03 12:44:56 +02:00
Julius Härtl
af9177584c fix: Append datetime picker to body to avoid cut off
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-03 10:41:10 +00:00
nextcloud-command
d850c744cd chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-05-03 08:13:44 +00:00
Nextcloud bot
cd60f4bf80 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-28 02:40:32 +00:00
Julius Härtl
eddb6fc460 Merge pull request #4625 from nextcloud/backport/4622/stable26 2023-04-27 08:57:33 +02:00
Bjoern Schiessle
6684023424 forbid changing the displayname or color of the calendar/deck when the user doesn't has the "manage" permissions
Signed-off-by: Bjoern Schiessle <bjoern@nextcloud.com>
2023-04-27 06:43:31 +00:00
Björn Schießle
43bec159ff Allow user to toggle visibility of the calendar of deck boards
The calendar object needs to be exposed with "write" properties in order to allow users to hide/show the corresponding calendar in the calendar app. It doesn't has any affects on the general permissions for the whole board or the tasks. As soon as you select a task you jump to the deck app where the normal deck permissions are applied.

fixes: https://github.com/nextcloud/deck/issues/4618

Signed-off-by: Björn Schießle <bjoern@nextcloud.com>
2023-04-27 06:43:30 +00:00
Nextcloud bot
27d960340e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-27 02:40:48 +00:00
backportbot-nextcloud[bot]
3cda8eab77 fix: the issue of hidden text by menu bar (#4624)
Co-authored-by: Philip <65334274+pschopen@users.noreply.github.com>
2023-04-26 18:49:11 +02:00
Julius Härtl
aac5c1ff72 Merge pull request #4619 from nextcloud/backport/4604/stable26 2023-04-26 11:51:28 +02:00
Jérôme Herbinet
65c0fcfdc9 Following nimishavijay's suggestion
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>

Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
2023-04-25 08:13:31 +00:00
Jérôme Herbinet
c71d54a26e Better display of card dates
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>

Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
2023-04-25 08:13:31 +00:00
Nextcloud bot
0224da2127 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-23 02:40:54 +00:00
Nextcloud bot
3114e1a477 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-19 02:40:47 +00:00
Nextcloud bot
375c78271d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-16 02:39:50 +00:00
Julius Härtl
2b903ecf7f Merge pull request #4590 from nextcloud/automated/noid/stable26-update-nextcloud-ocp
[stable26] Update nextcloud/ocp dependency
2023-04-12 12:50:10 +02:00
nextcloud-command
9e256921ba chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-04-09 02:54:25 +00:00
Nextcloud bot
d7e85ac4da Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-09 02:42:11 +00:00
Nextcloud bot
4495fc3554 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-06 02:41:11 +00:00
Nextcloud bot
6996c862ce Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-05 02:42:35 +00:00
Pytal
f81d98fb4b Merge pull request #4584 from nextcloud/backport/4559/stable26 2023-04-04 15:41:25 -07:00
Christopher Ng
cd942a1dfb Chore(deps): Bump @nextcloud/vue from 7.8.1 to 7.8.4
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-04-04 15:34:10 -07:00
Julius Härtl
ddd15e7451 Merge pull request #4582 from nextcloud/automated/noid/stable26-update-nextcloud-ocp 2023-04-03 08:15:14 +02:00
nextcloud-command
21908ef534 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-04-02 03:02:13 +00:00
Jonas
426f1a33dd Merge pull request #4567 from nextcloud/backport/4566/stable26
[stable26] Gracefully handle not found card for a share
2023-03-29 11:13:33 +02:00
Jonas
713271d525 Gracefully handle not found card for a share
Fixes: #3464
Fixes: #4565

Signed-off-by: Jonas <jonas@freesources.org>
2023-03-29 09:00:24 +00:00
Nextcloud bot
a43efce576 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-28 02:31:37 +00:00
Julius Härtl
07f2fb7c28 Merge pull request #4562 from nextcloud/backport/4561/stable26 2023-03-27 12:08:47 +02:00
Julius Härtl
72563feaf0 fix: Adapt NcEmptyContent usages to new slots
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-27 08:52:01 +00:00
Julius Härtl
763a474d11 Merge pull request #4553 from nextcloud/automated/noid/stable26-update-nextcloud-ocp
[stable26] Update nextcloud/ocp dependency
2023-03-20 07:15:29 +01:00
nextcloud-command
3977d71892 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-03-19 03:09:01 +00:00
Nextcloud bot
25f3da3603 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-18 02:39:35 +00:00
Nextcloud bot
2920ca8c86 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-17 02:39:05 +00:00
Nextcloud bot
da7e075ee9 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-16 02:40:45 +00:00
Julius Härtl
c7341bed78 Merge pull request #4537 from nextcloud/backport/4535/stable26 2023-03-15 15:32:32 +01:00
Julius Härtl
d9014903ac Bump version to 1.9.0
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-15 14:57:12 +01:00
Jérôme Herbinet
5dad6bb0b0 Fix : Overlapping expiry dates on tags
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>

Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
2023-03-15 12:50:19 +00:00
Nextcloud bot
e7529e2d74 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-15 02:38:43 +00:00
Julius Härtl
c0e07dc202 Merge pull request #4530 from nextcloud/automated/noid/stable26-update-nextcloud-ocp 2023-03-12 15:22:56 +01:00
nextcloud-command
2619219618 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-03-12 03:16:40 +00:00
Julius Härtl
87a0a4ed4f Merge pull request #4525 from nextcloud/backport/4510/stable26 2023-03-10 08:54:08 +01:00
Julius Härtl
df01d8ef79 fix(sessions): Do not send close request without token
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-10 07:27:22 +00:00
Nextcloud bot
9f38e51d9b Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-10 02:40:05 +00:00
Julius Härtl
3f2e343541 Merge pull request #4521 from nextcloud/backport/4512/stable26 2023-03-08 18:59:04 +01:00
Julius Härtl
ea6006bec0 fix(cards): Fix card sizing by limiting too wide style rules
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-08 17:41:03 +00:00
Joas Schilling
1e625d3955 Merge pull request #4519 from nextcloud/backport/4518/stable26
[stable26] fix(API): Fix board API details parameter to work as expected
2023-03-08 09:22:32 +01:00
Joas Schilling
4b0a27d6b5 fix(API): Fix board API details parameter to work as expected
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-03-08 07:43:46 +00:00
Marcel Klehr
9cc38000fd Merge pull request #4516 from nextcloud/backport/4514/stable26 2023-03-07 10:51:40 +01:00
Julius Härtl
3574abe0cb fix(references): Mute NoPermissionException as it is expected to happen for references
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-07 09:24:39 +00:00
Julius Härtl
fb5aed2143 chore(release): Bump version to 1.8.0-beta.2
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-06 07:14:34 +01:00
Julius Härtl
3506ac2a42 Merge pull request #4509 from nextcloud/automated/noid/stable26-update-nextcloud-ocp 2023-03-06 07:12:08 +01:00
Nextcloud bot
1f2f8fe001 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-06 02:39:11 +00:00
nextcloud-command
97d9c4cc2c chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-03-05 03:18:56 +00:00
Julius Härtl
b169ecd0fe Merge pull request #4498 from nextcloud/update-stable26-target-versions 2023-03-04 11:55:03 +01:00
Nextcloud bot
912376a99d Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-04 02:40:24 +00:00
Joas Schilling
3ec2ad99b1 chore(CI): Adjust testing matrix for Nextcloud 26 on stable26
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-03-03 13:25:30 +01:00
200 changed files with 6941 additions and 8212 deletions

View File

@@ -1,29 +0,0 @@
{
"image": "ghcr.io/juliushaertl/nextcloud-dev-php80:latest",
"forwardPorts": [80],
"containerEnv": {
"NEXTCLOUD_AUTOINSTALL_APPS": "deck",
"XDEBUG_MODE": "debug"
},
"customizations": {
"vscode": {
"extensions": [
"felixfbecker.php-intellisense",
"octref.vetur"
],
"settings": {
"php.suggest.basic": false,
"git.alwaysSignOff": true
}
}
},
"workspaceMount": "source=${localWorkspaceFolder},target=/var/www/html/apps-extra/deck,type=bind",
"workspaceFolder": "/var/www/html/apps-extra/deck",
"overrideCommand": true,
"postAttachCommand": "bash ./.devcontainer/setup.sh",
"portsAttributes": {
"80": {
"label": "Webserver"
}
}
}

View File

@@ -1,9 +0,0 @@
#!/bin/bash
(
cd /tmp && /usr/local/bin/bootstrap.sh apache2ctl start
)
composer install --no-dev
npm ci
npm run dev

View File

@@ -13,7 +13,7 @@ updates:
- juliushaertl
- package-ecosystem: npm
target-branch: stable27
target-branch: stable25
versioning-strategy: lockfile-only
directory: "/"
schedule:
@@ -30,7 +30,7 @@ updates:
- dependencies
- package-ecosystem: npm
target-branch: stable26
target-branch: stable24
versioning-strategy: lockfile-only
directory: "/"
schedule:

View File

@@ -13,18 +13,18 @@ jobs:
strategy:
matrix:
node-version: [16.x]
node-version: [14.x]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7
run: npm i -g npm@7
- name: Setup PHP
uses: shivammathur/setup-php@2.27.1
uses: shivammathur/setup-php@2.24.0
with:
php-version: '7.4'
tools: composer

View File

@@ -10,7 +10,7 @@ on:
types: [published]
env:
PHP_VERSION: 8.2
PHP_VERSION: 8.1
jobs:
build_and_publish:
@@ -32,7 +32,7 @@ jobs:
echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
with:
path: ${{ env.APP_NAME }}
@@ -44,19 +44,19 @@ jobs:
expression: "//info//dependencies//nextcloud/@min-version"
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2
id: versions
# Continue if no package.json
continue-on-error: true
with:
path: ${{ env.APP_NAME }}
fallbackNode: '^20'
fallbackNpm: '^9'
fallbackNode: "^16"
fallbackNpm: "^7"
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
# Skip if no package.json
if: ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v3
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -66,7 +66,7 @@ jobs:
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Set up php ${{ env.PHP_VERSION }}
uses: shivammathur/setup-php@e6f75134d35752277f093989e72e140eaa222f35 # v2
uses: shivammathur/setup-php@2.24.0 # v2
with:
php-version: ${{ env.PHP_VERSION }}
coverage: none
@@ -88,8 +88,6 @@ jobs:
- name: Build ${{ env.APP_NAME }}
# Skip if no package.json
if: ${{ steps.versions.outputs.nodeVersion }}
env:
CYPRESS_INSTALL_BINARY: 0
run: |
cd ${{ env.APP_NAME }}
npm ci
@@ -128,10 +126,9 @@ jobs:
unzip latest-$NCVERSION.zip
- name: Checkout server master fallback
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
if: ${{ steps.server-checkout.outcome != 'success' }}
with:
submodules: true
repository: nextcloud/server
path: nextcloud
@@ -151,7 +148,7 @@ jobs:
tar -zcvf ${{ env.APP_NAME }}.tar.gz ${{ env.APP_NAME }}
- name: Attach tarball to github release
uses: svenstaro/upload-release-action@1beeb572c19a9242f4361f4cee78f8e0d9aec5df # v2
uses: svenstaro/upload-release-action@7319e4733ec7a184d739a6f412c40ffc339b69c7 # v2
id: attach_to_release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -23,7 +23,7 @@ jobs:
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.1.0
uses: peter-evans/create-or-update-comment@67dcc547d311b736a8e6c5c236542148a47adc3d # v2.1.1
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
@@ -31,18 +31,18 @@ jobs:
reaction-type: "+1"
- name: Checkout the latest code
uses: actions/checkout@v4 # v3.5.2
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
with:
fetch-depth: 0
token: ${{ secrets.COMMAND_BOT_PAT }}
- name: Automatic Rebase
uses: cirrus-actions/rebase@b87d48154a87a85666003575337e27b8cd65f691 # 1.8
uses: cirrus-actions/rebase@6e572f08c244e2f04f9beb85a943eb618218714d # 1.7
env:
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.1.0
uses: peter-evans/create-or-update-comment@67dcc547d311b736a8e6c5c236542148a47adc3d # v2.1.1
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}

View File

@@ -19,17 +19,19 @@ jobs:
strategy:
fail-fast: false
matrix:
node-version: [20.x]
node-version: [14.x]
# containers: [1, 2, 3]
php-versions: [ '8.0' ]
databases: [ 'sqlite' ]
server-versions: [ 'stable28' ]
server-versions: [ 'stable26' ]
steps:
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7
run: npm i -g npm@7
- name: Register text Git reference
run: |
@@ -37,7 +39,7 @@ jobs:
echo "text_app_ref=$text_app_ref" >> $GITHUB_ENV
- name: Checkout server
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
@@ -50,19 +52,19 @@ 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
uses: actions/checkout@v3
with:
path: apps/${{ env.APP_NAME }}
- name: Checkout text
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
repository: nextcloud/text
ref: ${{ env.text_app_ref }}
path: apps/text
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.27.1
uses: shivammathur/setup-php@2.24.0
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu
@@ -94,9 +96,9 @@ jobs:
curl -v http://localhost:8081/index.php/login
- name: Cypress run
uses: cypress-io/github-action@v6
uses: cypress-io/github-action@v5
with:
record: false
record: true
parallel: false
wait-on: '${{ env.CYPRESS_baseUrl }}'
working-directory: 'apps/${{ env.APP_NAME }}'

View File

@@ -3,31 +3,31 @@
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Block fixup and squash commits
name: Pull request checks
on:
pull_request:
types: [opened, ready_for_review, reopened, synchronize]
pull_request:
types: [opened, ready_for_review, reopened, synchronize]
permissions:
contents: read
contents: read
concurrency:
group: fixup-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
group: fixup-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
commit-message-check:
if: github.event.pull_request.draft == false
commit-message-check:
if: github.event.pull_request.draft == false
permissions:
pull-requests: write
name: Block fixup and squash commits
permissions:
pull-requests: write
name: Block fixup and squash commits
runs-on: ubuntu-latest
runs-on: ubuntu-latest
steps:
- name: Run check
uses: skjnldsv/block-fixup-merge-action@42d26e1b536ce61e5cf467d65fb76caf4aa85acf # v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Run check
uses: xt0rted/block-autosquash-commits-action@79880c36b4811fe549cfffe20233df88876024e7 # v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -28,7 +28,7 @@ jobs:
matrix:
php-versions: ['8.1']
databases: ['sqlite', 'mysql', 'pgsql']
server-versions: ['stable28']
server-versions: ['stable26']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
@@ -52,7 +52,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
@@ -66,7 +66,7 @@ jobs:
cd build/integration && composer require --dev phpunit/phpunit:~9
- name: Checkout app
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
path: apps/${{ env.APP_NAME }}
@@ -78,7 +78,7 @@ jobs:
path: apps/activity
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.27.1
uses: shivammathur/setup-php@2.25.5
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, apcu
@@ -114,7 +114,7 @@ jobs:
- name: Query count
if: ${{ matrix.databases == 'mysql' }}
uses: actions/github-script@v7
uses: actions/github-script@v6
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |

View File

@@ -6,9 +6,22 @@
# Use lint-eslint together with lint-eslint-when-unrelated to make eslint a required check for GitHub actions
# https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks
name: Lint eslint
name: Lint
on: pull_request
on:
pull_request:
paths:
- '.github/workflows/**'
- 'src/**'
- 'appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '.eslintrc.*'
- '.eslintignore'
- '**.js'
- '**.ts'
- '**.vue'
permissions:
contents: read
@@ -18,52 +31,24 @@ concurrency:
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- 'src/**'
- 'appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '.eslintrc.*'
- '.eslintignore'
- '**.js'
- '**.ts'
- '**.vue'
lint:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
name: NPM lint
name: eslint
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^9'
fallbackNode: '^16'
fallbackNpm: '^7'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v3
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -71,25 +56,7 @@ jobs:
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Install dependencies
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: npm ci
- name: Lint
run: npm run lint
summary:
permissions:
contents: none
runs-on: ubuntu-latest
needs: [changes, lint]
if: always()
# This is the summary, we just avoid to rename it so that branch protection rules still match
name: eslint
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.lint.result != 'success' }}; then exit 1; fi

View File

@@ -3,7 +3,7 @@
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Lint php-cs
name: Lint
on: pull_request
@@ -22,14 +22,13 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- name: Set up php8.2
uses: shivammathur/setup-php@e6f75134d35752277f093989e72e140eaa222f35 # v2
- name: Set up php
uses: shivammathur/setup-php@2.24.0 # v2
with:
php-version: 8.2
php-version: 8.1
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -3,9 +3,15 @@
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Lint php
name: Lint
on: pull_request
on:
pull_request:
push:
branches:
- main
- master
- stable*
permissions:
contents: read
@@ -19,20 +25,19 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: [ '8.0', '8.1', '8.2', '8.3' ]
php-versions: [ "8.0", "8.1", "8.2" ]
name: php-lint
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@e6f75134d35752277f093989e72e140eaa222f35 # v2
uses: shivammathur/setup-php@2.24.0 # v2
with:
php-version: ${{ matrix.php-versions }}
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -3,7 +3,7 @@
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Lint stylelint
name: Lint
on: pull_request
@@ -22,17 +22,17 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^9'
fallbackNode: '^16'
fallbackNpm: '^7'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v3
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -40,8 +40,6 @@ jobs:
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Install dependencies
env:
CYPRESS_INSTALL_BINARY: 0
run: npm ci
- name: Lint

64
.github/workflows/nightly.yml vendored Normal file
View File

@@ -0,0 +1,64 @@
name: Package nightly
on:
push:
branches:
- nightly
schedule:
- cron: '0 1 * * *' # run at 2 AM UTC
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7
run: npm i -g npm@7
- name: Setup PHP
uses: shivammathur/setup-php@2.24.0
with:
php-version: '7.4'
tools: composer
- name: install dependencies
run: |
wget https://github.com/ChristophWurst/krankerl/releases/download/v0.12.2/krankerl_0.12.2_amd64.deb
sudo dpkg -i krankerl_0.12.2_amd64.deb
- name: package
run: |
uname -a
RUST_BACKTRACE=1 krankerl --version
RUST_BACKTRACE=1 krankerl package
- name: Set git config
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git tag -f nightly
- name: Push tag
uses: juliushaertl/github-push-action@main
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
tags: true
force: true
- name: Create Release
id: create_release
uses: juliushaertl/action-release@main
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: nightly
files: ./build/artifacts/deck.tar.gz
name: Nightly build
body: |
Nightly release of deck
draft: false
prerelease: true
overwrite: true

View File

@@ -12,9 +12,9 @@ jobs:
node-version: [14.x]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7

View File

@@ -1,73 +0,0 @@
# 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: Npm audit fix and compile
on:
workflow_dispatch:
schedule:
# At 2:30 on Sundays
- cron: '30 2 * * 0'
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches: ['main', 'master', 'stable28', 'stable27', 'stable26']
name: npm-audit-fix-${{ matrix.branches }}
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
ref: ${{ matrix.branches }}
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^9'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Fix npm audit
run: |
npm audit fix
- name: Run npm ci and npm run build
if: always()
env:
CYPRESS_INSTALL_BINARY: 0
run: |
npm ci
npm run build --if-present
- name: Create Pull Request
if: always()
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 # v5
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "chore(deps): fix npm audit"
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: automated/noid/${{ matrix.branches }}-fix-npm-audit
title: "[${{ matrix.branches }}] Fix npm audit"
body: |
Auto-generated fix of npm audit
labels: |
dependencies
3. to review

View File

@@ -26,9 +26,9 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.0', '8.1', '8.2', '8.3']
php-versions: ['8.0', '8.1', '8.2']
databases: ['sqlite', 'mysql', 'pgsql']
server-versions: ['stable28']
server-versions: ['stable26']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
@@ -52,7 +52,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
@@ -65,12 +65,12 @@ jobs:
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Checkout app
uses: actions/checkout@v4
uses: actions/checkout@v3
with:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.27.1
uses: shivammathur/setup-php@2.24.0
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit

View File

@@ -1,34 +0,0 @@
# 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: 'Ask for feedback on PRs'
on:
schedule:
- cron: '30 1 * * *'
jobs:
pr-feedback:
runs-on: ubuntu-latest
steps:
- name: The get-github-handles-from-website action
uses: marcelklehr/get-github-handles-from-website-action@a739600f6b91da4957f51db0792697afbb2f143c # v1.0.0
id: scrape
with:
website: 'https://nextcloud.com/team/'
- uses: marcelklehr/pr-feedback-action@601109aa729eb4c8d6d0ece7567b9d4901db4aef
with:
feedback-message: |
Hello there,
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.
We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process.
Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6
Thank you for contributing to Nextcloud and we hope to hear from you soon!
days-before-feedback: 14
start-date: "2023-07-10"
exempt-authors: "${{ steps.scrape.outputs.users }},nextcloud-command,nextcloud-android-bot,skjnldsv,datenangebot"
exempt-bots: true

View File

@@ -5,7 +5,13 @@
name: Static analysis
on: pull_request
on:
pull_request:
push:
branches:
- master
- main
- stable*
concurrency:
group: psalm-${{ github.head_ref || github.run_id }}
@@ -15,17 +21,16 @@ jobs:
static-analysis:
runs-on: ubuntu-latest
name: static-psalm-analysis
name: Nextcloud
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- name: Set up php8.2
uses: shivammathur/setup-php@e6f75134d35752277f093989e72e140eaa222f35 # v2
- name: Set up php
uses: shivammathur/setup-php@2.24.0 # v2
with:
php-version: 8.2
php-version: 8.1
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -17,90 +17,42 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['main', 'master', 'stable28', 'stable27', 'stable26']
branches: ["master", "stable25", "stable24"]
name: update-nextcloud-ocp-${{ matrix.branches }}
steps:
- id: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
with:
ref: ${{ matrix.branches }}
submodules: true
continue-on-error: true
- name: Set up php8.2
if: steps.checkout.outcome == 'success'
uses: shivammathur/setup-php@e6f75134d35752277f093989e72e140eaa222f35 # v2
- name: Set up php8.1
uses: shivammathur/setup-php@2.24.0 # v2
with:
php-version: 8.2
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
php-version: 8.1
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Read codeowners
if: steps.checkout.outcome == 'success'
id: codeowners
run: |
grep '/appinfo/info.xml' .github/CODEOWNERS | cut -f 2- -d ' ' | xargs | awk '{ print "codeowners="$0 }' >> $GITHUB_OUTPUT
continue-on-error: true
- name: Composer install
if: steps.checkout.outcome == 'success'
run: composer install
- name: Composer update nextcloud/ocp
id: update_branch
if: ${{ steps.checkout.outcome == 'success' && matrix.branches != 'main' }}
run: composer require --dev nextcloud/ocp:dev-${{ matrix.branches }}
continue-on-error: true
- name: Raise on issue on failure
uses: dacbd/create-issue-action@ba4d1c45cccf9c483f2720cefb40e437f0ee6f7d # v1.2.1
if: ${{ steps.checkout.outcome == 'success' && failure() && steps.update_branch.conclusion == 'failure' }}
with:
token: ${{ secrets.GITHUB_TOKEN }}
title: Failed to update nextcloud/ocp package on branch ${{ matrix.branches }}
body: Please check the output of the GitHub action and manually resolve the issues<br>${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}<br>${{ steps.codeowners.outputs.codeowners }}
- name: Composer update nextcloud/ocp
id: update_main
if: ${{ steps.checkout.outcome == 'success' && matrix.branches == 'main' }}
run: composer require --dev nextcloud/ocp:dev-master
- name: Raise on issue on failure
uses: dacbd/create-issue-action@ba4d1c45cccf9c483f2720cefb40e437f0ee6f7d # v1.2.1
if: ${{ steps.checkout.outcome == 'success' && failure() && steps.update_main.conclusion == 'failure' }}
with:
token: ${{ secrets.GITHUB_TOKEN }}
title: Failed to update nextcloud/ocp package on branch ${{ matrix.branches }}
body: Please check the output of the GitHub action and manually resolve the issues<br>${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}<br>${{ steps.codeowners.outputs.codeowners }}
- name: Reset checkout 3rdparty
if: steps.checkout.outcome == 'success'
- name: Reset checkout dirs
run: |
git clean -f 3rdparty
git checkout 3rdparty
continue-on-error: true
- name: Reset checkout vendor
if: steps.checkout.outcome == 'success'
run: |
git clean -f vendor
git checkout vendor
continue-on-error: true
- name: Reset checkout vendor-bin
if: steps.checkout.outcome == 'success'
run: |
git clean -f vendor-bin
git checkout vendor-bin
git checkout 3rdparty vendor vendor-bin
continue-on-error: true
- name: Create Pull Request
if: steps.checkout.outcome == 'success'
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 # v3
uses: peter-evans/create-pull-request@2b011faafdcbc9ceb11414d64d0573f37c774b04 # v3
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "chore(dev-deps): Bump nextcloud/ocp package"

View File

@@ -1,218 +1,95 @@
# Changelog
All notable changes to this project will be documented in this file.
## 1.12.1
## 1.9.6
### Fixed
- Fix deleted card/board issues @juliushaertl [#5441](https://github.com/nextcloud/deck/pull/5441)
- Fixing #5451 [#5457](https://github.com/nextcloud/deck/pull/5457)
- fix: Add debounce to update due date [#5483](https://github.com/nextcloud/deck/pull/5483)
- fix(i18n): Fixed typo [#5424](https://github.com/nextcloud/deck/pull/5424)
- fix: allow null label colors in trello json importer @juliushaertl [#5439](https://github.com/nextcloud/deck/pull/5439)
- Fix small issues around delete/undo [#5421](https://github.com/nextcloud/deck/pull/5421)
- Fix deleted card/board issues @juliushaertl [#5443](https://github.com/nextcloud/deck/pull/5443)
## 1.12.0
### Added
- Added ability to mark a card as done @TehThanos [#4137](https://github.com/nextcloud/deck/pull/4137)
- Card Cover Images @jszeibert [#5035](https://github.com/nextcloud/deck/pull/5035)
- Upcoming/Today/Tomorrow dashboard widgets @BKapelari [#2658](https://github.com/nextcloud/deck/pull/2658)
- Enabled advanced fields option on tag color picker @faab007nl [#4362](https://github.com/nextcloud/deck/pull/4362)
- Remember last board, list for new card dialog @luka-nextcloud [#5046](https://github.com/nextcloud/deck/pull/5046)
- Add support for bidirectional text @jamazi [#5258](https://github.com/nextcloud/deck/pull/5258)
- Card layout polishing @juliushaertl [#5264](https://github.com/nextcloud/deck/pull/5264)
- feat: Move to contenteditable for inline title editing @juliushaertl [#5282](https://github.com/nextcloud/deck/pull/5282)
- scroll board by dragging @shoetten [#5293](https://github.com/nextcloud/deck/pull/5293)
- Keyboard shortcuts [#5358](https://github.com/nextcloud/deck/pull/5358)
## 1.9.5
### Fixed
- fix: allow null label colors in trello json importer [#5355](https://github.com/nextcloud/deck/pull/5355)
- fix: Get proper rich object for card actions [#5352](https://github.com/nextcloud/deck/pull/5352)
- fix: Use text content as result for comments @juliushaertl [#5294](https://github.com/nextcloud/deck/pull/5294)
- fix: Bring back due date indicator to compact mode @juliushaertl [#5292](https://github.com/nextcloud/deck/pull/5292)
- Fix small issues around delete/undo @juliushaertl [#5296](https://github.com/nextcloud/deck/pull/5296)
- fix(controls): use primary when filter is active @fitrahfm [#5299](https://github.com/nextcloud/deck/pull/5299)
- fix: Properly get done state for dav @juliushaertl [#5287](https://github.com/nextcloud/deck/pull/5287)
- Fix upcoming cards and label input @juliushaertl [#5290](https://github.com/nextcloud/deck/pull/5290)
- fix: Properly handle adding new tags through multiselect @juliushaertl [#5285](https://github.com/nextcloud/deck/pull/5285)
- fix: Avoid throwing errors if no token provided on close @juliushaertl [#5284](https://github.com/nextcloud/deck/pull/5284)
- fix: Expose card actions in the card menu (fix #3180) [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: Use full card menu everywhere (fix #3993) [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: Detect end of the activity responses (fix #3395) [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: Add title with absolute date time to activity (fix #4508, fix #2122) [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: Disable dragging archived cards (fix #3271) [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: Hide unavailable card menu entries for archived card view [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: Use localCompare to sort labels (fix #2736) [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: More fitting click target for title editing [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: Always load proper dashboard js (fixes a log error) [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: Set fixed height for card modal (fix #4296) [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: Make sure to always update card description when navigating away (fix #5254 #2705) [#5280](https://github.com/nextcloud/deck/pull/5280)
- perf: Already pass board list as initial state @juliushaertl [#5281](https://github.com/nextcloud/deck/pull/5281)
- Deck card comment notification label improvement @Jerome-Herbinet [#4748](https://github.com/nextcloud/deck/pull/4748)
- update smart picker links @luka-nextcloud [#5047](https://github.com/nextcloud/deck/pull/5047)
- feat: Enhance dark mode @juliushaertl [#5045](https://github.com/nextcloud/deck/pull/5045)
- fix: export doesn't handle lists with no cards @magikmw [#5096](https://github.com/nextcloud/deck/pull/5096)
- add attributes aria-label= and title= to Filters & View Modes buttons @privatemaker [#5133](https://github.com/nextcloud/deck/pull/5133)
- fix: Check both card reference url patterns @juliushaertl [#5262](https://github.com/nextcloud/deck/pull/5262)
- fix: Avoid too large index on postgres as indexing just the last_editor column is enough @juliushaertl [#5260](https://github.com/nextcloud/deck/pull/5260)
- feat: error msg on CreateNewCardCustomPicker & only show available bo… @luka-nextcloud [#5029](https://github.com/nextcloud/deck/pull/5029)
- test: add cypress tests for create new deck card @luka-nextcloud [#5025](https://github.com/nextcloud/deck/pull/5025)
- Remove duplicate button @solracsf [#4850](https://github.com/nextcloud/deck/pull/4850)
- [stable27] fix cypress for new file picker [#5088](https://github.com/nextcloud/deck/pull/5088)
- Replace "Timeline" wording with "Activity" in order to be consistent with equivalent contexts throughout Nextcloud @Jerome-Herbinet [#5164](https://github.com/nextcloud/deck/pull/5164)
- Board creation limitation : More understandable wordings @Jerome-Herbinet [#5168](https://github.com/nextcloud/deck/pull/5168)
- ci(cypress): Fix file picker selector @juliushaertl [#5212](https://github.com/nextcloud/deck/pull/5212)
- Switch to native date picker @juliushaertl [#4668](https://github.com/nextcloud/deck/pull/4668)
- fixes minor spelling error @FundreasFrohsinn [#5216](https://github.com/nextcloud/deck/pull/5216)
- feat(card): tooltip for comment timestamp @fitrahfm [#5253](https://github.com/nextcloud/deck/pull/5253)
- fix: Use text content as result for comments [#5298](https://github.com/nextcloud/deck/pull/5298)
## 1.12.0-beta.5
### Added
- Keyboard shortcuts [#5358](https://github.com/nextcloud/deck/pull/5358)
## 1.9.4
### Fixed
- fix: allow null label colors in trello json importer [#5355](https://github.com/nextcloud/deck/pull/5355)
- fix: Get proper rich object for card actions [#5352](https://github.com/nextcloud/deck/pull/5352)
- fix: open card in modal on main route [#5289](https://github.com/nextcloud/deck/pull/5289)
### Dependencies
- Update nextcloud/ocp dependency @nextcloud-command [#5343](https://github.com/nextcloud/deck/pull/5343)
- Chore(deps): Bump @babel/runtime from 7.23.4 to 7.23.5 @dependabot[bot] [#5338](https://github.com/nextcloud/deck/pull/5338)
## 1.12.0-beta.4
## 1.9.3
### Added
- scroll board by dragging @shoetten [#5293](https://github.com/nextcloud/deck/pull/5293)
- Import of deck JSON data through occ @juliushaertl [#5004](https://github.com/nextcloud/deck/pull/5004)
### Fixed
- fix: Use text content as result for comments @juliushaertl [#5294](https://github.com/nextcloud/deck/pull/5294)
- fix: Bring back due date indicator to compact mode @juliushaertl [#5292](https://github.com/nextcloud/deck/pull/5292)
- Fix small issues around delete/undo @juliushaertl [#5296](https://github.com/nextcloud/deck/pull/5296)
- fix(controls): use primary when filter is active @fitrahfm [#5299](https://github.com/nextcloud/deck/pull/5299)
- Prevent tag itself being edit button if user lacks permissions [#4766](https://github.com/nextcloud/deck/pull/4766)
- fix: Allow dynamic autoloading for classes added during upgrade [#4805](https://github.com/nextcloud/deck/pull/4805)
- Fix(occ): set user id for permission sevice from board service [#4814](https://github.com/nextcloud/deck/pull/4814)
- fix(notification): Prevent null in parameters [#4910](https://github.com/nextcloud/deck/pull/4910)
- fix: Split query to fetch board ids to avoid slow query join @juliushaertl [#4950](https://github.com/nextcloud/deck/pull/4950)
- fix: export doesn't handle lists with no cards [#5117](https://github.com/nextcloud/deck/pull/5117)
- Ensure `$boardId` is an integer [#4774](https://github.com/nextcloud/deck/pull/4774)
- fix: execute return int for export command [#4812](https://github.com/nextcloud/deck/pull/4812)
- fix: crash when leaving out system parameter [#4832](https://github.com/nextcloud/deck/pull/4832)
- Remove duplicate button [#5044](https://github.com/nextcloud/deck/pull/5044)
## 1.12.0-beta.3
### Other
### Added
- Dependency updates
- feat: Move to contenteditable for inline title editing @juliushaertl [#5282](https://github.com/nextcloud/deck/pull/5282)
## 1.9.2
### Fixed
- fix: Properly get done state for dav @juliushaertl [#5287](https://github.com/nextcloud/deck/pull/5287)
- Fix upcoming cards and label input @juliushaertl [#5290](https://github.com/nextcloud/deck/pull/5290)
- fix: Properly overwrite z-index of datepicker above modal [#4665](https://github.com/nextcloud/deck/pull/4665)
## 1.12.0-beta.2
### Added
- Card layout polishing @juliushaertl [#5264](https://github.com/nextcloud/deck/pull/5264)
## 1.9.1
### Fixed
- fix: Properly handle adding new tags through multiselect @juliushaertl [#5285](https://github.com/nextcloud/deck/pull/5285)
- fix: Avoid throwing errors if no token provided on close @juliushaertl [#5284](https://github.com/nextcloud/deck/pull/5284)
- fix: Expose card actions in the card menu (fix #3180) [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: Use full card menu everywhere (fix #3993) [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: Detect end of the activity responses (fix #3395) [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: Add title with absolute date time to activity (fix #4508, fix #2122) [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: Disable dragging archived cards (fix #3271) [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: Hide unavailable card menu entries for archived card view [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: Use localCompare to sort labels (fix #2736) [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: More fitting click target for title editing [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: Always load proper dashboard js (fixes a log error) [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: Set fixed height for card modal (fix #4296) [#5280](https://github.com/nextcloud/deck/pull/5280)
- fix: Make sure to always update card description when navigating away (fix #5254 #2705) [#5280](https://github.com/nextcloud/deck/pull/5280)
- perf: Already pass board list as initial state @juliushaertl [#5281](https://github.com/nextcloud/deck/pull/5281)
- Gracefully handle not found card for a share [#4567](https://github.com/nextcloud/deck/pull/4567)
- fix: Adapt NcEmptyContent usages to new slots [#4562](https://github.com/nextcloud/deck/pull/4562)
- allow user to toggle visibility of the calendar for a deck board [#4625](https://github.com/nextcloud/deck/pull/4625)
- fix: Append datetime picker to body to avoid cut off [#4644](https://github.com/nextcloud/deck/pull/4644)
- chore: Remove unused @nextcloud/vue-dashboard @juliushaertl [#4650](https://github.com/nextcloud/deck/pull/4650)
- fix: Bring back overdue column by removing faulty condition [#4662](https://github.com/nextcloud/deck/pull/4662)
- Fix : Overlapping expiry dates on tags [#4537](https://github.com/nextcloud/deck/pull/4537)
- Better display of card dates (creation and change dates) [#4619](https://github.com/nextcloud/deck/pull/4619)
- Update dependencies
### Dependencies
- Fix npm audit @nextcloud-command [#5277](https://github.com/nextcloud/deck/pull/5277)
- Update nextcloud/ocp dependency @nextcloud-command [#5275](https://github.com/nextcloud/deck/pull/5275)
- Chore(deps): Bump @nextcloud/dialogs from 4.2.1 to 4.2.2 @dependabot[bot] [#5266](https://github.com/nextcloud/deck/pull/5266)
- Chore(deps-dev): Bump cypress from 13.4.0 to 13.5.0 @dependabot[bot] [#5267](https://github.com/nextcloud/deck/pull/5267)
- Chore(deps): Bump shivammathur/setup-php from 2.27.0 to 2.27.1 @dependabot[bot] [#5268](https://github.com/nextcloud/deck/pull/5268)
## 1.12.0-beta.1
## 1.9.0
### Added
- Added ability to mark a card as done @TehThanos [#4137](https://github.com/nextcloud/deck/pull/4137)
- Card Cover Images @jszeibert [#5035](https://github.com/nextcloud/deck/pull/5035)
- Upcoming/Today/Tomorrow dashboard widgets @BKapelari [#2658](https://github.com/nextcloud/deck/pull/2658)
- Enabled advanced fields option on tag color picker @faab007nl [#4362](https://github.com/nextcloud/deck/pull/4362)
- Remember last board, list for new card dialog @luka-nextcloud [#5046](https://github.com/nextcloud/deck/pull/5046)
- Add support for bidirectional text @jamazi [#5258](https://github.com/nextcloud/deck/pull/5258)
### Fixed
- Deck card comment notification label improvement @Jerome-Herbinet [#4748](https://github.com/nextcloud/deck/pull/4748)
- update smart picker links @luka-nextcloud [#5047](https://github.com/nextcloud/deck/pull/5047)
- feat: Enhance dark mode @juliushaertl [#5045](https://github.com/nextcloud/deck/pull/5045)
- fix: export doesn't handle lists with no cards @magikmw [#5096](https://github.com/nextcloud/deck/pull/5096)
- add attributes aria-label= and title= to Filters & View Modes buttons @privatemaker [#5133](https://github.com/nextcloud/deck/pull/5133)
- fix: Check both card reference url patterns @juliushaertl [#5262](https://github.com/nextcloud/deck/pull/5262)
- fix: Avoid too large index on postgres as indexing just the last_editor column is enough @juliushaertl [#5260](https://github.com/nextcloud/deck/pull/5260)
- feat: error msg on CreateNewCardCustomPicker & only show available bo… @luka-nextcloud [#5029](https://github.com/nextcloud/deck/pull/5029)
- test: add cypress tests for create new deck card @luka-nextcloud [#5025](https://github.com/nextcloud/deck/pull/5025)
- Remove duplicate button @solracsf [#4850](https://github.com/nextcloud/deck/pull/4850)
- [stable27] fix cypress for new file picker [#5088](https://github.com/nextcloud/deck/pull/5088)
- Replace "Timeline" wording with "Activity" in order to be consistent with equivalent contexts throughout Nextcloud @Jerome-Herbinet [#5164](https://github.com/nextcloud/deck/pull/5164)
- Board creation limitation : More understandable wordings @Jerome-Herbinet [#5168](https://github.com/nextcloud/deck/pull/5168)
- ci(cypress): Fix file picker selector @juliushaertl [#5212](https://github.com/nextcloud/deck/pull/5212)
- Switch to native date picker @juliushaertl [#4668](https://github.com/nextcloud/deck/pull/4668)
- fixes minor spelling error @FundreasFrohsinn [#5216](https://github.com/nextcloud/deck/pull/5216)
- feat(card): tooltip for comment timestamp @fitrahfm [#5253](https://github.com/nextcloud/deck/pull/5253)
## 1.10.0-beta.1
### Added
- Compatibility with Nextcloud 27
### Fixed
- fix(references): Mute NoPermissionException as it is expected to happen for references @juliushaertl [#4514](https://github.com/nextcloud/deck/pull/4514)
- fix(cards): Fix card sizing by limiting too wide style rules @juliushaertl [#4512](https://github.com/nextcloud/deck/pull/4512)
- fix: Adapt NcEmptyContent usages to new slots @juliushaertl [#4561](https://github.com/nextcloud/deck/pull/4561)
- Gracefully handle not found card for a share @mejo- [#4566](https://github.com/nextcloud/deck/pull/4566)
- Prevent tag itself being edit button if user lacks permissions @joshtrichards [#4574](https://github.com/nextcloud/deck/pull/4574)
- chore: Remove unused @nextcloud/vue-dashboard @juliushaertl [#4586](https://github.com/nextcloud/deck/pull/4586)
- Update Description.vue: Fixes the issue of hidden text by menu bar @pschopen [#4617](https://github.com/nextcloud/deck/pull/4617)
- allow user to toggle visibility of the calendar for a deck board @schiessle [#4622](https://github.com/nextcloud/deck/pull/4622)
- fix: Append datetime picker to body to avoid cut off @juliushaertl [#4643](https://github.com/nextcloud/deck/pull/4643)
- fix: Bring back overdue column by removing faulty condition @juliushaertl [#4660](https://github.com/nextcloud/deck/pull/4660)
- fix(sessions): Do not send close request without token @juliushaertl [#4510](https://github.com/nextcloud/deck/pull/4510)
- tests(integration): Add test for multiple board shares to the same user @juliushaertl [#4494](https://github.com/nextcloud/deck/pull/4494)
- fix(API): Fix board API details parameter to work as expected @nickvergessen [#4518](https://github.com/nextcloud/deck/pull/4518)
- Fix : Overlapping expiry dates on tags @Jerome-Herbinet [#4535](https://github.com/nextcloud/deck/pull/4535)
- Fix consistency of a "Create card" wording with its equivalent for Notes ("New card") @Jerome-Herbinet [#4534](https://github.com/nextcloud/deck/pull/4534)
- tests(integration): Add integration tests for due dates @juliushaertl [#4489](https://github.com/nextcloud/deck/pull/4489)
- Better display of card dates (creation and change dates) @Jerome-Herbinet [#4604](https://github.com/nextcloud/deck/pull/4604)
- Refactors lib\Activity\DeckProvider.php to improve code readability. @fsamapoor [#4648](https://github.com/nextcloud/deck/pull/4648)
- Converts 'strpos()' calls to improve code readability. @fsamapoor [#4657](https://github.com/nextcloud/deck/pull/4657)
## 1.9.0-beta.1
### Added
- Export Board @david-loe [#3065](https://github.com/nextcloud/deck/pull/3065)
- basic notify_push usage with session handling @alangecker [#3876](https://github.com/nextcloud/deck/pull/3876)
- feat(Description): Use text as editor if available @juliushaertl [#4399](https://github.com/nextcloud/deck/pull/4399)
- Live updates on board collaboration using notify_push @alangecker [#4273](https://github.com/nextcloud/deck/pull/4273)
- Basic notify_push usage with session handling @alangecker [#3876](https://github.com/nextcloud/deck/pull/3876)
- Use text as editor if available [#4399](https://github.com/nextcloud/deck/pull/4399)
- Improve reference provider and add reference widgets @julien-nc [#4422](https://github.com/nextcloud/deck/pull/4422)
- live updates 🎉 @alangecker [#4273](https://github.com/nextcloud/deck/pull/4273)
- Tag creation from card view @juliushaertl [#4344](https://github.com/nextcloud/deck/pull/4344)
- Optimize query performance with larger board or card count @[#4452](https://github.com/nextcloud/deck/pull/4452)
- Export Board as CSV @david-loe [#3065](https://github.com/nextcloud/deck/pull/3065)
### Fixed
- fix(cards): Fix card sizing by limiting too wide style rules [#4521](https://github.com/nextcloud/deck/pull/4521)
- fix(references): Mute NoPermissionException as it is expected to happen for references [#4516](https://github.com/nextcloud/deck/pull/4516)
- fix(API): Fix board API details parameter to work as expected [#4519](https://github.com/nextcloud/deck/pull/4519)
- fix(sessions): Do not send close request without token [#4525](https://github.com/nextcloud/deck/pull/4525)
- fix: Avoid mutating the due date when calculating days @juliushaertl [#4488](https://github.com/nextcloud/deck/pull/4488)
- fix: Pass user id along to properly check permissions in background jobs @juliushaertl [#4485](https://github.com/nextcloud/deck/pull/4485)
- fix: Use passed userid when getting attachment folder @juliushaertl [#4487](https://github.com/nextcloud/deck/pull/4487)
- fix: Use proper z-index for text menubar @juliushaertl [#4490](https://github.com/nextcloud/deck/pull/4490)
- fix(dashboard): Fix undefined array index @marcelklehr [#4492](https://github.com/nextcloud/deck/pull/4492)
- fix: Always return sorted index array to make sure a json array is the result @juliushaertl [#4493](https://github.com/nextcloud/deck/pull/4493)
- Fix component renaming so that acl works on shares again @small1 [#4315](https://github.com/nextcloud/deck/pull/4315)
- fix(Sidebar): Only close sidebar on v-click-outside for specific targets @juliushaertl [#4350](https://github.com/nextcloud/deck/pull/4350)
- add basic e2e tests for stack title @shoetten [#4206](https://github.com/nextcloud/deck/pull/4206)
@@ -222,10 +99,6 @@ All notable changes to this project will be documented in this file.
- perf: Register notifier and resource listener lazy @juliushaertl [#4439](https://github.com/nextcloud/deck/pull/4439)
- perf: Lazy load dashboard components @juliushaertl [#4440](https://github.com/nextcloud/deck/pull/4440)
- Optimise upcomming overview creation @Raudius [#3793](https://github.com/nextcloud/deck/pull/3793)
- Performance boost @juliushaertl [#4452](https://github.com/nextcloud/deck/pull/4452)
### Other
- Dependency updates
## 1.8.0-beta.1

View File

@@ -27,11 +27,27 @@ Deck is a kanban style organization tool aimed at personal planning and project
- [trello-to-deck](https://github.com/maxammann/trello-to-deck) - Migrates cards from Trello
- [mail2deck](https://github.com/newroco/mail2deck) - Provides an "email in" solution
- [A-deck](https://github.com/leoossa/A-deck) - Chrome Extension that allows to create new card in selected stack based on current tab
- [QOwnNotes](https://github.com/pbek/QOwnNotes) - Quickly creates cards and links to them in Markdown notes
## Installation/Update
The app can be installed through the app store within Nextcloud. You can also download the latest release from the [release page](https://github.com/nextcloud-releases/deck/releases).
This app is supposed to work on the two latest Nextcloud versions.
### Install latest release
You can download and install the latest release from the [Nextcloud app store](https://apps.nextcloud.com/apps/deck)
### Install from git
If you want to run the latest development version from git source, you need to clone the repo to your apps folder:
```
git clone https://github.com/nextcloud/deck.git
cd deck
make install-deps
make build
```
Please make sure you have installed the following dependencies: `make, which, tar, npm, curl, composer`
## Performance limitations
@@ -46,54 +62,41 @@ Improvements on Nextcloud server and Deck itself will improve the situation.
## Developing
There are multiple ways to develop on Deck. As you will need a Nextcloud server running, the individual options are described below.
### Nextcloud environment
### General build instructions
You need to setup a [development environment](https://docs.nextcloud.com/server/latest/developer_manual//getting_started/devenv.html) of the current nextcloud version. You can also alternatively install & run the [nextcloud docker container](https://github.com/juliushaertl/nextcloud-docker-dev).
After the finished installation, you can clone the deck project directly in the `/[nextcloud-docker-dev-dir]/workspace/server/apps/` folder.
General build instructions for the app itself are the same for all options.
### PHP
To build you will need to have [Node.js](https://nodejs.org/en/) and [Composer](https://getcomposer.org/) installed.
Nothing to prepare, just dig into the code.
- Install PHP dependencies: `composer install --no-dev`
- Install JS dependencies: `npm ci`
- Build JavaScript for the frontend
- Development build `npm run dev`
- Watch for changes `npm run watch`
- Production build `npm run build`
### JavaScript
### Faster frontend developing with HMR
This requires at least Node 16 and npm 7 to be installed.
You can enable HMR (Hot module replacement) to avoid page reloads when working on the frontend:
Deck requires running a `make build-js` to install npm dependencies and build the JavaScript code using webpack. While developing you can also use `make watch` to rebuild everytime the code changes.
1. ☑️ Install and enable [`hmr_enabler` app](https://github.com/nextcloud/hmr_enabler)
2. 🏁 Run `npm run serve`
3. 🌍 Open the normal Nextcloud server URL (not the URL given by above command)
#### Hot reloading
### GitHub Codespaces / VS Code devcontainer
- Open code spaces or the repository in VS Code to start the dev container
- The container will automatically install all dependencies and build the app
- Nextcloud will be installed from the master development branch and be available on a port exposed by the container
### Docker: Simple app development container
- Fork the app
- Clone the repository: `git clone https://github.com/nextcloud/deck.git`
- Go into deck directory: `cd deck`
- Build the app as described in the general build instructions
- Run Nextcloud development container and mount the apps source code into it
Enable debug mode in your config.php `'debug' => true,`
Without SSL:
```
docker run --rm \
-p 8080:80 \
-v ~/path/to/app:/var/www/html/apps-extra/app \
ghcr.io/juliushaertl/nextcloud-dev-php80:latest
npx webpack-dev-server --config webpack.hot.js \
--public localhost:3000 \
--output-public-path 'http://localhost:3000/js/'
```
### Full Nextcloud development environment
With SSL:
```
npx webpack-dev-server --config webpack.dev.js --https \
--cert ~/repos/nextcloud/nc-dev/data/ssl/nextcloud.local.crt \
--key ~/repos/nextcloud/nc-dev/data/ssl/nextcloud.local.key \
--public nextcloud.local:3000 \
--output-public-path 'https://nextcloud.local:3000/js/'
```
You need to setup a [development environment](https://docs.nextcloud.com/server/latest/developer_manual//getting_started/devenv.html) of the current Nextcloud version. You can also alternatively install & run the [nextcloud docker container](https://github.com/juliushaertl/nextcloud-docker-dev).
After the finished installation, you can clone the deck project directly in the `/[nextcloud-docker-dev-dir]/workspace/server/apps/` folder.
### Running tests
You can use the provided Makefile to run all tests by using:

View File

@@ -16,7 +16,7 @@
- 🚀 Get your project organized
</description>
<version>1.12.1</version>
<version>1.9.6</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<documentation>
@@ -38,7 +38,7 @@
<database min-version="9.4">pgsql</database>
<database>sqlite</database>
<database min-version="8.0">mysql</database>
<nextcloud min-version="28" max-version="28"/>
<nextcloud min-version="26" max-version="26"/>
</dependencies>
<background-jobs>
<job>OCA\Deck\Cron\DeleteCron</job>
@@ -58,9 +58,9 @@
</commands>
<activity>
<settings>
<setting>OCA\Deck\Activity\SettingChanges</setting>
<setting>OCA\Deck\Activity\SettingDescription</setting>
<setting>OCA\Deck\Activity\Setting</setting>
<setting>OCA\Deck\Activity\SettingComment</setting>
<setting>OCA\Deck\Activity\DescriptionSetting</setting>
</settings>
<filters>
<filter>OCA\Deck\Activity\Filter</filter>

View File

@@ -25,11 +25,6 @@
return [
'routes' => [
['name' => 'page#index', 'url' => '/', 'verb' => 'GET'],
['name' => 'page#indexList', 'url' => '/board', 'verb' => 'GET'],
['name' => 'page#indexBoard', 'url' => '/board/{boardId}', 'verb' => 'GET'],
['name' => 'page#indexBoardDetails', 'url' => '/board/{boardId}/details', 'verb' => 'GET'],
['name' => 'page#indexCard', 'url' => '/board/{boardId}/card/{cardId}', 'verb' => 'GET'],
['name' => 'page#redirectToCard', 'url' => '/card/{cardId}', 'verb' => 'GET'],
// boards
@@ -66,8 +61,6 @@ return [
['name' => 'card#reorder', 'url' => '/cards/{cardId}/reorder', 'verb' => 'PUT'],
['name' => 'card#archive', 'url' => '/cards/{cardId}/archive', 'verb' => 'PUT'],
['name' => 'card#unarchive', 'url' => '/cards/{cardId}/unarchive', 'verb' => 'PUT'],
['name' => 'card#done', 'url' => '/cards/{cardId}/done', 'verb' => 'PUT'],
['name' => 'card#undone', 'url' => '/cards/{cardId}/undone', 'verb' => 'PUT'],
['name' => 'card#assignLabel', 'url' => '/cards/{cardId}/label/{labelId}', 'verb' => 'POST'],
['name' => 'card#removeLabel', 'url' => '/cards/{cardId}/label/{labelId}', 'verb' => 'DELETE'],
['name' => 'card#assignUser', 'url' => '/cards/{cardId}/assign', 'verb' => 'POST'],

View File

@@ -9,14 +9,17 @@
}
],
"require": {
"cogpowered/finediff": "0.3.*",
"justinrainbow/json-schema": "^5.2"
},
"require-dev": {
"roave/security-advisories": "dev-master",
"phpunit/phpunit": "^9",
"nextcloud/coding-standard": "^1.1",
"nextcloud/ocp": "dev-stable28",
"psalm/phar": "^5.13"
"nextcloud/coding-standard": "^1.0.0",
"symfony/event-dispatcher": "^4.0",
"vimeo/psalm": "^5.4",
"php-parallel-lint/php-parallel-lint": "^1.2",
"nextcloud/ocp": "dev-stable26"
},
"config": {
"optimize-autoloader": true,
@@ -31,9 +34,9 @@
"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.phar",
"psalm:update-baseline": "psalm.phar --update-baseline",
"psalm:fix": "psalm.phar --alter --issues=InvalidReturnType,InvalidNullableReturnType,MismatchingDocblockParamType,MismatchingDocblockReturnType,MissingParamType,InvalidFalsableReturnType",
"psalm": "psalm",
"psalm:update-baseline": "psalm --update-baseline",
"psalm:fix": "psalm --alter --issues=InvalidReturnType,InvalidNullableReturnType,MismatchingDocblockParamType,MismatchingDocblockReturnType,MissingParamType,InvalidFalsableReturnType",
"test": [
"@test:unit",
"@test:integration"

3555
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,5 @@
import { randUser } from '../utils/index.js'
import { sampleBoard } from '../utils/sampleBoard'
import moment from '@nextcloud/moment'
const user = randUser()
const boardData = sampleBoard()
@@ -59,31 +58,6 @@ describe('Card', 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')
cy.intercept({ method: 'GET', url: '**/apps/deck/boards/*' }).as('getBoard')
cy.get('.button-vue[aria-label*="Add card"]')
.first().click()
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('.modal-mask.card-selector .multiselect-board li:contains("' + boardData.title + '")').should('be.visible').click()
cy.wait('@getBoard', { timeout: 7000 })
cy.get('.modal-mask.card-selector .multiselect-list').should('be.visible').click()
cy.get('.modal-mask.card-selector .multiselect-list li').eq(0).should('be.visible').click()
cy.get('.modal-mask.card-selector button.button-vue--vue-primary').should('be.visible').click()
cy.wait('@save', { timeout: 7000 })
cy.visit(`/apps/deck/#/board/${boardId}`)
cy.reload()
cy.get('.board .stack').eq(0).within(() => {
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible')
})
})
describe('Modal', () => {
beforeEach(function() {
cy.login(user)
@@ -112,7 +86,7 @@ describe('Card', function() {
cy.get('button.icon-folder').should('be.visible')
.click()
cy.get('.file-picker__main').should('be.visible')
cy.get('.file-picker__main [data-filename="welcome.txt"]', { timeout: 30000 }).should('be.visible')
cy.get('.file-picker__main [data-filename="welcome.txt"]').should('be.visible')
.click()
cy.get('.dialog__actions button.button-vue--vue-primary').click()
cy.get('.attachment-list .basename').contains('welcome.txt')
@@ -136,33 +110,6 @@ describe('Card', function() {
cy.get('.modal__card .ProseMirror li').eq(1).contains('with entries').should('be.visible')
cy.get('.modal__card .ProseMirror p').contains('Paragraph').should('be.visible')
})
it('Smart picker', () => {
const newCardTitle = 'Test smart picker'
cy.intercept({ method: 'POST', url: '**/apps/deck/cards' }).as('save')
cy.intercept({ method: 'GET', url: '**/apps/deck/boards/*' }).as('getBoard')
cy.get('.card:contains("Hello world")').should('be.visible').click()
cy.get('.modal__card').should('be.visible')
cy.get('.modal__card .ProseMirror h1')
.click()
.type('{enter}/create')
cy.get('.suggestion-list__item.is-selected').should('be.visible').contains('Create a new deck card')
cy.get('.suggestion-list__item.is-selected .link-picker__item').click()
cy.get('.reference-picker-modal--content .reference-picker').should('be.visible')
cy.get('.reference-picker-modal--content .reference-picker').contains('Create a new card')
cy.get('.reference-picker-modal--content .reference-picker .card-title').should('be.visible').click().type(newCardTitle)
cy.get('.reference-picker-modal--content .reference-picker .multiselect-board').should('be.visible').contains(boardData.title)
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('be.visible')
cy.visit(`/apps/deck/#/board/${boardId}`)
cy.reload()
cy.get('.board .stack').eq(0).within(() => {
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible')
})
})
})
describe('Sidebar', () => {
@@ -178,126 +125,6 @@ describe('Card', function() {
cy.get('#app-sidebar-vue')
.find('.ProseMirror h1').contains('Hello world writing more text').should('be.visible')
})
it('Set a due date', function() {
const newCardTitle = 'Card with a due date'
cy.get('.button-vue[aria-label*="Add card"]')
.first().click()
cy.get('.stack__card-add form input#new-stack-input-main')
.type(newCardTitle)
cy.get('.stack__card-add form input[type=submit]')
.first().click()
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible')
cy.get('.card:contains("Card with a due date")').should('be.visible').click()
cy.get('#app-sidebar-vue [data-cy-due-date-actions]').should('be.visible').click()
// Set a due date through shortcut
cy.get('[data-cy-due-date-shortcut="tomorrow"] button').should('be.visible').click()
const tomorrow = moment().add(1, 'days').hour(8).minutes(0).seconds(0)
cy.get('#card-duedate-picker').should('have.value', tomorrow.format('YYYY-MM-DDTHH:mm'))
const now = moment().hour(11).minutes(0).seconds(0).toDate()
cy.clock(now)
cy.log(now)
cy.tick(60_000)
cy.get(`.card:contains("${newCardTitle}")`).find('[data-due-state="Now"]').should('be.visible').should('contain', '21 hours')
// Remove the due date again
cy.get('#app-sidebar-vue [data-cy-due-date-actions]').should('be.visible').click()
// tick needed to show the popover menu
cy.tick(1_000)
cy.get('[data-cy-due-date-remove] button').should('be.visible').click()
cy.get(`.card:contains("${newCardTitle}")`).find('[data-due-state]').should('not.exist')
})
it('Add a label', function() {
const newCardTitle = 'Card with labels'
cy.get('.button-vue[aria-label*="Add card"]')
.first().click()
cy.get('.stack__card-add form input#new-stack-input-main')
.type(newCardTitle)
cy.get('.stack__card-add form input[type=submit]')
.first().click()
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible').click()
cy.get('#app-sidebar-vue [data-test="tag-selector"]').should('be.visible').click()
cy.get('.multiselect__option:contains("Action needed")').should('be.visible').click()
cy.get('[data-test="tag-selector"] .selector-wrapper--icon').click()
cy.get('.multiselect__option:contains("Action needed")').should('not.be.visible')
cy.get('[data-test="tag-selector"] .multiselect__tags .tag:contains("Action needed")')
.should('be.visible')
cy.get(`.card:contains("${newCardTitle}")`).find('.labels li:contains("Action needed")')
.should('be.visible')
cy.get('#app-sidebar-vue [data-test="tag-selector"]').should('be.visible').click()
cy.get('.multiselect__option:contains("Later")').should('be.visible').click()
cy.get('.multiselect__option:contains("Action needed")').should('be.visible').click()
cy.get(`.card:contains("${newCardTitle}")`).find('.labels li:contains("Later")')
.should('be.visible')
cy.get(`.card:contains("${newCardTitle}")`).find('.labels li:contains("Action needed")')
.should('not.exist')
})
})
describe('Card actions', () => {
beforeEach(function() {
cy.login(user)
useModal(false).then(() => {
cy.visit(`/apps/deck/#/board/${boardId}`)
})
})
it('Custom card actions', () => {
const myAction = {
label: 'Test action',
icon: 'icon-user',
callback(card) {
console.log('Called callback', card)
},
}
cy.spy(myAction, 'callback').as('myAction.callback')
cy.window().then(win => {
win.OCA.Deck.registerCardAction(myAction)
})
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("Test action")').click()
cy.get('@myAction.callback')
.should('be.called')
.its('firstCall.args.0')
.as('args')
cy.url().then(url => {
const cardId = url.split('/').pop()
cy.get('@args').should('have.property', 'name', 'Hello world')
cy.get('@args').should('have.property', 'stackname', 'TestList')
cy.get('@args').should('have.property', 'boardname', 'MyTestBoard')
cy.get('@args').its('link').then((url) => {
expect(url.split('/').pop() === cardId).to.be.true
cy.visit(url)
cy.get('#app-sidebar-vue')
.find('.ProseMirror h1').contains('Hello world').should('be.visible')
})
})
})
})
})

View File

@@ -1,5 +1,4 @@
import { randUser } from '../utils/index.js'
import { sampleBoard } from '../utils/sampleBoard'
const user = randUser()
describe('Deck dashboard', function() {
@@ -9,18 +8,16 @@ describe('Deck dashboard', function() {
beforeEach(function() {
cy.login(user)
cy.visit('/apps/deck')
})
it('Can show the right title on the dashboard', function() {
cy.visit('/apps/deck')
cy.get('.board-title h2')
.should('have.length', 1).first()
.should($el => expect($el.text().trim()).to.equal('Upcoming cards'))
.should('have.text', 'Upcoming cards')
})
it('Can see the default "Personal Board" created for user by default', function() {
cy.visit('/apps/deck')
const defaultBoard = 'Personal'
cy.get('.app-navigation-entry-wrapper[icon=icon-deck]')
@@ -29,29 +26,4 @@ describe('Deck dashboard', function() {
.contains(defaultBoard)
.should('be.visible')
})
it('Shows a card with due date on the overview', function() {
cy.createExampleBoard({
user,
board: sampleBoard(),
}).then((board) => {
cy.visit(`/apps/deck/#/board/${board.id}`)
cy.intercept({ method: 'PUT', url: '**/apps/deck/cards/**' }).as('updateCard')
const newCardTitle = 'Hello world'
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible').click()
cy.get('#app-sidebar-vue [data-cy-due-date-actions]').should('be.visible').click()
cy.get('[data-cy-due-date-shortcut="tomorrow"] button').should('be.visible').click()
cy.wait('@updateCard')
cy.get('button[title="Close sidebar"]').click()
cy.get('.app-navigation-entry:contains("Upcoming cards") a').click()
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible')
cy.get('.dashboard-column:contains("Tomorrow")').should('be.visible')
cy.get('.dashboard-column:contains("Tomorrow") .card:contains("Hello world")').should('be.visible')
})
})
})

View File

@@ -80,7 +80,7 @@ An ETag header is returned in order to determine if further child elements have
- Fetch a single card of a board `GET /api/v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}`
- Fetch attachments of a card `GET /api/v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}/attachments`
If a `If-None-Match` header is provided and the requested element has not changed a `304` Not Modified response will be returned.
If a `If-None-Match` header is provided and the requested element has not changed a `304` Not Modified response will be returned.
Changes of child elements will propagate to their parents and also cause an update of the ETag which will be useful for determining if a sync is necessary on any client integration side. As an example, if a label is added to a card, the ETag of all related entities (the card, stack and board) will change.
@@ -117,7 +117,6 @@ This API version has become available with **Deck 1.3.0**.
- [GET /boards/import/getSystems - Import a board](#get-boardsimportgetsystems-import-a-board)
- [GET /boards/import/config/system/{schema} - Import a board](#get-boardsimportconfigsystemschema-import-a-board)
- [POST /boards/import - Import a board](#post-boardsimport-import-a-board)
- The `done` property was added to cards
# Endpoints
@@ -588,7 +587,7 @@ The board list endpoint supports setting an `If-Modified-Since` header to limit
#### Response
```json
{
{
"title":"Test",
"description":null,
"stackId":6,
@@ -602,7 +601,6 @@ The board list endpoint supports setting an `If-Modified-Since` header to limit
"owner":"admin",
"order":999,
"archived":false,
"done":null,
"duedate": "2019-12-24T19:29:30+00:00",
"deletedAt":0,
"commentsUnread":0,
@@ -625,28 +623,22 @@ The board list endpoint supports setting an `If-Modified-Since` header to limit
#### Request data
| Parameter | Type | Description |
|-------------|-----------------|-----------------------------------------------------------------------------------------------------|
| title | String | The title of the card, maximum length is limited to 255 characters |
| description | String | The markdown description of the card |
| type | String | Type of the card (for later use) use 'plain' for now |
| owner | String | The user that owns the card |
| order | Integer | Order for sorting the stacks |
| duedate | timestamp | The ISO-8601 formatted duedate of the card or null |
| archived | bool | Whether the card is archived or not |
| done | timestamp\|null | The ISO-8601 formatted date when the card is marked as done (optional, null indicates undone state) |
| Parameter | Type | Description |
|-------------|-----------|------------------------------------------------------|
| title | String | The title of the card, maximum length is limited to 255 characters |
| description | String | The markdown description of the card |
| type | String | Type of the card (for later use) use 'plain' for now |
| order | Integer | Order for sorting the stacks |
| duedate | timestamp | The ISO-8601 formatted duedate of the card or null |
```
{
{
"title": "Test card",
"description": "A card description",
"type": "plain",
"owner": "admin",
"order": 999,
"duedate": "2019-12-24T19:29:30+00:00",
"archived": false,
"done": null,
}
```
@@ -985,7 +977,7 @@ For now only `deck_file` is supported as an attachment type.
### DELETE /boards/{boardId}/stacks/{stackId}/cards/{cardId}/attachments/{attachmentId} - Delete an attachment
#### Request parameters
| Parameter | Type | Description |
@@ -1059,12 +1051,12 @@ Make a request to see the json schema of system
# OCS API
The following endpoints are available through the Nextcloud OCS endpoint, which is available at `/ocs/v2.php/apps/deck/api/v1.0/`.
The following endpoints are available through the Nextcloud OCS endpoint, which is available at `/ocs/v2.php/apps/deck/api/v1.0/`.
This has the benefit that both the web UI as well as external integrations can use the same API.
## Config
Deck stores user and app configuration values globally and per board. The GET endpoint allows to fetch the current global configuration while board settings will be exposed through the board element on the regular API endpoints.
Deck stores user and app configuration values globally and per board. The GET endpoint allows to fetch the current global configuration while board settings will be exposed through the board element on the regular API endpoints.
### GET /api/v1.0/config - Fetch app configuration values
@@ -1072,10 +1064,10 @@ Deck stores user and app configuration values globally and per board. The GET en
| Config key | Description |
| --- | --- |
| calendar | Determines if the calendar/tasks integration through the CalDAV backend is enabled for the user (boolean) |
| cardDetailsInModal | Determines if the bigger view is used (boolean) |
| cardIdBadge | Determines if the ID badges are displayed on cards (boolean) |
| groupLimit | Determines if creating new boards is limited to certain groups of the instance. The resulting output is an array of group objects with the id and the displayname (Admin only)|
| calendar | Determines if the calendar/tasks integration through the CalDAV backend is enabled for the user (boolean) |
| cardDetailsInModal | Determines if the bigger view is used (boolean) |
| cardIdBadge | Determines if the ID badges are displayed on cards (boolean) |
| groupLimit | Determines if creating new boards is limited to certain groups of the instance. The resulting output is an array of group objects with the id and the displayname (Admin only)|
```
{
@@ -1120,7 +1112,7 @@ Deck stores user and app configuration values globally and per board. The GET en
| calendar | Boolean |
| cardDetailsInModal | Boolean |
| cardIdBadge | Boolean |
#### Example request
```
@@ -1194,7 +1186,7 @@ A list of comments will be provided under the `ocs.data` key. If no or no more c
}
```
In case a comment is marked as a reply to another comment object, the parent comment will be added as `replyTo` entry to the response. Only the next parent node is added, nested replies are not exposed directly.
In case a comment is marked as a reply to another comment object, the parent comment will be added as `replyTo` entry to the response. Only the next parent node is added, nested replies are not exposed directly.
```json
[

View File

@@ -12,12 +12,11 @@ Overall, Deck is easy to use. You can create boards, add users, share the Deck,
1. [Create my first board](#1-create-my-first-board)
2. [Create stacks and cards](#2-create-stacks-and-cards)
3. [Handle cards options](#3-handle-cards-options)
4. [Mark task as done](#4-mark-as-done)
5. [Archive old tasks](#5-archive-old-tasks)
6. [Manage your board](#6-manage-your-board)
7. [Import boards](#7-import-boards)
8. [Search](#8-search)
9. [New owner for the deck entities](#9-new-owner-for-the-deck-entities)
4. [Archive old tasks](#4-archive-old-tasks)
5. [Manage your board](#5-manage-your-board)
6. [Import boards](#6-import-boards)
7. [Search](#7-search)
8. [New owner for the deck entities](#8-new-owner-for-the-deck-entities)
### 1. Create my first board
In this example, we're going to create a board and share it with an other nextcloud user.
@@ -26,7 +25,7 @@ In this example, we're going to create a board and share it with an other nextcl
### 2. Create stacks and cards
Stacks are simply columns with list of cards. It can represent a category of tasks or any step in your projects for example.
Stacks are simply columns with list of cards. It can represent a category of tasks or an y step in your projects for example.
**Check this out :**
![Gif for creating columns](resources/gifs/EN_create_columns.gif)
@@ -54,18 +53,12 @@ And even :
![Gif for puting infos on tasks 2](resources/gifs/EN_put_infos_2.gif)
### 4. Mark as done
Once a task has been completed, you can mark it as done. This will prevent it from becoming overdue and hide it from the upcoming cards.
You can mark it as not done at any time.
### 4. Archive old tasks
Once finished or obsolete, a task could be archived. The tasks is not deleted, it's just archived, and you can retrieve it later
![Gif for marking a card as done](resources/gifs/EN_done.gif)
![Gif for puting infos on tasks 2](resources/gifs/EN_archive.gif)
### 5. Archive old tasks
Once obsolete, a task could be archived. The task is not deleted, it's just archived, and you can retrieve it later
![Gif for archiving a task](resources/gifs/EN_archive.gif)
### 6. Manage your board
### 5. Manage your board
You can manage the settings of your Deck once you are inside it, by clicking on the small wheel at the top right.
Once in this menu, you have access to several things:
@@ -79,7 +72,7 @@ The **sharing tab** allows you to add users or even groups to your boards.
**Deleted objects** allows you to return previously deleted stacks or cards.
The **Timeline** allows you to see everything that happened in your boards. Everything!
### 7. Import boards
### 6. Import boards
Importing can be done using the API or the `occ` `deck:import` command.
@@ -145,7 +138,7 @@ Example configuration file:
}
```
### 8. Search
### 7. Search
Deck provides a global search either through the unified search in the Nextcloud header or with the inline search next to the board controls.
This search allows advanced filtering of cards across all board of the logged in user.
@@ -168,7 +161,7 @@ Other text tokens will be used to perform a case-insensitive search on the card
In addition, quotes can be used to pass a query with spaces, e.g. `"Exact match with spaces"` or `title:"My card"`.
### 9. New owner for the deck entities
### 8. New owner for the deck entities
You can transfer ownership of boards, cards, etc to a new user, using `occ` command `deck:transfer-ownership`
```bash

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

View File

@@ -46,8 +46,8 @@ use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\Comments\IComment;
use OCP\IUser;
use OCP\L10N\IFactory;
use OCP\Server;
use OCP\L10N\IFactory;
use Psr\Log\LoggerInterface;
class ActivityManager {
@@ -92,8 +92,6 @@ class ActivityManager {
public const SUBJECT_CARD_UPDATE_DUEDATE = 'card_update_duedate';
public const SUBJECT_CARD_UPDATE_ARCHIVE = 'card_update_archive';
public const SUBJECT_CARD_UPDATE_UNARCHIVE = 'card_update_unarchive';
public const SUBJECT_CARD_UPDATE_DONE = 'card_update_done';
public const SUBJECT_CARD_UPDATE_UNDONE = 'card_update_undone';
public const SUBJECT_CARD_UPDATE_STACKID = 'card_update_stackId';
public const SUBJECT_CARD_USER_ASSIGN = 'card_user_assign';
public const SUBJECT_CARD_USER_UNASSIGN = 'card_user_unassign';
@@ -201,12 +199,6 @@ class ActivityManager {
case self::SUBJECT_CARD_UPDATE_UNARCHIVE:
$subject = $ownActivity ? $l->t('You have unarchived card {card} in list {stack} on board {board}') : $l->t('{user} has unarchived card {card} in list {stack} on board {board}');
break;
case self::SUBJECT_CARD_UPDATE_DONE:
$subject = $ownActivity ? $l->t('You have marked the card {card} as done in list {stack} on board {board}') : $l->t('{user} has marked card {card} as done in list {stack} on board {board}');
break;
case self::SUBJECT_CARD_UPDATE_UNDONE:
$subject = $ownActivity ? $l->t('You have marked the card {card} as undone in list {stack} on board {board}') : $l->t('{user} has marked the card {card} as undone in list {stack} on board {board}');
break;
case self::SUBJECT_CARD_UPDATE_DUEDATE:
if (!isset($subjectParams['after'])) {
$subject = $ownActivity ? $l->t('You have removed the due date of card {card}') : $l->t('{user} has removed the due date of card {card}');
@@ -341,8 +333,8 @@ class ActivityManager {
case self::SUBJECT_BOARD_UPDATE_ARCHIVED:
case self::SUBJECT_BOARD_DELETE:
case self::SUBJECT_BOARD_RESTORE:
// Not defined as there is no activity for
// case self::SUBJECT_BOARD_UPDATE_COLOR
// Not defined as there is no activity for
// case self::SUBJECT_BOARD_UPDATE_COLOR
break;
case self::SUBJECT_CARD_COMMENT_CREATE:
$eventType = 'deck_comment';
@@ -366,8 +358,6 @@ class ActivityManager {
case self::SUBJECT_CARD_DELETE:
case self::SUBJECT_CARD_UPDATE_ARCHIVE:
case self::SUBJECT_CARD_UPDATE_UNARCHIVE:
case self::SUBJECT_CARD_UPDATE_DONE:
case self::SUBJECT_CARD_UPDATE_UNDONE:
case self::SUBJECT_CARD_UPDATE_TITLE:
case self::SUBJECT_CARD_UPDATE_DESCRIPTION:
case self::SUBJECT_CARD_UPDATE_DUEDATE:
@@ -385,7 +375,7 @@ class ActivityManager {
$additionalParams['before'] = $additionalParams['before']->format('c');
}
break;
break;
case self::SUBJECT_ATTACHMENT_CREATE:
case self::SUBJECT_ATTACHMENT_UPDATE:
case self::SUBJECT_ATTACHMENT_DELETE:

View File

@@ -23,12 +23,12 @@
namespace OCA\Deck\Activity;
use \OCP\Comments\ICommentsEventHandler;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Db\ChangeHelper;
use OCA\Deck\Notification\NotificationHelper;
use OCP\Comments\CommentsEvent;
use OCP\Comments\IComment;
use \OCP\Comments\ICommentsEventHandler;
class CommentEventHandler implements ICommentsEventHandler {

View File

@@ -26,7 +26,6 @@
namespace OCA\Deck\Activity;
use OCA\Deck\Db\Acl;
use OCA\Deck\Service\CardService;
use OCP\Activity\IEvent;
use OCP\Activity\IProvider;
use OCP\Comments\IComment;
@@ -36,6 +35,7 @@ use OCP\IConfig;
use OCP\IURLGenerator;
use OCP\IUserManager;
use OCP\L10N\IFactory;
use OCA\Deck\Service\CardService;
class DeckProvider implements IProvider {
@@ -192,28 +192,28 @@ class DeckProvider implements IProvider {
private function getIcon(IEvent $event) {
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('deck', 'deck-dark.svg')));
if (str_contains($event->getSubject(), '_update')) {
if (strpos($event->getSubject(), '_update') !== false) {
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('files', 'change.svg')));
}
if (str_contains($event->getSubject(), '_create')) {
if (strpos($event->getSubject(), '_create') !== false) {
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('files', 'add-color.svg')));
}
if (str_contains($event->getSubject(), '_delete')) {
if (strpos($event->getSubject(), '_delete') !== false) {
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('files', 'delete-color.svg')));
}
if (str_contains($event->getSubject(), 'archive')) {
if (strpos($event->getSubject(), 'archive') !== false) {
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('deck', 'archive.svg')));
}
if (str_contains($event->getSubject(), '_restore')) {
if (strpos($event->getSubject(), '_restore') !== false) {
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/history.svg')));
}
if (str_contains($event->getSubject(), 'attachment_')) {
if (strpos($event->getSubject(), 'attachment_') !== false) {
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'places/files.svg')));
}
if (str_contains($event->getSubject(), 'comment_')) {
if (strpos($event->getSubject(), 'comment_') !== false) {
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/comment.svg')));
}
if (str_contains($event->getSubject(), 'label_')) {
if (strpos($event->getSubject(), 'label_') !== false) {
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/tag.svg')));
}
return $event;

View File

@@ -23,7 +23,7 @@
namespace OCA\Deck\Activity;
class SettingDescription extends SettingBase {
class DescriptionSetting extends Setting {
/**
* @return string Lowercase a-z and underscore only identifier
@@ -38,6 +38,6 @@ class SettingDescription extends SettingBase {
* @since 11.0.0
*/
public function getName(): string {
return $this->l->t('A <strong>card description</strong> has been changed');
return $this->l->t('A <strong>card description</strong> inside the Deck app has been changed');
}
}

View File

@@ -23,10 +23,9 @@
namespace OCA\Deck\Activity;
use OCP\Activity\ActivitySettings;
use OCP\IL10N;
abstract class SettingBase extends ActivitySettings {
class Setting implements \OCP\Activity\ISetting {
/** @var IL10N */
protected $l;
@@ -38,14 +37,6 @@ abstract class SettingBase extends ActivitySettings {
$this->l = $l;
}
public function getGroupIdentifier() {
return 'deck';
}
public function getGroupName() {
return $this->l->t('Deck');
}
/**
* @return string Lowercase a-z and underscore only identifier
* @since 11.0.0

View File

@@ -1,84 +0,0 @@
<?php
/**
* @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace OCA\Deck\Activity;
class SettingChanges extends SettingBase {
/**
* @return string Lowercase a-z and underscore only identifier
* @since 11.0.0
*/
public function getIdentifier(): string {
return 'deck';
}
/**
* @return string A translated string
* @since 11.0.0
*/
public function getName(): string {
return $this->l->t('A <strong>board, list or card</strong> was changed');
}
/**
* @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.
* @since 11.0.0
*/
public function getPriority(): int {
return 90;
}
/**
* @return bool True when the option can be changed for the stream
* @since 11.0.0
*/
public function canChangeStream(): bool {
return true;
}
/**
* @return bool True when the option can be changed for the stream
* @since 11.0.0
*/
public function isDefaultEnabledStream(): bool {
return true;
}
/**
* @return bool True when the option can be changed for the mail
* @since 11.0.0
*/
public function canChangeMail(): bool {
return true;
}
/**
* @return bool True when the option can be changed for the stream
* @since 11.0.0
*/
public function isDefaultEnabledMail(): bool {
return false;
}
}

View File

@@ -23,7 +23,7 @@
namespace OCA\Deck\Activity;
class SettingComment extends SettingBase {
class SettingComment extends Setting {
/**
* @return string Lowercase a-z and underscore only identifier

View File

@@ -30,9 +30,7 @@ use OCA\Deck\Activity\CommentEventHandler;
use OCA\Deck\Capabilities;
use OCA\Deck\Collaboration\Resources\ResourceProvider;
use OCA\Deck\Collaboration\Resources\ResourceProviderCard;
use OCA\Deck\Dashboard\DeckWidgetToday;
use OCA\Deck\Dashboard\DeckWidgetTomorrow;
use OCA\Deck\Dashboard\DeckWidgetUpcoming;
use OCA\Deck\Dashboard\DeckWidget;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Event\AclCreatedEvent;
@@ -45,24 +43,22 @@ use OCA\Deck\Event\CardUpdatedEvent;
use OCA\Deck\Event\SessionClosedEvent;
use OCA\Deck\Event\SessionCreatedEvent;
use OCA\Deck\Listeners\BeforeTemplateRenderedListener;
use OCA\Deck\Listeners\FullTextSearchEventListener;
use OCA\Deck\Listeners\LiveUpdateListener;
use OCA\Deck\Listeners\ParticipantCleanupListener;
use OCA\Deck\Listeners\FullTextSearchEventListener;
use OCA\Deck\Listeners\ResourceAdditionalScriptsListener;
use OCA\Deck\Listeners\ResourceListener;
use OCA\Deck\Listeners\LiveUpdateListener;
use OCA\Deck\Middleware\DefaultBoardMiddleware;
use OCA\Deck\Middleware\ExceptionMiddleware;
use OCA\Deck\Notification\Notifier;
use OCA\Deck\Reference\BoardReferenceProvider;
use OCA\Deck\Reference\CardReferenceProvider;
use OCA\Deck\Reference\CommentReferenceProvider;
use OCA\Deck\Reference\CreateCardReferenceProvider;
use OCA\Deck\Search\CardCommentProvider;
use OCA\Deck\Search\DeckProvider;
use OCA\Deck\Service\PermissionService;
use OCA\Deck\Sharing\DeckShareProvider;
use OCA\Deck\Sharing\Listener;
use OCA\Text\Event\LoadEditor;
use OCP\AppFramework\App;
use OCP\AppFramework\Bootstrap\IBootContext;
use OCP\AppFramework\Bootstrap\IBootstrap;
@@ -87,8 +83,6 @@ class Application extends App implements IBootstrap {
public const COMMENT_ENTITY_TYPE = 'deckCard';
private $referenceLoaded = false;
public function __construct(array $urlParams = []) {
parent::__construct(self::APP_ID, $urlParams);
@@ -96,12 +90,8 @@ class Application extends App implements IBootstrap {
// (and use a listener class)
$container = $this->getContainer();
$eventDispatcher = $container->get(IEventDispatcher::class);
$eventDispatcher->addListener(RenderReferenceEvent::class, function (RenderReferenceEvent $e) use ($eventDispatcher) {
$eventDispatcher->addListener(RenderReferenceEvent::class, function () {
Util::addScript(self::APP_ID, self::APP_ID . '-reference');
if (!$this->referenceLoaded && class_exists(LoadEditor::class)) {
$this->referenceLoaded = true;
$eventDispatcher->dispatchTyped(new LoadEditor());
}
});
}
@@ -137,11 +127,7 @@ class Application extends App implements IBootstrap {
$context->registerSearchProvider(DeckProvider::class);
$context->registerSearchProvider(CardCommentProvider::class);
$context->registerDashboardWidget(DeckWidgetUpcoming::class);
$context->registerDashboardWidget(DeckWidgetToday::class);
$context->registerDashboardWidget(DeckWidgetTomorrow::class);
$context->registerReferenceProvider(CreateCardReferenceProvider::class);
$context->registerDashboardWidget(DeckWidget::class);
// reference widget
$context->registerReferenceProvider(CardReferenceProvider::class);

View File

@@ -43,7 +43,7 @@ class Capabilities implements ICapability {
/**
* Function an app uses to return the capabilities
*
* @return array{deck: array{version: string, canCreateBoards: bool, apiVersions: array<string>}}
* @return array Array containing the apps capabilities
* @since 8.2.0
*/
public function getCapabilities() {

View File

@@ -22,19 +22,18 @@
*/
namespace OCA\Deck\Controller;
use OCA\Deck\Service\AttachmentService;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
use OCA\Deck\Service\AttachmentService;
class AttachmentApiController extends ApiController {
public function __construct(
$appName,
IRequest $request,
private AttachmentService $attachmentService,
) {
private $attachmentService;
public function __construct($appName, IRequest $request, AttachmentService $attachmentService) {
parent::__construct($appName, $request);
$this->attachmentService = $attachmentService;
}
/**

View File

@@ -28,12 +28,13 @@ use OCP\AppFramework\Controller;
use OCP\IRequest;
class AttachmentController extends Controller {
public function __construct(
$appName,
IRequest $request,
private AttachmentService $attachmentService,
) {
/** @var AttachmentService */
private $attachmentService;
public function __construct($appName, IRequest $request, AttachmentService $attachmentService) {
parent::__construct($appName, $request);
$this->attachmentService = $attachmentService;
}
/**
@@ -52,7 +53,7 @@ class AttachmentController extends Controller {
* @throws \OCA\Deck\NotFoundException
*/
public function display($cardId, $attachmentId) {
if (!str_contains($attachmentId, ':')) {
if (strpos($attachmentId, ':') === false) {
$type = 'deck_file';
} else {
[$type, $attachmentId] = explode(':', $attachmentId);
@@ -75,7 +76,7 @@ class AttachmentController extends Controller {
* @NoAdminRequired
*/
public function update($cardId, $attachmentId) {
if (!str_contains($attachmentId, ':')) {
if (strpos($attachmentId, ':') === false) {
$type = 'deck_file';
} else {
[$type, $attachmentId] = explode(':', $attachmentId);
@@ -87,7 +88,7 @@ class AttachmentController extends Controller {
* @NoAdminRequired
*/
public function delete($cardId, $attachmentId) {
if (!str_contains($attachmentId, ':')) {
if (strpos($attachmentId, ':') === false) {
$type = 'deck_file';
} else {
[$type, $attachmentId] = explode(':', $attachmentId);
@@ -99,7 +100,7 @@ class AttachmentController extends Controller {
* @NoAdminRequired
*/
public function restore($cardId, $attachmentId) {
if (!str_contains($attachmentId, ':')) {
if (strpos($attachmentId, ':') === false) {
$type = 'deck_file';
} else {
[$type, $attachmentId] = explode(':', $attachmentId);

View File

@@ -25,13 +25,13 @@
namespace OCA\Deck\Controller;
use OCA\Deck\Db\Board;
use OCA\Deck\Service\BoardService;
use OCA\Deck\StatusException;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
use OCA\Deck\Service\BoardService;
use Sabre\HTTP\Util;
/**
@@ -40,16 +40,18 @@ use Sabre\HTTP\Util;
* @package OCA\Deck\Controller
*/
class BoardApiController extends ApiController {
private $boardService;
/**
* @param string $appName
* @param IRequest $request
* @param BoardService $service
* @param $userId
*/
public function __construct(
$appName,
IRequest $request,
private BoardService $boardService,
private $userId,
) {
public function __construct($appName, IRequest $request, BoardService $service, $userId) {
parent::__construct($appName, $request);
$this->boardService = $service;
$this->userId = $userId;
}
/**

View File

@@ -33,14 +33,15 @@ use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
class BoardController extends ApiController {
public function __construct(
$appName,
IRequest $request,
private BoardService $boardService,
private PermissionService $permissionService,
private $userId,
) {
private $userId;
private $boardService;
private $permissionService;
public function __construct($appName, IRequest $request, BoardService $boardService, PermissionService $permissionService, $userId) {
parent::__construct($appName, $request);
$this->userId = $userId;
$this->boardService = $boardService;
$this->permissionService = $permissionService;
}
/**
@@ -143,7 +144,7 @@ class BoardController extends ApiController {
/**
* @NoAdminRequired
* @param $aclId
* @return \OCP\AppFramework\Db\Entity|null
* @return \OCP\AppFramework\Db\Entity
*/
public function deleteAcl($aclId) {
return $this->boardService->deleteAcl($aclId);

View File

@@ -30,13 +30,20 @@ use OCP\AppFramework\OCSController;
use OCP\IRequest;
class BoardImportApiController extends OCSController {
/** @var BoardImportService */
private $boardImportService;
/** @var string */
private $userId;
public function __construct(
string $appName,
IRequest $request,
private BoardImportService $boardImportService,
private string $userId,
BoardImportService $boardImportService,
string $userId
) {
parent::__construct($appName, $request);
$this->boardImportService = $boardImportService;
$this->userId = $userId;
}
/**

View File

@@ -23,38 +23,36 @@
*
*/
namespace OCA\Deck\Controller;
namespace OCA\Deck\Controller;
use OCA\Deck\Model\OptionalNullableValue;
use OCA\Deck\Service\AssignmentService;
use OCA\Deck\Service\CardService;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
use OCA\Deck\Service\AssignmentService;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
use OCA\Deck\Service\CardService;
/**
* Class BoardApiController
*
* @package OCA\Deck\Controller
*/
/**
* Class BoardApiController
*
* @package OCA\Deck\Controller
*/
class CardApiController extends ApiController {
private $cardService;
private $userId;
private $assignmentService;
/**
* @param string $appName
* @param IRequest $request
* @param CardService $cardService
* @param AssignmentService $assignmentService
* @param $userId
*/
public function __construct(
string $appName,
IRequest $request,
private CardService $cardService,
private AssignmentService $assignmentService,
private $userId,
) {
public function __construct($appName, IRequest $request, CardService $cardService, AssignmentService $assignmentService, $userId) {
parent::__construct($appName, $request);
$this->cardService = $cardService;
$this->userId = $userId;
$this->assignmentService = $assignmentService;
}
/**
@@ -83,17 +81,8 @@ class CardApiController extends ApiController {
*
* Get a specific card.
*/
public function create($title, $type = 'plain', $order = 999, $description = '', $duedate = null, $labels = [], $users = []) {
public function create($title, $type = 'plain', $order = 999, $description = '', $duedate = null) {
$card = $this->cardService->create($title, $this->request->getParam('stackId'), $type, $order, $this->userId, $description, $duedate);
foreach ($labels as $labelId) {
$this->cardService->assignLabel($card->id, $labelId);
}
foreach ($users as $user) {
$this->assignmentService->assignUser($card->id, $user['id'], $user['type']);
}
return new DataResponse($card, HTTP::STATUS_OK);
}
@@ -106,8 +95,7 @@ class CardApiController extends ApiController {
* Update a card
*/
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);
$card = $this->cardService->update($this->request->getParam('cardId'), $title, $this->request->getParam('stackId'), $type, $owner, $description, $order, $duedate, 0, $archived);
return new DataResponse($card, HTTP::STATUS_OK);
}

View File

@@ -25,18 +25,19 @@ namespace OCA\Deck\Controller;
use OCA\Deck\Service\AssignmentService;
use OCA\Deck\Service\CardService;
use OCP\AppFramework\Controller;
use OCP\IRequest;
use OCP\AppFramework\Controller;
class CardController extends Controller {
public function __construct(
$appName,
IRequest $request,
private CardService $cardService,
private AssignmentService $assignmentService,
private $userId,
) {
private $userId;
private $cardService;
private $assignmentService;
public function __construct($appName, IRequest $request, CardService $cardService, AssignmentService $assignmentService, $userId) {
parent::__construct($appName, $request);
$this->userId = $userId;
$this->cardService = $cardService;
$this->assignmentService = $assignmentService;
}
/**
@@ -77,18 +78,8 @@ class CardController extends Controller {
* @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) {
$this->assignLabel($card->id, $label);
}
foreach ($users as $user) {
$this->assignmentService->assignUser($card->id, $user['id'], $user['type']);
}
return $card;
public function create($title, $stackId, $type = 'plain', $order = 999, string $description = '') {
return $this->cardService->create($title, $stackId, $type, $order, $this->userId, $description);
}
/**
@@ -143,24 +134,6 @@ class CardController extends Controller {
return $this->cardService->unarchive($cardId);
}
/**
* @NoAdminRequired
* @param $cardId
* @return \OCP\AppFramework\Db\Entity
*/
public function done(int $cardId) {
return $this->cardService->done($cardId);
}
/**
* @NoAdminRequired
* @param $cardId
* @return \OCP\AppFramework\Db\Entity
*/
public function undone(int $cardId) {
return $this->cardService->undone($cardId);
}
/**
* @NoAdminRequired
* @param $cardId

View File

@@ -31,15 +31,18 @@ use OCP\AppFramework\OCSController;
use OCP\IRequest;
class CommentsApiController extends OCSController {
/** @var CommentService */
private $commentService;
public function __construct(
string $appName,
IRequest $request,
private CommentService $commentService,
string $corsMethods = 'PUT, POST, GET, DELETE, PATCH',
string $corsAllowedHeaders = 'Authorization, Content-Type, Accept',
int $corsMaxAge = 1728000,
CommentService $commentService,
string $corsMethods = 'PUT, POST, GET, DELETE, PATCH', string $corsAllowedHeaders = 'Authorization, Content-Type, Accept', int $corsMaxAge = 1728000
) {
parent::__construct($appName, $request, $corsMethods, $corsAllowedHeaders, $corsMaxAge);
$this->commentService = $commentService;
}
/**

View File

@@ -30,12 +30,16 @@ use OCP\AppFramework\OCSController;
use OCP\IRequest;
class ConfigController extends OCSController {
private $configService;
public function __construct(
$AppName,
IRequest $request,
private ConfigService $configService,
) {
ConfigService $configService
) {
parent::__construct($AppName, $request);
$this->configService = $configService;
}
/**

View File

@@ -23,11 +23,11 @@
namespace OCA\Deck\Controller;
use OCA\Deck\Service\LabelService;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
use OCA\Deck\Service\LabelService;
/**
* Class BoardApiController
@@ -35,18 +35,21 @@ use OCP\IRequest;
* @package OCA\Deck\Controller
*/
class LabelApiController extends ApiController {
private $labelService;
private $userId;
/**
* @param string $appName
* @param IRequest $request
* @param LabelService $labelService
* @param $userId
*/
public function __construct(
$appName,
IRequest $request,
private LabelService $labelService,
private $userId,
) {
public function __construct($appName, IRequest $request, LabelService $labelService, $userId) {
parent::__construct($appName, $request);
$this->labelService = $labelService;
$this->userId = $userId;
}
/**
* @NoAdminRequired
* @CORS

View File

@@ -24,16 +24,15 @@
namespace OCA\Deck\Controller;
use OCA\Deck\Service\LabelService;
use OCP\AppFramework\Controller;
use OCP\IRequest;
use OCP\AppFramework\Controller;
class LabelController extends Controller {
public function __construct(
$appName,
IRequest $request,
private LabelService $labelService,
) {
private $labelService;
public function __construct($appName, IRequest $request, LabelService $labelService) {
parent::__construct($appName, $request);
$this->labelService = $labelService;
}
/**

View File

@@ -32,13 +32,17 @@ use OCP\AppFramework\OCSController;
use OCP\IRequest;
class OverviewApiController extends OCSController {
public function __construct(
$appName,
IRequest $request,
private OverviewService $dashboardService,
private $userId,
) {
/** @var OverviewService */
private $dashboardService;
/** @var string */
private $userId;
public function __construct($appName, IRequest $request, OverviewService $dashboardService, $userId) {
parent::__construct($appName, $request);
$this->dashboardService = $dashboardService;
$this->userId = $userId;
}
/**

View File

@@ -23,53 +23,71 @@
namespace OCA\Deck\Controller;
use \OCP\AppFramework\Http\RedirectResponse;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Service\BoardService;
use OCA\Deck\Service\CardService;
use OCA\Deck\AppInfo\Application;
use OCA\Deck\Service\ConfigService;
use OCA\Deck\Service\PermissionService;
use OCA\Files\Event\LoadSidebar;
use OCA\Text\Event\LoadEditor;
use OCA\Viewer\Event\LoadViewer;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\ContentSecurityPolicy;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\AppFramework\Services\IInitialState;
use OCP\Collaboration\Resources\LoadAdditionalScriptsEvent as CollaborationResourcesEvent;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IConfig;
use OCP\IInitialStateService;
use OCP\IRequest;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\AppFramework\Controller;
use OCA\Deck\Db\CardMapper;
use OCP\IURLGenerator;
use \OCP\AppFramework\Http\RedirectResponse;
use OCA\Deck\Db\Acl;
use OCA\Deck\Service\CardService;
class PageController extends Controller {
private PermissionService $permissionService;
private IInitialStateService $initialState;
private ConfigService $configService;
private IEventDispatcher $eventDispatcher;
private CardMapper $cardMapper;
private IURLGenerator $urlGenerator;
private CardService $cardService;
private IConfig $config;
public function __construct(
string $AppName,
IRequest $request,
private PermissionService $permissionService,
private IInitialState $initialState,
private BoardService $boardService,
private ConfigService $configService,
private IEventDispatcher $eventDispatcher,
private CardMapper $cardMapper,
private IURLGenerator $urlGenerator,
private CardService $cardService,
private IConfig $config,
) {
PermissionService $permissionService,
IInitialStateService $initialStateService,
ConfigService $configService,
IEventDispatcher $eventDispatcher,
CardMapper $cardMapper,
IURLGenerator $urlGenerator,
CardService $cardService,
IConfig $config
) {
parent::__construct($AppName, $request);
$this->permissionService = $permissionService;
$this->initialState = $initialStateService;
$this->configService = $configService;
$this->eventDispatcher = $eventDispatcher;
$this->cardMapper = $cardMapper;
$this->urlGenerator = $urlGenerator;
$this->cardService = $cardService;
$this->config = $config;
}
#[NoAdminRequired]
#[NoCSRFRequired]
public function index(): TemplateResponse {
$this->initialState->provideInitialState('maxUploadSize', (int)\OCP\Util::uploadLimit());
$this->initialState->provideInitialState('canCreate', $this->permissionService->canCreate());
$this->initialState->provideInitialState('config', $this->configService->getAll());
$this->initialState->provideInitialState('initialBoards', $this->boardService->findAll());
/**
* Handle main html view from templates/main.php
* This will return the main angular application
*
* @NoAdminRequired
* @NoCSRFRequired
*/
public function index() {
$this->initialState->provideInitialState(Application::APP_ID, 'maxUploadSize', (int)\OCP\Util::uploadLimit());
$this->initialState->provideInitialState(Application::APP_ID, 'canCreate', $this->permissionService->canCreate());
$this->initialState->provideInitialState(Application::APP_ID, 'config', $this->configService->getAll());
$this->eventDispatcher->dispatchTyped(new LoadSidebar());
$this->eventDispatcher->dispatchTyped(new CollaborationResourcesEvent());
@@ -95,32 +113,10 @@ class PageController extends Controller {
return $response;
}
#[NoAdminRequired]
#[NoCSRFRequired]
public function indexList(): TemplateResponse {
return $this->index();
}
#[NoAdminRequired]
#[NoCSRFRequired]
public function indexBoard(int $boardId): TemplateResponse {
return $this->index();
}
#[NoAdminRequired]
#[NoCSRFRequired]
public function indexBoardDetails(int $boardId): TemplateResponse {
return $this->index();
}
#[NoAdminRequired]
#[NoCSRFRequired]
public function indexCard(int $cardId): TemplateResponse {
return $this->index();
}
#[NoAdminRequired]
#[NoCSRFRequired]
/**
* @NoAdminRequired
* @NoCSRFRequired
*/
public function redirectToCard($cardId): RedirectResponse {
try {
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_READ);

View File

@@ -34,12 +34,15 @@ use OCP\AppFramework\OCSController;
use OCP\IRequest;
class SearchController extends OCSController {
public function __construct(
string $appName,
IRequest $request,
private SearchService $searchService,
) {
/**
* @var SearchService
*/
private $searchService;
public function __construct(string $appName, IRequest $request, SearchService $searchService) {
parent::__construct($appName, $request);
$this->searchService = $searchService;
}
/**

View File

@@ -24,28 +24,35 @@ declare(strict_types=1);
namespace OCA\Deck\Controller;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Service\PermissionService;
use OCA\Deck\Service\SessionService;
use OCA\Deck\Service\PermissionService;
use OCA\Deck\Db\BoardMapper;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\OCSController;
use OCP\IRequest;
use OCA\Deck\Db\Acl;
class SessionController extends OCSController {
private SessionService $sessionService;
private PermissionService $permissionService;
private BoardMapper $boardMapper;
public function __construct($appName,
IRequest $request,
private SessionService $sessionService,
private PermissionService $permissionService,
private BoardMapper $boardMapper,
SessionService $sessionService,
PermissionService $permissionService,
BoardMapper $boardMapper
) {
parent::__construct($appName, $request);
$this->sessionService = $sessionService;
$this->permissionService = $permissionService;
$this->boardMapper = $boardMapper;
}
#[NoAdminRequired]
/**
* @NoAdminRequired
*/
public function create(int $boardId): DataResponse {
$this->permissionService->checkPermission($this->boardMapper, $boardId, Acl::PERMISSION_READ);
@@ -55,7 +62,11 @@ class SessionController extends OCSController {
]);
}
#[NoAdminRequired]
/**
* notifies the server that the session is still active
* @NoAdminRequired
* @param $boardId
*/
public function sync(int $boardId, string $token): DataResponse {
$this->permissionService->checkPermission($this->boardMapper, $boardId, Acl::PERMISSION_READ);
try {
@@ -66,12 +77,13 @@ class SessionController extends OCSController {
}
}
#[NoAdminRequired]
#[NoCSRFRequired]
public function close(int $boardId, string $token = null): DataResponse {
if ($token === null) {
return new DataResponse();
}
/**
* delete a session if existing
* @NoAdminRequired
* @NoCSRFRequired
* @param $boardId
*/
public function close(int $boardId, string $token) {
$this->permissionService->checkPermission($this->boardMapper, $boardId, Acl::PERMISSION_READ);
$this->sessionService->closeSession($boardId, $token);
return new DataResponse();

View File

@@ -24,13 +24,13 @@
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\DataResponse;
use OCP\IRequest;
use OCA\Deck\Service\StackService;
use OCA\Deck\Service\BoardService;
use Sabre\HTTP\Util;
/**
@@ -39,16 +39,18 @@ use Sabre\HTTP\Util;
* @package OCA\Deck\Controller
*/
class StackApiController extends ApiController {
private $boardService;
private $stackService;
/**
* @param string $appName
* @param IRequest $request
* @param StackService $stackService
*/
public function __construct(
$appName,
IRequest $request,
private StackService $stackService,
private BoardService $boardService,
) {
public function __construct($appName, IRequest $request, StackService $stackService, BoardService $boardService) {
parent::__construct($appName, $request);
$this->stackService = $stackService;
$this->boardService = $boardService;
}
/**

View File

@@ -25,18 +25,17 @@ namespace OCA\Deck\Controller;
use OCA\Deck\Service\StackService;
use OCP\AppFramework\Controller;
use OCP\IRequest;
use OCP\AppFramework\Controller;
class StackController extends Controller {
public function __construct(
string $appName,
IRequest $request,
private StackService $stackService,
private $userId,
) {
private $userId;
private $stackService;
public function __construct($appName, IRequest $request, StackService $stackService, $userId) {
parent::__construct($appName, $request);
$this->userId = $userId;
$this->stackService = $stackService;
}
/**

View File

@@ -24,10 +24,10 @@
namespace OCA\Deck\Cron;
use OCA\Deck\Activity\ActivityManager;
use OCA\Deck\Db\CardMapper;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\Job;
use OCA\Deck\Activity\ActivityManager;
use OCA\Deck\Db\CardMapper;
class CardDescriptionActivity extends Job {

View File

@@ -24,14 +24,14 @@
namespace OCA\Deck\Cron;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\TimedJob;
use OCA\Deck\Db\AttachmentMapper;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\InvalidAttachmentType;
use OCA\Deck\Service\AttachmentService;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\IJob;
use OCP\BackgroundJob\TimedJob;
class DeleteCron extends TimedJob {

View File

@@ -23,12 +23,12 @@
namespace OCA\Deck\Cron;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\Job;
use OCA\Deck\Db\Card;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Notification\NotificationHelper;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\Job;
use OCP\ILogger;
class ScheduledNotifications extends Job {

View File

@@ -39,8 +39,8 @@ class SessionsCleanup extends TimedJob {
public function __construct(ITimeFactory $time,
SessionService $sessionService,
ILogger $logger) {
SessionService $sessionService,
ILogger $logger) {
parent::__construct($time);
$this->sessionService = $sessionService;
$this->logger = $logger;

View File

@@ -40,7 +40,7 @@ use OCP\IL10N;
use OCP\IURLGenerator;
use OCP\Util;
class DeckWidgetUpcoming implements IAPIWidget, IButtonWidget, IIconWidget {
class DeckWidget implements IAPIWidget, IButtonWidget, IIconWidget {
private IL10N $l10n;
private OverviewService $dashboardService;
private IURLGenerator $urlGenerator;

View File

@@ -1,85 +0,0 @@
<?php
declare(strict_types=1);
/**
* @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace OCA\Deck\Dashboard;
use OCP\Dashboard\IWidget;
use OCP\IL10N;
class DeckWidgetToday implements IWidget {
/**
*
* @var IL10N
*/
private $l10n;
public function __construct(IL10N $l10n) {
$this->l10n = $l10n;
}
/**
* @inheritDoc
*/
public function getId(): string {
return 'deckToday';
}
/**
* @inheritDoc
*/
public function getTitle(): string {
return $this->l10n->t('Cards due today');
}
/**
* @inheritDoc
*/
public function getOrder(): int {
return 20;
}
/**
* @inheritDoc
*/
public function getIconClass(): string {
return 'icon-deck';
}
/**
* @inheritDoc
*/
public function getUrl(): ?string {
return null;
}
/**
* @inheritDoc
*/
public function load(): void {
\OCP\Util::addScript('deck', 'deck-dashboard');
}
}

View File

@@ -1,85 +0,0 @@
<?php
declare(strict_types=1);
/**
* @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace OCA\Deck\Dashboard;
use OCP\Dashboard\IWidget;
use OCP\IL10N;
class DeckWidgetTomorrow implements IWidget {
/**
*
* @var IL10N
*/
private $l10n;
public function __construct(IL10N $l10n) {
$this->l10n = $l10n;
}
/**
* @inheritDoc
*/
public function getId(): string {
return 'deckTomorrow';
}
/**
* @inheritDoc
*/
public function getTitle(): string {
return $this->l10n->t('Cards due tomorrow');
}
/**
* @inheritDoc
*/
public function getOrder(): int {
return 20;
}
/**
* @inheritDoc
*/
public function getIconClass(): string {
return 'icon-deck';
}
/**
* @inheritDoc
*/
public function getUrl(): ?string {
return null;
}
/**
* @inheritDoc
*/
public function load(): void {
\OCP\Util::addScript('deck', 'deck-dashboard');
}
}

View File

@@ -29,8 +29,8 @@ use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\QBMapper;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\IUserManager;
use OCP\IGroupManager;
use Psr\Log\LoggerInterface;
/** @template-extends QBMapper<Board> */
@@ -159,7 +159,7 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
}
public function findAllForUser(string $userId, ?int $since = null, bool $includeArchived = true, ?int $before = null,
?string $term = null): array {
?string $term = null): array {
$useCache = ($since === -1 && $includeArchived === true && $before === null && $term === null);
if (!isset($this->userBoardCache[$userId]) || !$useCache) {
$groups = $this->groupManager->getUserGroupIds(
@@ -198,7 +198,7 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
* Find all boards for a given user
*/
public function findAllByUser(string $userId, ?int $limit = null, ?int $offset = null, ?int $since = null,
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
// FIXME this used to be a UNION to get boards owned by $userId and the user shares in one single query
// Is it possible with the query builder?
$qb = $this->db->getQueryBuilder();
@@ -305,7 +305,7 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
* Find all boards for a given user
*/
public function findAllByGroups(string $userId, array $groups, ?int $limit = null, ?int $offset = null, ?int $since = null,
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
if (count($groups) <= 0) {
return [];
}
@@ -359,7 +359,7 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
}
public function findAllByCircles(string $userId, ?int $limit = null, ?int $offset = null, ?int $since = null,
bool $includeArchived = true, ?int $before = null, ?string $term = null) {
bool $includeArchived = true, ?int $before = null, ?string $term = null) {
$circles = $this->circlesService->getUserCircles($userId);
if (count($circles) === 0) {
return [];

View File

@@ -1,7 +1,4 @@
<?php
declare(strict_types=1);
/**
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
*
@@ -42,8 +39,6 @@ use Sabre\VObject\Component\VCalendar;
* @method int getDeletedAt()
* @method void setDeletedAt(int $deletedAt)
* @method bool getNotified()
* @method ?DateTime getDone()
* @method void setDone(?DateTime $done)
*
* @method void setLabels(Label[] $labels)
* @method null|Label[] getLabels()
@@ -90,7 +85,6 @@ class Card extends RelationalEntity {
protected $owner;
protected $order;
protected $archived = false;
protected $done = null;
protected $duedate;
protected $notified = false;
protected $deletedAt = 0;
@@ -114,7 +108,6 @@ class Card extends RelationalEntity {
$this->addType('lastModified', 'integer');
$this->addType('createdAt', 'integer');
$this->addType('archived', 'boolean');
$this->addType('done', 'datetime');
$this->addType('notified', 'boolean');
$this->addType('deletedAt', 'integer');
$this->addType('duedate', 'datetime');
@@ -148,21 +141,18 @@ class Card extends RelationalEntity {
$event->add('RELATED-TO', 'deck-stack-' . $this->getStackId());
// FIXME: For write support: CANCELLED / IN-PROCESS handling
if ($this->getDone() || $this->getArchived()) {
$event->STATUS = $this->getArchived() ? "COMPLETED" : "NEEDS-ACTION";
if ($this->getArchived()) {
$date = new DateTime();
$date->setTimestamp($this->getLastModified());
$event->STATUS = 'COMPLETED';
$event->COMPLETED = $this->getDone() ? $this->getDone() : $this->getArchived();
} else {
$event->STATUS = 'NEEDS-ACTION';
$event->COMPLETED = $date;
//$event->add('PERCENT-COMPLETE', 100);
}
if (count($this->getLabels()) > 0) {
$event->CATEGORIES = array_map(function ($label) {
return $label->getTitle();
}, $this->getLabels());
}
// $event->add('PERCENT-COMPLETE', 100);
$labels = $this->getLabels() ?? [];
$event->CATEGORIES = array_map(function ($label): string {
return $label->getTitle();
}, $labels);
$event->SUMMARY = $this->getTitle();
$event->DESCRIPTION = $this->getDescription();
@@ -189,7 +179,7 @@ class Card extends RelationalEntity {
return 'card';
}
public function getETag(): string {
public function getETag() {
return md5((string)$this->getLastModified());
}
}

View File

@@ -263,7 +263,6 @@ class CardMapper extends QBMapper implements IPermissionMapper {
->where($qb->expr()->in('s.board_id', $qb->createNamedParameter($boardIds, IQueryBuilder::PARAM_INT_ARRAY)))
->andWhere($qb->expr()->isNotNull('c.duedate'))
->andWhere($qb->expr()->eq('c.archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)))
->andWhere($qb->expr()->isNull('done'))
->andWhere($qb->expr()->eq('c.deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->eq('s.deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->eq('b.archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)))
@@ -285,7 +284,6 @@ class CardMapper extends QBMapper implements IPermissionMapper {
)
// Filter out archived/deleted cards and board
->andWhere($qb->expr()->eq('c.archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)))
->andWhere($qb->expr()->isNull('done'))
->andWhere($qb->expr()->eq('c.deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->eq('s.deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->eq('b.archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)))
@@ -300,7 +298,6 @@ class CardMapper extends QBMapper implements IPermissionMapper {
->where($qb->expr()->lt('duedate', $qb->createFunction('NOW()')))
->andWhere($qb->expr()->eq('notified', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)))
->andWhere($qb->expr()->eq('archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)))
->andWhere($qb->expr()->isNull('done'))
->andWhere($qb->expr()->eq('deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)));
return $this->findEntities($qb);
}
@@ -309,7 +306,8 @@ class CardMapper extends QBMapper implements IPermissionMapper {
$qb = $this->db->getQueryBuilder();
$qb->select('id', 'title', 'duedate', 'notified', 'description_prev', 'last_editor', 'description')
->from('deck_cards')
->where($qb->expr()->isNotNull('last_editor'));
->where($qb->expr()->isNotNull('last_editor'))
->andWhere($qb->expr()->isNotNull('description_prev'));
return $this->findEntities($qb);
}

View File

@@ -23,8 +23,8 @@
namespace OCA\Deck\Db;
use OCP\ICache;
use OCP\ICacheFactory;
use OCP\ICache;
use OCP\IDBConnection;
use OCP\IRequest;

View File

@@ -68,7 +68,7 @@ class RelationalEntity extends Entity implements \JsonSerializable {
$reflection = new \ReflectionClass($this);
$json = [];
foreach ($properties as $property => $value) {
if (!str_starts_with($property, '_') && $reflection->hasProperty($property)) {
if (strpos($property, '_') !== 0 && $reflection->hasProperty($property)) {
$propertyReflection = $reflection->getProperty($property);
if (!$propertyReflection->isPrivate() && !in_array($property, $this->_resolvedProperties, true)) {
$json[$property] = $this->getter($property);
@@ -129,7 +129,7 @@ class RelationalEntity extends Entity implements \JsonSerializable {
public function __call(string $methodName, array $args) {
$attr = lcfirst(substr($methodName, 7));
if (array_key_exists($attr, $this->_resolvedProperties) && str_starts_with($methodName, 'resolve')) {
if (array_key_exists($attr, $this->_resolvedProperties) && strpos($methodName, 'resolve') === 0) {
if ($this->_resolvedProperties[$attr] !== null) {
return $this->_resolvedProperties[$attr];
}
@@ -137,7 +137,7 @@ class RelationalEntity extends Entity implements \JsonSerializable {
}
$attr = lcfirst(substr($methodName, 3));
if (array_key_exists($attr, $this->_resolvedProperties) && str_starts_with($methodName, 'set')) {
if (array_key_exists($attr, $this->_resolvedProperties) && strpos($methodName, 'set') === 0) {
if ($args[0] !== null && !is_scalar($args[0])) {
$args[0] = $args[0]['primaryKey'];
}

View File

@@ -28,9 +28,9 @@ use OCP\AppFramework\Db\Entity;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\Cache\CappedMemoryCache;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
use OCP\ICache;
use OCP\ICacheFactory;
use OCP\IDBConnection;
/** @template-extends DeckMapper<Stack> */
class StackMapper extends DeckMapper implements IPermissionMapper {

View File

@@ -37,7 +37,7 @@ class User extends RelationalObject {
public function getObjectSerialization() {
return [
'uid' => $this->getObject()->getUID(),
'displayname' => $this->getDisplayName(),
'displayname' => $this->getObject()->getDisplayName(),
'type' => Acl::PERMISSION_TYPE_USER
];
}

View File

@@ -51,11 +51,11 @@ class BeforeTemplateRenderedListener implements IEventListener {
Util::addStyle('deck', 'deck');
$pathInfo = $this->request->getPathInfo();
if (str_starts_with($pathInfo, '/apps/calendar')) {
if (strpos($pathInfo, '/apps/calendar') === 0) {
Util::addScript('deck', 'deck-calendar');
}
if (str_starts_with($pathInfo, '/call/') || str_starts_with($pathInfo, '/apps/spreed')) {
if (strpos($pathInfo, '/call/') === 0 || strpos($pathInfo, '/apps/spreed') === 0) {
Util::addScript('deck', 'deck-talk');
}
}

View File

@@ -27,13 +27,13 @@ declare(strict_types=1);
namespace OCA\Deck\Listeners;
use OCA\Deck\Db\StackMapper;
use OCA\Deck\NotifyPushEvents;
use OCA\Deck\Event\AAclEvent;
use OCA\Deck\Event\ACardEvent;
use OCA\Deck\Event\BoardUpdatedEvent;
use OCA\Deck\Event\CardUpdatedEvent;
use OCA\Deck\Event\SessionClosedEvent;
use OCA\Deck\Event\SessionCreatedEvent;
use OCA\Deck\NotifyPushEvents;
use OCA\Deck\Service\SessionService;
use OCA\NotifyPush\Queue\IQueue;
use OCP\EventDispatcher\Event;

View File

@@ -21,7 +21,7 @@ class ResourceAdditionalScriptsListener implements IEventListener {
return;
}
if (str_starts_with($this->request->getPathInfo(), '/call/')) {
if (strpos($this->request->getPathInfo(), '/call/') === 0) {
// Talk integration has its own entrypoint which already includes collections handling
return;
}

View File

@@ -24,16 +24,16 @@
namespace OCA\Deck\Middleware;
use OCA\Deck\Controller\PageController;
use OCA\Deck\Exceptions\ConflictException;
use OCA\Deck\StatusException;
use OCA\Deck\Exceptions\ConflictException;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Middleware;
use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\OCS\OCSException;
use OCP\AppFramework\OCSController;
use OCP\IConfig;
use OCP\ILogger;
use OCP\IRequest;
use OCP\IConfig;
class ExceptionMiddleware extends Middleware {
@@ -109,7 +109,7 @@ class ExceptionMiddleware extends Middleware {
], $exception->getStatus());
}
if (str_starts_with(get_class($controller), 'OCA\\Deck\\Controller\\')) {
if (strpos(get_class($controller), 'OCA\\Deck\\Controller\\') === 0) {
$response = [
'status' => 500,
'message' => $exceptionMessage,

View File

@@ -1,61 +0,0 @@
<?php
declare(strict_types=1);
/**
* @copyright Copyright (c) 2023 Thanos kamber <thanos.kamber@gmail.com>
*
* @author Thanos kamber <thanos.kamber@gmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace OCA\Deck\Migration;
use Closure;
use OCP\DB\ISchemaWrapper;
use OCP\DB\Types;
use OCP\Migration\IOutput;
use OCP\Migration\SimpleMigrationStep;
/**
* Auto-generated migration step: Please modify to your needs!
*/
class Version1011Date20230901010840 extends SimpleMigrationStep {
/**
* @param IOutput $output
* @param Closure $schemaClosure
* @param array $options
* @return null|ISchemaWrapper
*/
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
/** @var ISchemaWrapper $schema */
$schema = $schemaClosure();
$table = $schema->getTable('deck_cards');
if (!$table->hasColumn('done')) {
$table->addColumn('done', Types::DATETIME, [
'default' => null,
'notnull' => false,
]);
return $schema;
}
return null;
}
}

View File

@@ -1,62 +0,0 @@
<?php
declare(strict_types=1);
/**
* @copyright Copyright (c) 2023 Your name <your@email.com>
*
* @author Your name <your@email.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace OCA\Deck\Migration;
use Closure;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\IOutput;
use OCP\Migration\SimpleMigrationStep;
class Version1011Date20231106160059 extends SimpleMigrationStep {
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
$schema = $schemaClosure();
$createIndex = false;
$table = $schema->getTable('deck_cards');
if (!$table->hasIndex('idx_last_editor')) {
$createIndex = true;
}
if (!$createIndex) {
$index = $table->getIndex('idx_last_editor');
if (in_array('description_prev', $index->getColumns(), true)) {
$table->dropIndex('idx_last_editor');
$createIndex = true;
}
}
if ($createIndex) {
$table->addIndex(['last_editor'], 'idx_last_editor');
return $schema;
}
return null;
}
}

View File

@@ -66,7 +66,7 @@ class Version10800Date20220422061816 extends SimpleMigrationStep {
$indexAdded = $this->addIndex($schema,
'deck_cards',
'idx_last_editor', [
'last_editor' /*, 'description_prev' */
'last_editor', 'description_prev'
], [],
// Adding a partial index on the description_prev as it is only used for a NULL check
['lengths' => [null, 1]]

View File

@@ -1,51 +0,0 @@
<?php
/**
* @copyright Copyright (c) 2023 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
namespace OCA\Deck\Model;
/**
* This is a helper abstraction to allow usage of optional parameters
* which hold a nullable value. The actual null value of the parameter
* is used to indicate if it has been set or not. The containing value
* will then still allow having null as a value
*
* Example use case: Have a nullable database column,
* but only update it if it is passed
*
* @template T
*/
class OptionalNullableValue {
/** @var ?T */
private mixed $value;
/** @param ?T $value */
public function __construct(mixed $value) {
$this->value = $value;
}
/** @return ?T */
public function getValue(): mixed {
return $this->value;
}
}

View File

@@ -38,9 +38,9 @@ class BoardReferenceProvider implements IReferenceProvider {
private IL10N $l10n;
public function __construct(BoardService $boardService,
IURLGenerator $urlGenerator,
IL10N $l10n,
?string $userId) {
IURLGenerator $urlGenerator,
IL10N $l10n,
?string $userId) {
$this->urlGenerator = $urlGenerator;
$this->boardService = $boardService;
$this->userId = $userId;
@@ -55,8 +55,8 @@ class BoardReferenceProvider implements IReferenceProvider {
$startIndex = $this->urlGenerator->getAbsoluteURL('/index.php/apps/' . Application::APP_ID);
// link example: https://nextcloud.local/index.php/apps/deck/#/board/2
$noIndexMatch = preg_match('/^' . preg_quote($start, '/') . '(?:\/#!?)?\/board\/[0-9]+$/', $referenceText) === 1;
$indexMatch = preg_match('/^' . preg_quote($startIndex, '/') . '(?:\/#!?)?\/board\/[0-9]+$/', $referenceText) === 1;
$noIndexMatch = preg_match('/^' . preg_quote($start, '/') . '\/#\/board\/[0-9]+$/', $referenceText) === 1;
$indexMatch = preg_match('/^' . preg_quote($startIndex, '/') . '\/#\/board\/[0-9]+$/', $referenceText) === 1;
return $noIndexMatch || $indexMatch;
}
@@ -108,9 +108,9 @@ class BoardReferenceProvider implements IReferenceProvider {
$start = $this->urlGenerator->getAbsoluteURL('/apps/' . Application::APP_ID);
$startIndex = $this->urlGenerator->getAbsoluteURL('/index.php/apps/' . Application::APP_ID);
preg_match('/^' . preg_quote($start, '/') . '(?:\/#!?)?\/board\/([0-9]+)$/', $url, $matches);
preg_match('/^' . preg_quote($start, '/') . '\/#\/board\/([0-9]+)$/', $url, $matches);
if (!$matches) {
preg_match('/^' . preg_quote($startIndex, '/') . '(?:\/#!?)?\/board\/([0-9]+)$/', $url, $matches);
preg_match('/^' . preg_quote($startIndex, '/') . '\/#\/board\/([0-9]+)$/', $url, $matches);
}
if ($matches && count($matches) > 1) {
return (int) $matches[1];

View File

@@ -47,11 +47,11 @@ class CardReferenceProvider extends ADiscoverableReferenceProvider implements IS
private IL10N $l10n;
public function __construct(CardService $cardService,
BoardService $boardService,
StackService $stackService,
IURLGenerator $urlGenerator,
IL10N $l10n,
?string $userId) {
BoardService $boardService,
StackService $stackService,
IURLGenerator $urlGenerator,
IL10N $l10n,
?string $userId) {
$this->cardService = $cardService;
$this->urlGenerator = $urlGenerator;
$this->boardService = $boardService;
@@ -108,14 +108,10 @@ class CardReferenceProvider extends ADiscoverableReferenceProvider implements IS
$startIndex = $this->urlGenerator->getAbsoluteURL('/index.php/apps/' . Application::APP_ID);
// link example: https://nextcloud.local/index.php/apps/deck/#/board/2/card/11
$noIndexMatchFull = preg_match('/^' . preg_quote($start, '/') . '(?:\/#!?)?\/board\/[0-9]+\/card\/[0-9]+$/', $referenceText) === 1;
$indexMatchFull = preg_match('/^' . preg_quote($startIndex, '/') . '(?:\/#!?)?\/board\/[0-9]+\/card\/[0-9]+$/', $referenceText) === 1;
$noIndexMatch = preg_match('/^' . preg_quote($start, '/') . '\/#\/board\/[0-9]+\/card\/[0-9]+$/', $referenceText) === 1;
$indexMatch = preg_match('/^' . preg_quote($startIndex, '/') . '\/#\/board\/[0-9]+\/card\/[0-9]+$/', $referenceText) === 1;
// link example: https://nextcloud.local/index.php/apps/deck/card/11
$noIndexMatch = preg_match('/^' . preg_quote($start, '/') . '\/card\/[0-9]+$/', $referenceText) === 1;
$indexMatch = preg_match('/^' . preg_quote($startIndex, '/') . '\/card\/[0-9]+$/', $referenceText) === 1;
return $noIndexMatchFull || $indexMatchFull || $noIndexMatch || $indexMatch;
return $noIndexMatch || $indexMatch;
}
/**
@@ -125,17 +121,16 @@ class CardReferenceProvider extends ADiscoverableReferenceProvider implements IS
if ($this->matchReference($referenceText)) {
$ids = $this->getBoardCardId($referenceText);
if ($ids !== null) {
[, $cardId] = $ids;
[$boardId, $cardId] = $ids;
try {
$card = $this->cardService->find((int) $cardId)->jsonSerialize();
$board = $this->boardService->find((int) $boardId)->jsonSerialize();
$stack = $this->stackService->find((int) $card['stackId'])->jsonSerialize();
$board = $this->boardService->find((int) $stack['boardId'])->jsonSerialize();
} catch (NoPermissionException $e) {
// Skip throwing if user has no permissions
return null;
}
$boardId = $board['id'];
$card = $this->sanitizeSerializedCard($card);
$board = $this->sanitizeSerializedBoard($board);
@@ -160,14 +155,14 @@ class CardReferenceProvider extends ADiscoverableReferenceProvider implements IS
$result = $cardDetails->jsonSerialize();
unset($result['assignedUsers']);
return $result;
}, $stack['cards'] ?? []);
}, $stack['cards']);
return $stack;
}
private function sanitizeSerializedBoard(array $board): array {
unset($board['labels']);
$board['owner'] = $board['owner']?->jsonSerialize();
$board['owner'] = $board['owner']->jsonSerialize();
unset($board['acl']);
unset($board['users']);
@@ -177,18 +172,18 @@ class CardReferenceProvider extends ADiscoverableReferenceProvider implements IS
private function sanitizeSerializedCard(array $card): array {
$card['labels'] = array_map(function (Label $label) {
return $label->jsonSerialize();
}, $card['labels'] ?? []);
}, $card['labels']);
$card['assignedUsers'] = array_map(function (Assignment $assignment) {
$result = $assignment->jsonSerialize();
$result['participant'] = $result['participant']->jsonSerialize();
return $result;
}, $card['assignedUsers'] ?? []);
$card['owner'] = $card['owner']?->jsonSerialize() ?? $card['owner'];
}, $card['assignedUsers']);
$card['owner'] = $card['owner']->jsonSerialize();
unset($card['relatedStack']);
unset($card['relatedBoard']);
$card['attachments'] = array_map(function (Attachment $attachment) {
return $attachment->jsonSerialize();
}, $card['attachments'] ?? []);
}, $card['attachments']);
return $card;
}
@@ -197,26 +192,16 @@ class CardReferenceProvider extends ADiscoverableReferenceProvider implements IS
$start = $this->urlGenerator->getAbsoluteURL('/apps/' . Application::APP_ID);
$startIndex = $this->urlGenerator->getAbsoluteURL('/index.php/apps/' . Application::APP_ID);
preg_match('/^' . preg_quote($start, '/') . '(?:\/#!?)?\/board\/([0-9]+)\/card\/([0-9]+)$/', $url, $matches);
preg_match('/^' . preg_quote($start, '/') . '\/#\/board\/([0-9]+)\/card\/([0-9]+)$/', $url, $matches);
if ($matches && count($matches) > 2) {
return [$matches[1], $matches[2]];
}
preg_match('/^' . preg_quote($startIndex, '/') . '(?:\/#!?)?\/board\/([0-9]+)\/card\/([0-9]+)$/', $url, $matches2);
preg_match('/^' . preg_quote($startIndex, '/') . '\/#\/board\/([0-9]+)\/card\/([0-9]+)$/', $url, $matches2);
if ($matches2 && count($matches2) > 2) {
return [$matches2[1], $matches2[2]];
}
preg_match('/^' . preg_quote($start, '/') . '\/card\/([0-9]+)$/', $url, $matches);
if ($matches && count($matches) > 1) {
return [null, $matches[1]];
}
preg_match('/^' . preg_quote($startIndex, '/') . '\/card\/([0-9]+)$/', $url, $matches2);
if ($matches2 && count($matches2) > 1) {
return [null, $matches2[1]];
}
return null;
}

View File

@@ -48,12 +48,12 @@ class CommentReferenceProvider implements IReferenceProvider {
private CommentService $commentService;
public function __construct(CardService $cardService,
BoardService $boardService,
StackService $stackService,
CommentService $commentService,
IURLGenerator $urlGenerator,
IL10N $l10n,
?string $userId) {
BoardService $boardService,
StackService $stackService,
CommentService $commentService,
IURLGenerator $urlGenerator,
IL10N $l10n,
?string $userId) {
$this->cardService = $cardService;
$this->urlGenerator = $urlGenerator;
$this->boardService = $boardService;

View File

@@ -1,78 +0,0 @@
<?php
namespace OCA\Deck\Reference;
use OCA\Deck\AppInfo\Application;
use OCP\Collaboration\Reference\ADiscoverableReferenceProvider;
use OCP\Collaboration\Reference\IReference;
use OCP\IL10N;
use OCP\IURLGenerator;
class CreateCardReferenceProvider extends ADiscoverableReferenceProvider {
public function __construct(
private IL10N $l10n,
private IURLGenerator $urlGenerator,
private ?string $userId) {
}
/**
* @inheritDoc
*/
public function getId(): string {
return 'create-new-deck-card';
}
/**
* @inheritDoc
*/
public function getTitle(): string {
return $this->l10n->t('Create a new deck card');
}
/**
* @inheritDoc
*/
public function getOrder(): int {
return 10;
}
/**
* @inheritDoc
*/
public function getIconUrl(): string {
return $this->urlGenerator->getAbsoluteURL(
$this->urlGenerator->imagePath(Application::APP_ID, 'deck-dark.svg')
);
}
/**
* @inheritDoc
*/
public function matchReference(string $referenceText): bool {
return false;
}
/**
* @inheritDoc
*/
public function resolveReference(string $referenceText): ?IReference {
return null;
}
/**
* @inheritDoc
*/
public function getCachePrefix(string $referenceId): string {
return $this->userId ?? '';
}
/**
* We don't use the userId here but rather a reference unique id
* @inheritDoc
*/
public function getCacheKey(string $referenceId): ?string {
return $referenceId;
}
}

View File

@@ -40,7 +40,7 @@ class CardSearchResultEntry extends SearchResultEntry {
),
$card->getTitle(),
$board->getTitle() . ' » ' . $stack->getTitle(),
$urlGenerator->linkToRouteAbsolute('deck.page.redirectToCard', ['cardId' => $card->getId()]),
$urlGenerator->linkToRouteAbsolute('deck.page.index') . '#/board/' . $board->getId() . '/card/' . $card->getId(),
'icon-deck'
);
}

View File

@@ -41,7 +41,7 @@ class FilterStringParser {
public function __construct(IL10N $l10n) {
$this->l10n = $l10n;
}
public function parse(?string $filter): SearchQuery {
$query = new SearchQuery();
if (empty($filter)) {
@@ -71,7 +71,7 @@ class FilterStringParser {
}
private function parseFilterToken(SearchQuery $query, string $token): bool {
if (!str_contains($token, ':')) {
if (strpos($token, ':') === false) {
return false;
}

View File

@@ -26,7 +26,6 @@ namespace OCA\Deck\Service;
use OCA\Deck\Activity\ActivityManager;
use OCA\Deck\AppInfo\Application;
use OCA\Deck\BadRequestException;
use OCA\Deck\Cache\AttachmentCacheHelper;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\Attachment;
use OCA\Deck\Db\AttachmentMapper;
@@ -35,6 +34,7 @@ use OCA\Deck\Db\ChangeHelper;
use OCA\Deck\InvalidAttachmentType;
use OCA\Deck\NoPermissionException;
use OCA\Deck\NotFoundException;
use OCA\Deck\Cache\AttachmentCacheHelper;
use OCA\Deck\StatusException;
use OCA\Deck\Validators\AttachmentServiceValidator;
use OCP\AppFramework\Db\IMapperException;

View File

@@ -27,17 +27,13 @@ namespace OCA\Deck\Service;
use OCA\Deck\Activity\ActivityManager;
use OCA\Deck\Activity\ChangeSet;
use OCA\Deck\AppInfo\Application;
use OCA\Deck\BadRequestException;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\AclMapper;
use OCA\Deck\Db\AssignmentMapper;
use OCA\Deck\Db\Board;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Db\ChangeHelper;
use OCA\Deck\Db\IPermissionMapper;
use OCA\Deck\Db\Label;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\Db\Session;
use OCA\Deck\Db\SessionMapper;
use OCA\Deck\Db\Stack;
@@ -45,20 +41,24 @@ use OCA\Deck\Db\StackMapper;
use OCA\Deck\Event\AclCreatedEvent;
use OCA\Deck\Event\AclDeletedEvent;
use OCA\Deck\Event\AclUpdatedEvent;
use OCA\Deck\Event\BoardUpdatedEvent;
use OCA\Deck\NoPermissionException;
use OCA\Deck\Notification\NotificationHelper;
use OCA\Deck\Validators\BoardServiceValidator;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\DB\Exception as DbException;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\IL10N;
use OCP\IURLGenerator;
use OCP\DB\Exception as DbException;
use OCA\Deck\Db\Board;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\LabelMapper;
use OCP\IUserManager;
use OCA\Deck\BadRequestException;
use OCA\Deck\Event\BoardUpdatedEvent;
use OCA\Deck\Validators\BoardServiceValidator;
use OCP\IURLGenerator;
use OCP\Server;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
@@ -145,7 +145,7 @@ class BoardService {
* Get all boards that are shared with a user, their groups or circles
*/
public function getUserBoards(?int $since = null, bool $includeArchived = true, ?int $before = null,
?string $term = null): array {
?string $term = null): array {
return $this->boardMapper->findAllForUser($this->userId, $since, $includeArchived, $before, $term);
}

View File

@@ -28,31 +28,29 @@ namespace OCA\Deck\Service;
use OCA\Deck\Activity\ActivityManager;
use OCA\Deck\Activity\ChangeSet;
use OCA\Deck\BadRequestException;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\Assignment;
use OCA\Deck\Db\AssignmentMapper;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\Card;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\ChangeHelper;
use OCA\Deck\Db\Label;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\Db\StackMapper;
use OCA\Deck\Event\CardCreatedEvent;
use OCA\Deck\Event\CardDeletedEvent;
use OCA\Deck\Event\CardUpdatedEvent;
use OCA\Deck\Model\CardDetails;
use OCA\Deck\Model\OptionalNullableValue;
use OCA\Deck\NoPermissionException;
use OCA\Deck\Notification\NotificationHelper;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\StatusException;
use OCA\Deck\BadRequestException;
use OCA\Deck\Validators\CardServiceValidator;
use OCP\Comments\ICommentsManager;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IRequest;
use OCP\IURLGenerator;
use OCP\IUserManager;
use OCP\IURLGenerator;
use Psr\Log\LoggerInterface;
class CardService {
@@ -157,12 +155,7 @@ class CardService {
$card->setAssignedUsers($cardAssignedUsers);
}
return array_map(
function (Card $card): CardDetails {
return new CardDetails($card);
},
$cards
);
return $cards;
}
public function fetchDeleted($boardId) {
$this->cardServiceValidator->check(compact('boardId'));
@@ -285,9 +278,6 @@ class CardService {
* @param $description
* @param $order
* @param $duedate
* @param $deletedAt
* @param $archived
* @param $done
* @return \OCP\AppFramework\Db\Entity
* @throws StatusException
* @throws \OCA\Deck\NoPermissionException
@@ -295,7 +285,7 @@ class CardService {
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
* @throws BadRequestException
*/
public function update($id, $title, $stackId, $type, $owner, $description = '', $order = 0, $duedate = null, $deletedAt = null, $archived = null, ?OptionalNullableValue $done = null) {
public function update($id, $title, $stackId, $type, $owner, $description = '', $order = 0, $duedate = null, $deletedAt = null, $archived = null) {
$this->cardServiceValidator->check(compact('id', 'title', 'stackId', 'type', 'owner', 'order'));
$this->permissionService->checkPermission($this->cardMapper, $id, Acl::PERMISSION_EDIT, allowDeletedCard: true);
@@ -353,9 +343,6 @@ class CardService {
if ($archived !== null) {
$card->setArchived($archived);
}
if ($done !== null) {
$card->setDone($done->getValue());
}
// Trigger update events before setting description as it is handled separately
@@ -526,57 +513,6 @@ class CardService {
return $newCard;
}
/**
* @param $id
* @return \OCA\Deck\Db\Card
* @throws StatusException
* @throws \OCA\Deck\NoPermissionException
* @throws \OCP\AppFramework\Db\DoesNotExistException
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
* @throws BadRequestException
*/
public function done(int $id): Card {
$this->permissionService->checkPermission($this->cardMapper, $id, Acl::PERMISSION_EDIT);
if ($this->boardService->isArchived($this->cardMapper, $id)) {
throw new StatusException('Operation not allowed. This board is archived.');
}
$card = $this->cardMapper->find($id);
$card->setDone(new \DateTime());
$newCard = $this->cardMapper->update($card);
$this->notificationHelper->markDuedateAsRead($card);
$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_CARD, $newCard, ActivityManager::SUBJECT_CARD_UPDATE_DONE);
$this->changeHelper->cardChanged($id, false);
$this->eventDispatcher->dispatchTyped(new CardUpdatedEvent($card));
return $newCard;
}
/**
* @param $id
* @return \OCA\Deck\Db\Card
* @throws StatusException
* @throws \OCA\Deck\NoPermissionException
* @throws \OCP\AppFramework\Db\DoesNotExistException
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
* @throws BadRequestException
*/
public function undone(int $id): Card {
$this->permissionService->checkPermission($this->cardMapper, $id, Acl::PERMISSION_EDIT);
if ($this->boardService->isArchived($this->cardMapper, $id)) {
throw new StatusException('Operation not allowed. This board is archived.');
}
$card = $this->cardMapper->find($id);
$card->setDone(null);
$newCard = $this->cardMapper->update($card);
$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_CARD, $newCard, ActivityManager::SUBJECT_CARD_UPDATE_UNDONE);
$this->changeHelper->cardChanged($id, false);
$this->eventDispatcher->dispatchTyped(new CardUpdatedEvent($card));
return $newCard;
}
/**
* @param $cardId
* @param $labelId

View File

@@ -190,7 +190,8 @@ class CommentService {
}
private function formatComment(IComment $comment, $addReplyTo = false): array {
$actorDisplayName = $this->userManager->getDisplayName($comment->getActorId()) ?? $comment->getActorId();
$user = $this->userManager->get($comment->getActorId());
$actorDisplayName = $user !== null ? $user->getDisplayName() : $comment->getActorId();
$formattedComment = [
'id' => (int)$comment->getId(),

View File

@@ -24,10 +24,10 @@
namespace OCA\Deck\Service;
use OCA\Deck\AppInfo\Application;
use OCA\Deck\BadRequestException;
use OCA\Deck\Db\BoardMapper;
use OCP\IConfig;
use OCP\IL10N;
use OCA\Deck\BadRequestException;
use OCP\PreConditionNotMetException;
class DefaultBoardService {
@@ -39,13 +39,13 @@ class DefaultBoardService {
private $l10n;
public function __construct(
IL10N $l10n,
BoardMapper $boardMapper,
BoardService $boardService,
StackService $stackService,
CardService $cardService,
IConfig $config
) {
IL10N $l10n,
BoardMapper $boardMapper,
BoardService $boardService,
StackService $stackService,
CardService $cardService,
IConfig $config
) {
$this->boardService = $boardService;
$this->stackService = $stackService;
$this->cardService = $cardService;

View File

@@ -25,8 +25,8 @@ namespace OCA\Deck\Service;
use OCA\Deck\Db\Attachment;
use OCA\Deck\Db\AttachmentMapper;
use OCA\Deck\Exceptions\ConflictException;
use OCA\Deck\StatusException;
use OCA\Deck\Exceptions\ConflictException;
use OCP\AppFramework\Http\StreamResponse;
use OCP\Files\IAppData;
use OCP\Files\IMimeTypeDetector;

View File

@@ -250,7 +250,6 @@ class BoardImportService {
$this->getImportSystem()->updateAcl($code, $acl);
} catch (\Exception $e) {
$this->addError('Failed to import acl rule for ' . $acl->getParticipant(), $e);
}
}
$this->getBoard()->setAcl($aclList);

View File

@@ -10,7 +10,7 @@
},
"token": {
"type": "string",
"pattern": "^[0-9a-fA-FT]{64,76}$"
"pattern": "^[0-9a-fA-F]{64}$"
}
}
},

View File

@@ -23,12 +23,12 @@
namespace OCA\Deck\Service;
use OCA\Deck\BadRequestException;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\ChangeHelper;
use OCA\Deck\Db\Label;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\StatusException;
use OCA\Deck\BadRequestException;
use OCA\Deck\Validators\LabelServiceValidator;
class LabelService {
@@ -50,7 +50,7 @@ class LabelService {
BoardService $boardService,
ChangeHelper $changeHelper,
LabelServiceValidator $labelServiceValidator
) {
) {
$this->labelMapper = $labelMapper;
$this->permissionService = $permissionService;
$this->boardService = $boardService;

View File

@@ -29,11 +29,11 @@ namespace OCA\Deck\Service;
use OCA\Deck\Db\AssignmentMapper;
use OCA\Deck\Db\Board;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\Model\CardDetails;
use OCP\Comments\ICommentsManager;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\LabelMapper;
use OCP\IUserManager;
class OverviewService {

View File

@@ -23,6 +23,7 @@
namespace OCA\Deck\Service;
use OCP\Cache\CappedMemoryCache;
use OCA\Circles\Model\Member;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\AclMapper;
@@ -34,7 +35,6 @@ use OCA\Deck\Db\User;
use OCA\Deck\NoPermissionException;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\Cache\CappedMemoryCache;
use OCP\IConfig;
use OCP\IGroupManager;
use OCP\ILogger;
@@ -159,7 +159,6 @@ class PermissionService {
$permissions = $this->getPermissions($boardId, $userId);
if ($permissions[$permission] === true) {
if (!$allowDeletedCard && $mapper instanceof CardMapper) {
$card = $mapper->find($id);
if ($card->getDeletedAt() > 0) {

View File

@@ -115,7 +115,8 @@ class SearchService {
$card = Card::fromRow($cardRow);
// TODO: Only perform one enrich call here
$self->cardService->enrichCards([$card]);
$displayName = $this->userManager->getDisplayName($comment->getActorId()) ?? '';
$user = $this->userManager->get($comment->getActorId());
$displayName = $user ? $user->getDisplayName() : '';
return new CommentSearchResultEntry($comment->getId(), $comment->getMessage(), $displayName, $card, $this->urlGenerator, $this->l10n);
}, $matchedComments);
}

View File

@@ -26,12 +26,12 @@ namespace OCA\Deck\Service;
use OCA\Deck\Db\Session;
use OCA\Deck\Db\SessionMapper;
use OCA\Deck\Event\SessionClosedEvent;
use OCA\Deck\Event\SessionCreatedEvent;
use OCA\NotifyPush\Queue\IQueue;
use OCA\Deck\Event\SessionClosedEvent;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\EventDispatcher\IEventDispatcher;
use OCA\NotifyPush\Queue\IQueue;
use OCP\Security\ISecureRandom;
class SessionService {

View File

@@ -99,7 +99,15 @@ class StackService {
return;
}
$stack->setCards($this->cardService->enrichCards($cards));
$this->cardService->enrichCards($cards);
$cards = array_map(
function (Card $card): CardDetails {
return new CardDetails($card);
},
$cards
);
$stack->setCards($cards);
}
private function enrichStacksWithCards($stacks, $since = -1) {

View File

@@ -30,9 +30,9 @@ use OC\Files\Filesystem;
use OCA\Deck\Service\ConfigService;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Server;
use OCP\Share\Events\BeforeShareCreatedEvent;
use OCP\Share\Events\VerifyMountPointEvent;
use OCP\Share\IShare;
use Symfony\Component\EventDispatcher\GenericEvent;
class Listener {
private ConfigService $configService;
@@ -45,11 +45,11 @@ class Listener {
/**
* @psalm-suppress UndefinedClass
*/
$dispatcher->addListener(BeforeShareCreatedEvent::class, [self::class, 'listenPreShare'], 1000);
$dispatcher->addListener('OCP\Share::preShare', [self::class, 'listenPreShare'], 1000);
$dispatcher->addListener(VerifyMountPointEvent::class, [self::class, 'listenVerifyMountPointEvent'], 1000);
}
public static function listenPreShare(BeforeShareCreatedEvent $event): void {
public static function listenPreShare(GenericEvent $event): void {
/** @var self $listener */
$listener = Server::get(self::class);
$listener->overwriteShareTarget($event);
@@ -61,8 +61,9 @@ class Listener {
$listener->overwriteMountPoint($event);
}
public function overwriteShareTarget(BeforeShareCreatedEvent $event): void {
$share = $event->getShare();
public function overwriteShareTarget(GenericEvent $event): void {
/** @var IShare $share */
$share = $event->getSubject();
if ($share->getShareType() !== IShare::TYPE_DECK
&& $share->getShareType() !== DeckShareProvider::SHARE_TYPE_DECK_USER) {

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