Compare commits

..

174 Commits

Author SHA1 Message Date
Julius Härtl
bb569f7df7 Bump version to 1.10.0-beta.2
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-22 10:36:42 +02:00
dependabot[bot]
4921f3dd62 Merge pull request #4700 from nextcloud/dependabot/npm_and_yarn/stable27/nextcloud/vue-7.11.6 2023-05-17 21:39:16 +00:00
dependabot[bot]
a268d428bf Merge pull request #4695 from nextcloud/dependabot/npm_and_yarn/stable27/nextcloud/event-bus-3.1.0 2023-05-17 21:34:45 +00:00
dependabot[bot]
ab11f47afa Chore(deps): Bump @nextcloud/vue from 7.11.4 to 7.11.6
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.11.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.11.4...v7.11.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-05-17 18:11:38 +00:00
dependabot[bot]
0751f604ec 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 18:11:13 +00:00
Julius Härtl
c2aec9f312 Merge pull request #4691 from nextcloud/update-stable27-target-versions 2023-05-17 20:10:22 +02:00
Joas Schilling
04e9373c58 chore(CI): Adjust testing matrix for Nextcloud 27 on stable27
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-05-17 13:48:54 +02:00
Julius Härtl
2a5eece8fd Merge pull request #4673 from nextcloud/enh/noid/use-primary-element 2023-05-15 08:33:36 +02:00
Julius Härtl
513ad35af9 Merge pull request #4683 from nextcloud/enh/devcontainer 2023-05-15 08:25:59 +02:00
Julius Härtl
352e66fc8d feat: Add devcontainer and update dev docs
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-14 12:58:02 +02:00
dependabot[bot]
9bffe51fce Merge pull request #4676 from nextcloud/dependabot/npm_and_yarn/main/cypress-12.12.0 2023-05-13 08:45:28 +00:00
dependabot[bot]
31367d3a36 Merge pull request #4675 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/vue-7.11.4 2023-05-13 08:44:06 +00:00
dependabot[bot]
9a8ecf5cec Merge pull request #4678 from nextcloud/dependabot/composer/phpunit/phpunit-9.6.8 2023-05-13 07:20:54 +00:00
dependabot[bot]
df4b6b117f Chore(deps): Bump @nextcloud/vue from 7.11.3 to 7.11.4
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.11.3 to 7.11.4.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/v7.11.4/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.11.3...v7.11.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-05-13 05:46:21 +00:00
dependabot[bot]
82442917de bump cypress from 12.11.0 to 12.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-13 05:46:18 +00:00
dependabot[bot]
da1b934b4f Merge pull request #4674 from nextcloud/dependabot/npm_and_yarn/main/dompurify-3.0.3 2023-05-13 05:45:30 +00:00
dependabot[bot]
a963518e88 Chore(deps-dev): Bump phpunit/phpunit from 9.6.7 to 9.6.8
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.7 to 9.6.8.
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.8/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.7...9.6.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-13 02:58:25 +00:00
dependabot[bot]
a5263db6ca Chore(deps): Bump dompurify from 3.0.2 to 3.0.3
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.0.2...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-13 02:01:56 +00:00
Simon L
9f91ecc116 Use the color-primary-element* variables
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-05-12 16:26:34 +02:00
Nextcloud bot
ccf1445ccf Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-12 02:43:16 +00:00
Julius Härtl
4deca737ad Merge pull request #4664 from nextcloud/bugfix/4663 2023-05-11 15:15:30 +02:00
Julius Härtl
03e34b291e fix: Properly overwrite z-index of datepicker above modal
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-10 18:18:32 +02:00
Julius Härtl
6cda378fe2 Bump version to 1.10.0-beta.1
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-10 15:54:25 +02:00
Julius Härtl
c3e2aec149 Merge pull request #4657 from fsamapoor/replace_strpos_usages 2023-05-10 07:46:30 +02:00
Julius Härtl
b9c8e8f315 Merge pull request #4660 from nextcloud/bugfix/noid/overdue 2023-05-10 07:36:17 +02:00
Faraz Samapoor
b8566a3a0d Converts 'strpos()' calls to improve code readability.
Signed-off-by: Faraz Samapoor <fsamapoor@gmail.com>
2023-05-10 08:55:42 +03:30
Julius Härtl
d028728407 fix: Bring back overdue column by removing faulty condition
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-09 19:27:41 +02:00
dependabot[bot]
c31891654c Merge pull request #4658 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/vue-7.11.3 2023-05-09 06:17:19 +00:00
dependabot[bot]
e7c04ac19f Chore(deps): Bump @nextcloud/vue from 7.10.0 to 7.11.3
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.10.0 to 7.11.3.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/v7.11.3/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.10.0...v7.11.3)

---
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-09 05:39:52 +00:00
Nextcloud bot
7f250e8ae3 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-08 02:40:17 +00:00
Julius Härtl
ca8dfd8cab Merge pull request #4651 from nextcloud/dependabot/github_actions/skjnldsv/read-package-engines-version-actions-2.1 2023-05-07 18:29:06 +02:00
Julius Härtl
ee55bc56fa Merge pull request #4656 from nextcloud/dependabot/github_actions/peter-evans/create-pull-request-5.0.1 2023-05-07 18:27:45 +02:00
dependabot[bot]
ff234f68e1 Merge pull request #4655 from nextcloud/dependabot/github_actions/peter-evans/create-or-update-comment-3.0.1 2023-05-06 06:21:07 +00:00
dependabot[bot]
dc344e4d50 Merge pull request #4652 from nextcloud/dependabot/composer/vimeo/psalm-5.11.0 2023-05-06 05:48:23 +00:00
dependabot[bot]
446bfcd22b Chore(deps): Bump peter-evans/create-pull-request from 3.14.0 to 5.0.1
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3.14.0 to 5.0.1.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.14.0...284f54f989303d2699d373481a0cfa13ad5a6666)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-06 03:50:14 +00:00
dependabot[bot]
29cce7fde6 Chore(deps): Bump peter-evans/create-or-update-comment
Bumps [peter-evans/create-or-update-comment](https://github.com/peter-evans/create-or-update-comment) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/peter-evans/create-or-update-comment/releases)
- [Commits](3383acd359...ca08ebd5dc)

---
updated-dependencies:
- dependency-name: peter-evans/create-or-update-comment
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-06 03:44:06 +00:00
dependabot[bot]
e025d10aca Chore(deps-dev): Bump vimeo/psalm from 5.9.0 to 5.11.0
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 5.9.0 to 5.11.0.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/5.9.0...5.11.0)

---
updated-dependencies:
- dependency-name: vimeo/psalm
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-06 03:21:03 +00:00
dependabot[bot]
2e316331cc Chore(deps): Bump skjnldsv/read-package-engines-version-actions
Bumps [skjnldsv/read-package-engines-version-actions](https://github.com/skjnldsv/read-package-engines-version-actions) from 1.2 to 2.1.
- [Release notes](https://github.com/skjnldsv/read-package-engines-version-actions/releases)
- [Commits](https://github.com/skjnldsv/read-package-engines-version-actions/compare/v1.2...0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7)

---
updated-dependencies:
- dependency-name: skjnldsv/read-package-engines-version-actions
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-06 01:56:35 +00:00
Julius Härtl
65fabe15f7 Merge pull request #4648 from fsamapoor/patch-1 2023-05-04 22:11:14 +02:00
Faraz Samapoor
3f34577064 Refactors lib\Activity\DeckProvider.php to improve code readability.
Converts 'strpos()' calls to 'str_contains()' to improve code readability.

Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
2023-05-04 17:08:53 +03:30
Julius Härtl
284ca3d202 fix: z-index of datepicker in modal
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-03 13:11:09 +02:00
Julius Härtl
270c4658b8 Merge pull request #4640 from nextcloud/automated/noid/main-fix-npm-audit
[main] Fix npm audit
2023-05-03 12:45:02 +02:00
Julius Härtl
b189146a05 Merge pull request #4643 from nextcloud/bugfix/datetime-picker-position
fix: Append datetime picker to body to avoid cut off
2023-05-03 12:40:49 +02:00
Julius Härtl
b2d035f05d fix: Append datetime picker to body to avoid cut off
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-03 10:25:40 +02:00
nextcloud-command
9f72a230b5 chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-05-03 08:13:29 +00:00
Julius Härtl
6a2d36d10f Update appbuild.yml
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-03 10:06:01 +02:00
Julius Härtl
eb38112605 Create npm-audit-fix.yml
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-03 10:05:34 +02:00
dependabot[bot]
b9629abc96 Merge pull request #4634 from nextcloud/dependabot/npm_and_yarn/main/vue/vue2-jest-29.2.4 2023-04-29 07:37:00 +00:00
dependabot[bot]
6acdfe4d1c Merge pull request #4635 from nextcloud/dependabot/npm_and_yarn/main/babel/runtime-7.21.5 2023-04-29 06:40:25 +00:00
dependabot[bot]
0f50af9d0a Chore(deps-dev): Bump @vue/vue2-jest from 29.2.3 to 29.2.4
Bumps [@vue/vue2-jest](https://github.com/vuejs/vue-jest) from 29.2.3 to 29.2.4.
- [Release notes](https://github.com/vuejs/vue-jest/releases)
- [Commits](https://github.com/vuejs/vue-jest/compare/v29.2.3...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-04-29 06:30:51 +00:00
dependabot[bot]
c15fbcab0b Merge pull request #4633 from nextcloud/dependabot/npm_and_yarn/main/eslint-plugin-cypress-2.13.3 2023-04-29 06:30:04 +00:00
dependabot[bot]
24ab06109f 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-04-29 03:56:05 +00:00
dependabot[bot]
25e901060e Chore(deps-dev): Bump eslint-plugin-cypress from 2.13.2 to 2.13.3
Bumps [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) from 2.13.2 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.13.2...v2.13.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-29 03:38:18 +00:00
dependabot[bot]
9d49aeb80b Merge pull request #4628 from nextcloud/dependabot/npm_and_yarn/main/cypress-12.11.0 2023-04-29 03:17:48 +00:00
dependabot[bot]
194f920161 Chore(deps-dev): Bump cypress from 12.10.0 to 12.11.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.10.0 to 12.11.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.10.0...v12.11.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-04-29 01:58:03 +00:00
Nextcloud bot
8379a88b3e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-28 02:40:29 +00:00
Julius Härtl
741e4be749 Merge pull request #4623 from nextcloud/deps/update 2023-04-27 15:46:58 +02:00
Julius Härtl
42aff58c6e Merge pull request #4622 from nextcloud/allow-to-change-visibility 2023-04-27 08:43:05 +02:00
Bjoern Schiessle
e2a4737fdb 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 08:34:46 +02:00
Nextcloud bot
7f6895aa7a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-27 02:40:45 +00:00
Björn Schießle
14d686a6bc 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-26 21:50:18 +02:00
Julius Härtl
b76c85f187 Merge pull request #4589 from nextcloud/dependabot/github_actions/peter-evans/create-or-update-comment-3.0.0 2023-04-26 18:37:33 +02:00
Julius Härtl
aea3f19c82 Merge pull request #4588 from nextcloud/dependabot/github_actions/peter-evans/create-pull-request-5.0.0 2023-04-26 18:37:26 +02:00
Julius Härtl
f98004f343 Merge pull request #4617 from pschopen/main 2023-04-26 18:12:17 +02:00
Julius Härtl
2066080e56 fix: move sidebar tab icons to material design
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-04-26 18:05:55 +02:00
Julius Härtl
df0db786be chore: Bump @nextcloud/vue @nextcloud/webpack-vue-config and remove @nextcloud/vue-richtext
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-04-26 16:41:05 +02:00
Julius Härtl
8f7712011f chore: Bump nextcloud-vue-collections
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-04-26 16:31:14 +02:00
Julius Härtl
ee308c8afd Merge pull request #4586 from nextcloud/chore/remove-nextcloud-vue-dashboard
chore: Remove unused @nextcloud/vue-dashboard
2023-04-26 11:50:09 +02:00
Julius Härtl
bd9538d143 Merge pull request #4604 from nextcloud/Jerome-Herbinet-card-date-patch-1 2023-04-25 10:13:05 +02:00
Jérôme Herbinet
0c825addb1 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 09:05:33 +02:00
Nextcloud bot
ff8b010d78 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-23 02:40:52 +00:00
Philip
d27c083bcc Update Description.vue
Signed-off-by: Philip <65334274+pschopen@users.noreply.github.com>
2023-04-22 22:37:21 +02:00
dependabot[bot]
a7b2c65387 Merge pull request #4616 from nextcloud/dependabot/npm_and_yarn/main/relative-ci/agent-4.1.4 2023-04-22 07:41:42 +00:00
dependabot[bot]
693babf89a Merge pull request #4612 from nextcloud/dependabot/composer/tests/integration/behat/behat-approx-3.13.0 2023-04-22 07:37:38 +00:00
dependabot[bot]
0cf124c8b1 Merge pull request #4615 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.25.1 2023-04-22 07:06:59 +00:00
dependabot[bot]
95f6cfe748 bump @relative-ci/agent from 4.1.3 to 4.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-04-22 06:59:21 +00:00
dependabot[bot]
3e39db784c Merge pull request #4611 from nextcloud/dependabot/npm_and_yarn/main/cypress-12.10.0 2023-04-22 06:58:22 +00:00
dependabot[bot]
fbbe30be6d Merge pull request #4609 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/router-2.1.1 2023-04-22 06:56:15 +00:00
dependabot[bot]
7fb0822ce8 Chore(deps-dev): Update behat/behat requirement in /tests/integration
Updates the requirements on [behat/behat](https://github.com/Behat/Behat) to permit the latest version.
- [Release notes](https://github.com/Behat/Behat/releases)
- [Changelog](https://github.com/Behat/Behat/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Behat/Behat/compare/v3.12.0...v3.13.0)

---
updated-dependencies:
- dependency-name: behat/behat
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-22 06:46:13 +00:00
dependabot[bot]
8329caa94a Merge pull request #4607 from nextcloud/dependabot/composer/tests/integration/guzzlehttp/guzzle-7.5.1 2023-04-22 06:45:29 +00:00
dependabot[bot]
bf015cd951 Chore(deps): Bump shivammathur/setup-php from 2.24.0 to 2.25.1
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.24.0 to 2.25.1.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.24.0...2.25.1)

---
updated-dependencies:
- dependency-name: shivammathur/setup-php
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-22 03:46:56 +00:00
dependabot[bot]
bee0fde025 bump cypress from 12.9.0 to 12.10.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-04-22 03:21:31 +00:00
dependabot[bot]
f18069c504 bump @nextcloud/router from 2.0.1 to 2.1.1
---
updated-dependencies:
- dependency-name: "@nextcloud/router"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-22 03:18:25 +00:00
dependabot[bot]
8b410a453a Chore(deps-dev): Update guzzlehttp/guzzle requirement
Updates the requirements on [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) to permit the latest version.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/7.5/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.5.0...7.5.1)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-22 03:06:05 +00:00
Jérôme Herbinet
be75d8890c 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-20 10:35:50 +02:00
Nextcloud bot
a79f60bad5 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-19 02:40:44 +00:00
Nextcloud bot
1901c986ff Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-16 02:39:48 +00:00
dependabot[bot]
b0245d1bdb Merge pull request #4598 from nextcloud/dependabot/npm_and_yarn/main/stylelint-webpack-plugin-4.1.1 2023-04-15 09:04:37 +00:00
dependabot[bot]
32528866fb Merge pull request #4601 from nextcloud/dependabot/composer/phpunit/phpunit-9.6.7 2023-04-15 08:54:28 +00:00
dependabot[bot]
f1718821fc 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-04-15 08:49:57 +00:00
dependabot[bot]
384f6c97b8 Merge pull request #4600 from nextcloud/dependabot/npm_and_yarn/main/dompurify-3.0.2 2023-04-15 08:49:28 +00:00
dependabot[bot]
bb09f5510c Merge pull request #4599 from nextcloud/dependabot/npm_and_yarn/main/eslint-webpack-plugin-4.0.1 2023-04-15 08:49:17 +00:00
dependabot[bot]
65f2e75775 Merge pull request #4597 from nextcloud/dependabot/npm_and_yarn/main/vue/test-utils-1.3.5 2023-04-15 08:49:03 +00:00
dependabot[bot]
f75be3a041 Chore(deps-dev): Bump phpunit/phpunit from 9.6.6 to 9.6.7
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.6 to 9.6.7.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.7/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.6...9.6.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-15 03:41:43 +00:00
dependabot[bot]
aaa651be37 bump dompurify from 3.0.1 to 3.0.2
---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-15 02:58:15 +00:00
dependabot[bot]
baf807b91a 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-04-15 01:59:06 +00:00
dependabot[bot]
ac1b230a70 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-04-15 01:58:20 +00:00
Nextcloud bot
559c5c7696 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-09 02:42:08 +00:00
dependabot[bot]
5c9ad85c7e Chore(deps): Bump peter-evans/create-or-update-comment
Bumps [peter-evans/create-or-update-comment](https://github.com/peter-evans/create-or-update-comment) from 2.1.1 to 3.0.0.
- [Release notes](https://github.com/peter-evans/create-or-update-comment/releases)
- [Commits](67dcc547d3...3383acd359)

---
updated-dependencies:
- dependency-name: peter-evans/create-or-update-comment
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-08 03:24:41 +00:00
dependabot[bot]
42c8e90abb Chore(deps): Bump peter-evans/create-pull-request from 4.2.4 to 5.0.0
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 4.2.4 to 5.0.0.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](38e0b6e68b...5b4a9f6a9e)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-08 03:24:37 +00:00
Nextcloud bot
8b511db4cf Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-06 02:41:09 +00:00
Julius Härtl
bf37cc2ed8 fix: Move dashboard fetching to dedicated store module
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-04-05 20:56:31 +02:00
dependabot[bot]
711bc47b0d Merge pull request #4544 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/webpack-vue-config-5.5.0 2023-04-05 18:49:57 +00:00
Julius Härtl
faac607b75 chore: Remove unused @nextcloud/vue-dashboard
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-04-05 20:33:27 +02:00
Julius Härtl
280cc57abc fix: Workaround vue resolving with nextcloud-vue-collections
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-04-05 20:31:04 +02:00
dependabot[bot]
b7a6df8224 Chore(deps-dev): Bump @nextcloud/webpack-vue-config from 5.4.0 to 5.5.0
Dependabot couldn't find the original pull request head commit, 0910e16461b4b75d4de40f5441c237066bdcec74.
2023-04-05 13:56:26 +00:00
Nextcloud bot
d13cc9f000 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-05 02:42:33 +00:00
Julius Härtl
f82297f556 Merge pull request #4574 from joshtrichards/patch-1 2023-04-04 17:52:59 +02:00
Julius Härtl
d067ac80a0 Merge pull request #4489 from nextcloud/tests/4483
tests(integration): Add integration tests for due dates
2023-04-04 17:52:38 +02:00
Julius Härtl
b79566d6a4 tests: Cover setting/resetting card due date with integration test
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-04-03 15:35:51 +02:00
Julius Härtl
0b2ea0f839 fix: Centralize usage of CardDetails
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-04-03 15:35:51 +02:00
Julius Härtl
c1a16c9e85 Merge pull request #4578 from nextcloud/dependabot/npm_and_yarn/main/cypress-12.9.0
Chore(deps-dev): Bump cypress from 12.8.1 to 12.9.0
2023-04-03 09:17:34 +02:00
dependabot[bot]
819fc5b3a8 Chore(deps-dev): Bump cypress from 12.8.1 to 12.9.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.8.1 to 12.9.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.8.1...v12.9.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-04-03 06:20:33 +00:00
Josh Richards
bd37672b0f Stop tag being edit button if user lacks perms
Addresses #4554 

Signed-off-by: Josh Richards <josh.t.richards@gmail.com>
2023-04-03 08:18:23 +02:00
dependabot[bot]
d9de349441 Merge pull request #4580 from nextcloud/dependabot/composer/vimeo/psalm-5.9.0 2023-04-01 07:25:39 +00:00
dependabot[bot]
fb6a7a0f3e Chore(deps-dev): Bump vimeo/psalm from 5.8.0 to 5.9.0
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 5.8.0 to 5.9.0.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/5.8.0...5.9.0)

---
updated-dependencies:
- dependency-name: vimeo/psalm
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-01 03:56:13 +00:00
dependabot[bot]
728d2a8ab4 Merge pull request #4575 from nextcloud/dependabot/composer/phpunit/phpunit-9.6.6 2023-04-01 03:48:56 +00:00
dependabot[bot]
4575bd5d67 Merge pull request #4576 from nextcloud/dependabot/npm_and_yarn/main/eslint-plugin-cypress-2.13.2 2023-04-01 03:33:12 +00:00
dependabot[bot]
7d0898ccd4 Chore(deps-dev): Bump eslint-plugin-cypress from 2.12.1 to 2.13.2
Bumps [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) from 2.12.1 to 2.13.2.
- [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.2)

---
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-04-01 01:57:50 +00:00
dependabot[bot]
0ce04e25c3 Chore(deps-dev): Bump phpunit/phpunit from 9.6.5 to 9.6.6
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.5 to 9.6.6.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/main/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.5...9.6.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-01 01:56:32 +00:00
Julius Härtl
60ea0565c7 Merge pull request #4566 from nextcloud/fix/share_card_not_found 2023-03-29 11:00:05 +02:00
Jonas
a7608b1900 Gracefully handle not found card for a share
Fixes: #3464
Fixes: #4565

Signed-off-by: Jonas <jonas@freesources.org>
2023-03-28 19:14:09 +02:00
Nextcloud bot
d4b5d9e2f6 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-28 02:31:35 +00:00
Julius Härtl
89640e1ca1 Merge pull request #4557 from nextcloud/dependabot/github_actions/skjnldsv/read-package-engines-version-actions-2.1 2023-03-27 11:24:27 +02:00
Julius Härtl
25decf95c5 Merge pull request #4561 from nextcloud/bugfix/4523 2023-03-27 10:51:44 +02:00
Julius Härtl
22616d8266 fix: Adapt NcEmptyContent usages to new slots
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-27 10:28:49 +02:00
dependabot[bot]
942b8d8919 Merge pull request #4559 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/vue-7.8.4 2023-03-25 05:13:48 +00:00
dependabot[bot]
72fff9c811 Chore(deps): Bump @nextcloud/vue from 7.8.1 to 7.8.4
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.8.1 to 7.8.4.
- [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.8.1...v7.8.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-03-25 04:52:57 +00:00
dependabot[bot]
a14e6e3134 Chore(deps): Bump skjnldsv/read-package-engines-version-actions
Bumps [skjnldsv/read-package-engines-version-actions](https://github.com/skjnldsv/read-package-engines-version-actions) from 1.2 to 2.1.
- [Release notes](https://github.com/skjnldsv/read-package-engines-version-actions/releases)
- [Commits](1bdcee71fa...0ce2ed60f6)

---
updated-dependencies:
- dependency-name: skjnldsv/read-package-engines-version-actions
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-25 02:56:44 +00:00
dependabot[bot]
a27b070b49 Merge pull request #4548 from nextcloud/dependabot/github_actions/peter-evans/create-pull-request-4.2.4 2023-03-18 06:27:35 +00:00
dependabot[bot]
059641a7b0 Merge pull request #4547 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/vue-7.8.1 2023-03-18 04:15:08 +00:00
dependabot[bot]
f8072c3f28 Merge pull request #4546 from nextcloud/dependabot/npm_and_yarn/main/cypress-12.8.1 2023-03-18 04:14:40 +00:00
dependabot[bot]
f03d48c395 Chore(deps): Bump peter-evans/create-pull-request from 4.2.3 to 4.2.4
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 4.2.3 to 4.2.4.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](2b011faafd...38e0b6e68b)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-18 04:04:44 +00:00
dependabot[bot]
c947ab04d3 Chore(deps): Bump @nextcloud/vue from 7.8.0 to 7.8.1
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.8.0 to 7.8.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.8.0...v7.8.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-03-18 02:58:33 +00:00
dependabot[bot]
117e3a6497 Chore(deps-dev): Bump cypress from 12.7.0 to 12.8.1
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.7.0 to 12.8.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.7.0...v12.8.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-18 02:58:18 +00:00
Nextcloud bot
29aae81134 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-18 02:39:33 +00:00
Nextcloud bot
35fbc33e60 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-17 02:39:03 +00:00
Nextcloud bot
1d63e39f6a Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-16 02:40:43 +00:00
Julius Härtl
eaa1b93f15 Merge pull request #4534 from Jerome-Herbinet/patch-3
Fix consistency of a "Create card" wording with its equivalent for Notes ("New card")
2023-03-15 14:53:05 +01:00
Julius Härtl
f8bcaf6ea9 Merge pull request #4535 from Jerome-Herbinet/patch-4
Fix : Overlapping expiry dates on tags
2023-03-15 13:49:41 +01:00
Jérôme Herbinet
de6086b4e1 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 13:35:22 +01:00
Jérôme Herbinet
8620e7fc6c Consistency of a wording with its equiv. for Notes
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 13:18:52 +01:00
dependabot[bot]
ad1b5fcca2 Merge pull request #4532 from nextcloud/dependabot/npm_and_yarn/webpack-5.76.1 2023-03-15 06:56:45 +00:00
dependabot[bot]
8383c439d5 Chore(deps): Bump webpack from 5.74.0 to 5.76.1
Bumps [webpack](https://github.com/webpack/webpack) from 5.74.0 to 5.76.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.74.0...v5.76.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-15 06:47:09 +00:00
Nextcloud bot
b7e48a5e40 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-15 02:38:41 +00:00
dependabot[bot]
51a6c614dd Merge pull request #4529 from nextcloud/dependabot/npm_and_yarn/main/jest-29.5.0 2023-03-11 06:13:46 +00:00
dependabot[bot]
d8000a9aa8 Merge pull request #4527 from nextcloud/dependabot/composer/vimeo/psalm-5.8.0 2023-03-11 05:43:25 +00:00
dependabot[bot]
07f0515551 Merge pull request #4526 from nextcloud/dependabot/composer/phpunit/phpunit-9.6.5 2023-03-11 05:23:23 +00:00
dependabot[bot]
988b46e4e8 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/facebook/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-03-11 02:58:06 +00:00
dependabot[bot]
7cc6d42ff5 Chore(deps-dev): Bump vimeo/psalm from 5.7.7 to 5.8.0
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 5.7.7 to 5.8.0.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/5.7.7...5.8.0)

---
updated-dependencies:
- dependency-name: vimeo/psalm
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-11 02:56:33 +00:00
dependabot[bot]
d6e8a36171 Chore(deps-dev): Bump phpunit/phpunit from 9.6.4 to 9.6.5
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.4 to 9.6.5.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/main/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.4...9.6.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-11 02:56:26 +00:00
Julius Härtl
e0542996e3 Merge pull request #4494 from nextcloud/tests/4493
tests(integration): Add test for multiple board shares to the same user
2023-03-10 08:27:39 +01:00
Julius Härtl
47cfdb4a05 Merge pull request #4504 from nextcloud/dependabot/npm_and_yarn/main/vue/vue2-jest-29.2.3 2023-03-10 08:27:21 +01:00
Julius Härtl
d9f83b7833 Merge pull request #4510 from nextcloud/bugfix/noid/close-without-token 2023-03-10 08:26:50 +01:00
Nextcloud bot
5a36c644af Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-10 02:40:01 +00:00
Julius Härtl
cd3f658741 Merge pull request #4512 from nextcloud/bugfix/4511 2023-03-08 18:32:19 +01:00
Julius Härtl
fc183f6981 Merge pull request #4518 from nextcloud/bugfix/4517/fix-board-api-details 2023-03-08 08:43:32 +01:00
Joas Schilling
83bc2c5cf2 fix(API): Fix board API details parameter to work as expected
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-03-08 07:38:25 +01:00
Marcel Klehr
e2f80b6e19 Merge pull request #4514 from nextcloud/bugfix/noid/reference-error-logging 2023-03-07 10:24:22 +01:00
Julius Härtl
b207e28c70 fix(references): Mute NoPermissionException as it is expected to happen for references
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-07 10:06:45 +01:00
Julius Härtl
e4acb37b3b fix(cards): Fix card sizing by limiting too wide style rules
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-06 12:30:02 +01:00
Julius Härtl
25f86beec9 fix(sessions): Do not send close request without token
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-06 12:04:48 +01:00
dependabot[bot]
6f6df150d1 Merge pull request #4506 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/vue-7.8.0 2023-03-06 06:26:01 +00:00
dependabot[bot]
b45f182069 Merge pull request #4505 from nextcloud/dependabot/npm_and_yarn/main/dompurify-3.0.1 2023-03-06 06:24:36 +00:00
dependabot[bot]
ac31ed1004 Chore(deps): Bump @nextcloud/vue from 7.7.1 to 7.8.0
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.7.1 to 7.8.0.
- [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.7.1...v7.8.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-03-06 07:17:24 +01:00
dependabot[bot]
82ea7ccb83 Chore(deps-dev): Bump @vue/vue2-jest from 29.2.2 to 29.2.3
Bumps [@vue/vue2-jest](https://github.com/vuejs/vue-jest) from 29.2.2 to 29.2.3.
- [Release notes](https://github.com/vuejs/vue-jest/releases)
- [Commits](https://github.com/vuejs/vue-jest/compare/v29.2.2...v29.2.3)

---
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-03-06 07:17:18 +01:00
dependabot[bot]
bf3d8f14aa Chore(deps): Bump dompurify from 3.0.0 to 3.0.1
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.0.0...3.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 07:17:14 +01:00
Nextcloud bot
1d40fd3ab0 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-06 02:39:08 +00:00
dependabot[bot]
1163e544b1 Merge pull request #4500 from nextcloud/dependabot/composer/phpunit/phpunit-9.6.4 2023-03-04 11:04:55 +00:00
dependabot[bot]
967bcc0226 Chore(deps-dev): Bump phpunit/phpunit from 9.6.3 to 9.6.4
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.3 to 9.6.4.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/main/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.3...9.6.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-04 10:55:57 +00:00
Julius Härtl
1e9d8663a9 Merge pull request #4499 from nextcloud/update-main-version 2023-03-04 11:54:41 +01:00
Nextcloud bot
61db3c2769 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-04 02:40:21 +00:00
Joas Schilling
65ea7160a5 chore: Add Nextcloud 27 support on main
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-03-03 11:30:29 +01:00
Julius Härtl
e824d4eb30 tests(integration): Add test for multiple board shares to the same user
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-01 21:49:10 +01:00
70 changed files with 1170 additions and 898 deletions

View File

@@ -0,0 +1,29 @@
{
"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"
}
}
}

9
.devcontainer/setup.sh Normal file
View File

@@ -0,0 +1,9 @@
#!/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 @@ jobs:
strategy:
matrix:
node-version: [14.x]
node-version: [16.x]
steps:
- uses: actions/checkout@v3
@@ -24,7 +24,7 @@ jobs:
- name: Set up npm7
run: npm i -g npm@7
- name: Setup PHP
uses: shivammathur/setup-php@2.24.0
uses: shivammathur/setup-php@2.25.1
with:
php-version: '7.4'
tools: composer

View File

@@ -44,7 +44,7 @@ jobs:
expression: "//info//dependencies//nextcloud/@min-version"
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
id: versions
# Continue if no package.json
continue-on-error: true
@@ -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@2.24.0 # v2
uses: shivammathur/setup-php@2.25.1 # v2
with:
php-version: ${{ env.PHP_VERSION }}
coverage: none

View File

@@ -23,7 +23,7 @@ jobs:
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@67dcc547d311b736a8e6c5c236542148a47adc3d # v2.1.1
uses: peter-evans/create-or-update-comment@ca08ebd5dc95aa0cd97021e9708fcd6b87138c9b # v3.0.1
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
@@ -42,7 +42,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@67dcc547d311b736a8e6c5c236542148a47adc3d # v2.1.1
uses: peter-evans/create-or-update-comment@ca08ebd5dc95aa0cd97021e9708fcd6b87138c9b # v3.0.1
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}

View File

@@ -23,7 +23,7 @@ jobs:
# containers: [1, 2, 3]
php-versions: [ '8.0' ]
databases: [ 'sqlite' ]
server-versions: [ 'stable26' ]
server-versions: [ 'stable27' ]
steps:
- name: Use Node.js ${{ matrix.node-version }}
@@ -64,7 +64,7 @@ jobs:
path: apps/text
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.24.0
uses: shivammathur/setup-php@2.25.1
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu

View File

@@ -28,7 +28,7 @@ jobs:
matrix:
php-versions: ['8.1']
databases: ['sqlite', 'mysql', 'pgsql']
server-versions: ['stable26']
server-versions: ['stable27']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
@@ -71,7 +71,7 @@ jobs:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.24.0
uses: shivammathur/setup-php@2.25.1
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, apcu

View File

@@ -41,7 +41,7 @@ jobs:
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
id: versions
with:
fallbackNode: '^16'

View File

@@ -25,7 +25,7 @@ jobs:
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- name: Set up php
uses: shivammathur/setup-php@2.24.0 # v2
uses: shivammathur/setup-php@2.25.1 # v2
with:
php-version: 8.1
coverage: none

View File

@@ -34,7 +34,7 @@ jobs:
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.24.0 # v2
uses: shivammathur/setup-php@2.25.1 # v2
with:
php-version: ${{ matrix.php-versions }}
coverage: none

View File

@@ -25,7 +25,7 @@ jobs:
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
id: versions
with:
fallbackNode: '^16'

View File

@@ -25,7 +25,7 @@ jobs:
- name: Set up npm7
run: npm i -g npm@7
- name: Setup PHP
uses: shivammathur/setup-php@2.24.0
uses: shivammathur/setup-php@2.25.1
with:
php-version: '7.4'
tools: composer

71
.github/workflows/npm-audit-fix.yml vendored Normal file
View File

@@ -0,0 +1,71 @@
# 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", "stable26", "stable25", "stable24"]
name: npm-audit-fix-${{ matrix.branches }}
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
with:
ref: ${{ matrix.branches }}
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
id: versions
with:
fallbackNode: '^16'
fallbackNpm: '^7'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # 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()
run: |
npm ci
npm run build --if-present
- name: Create Pull Request
if: always()
uses: peter-evans/create-pull-request@284f54f989303d2699d373481a0cfa13ad5a6666 # v3
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']
php-versions: ['8.0', '8.1']
databases: ['sqlite', 'mysql', 'pgsql']
server-versions: ['stable26']
server-versions: ['stable27']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
@@ -70,7 +70,7 @@ jobs:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.24.0
uses: shivammathur/setup-php@2.25.1
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit

View File

@@ -27,7 +27,7 @@ jobs:
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- name: Set up php
uses: shivammathur/setup-php@2.24.0 # v2
uses: shivammathur/setup-php@2.25.1 # v2
with:
php-version: 8.1
coverage: none

View File

@@ -17,7 +17,7 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ["master", "stable25", "stable24"]
branches: ["master", "stable26", "stable25", "stable24"]
name: update-nextcloud-ocp-${{ matrix.branches }}
@@ -28,7 +28,7 @@ jobs:
submodules: true
- name: Set up php8.1
uses: shivammathur/setup-php@2.24.0 # v2
uses: shivammathur/setup-php@2.25.1 # v2
with:
php-version: 8.1
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -52,7 +52,7 @@ jobs:
continue-on-error: true
- name: Create Pull Request
uses: peter-evans/create-pull-request@2b011faafdcbc9ceb11414d64d0573f37c774b04 # v3
uses: peter-evans/create-pull-request@284f54f989303d2699d373481a0cfa13ad5a6666 # v3
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "chore(dev-deps): Bump nextcloud/ocp package"

View File

@@ -1,52 +1,61 @@
# Changelog
All notable changes to this project will be documented in this file.
## 1.9.2
## 1.10.0-beta.2
### Fixed
- fix: Properly overwrite z-index of datepicker above modal [#4665](https://github.com/nextcloud/deck/pull/4665)
- fix: Properly overwrite z-index of datepicker above modal @juliushaertl [#4664](https://github.com/nextcloud/deck/pull/4664)
- Use the color-primary-element* variables @szaimen [#4673](https://github.com/nextcloud/deck/pull/4673)
- Dependency updates
### Other
## 1.9.1
- feat: Add devcontainer and update dev docs @juliushaertl [#4683](https://github.com/nextcloud/deck/pull/4683)
- chore(CI): Adjust testing matrix for Nextcloud 27 on stable27 @nickvergessen [#4691](https://github.com/nextcloud/deck/pull/4691)
### Fixed
- 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
## 1.9.0
## 1.10.0-beta.1
### Added
- 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)
- 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)
- 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)
- 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)
### 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)
@@ -56,6 +65,10 @@ 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

@@ -30,24 +30,7 @@ Deck is a kanban style organization tool aimed at personal planning and project
## Installation/Update
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`
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).
## Performance limitations
@@ -62,42 +45,47 @@ Improvements on Nextcloud server and Deck itself will improve the situation.
## Developing
### Nextcloud environment
There are multiple ways to develop on Deck. As you will need a Nextcloud server running, the individual options are described below.
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).
### General build instructions
General build instructions for the app itself are the same for all options.
To build you will need to have [Node.js](https://nodejs.org/en/) and [Composer](https://getcomposer.org/) installed.
- 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`
### 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
```
docker run --rm \
-p 8080:80 \
-v ~/path/to/app:/var/www/html/apps-extra/app \
ghcr.io/juliushaertl/nextcloud-dev-php80:latest
```
### Full Nextcloud development environment
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.
### PHP
Nothing to prepare, just dig into the code.
### JavaScript
This requires at least Node 16 and npm 7 to be installed.
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.
#### Hot reloading
Enable debug mode in your config.php `'debug' => true,`
Without SSL:
```
npx webpack-dev-server --config webpack.hot.js \
--public localhost:3000 \
--output-public-path 'http://localhost:3000/js/'
```
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/'
```
### 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.9.2</version>
<version>1.10.0-beta.2</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="26" max-version="26"/>
<nextcloud min-version="27" max-version="27"/>
</dependencies>
<background-jobs>
<job>OCA\Deck\Cron\DeleteCron</job>

View File

@@ -19,7 +19,7 @@
"symfony/event-dispatcher": "^4.0",
"vimeo/psalm": "^5.4",
"php-parallel-lint/php-parallel-lint": "^1.2",
"nextcloud/ocp": "dev-stable26"
"nextcloud/ocp": "dev-stable27"
},
"config": {
"optimize-autoloader": true,

383
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "7f234626b3fd062832a6387b9434427c",
"content-hash": "30950a60ff7a29428176f01bd6f4589b",
"packages": [
{
"name": "cogpowered/finediff",
@@ -299,79 +299,6 @@
],
"time": "2021-03-30T17:13:30+00:00"
},
{
"name": "composer/package-versions-deprecated",
"version": "1.11.99.5",
"source": {
"type": "git",
"url": "https://github.com/composer/package-versions-deprecated.git",
"reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/b4f54f74ef3453349c24a845d22392cd31e65f1d",
"reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.1.0 || ^2.0",
"php": "^7 || ^8"
},
"replace": {
"ocramius/package-versions": "1.11.99"
},
"require-dev": {
"composer/composer": "^1.9.3 || ^2.0@dev",
"ext-zip": "^1.13",
"phpunit/phpunit": "^6.5 || ^7"
},
"type": "composer-plugin",
"extra": {
"class": "PackageVersions\\Installer",
"branch-alias": {
"dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"PackageVersions\\": "src/PackageVersions"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com"
},
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be"
}
],
"description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
"support": {
"issues": "https://github.com/composer/package-versions-deprecated/issues",
"source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.5"
},
"funding": [
{
"url": "https://packagist.com",
"type": "custom"
},
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2022-01-17T14:14:24+00:00"
},
{
"name": "composer/pcre",
"version": "1.0.1",
@@ -699,6 +626,49 @@
},
"time": "2021-08-05T19:00:23+00:00"
},
{
"name": "doctrine/deprecations",
"version": "v1.0.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/deprecations.git",
"reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de",
"reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de",
"shasum": ""
},
"require": {
"php": "^7.1|^8.0"
},
"require-dev": {
"doctrine/coding-standard": "^9",
"phpunit/phpunit": "^7.5|^8.5|^9.5",
"psr/log": "^1|^2|^3"
},
"suggest": {
"psr/log": "Allows logging deprecations via PSR-3 logger implementation"
},
"type": "library",
"autoload": {
"psr-4": {
"Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.",
"homepage": "https://www.doctrine-project.org/",
"support": {
"issues": "https://github.com/doctrine/deprecations/issues",
"source": "https://github.com/doctrine/deprecations/tree/v1.0.0"
},
"time": "2022-05-02T15:47:09+00:00"
},
{
"name": "doctrine/instantiator",
"version": "1.5.0",
@@ -1102,16 +1072,16 @@
},
{
"name": "myclabs/deep-copy",
"version": "1.11.0",
"version": "1.11.1",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
"reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614"
"reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614",
"reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
"reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
"shasum": ""
},
"require": {
@@ -1149,7 +1119,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
"source": "https://github.com/myclabs/DeepCopy/tree/1.11.0"
"source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
},
"funding": [
{
@@ -1157,20 +1127,20 @@
"type": "tidelift"
}
],
"time": "2022-03-03T13:19:32+00:00"
"time": "2023-03-08T13:26:56+00:00"
},
{
"name": "netresearch/jsonmapper",
"version": "v4.1.0",
"version": "v4.2.0",
"source": {
"type": "git",
"url": "https://github.com/cweiske/jsonmapper.git",
"reference": "cfa81ea1d35294d64adb9c68aa4cb9e92400e53f"
"reference": "f60565f8c0566a31acf06884cdaa591867ecc956"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/cfa81ea1d35294d64adb9c68aa4cb9e92400e53f",
"reference": "cfa81ea1d35294d64adb9c68aa4cb9e92400e53f",
"url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/f60565f8c0566a31acf06884cdaa591867ecc956",
"reference": "f60565f8c0566a31acf06884cdaa591867ecc956",
"shasum": ""
},
"require": {
@@ -1206,9 +1176,9 @@
"support": {
"email": "cweiske@cweiske.de",
"issues": "https://github.com/cweiske/jsonmapper/issues",
"source": "https://github.com/cweiske/jsonmapper/tree/v4.1.0"
"source": "https://github.com/cweiske/jsonmapper/tree/v4.2.0"
},
"time": "2022-12-08T20:46:14+00:00"
"time": "2023-04-09T17:37:40+00:00"
},
{
"name": "nextcloud/coding-standard",
@@ -1253,20 +1223,21 @@
},
{
"name": "nextcloud/ocp",
"version": "dev-stable26",
"version": "dev-stable27",
"source": {
"type": "git",
"url": "https://github.com/nextcloud-deps/ocp.git",
"reference": "37923c381f59247ae6a4049561454f5d3cc2fa01"
"reference": "92f707dc8f36a76ddfed4d52d999d672613a4748"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/37923c381f59247ae6a4049561454f5d3cc2fa01",
"reference": "37923c381f59247ae6a4049561454f5d3cc2fa01",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/92f707dc8f36a76ddfed4d52d999d672613a4748",
"reference": "92f707dc8f36a76ddfed4d52d999d672613a4748",
"shasum": ""
},
"require": {
"php": "^7.4 || ~8.0 || ~8.1",
"psr/clock": "^1.0",
"psr/container": "^1.1.1",
"psr/event-dispatcher": "^1.0",
"psr/log": "^1.1"
@@ -1290,22 +1261,22 @@
"description": "Composer package containing Nextcloud's public API (classes, interfaces)",
"support": {
"issues": "https://github.com/nextcloud-deps/ocp/issues",
"source": "https://github.com/nextcloud-deps/ocp/tree/stable26"
"source": "https://github.com/nextcloud-deps/ocp/tree/master"
},
"time": "2023-05-05T00:32:37+00:00"
"time": "2023-05-17T10:58:24+00:00"
},
{
"name": "nikic/php-parser",
"version": "v4.15.3",
"version": "v4.15.4",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039"
"reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/570e980a201d8ed0236b0a62ddf2c9cbb2034039",
"reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
"reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
"shasum": ""
},
"require": {
@@ -1346,9 +1317,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v4.15.3"
"source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4"
},
"time": "2023-01-16T22:05:37+00:00"
"time": "2023-03-05T19:49:14+00:00"
},
{
"name": "phar-io/manifest",
@@ -1682,24 +1653,27 @@
},
{
"name": "phpdocumentor/type-resolver",
"version": "1.6.2",
"version": "1.7.1",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
"reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d"
"reference": "dfc078e8af9c99210337325ff5aa152872c98714"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
"reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/dfc078e8af9c99210337325ff5aa152872c98714",
"reference": "dfc078e8af9c99210337325ff5aa152872c98714",
"shasum": ""
},
"require": {
"doctrine/deprecations": "^1.0",
"php": "^7.4 || ^8.0",
"phpdocumentor/reflection-common": "^2.0"
"phpdocumentor/reflection-common": "^2.0",
"phpstan/phpdoc-parser": "^1.13"
},
"require-dev": {
"ext-tokenizer": "*",
"phpbench/phpbench": "^1.2",
"phpstan/extension-installer": "^1.1",
"phpstan/phpstan": "^1.8",
"phpstan/phpstan-phpunit": "^1.1",
@@ -1731,29 +1705,74 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.2"
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.1"
},
"time": "2022-10-14T12:47:21+00:00"
"time": "2023-03-27T19:02:04+00:00"
},
{
"name": "phpunit/php-code-coverage",
"version": "9.2.24",
"name": "phpstan/phpdoc-parser",
"version": "1.20.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "2cf940ebc6355a9d430462811b5aaa308b174bed"
"url": "https://github.com/phpstan/phpdoc-parser.git",
"reference": "7d568c87a9df9c5f7e8b5f075fc469aa8cb0a4cd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2cf940ebc6355a9d430462811b5aaa308b174bed",
"reference": "2cf940ebc6355a9d430462811b5aaa308b174bed",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/7d568c87a9df9c5f7e8b5f075fc469aa8cb0a4cd",
"reference": "7d568c87a9df9c5f7e8b5f075fc469aa8cb0a4cd",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0"
},
"require-dev": {
"php-parallel-lint/php-parallel-lint": "^1.2",
"phpstan/extension-installer": "^1.0",
"phpstan/phpstan": "^1.5",
"phpstan/phpstan-phpunit": "^1.1",
"phpstan/phpstan-strict-rules": "^1.0",
"phpunit/phpunit": "^9.5",
"symfony/process": "^5.2"
},
"type": "library",
"autoload": {
"psr-4": {
"PHPStan\\PhpDocParser\\": [
"src/"
]
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
"source": "https://github.com/phpstan/phpdoc-parser/tree/1.20.4"
},
"time": "2023-05-02T09:19:37+00:00"
},
{
"name": "phpunit/php-code-coverage",
"version": "9.2.26",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1",
"reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
"nikic/php-parser": "^4.14",
"nikic/php-parser": "^4.15",
"php": ">=7.3",
"phpunit/php-file-iterator": "^3.0.3",
"phpunit/php-text-template": "^2.0.2",
@@ -1768,8 +1787,8 @@
"phpunit/phpunit": "^9.3"
},
"suggest": {
"ext-pcov": "*",
"ext-xdebug": "*"
"ext-pcov": "PHP extension that provides line coverage",
"ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
},
"type": "library",
"extra": {
@@ -1802,7 +1821,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.24"
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26"
},
"funding": [
{
@@ -1810,7 +1829,7 @@
"type": "github"
}
],
"time": "2023-01-26T08:26:55+00:00"
"time": "2023-03-06T12:58:08+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -2055,16 +2074,16 @@
},
{
"name": "phpunit/phpunit",
"version": "9.6.3",
"version": "9.6.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "e7b1615e3e887d6c719121c6d4a44b0ab9645555"
"reference": "17d621b3aff84d0c8b62539e269e87d8d5baa76e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e7b1615e3e887d6c719121c6d4a44b0ab9645555",
"reference": "e7b1615e3e887d6c719121c6d4a44b0ab9645555",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/17d621b3aff84d0c8b62539e269e87d8d5baa76e",
"reference": "17d621b3aff84d0c8b62539e269e87d8d5baa76e",
"shasum": ""
},
"require": {
@@ -2097,8 +2116,8 @@
"sebastian/version": "^3.0.2"
},
"suggest": {
"ext-soap": "*",
"ext-xdebug": "*"
"ext-soap": "To be able to generate mocks based on WSDL files",
"ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
},
"bin": [
"phpunit"
@@ -2137,7 +2156,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.3"
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.8"
},
"funding": [
{
@@ -2153,7 +2173,7 @@
"type": "tidelift"
}
],
"time": "2023-02-04T13:37:15+00:00"
"time": "2023-05-11T05:14:45+00:00"
},
{
"name": "psr/cache",
@@ -2204,6 +2224,54 @@
},
"time": "2021-02-03T23:26:27+00:00"
},
{
"name": "psr/clock",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/clock.git",
"reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d",
"reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d",
"shasum": ""
},
"require": {
"php": "^7.0 || ^8.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Psr\\Clock\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for reading the clock.",
"homepage": "https://github.com/php-fig/clock",
"keywords": [
"clock",
"now",
"psr",
"psr-20",
"time"
],
"support": {
"issues": "https://github.com/php-fig/clock/issues",
"source": "https://github.com/php-fig/clock/tree/1.0.0"
},
"time": "2022-11-25T14:36:26+00:00"
},
{
"name": "psr/container",
"version": "1.1.2",
@@ -3084,16 +3152,16 @@
},
{
"name": "sebastian/diff",
"version": "4.0.4",
"version": "4.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
"reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
"reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
"reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
"reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
"shasum": ""
},
"require": {
@@ -3138,7 +3206,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
"source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
"source": "https://github.com/sebastianbergmann/diff/tree/4.0.5"
},
"funding": [
{
@@ -3146,7 +3214,7 @@
"type": "github"
}
],
"time": "2020-10-26T13:10:38+00:00"
"time": "2023-05-07T05:35:17+00:00"
},
{
"name": "sebastian/environment",
@@ -3813,16 +3881,16 @@
},
{
"name": "symfony/console",
"version": "v5.4.19",
"version": "v5.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "dccb8d251a9017d5994c988b034d3e18aaabf740"
"reference": "90f21e27d0d88ce38720556dd164d4a1e4c3934c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/dccb8d251a9017d5994c988b034d3e18aaabf740",
"reference": "dccb8d251a9017d5994c988b034d3e18aaabf740",
"url": "https://api.github.com/repos/symfony/console/zipball/90f21e27d0d88ce38720556dd164d4a1e4c3934c",
"reference": "90f21e27d0d88ce38720556dd164d4a1e4c3934c",
"shasum": ""
},
"require": {
@@ -3887,12 +3955,12 @@
"homepage": "https://symfony.com",
"keywords": [
"cli",
"command line",
"command-line",
"console",
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v5.4.19"
"source": "https://github.com/symfony/console/tree/v5.4.23"
},
"funding": [
{
@@ -3908,7 +3976,7 @@
"type": "tidelift"
}
],
"time": "2023-01-01T08:32:19+00:00"
"time": "2023-04-24T18:47:29+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -4142,16 +4210,16 @@
},
{
"name": "symfony/filesystem",
"version": "v5.4.19",
"version": "v5.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "648bfaca6a494f3e22378123bcee2894045dc9d8"
"reference": "b2f79d86cd9e7de0fff6d03baa80eaed7a5f38b5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/648bfaca6a494f3e22378123bcee2894045dc9d8",
"reference": "648bfaca6a494f3e22378123bcee2894045dc9d8",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/b2f79d86cd9e7de0fff6d03baa80eaed7a5f38b5",
"reference": "b2f79d86cd9e7de0fff6d03baa80eaed7a5f38b5",
"shasum": ""
},
"require": {
@@ -4186,7 +4254,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/filesystem/tree/v5.4.19"
"source": "https://github.com/symfony/filesystem/tree/v5.4.23"
},
"funding": [
{
@@ -4202,7 +4270,7 @@
"type": "tidelift"
}
],
"time": "2023-01-14T19:14:44+00:00"
"time": "2023-03-02T11:38:35+00:00"
},
{
"name": "symfony/finder",
@@ -5116,16 +5184,16 @@
},
{
"name": "symfony/string",
"version": "v5.4.19",
"version": "v5.4.22",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "0a01071610fd861cc160dfb7e2682ceec66064cb"
"reference": "8036a4c76c0dd29e60b6a7cafcacc50cf088ea62"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/0a01071610fd861cc160dfb7e2682ceec66064cb",
"reference": "0a01071610fd861cc160dfb7e2682ceec66064cb",
"url": "https://api.github.com/repos/symfony/string/zipball/8036a4c76c0dd29e60b6a7cafcacc50cf088ea62",
"reference": "8036a4c76c0dd29e60b6a7cafcacc50cf088ea62",
"shasum": ""
},
"require": {
@@ -5182,7 +5250,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v5.4.19"
"source": "https://github.com/symfony/string/tree/v5.4.22"
},
"funding": [
{
@@ -5198,7 +5266,7 @@
"type": "tidelift"
}
],
"time": "2023-01-01T08:32:19+00:00"
"time": "2023-03-14T06:11:53+00:00"
},
{
"name": "theseer/tokenizer",
@@ -5252,22 +5320,22 @@
},
{
"name": "vimeo/psalm",
"version": "5.7.7",
"version": "5.11.0",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
"reference": "e028ba46ba0d7f9a78bc3201c251e137383e145f"
"reference": "c9b192ab8400fdaf04b2b13d110575adc879aa90"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/e028ba46ba0d7f9a78bc3201c251e137383e145f",
"reference": "e028ba46ba0d7f9a78bc3201c251e137383e145f",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/c9b192ab8400fdaf04b2b13d110575adc879aa90",
"reference": "c9b192ab8400fdaf04b2b13d110575adc879aa90",
"shasum": ""
},
"require": {
"amphp/amp": "^2.4.2",
"amphp/byte-stream": "^1.5",
"composer/package-versions-deprecated": "^1.10.0",
"composer-runtime-api": "^2",
"composer/semver": "^1.4 || ^2.0 || ^3.0",
"composer/xdebug-handler": "^2.0 || ^3.0",
"dnoegel/php-xdg-base-dir": "^0.1.1",
@@ -5282,7 +5350,7 @@
"felixfbecker/language-server-protocol": "^1.5.2",
"fidry/cpu-core-counter": "^0.4.1 || ^0.5.1",
"netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
"nikic/php-parser": "^4.13",
"nikic/php-parser": "^4.14",
"php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0",
"sebastian/diff": "^4.0 || ^5.0",
"spatie/array-to-xml": "^2.17.0 || ^3.0",
@@ -5293,6 +5361,7 @@
"psalm/psalm": "self.version"
},
"require-dev": {
"amphp/phpunit-util": "^2.0",
"bamarni/composer-bin-plugin": "^1.4",
"brianium/paratest": "^6.9",
"ext-curl": "*",
@@ -5351,9 +5420,9 @@
],
"support": {
"issues": "https://github.com/vimeo/psalm/issues",
"source": "https://github.com/vimeo/psalm/tree/5.7.7"
"source": "https://github.com/vimeo/psalm/tree/5.11.0"
},
"time": "2023-02-25T01:05:07+00:00"
"time": "2023-05-04T21:35:44+00:00"
},
{
"name": "webmozart/assert",

View File

@@ -78,7 +78,7 @@ OC.L10N.register(
"{user} has mentioned you in a comment on {deck-card}." : "{user} har nämnt dig i en kommentar i {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "Tavlan \"%s\" har delats med dig av %s.",
"{user} has shared {deck-board} with you." : "{user} har delat {deck-board} med dig.",
"Deck board" : "Deck-tavla",
"Deck board" : "Deck-plank",
"Owned by %1$s" : "Ägd av %1$s",
"Deck boards, cards and comments" : "Deck tavlor, kort och kommentarer",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "Från %1$s, i %2$s/%3$s, ägd av %4$s",
@@ -92,7 +92,7 @@ OC.L10N.register(
"Later" : "Senare",
"copy" : "kopiera",
"To do" : "Att göra",
"Doing" : "Pågående",
"Doing" : "Gör",
"Done" : "Klart",
"Example Task 3" : "Exempeluppgift 3",
"Example Task 2" : "Exempeluppgift 2",
@@ -249,7 +249,7 @@ OC.L10N.register(
"Write a description …" : "Ange en beskrivning ...",
"Choose attachment" : "Välj bilaga",
"(group)" : " (grupp)",
"Todo items" : "Att göra saker",
"Todo items" : "Todo saker",
"{count} comments, {unread} unread" : "{count} kommentarer, {unread} olästa",
"Edit card title" : "Ändra korttitel",
"Assign to me" : "Tilldela till mig",
@@ -289,7 +289,7 @@ OC.L10N.register(
"Only assigned cards" : "Bara tilldelade kort",
"No reminder" : "Ingen påminnelse",
"An error occurred" : "Ett fel uppstod",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Är du säker på att du vill radera tavla {title}? Detta kommer radera all data som tillhör tavlan inklusive arkiverade kort.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Är du säker på att du vill radera brädet {title}? Detta kommer radera all data som tillhör brädet inklusive arkiverade kort.",
"Delete the board?" : "Ta bort tavlan?",
"Loading filtered view" : "Laddar filtrerad vy",
"No due" : "Inget slut",
@@ -316,9 +316,9 @@ OC.L10N.register(
"Share with a Deck card" : "Dela med ett Deck-kort",
"Share {file} with a Deck card" : "Dela {file} med ett Deck-kort",
"Share" : "Dela",
"Are you sure you want to transfer the board {title} for {user}?" : "Är du säker på att du vill överföra tavla {title} för {user}?",
"Transfer the board for {user} successfully" : "Överförde tavlan för {user}",
"Failed to transfer the board for {user}" : "Misslyckades med att överföra tavlan för {user}",
"Are you sure you want to transfer the board {title} for {user}?" : "Är du säker på att du vill överföra brädet {title} för {user}?",
"Transfer the board for {user} successfully" : "Överförde brädet för {user}",
"Failed to transfer the board for {user}" : "Misslyckades med att överföra brädet för {user}",
"Add a new list" : "Lägg till en ny lista",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Är du säker på att du vill radera tavla {title}? Detta kommer att radera all information från denna tavla."
},

View File

@@ -76,7 +76,7 @@
"{user} has mentioned you in a comment on {deck-card}." : "{user} har nämnt dig i en kommentar i {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "Tavlan \"%s\" har delats med dig av %s.",
"{user} has shared {deck-board} with you." : "{user} har delat {deck-board} med dig.",
"Deck board" : "Deck-tavla",
"Deck board" : "Deck-plank",
"Owned by %1$s" : "Ägd av %1$s",
"Deck boards, cards and comments" : "Deck tavlor, kort och kommentarer",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "Från %1$s, i %2$s/%3$s, ägd av %4$s",
@@ -90,7 +90,7 @@
"Later" : "Senare",
"copy" : "kopiera",
"To do" : "Att göra",
"Doing" : "Pågående",
"Doing" : "Gör",
"Done" : "Klart",
"Example Task 3" : "Exempeluppgift 3",
"Example Task 2" : "Exempeluppgift 2",
@@ -247,7 +247,7 @@
"Write a description …" : "Ange en beskrivning ...",
"Choose attachment" : "Välj bilaga",
"(group)" : " (grupp)",
"Todo items" : "Att göra saker",
"Todo items" : "Todo saker",
"{count} comments, {unread} unread" : "{count} kommentarer, {unread} olästa",
"Edit card title" : "Ändra korttitel",
"Assign to me" : "Tilldela till mig",
@@ -287,7 +287,7 @@
"Only assigned cards" : "Bara tilldelade kort",
"No reminder" : "Ingen påminnelse",
"An error occurred" : "Ett fel uppstod",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Är du säker på att du vill radera tavla {title}? Detta kommer radera all data som tillhör tavlan inklusive arkiverade kort.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Är du säker på att du vill radera brädet {title}? Detta kommer radera all data som tillhör brädet inklusive arkiverade kort.",
"Delete the board?" : "Ta bort tavlan?",
"Loading filtered view" : "Laddar filtrerad vy",
"No due" : "Inget slut",
@@ -314,9 +314,9 @@
"Share with a Deck card" : "Dela med ett Deck-kort",
"Share {file} with a Deck card" : "Dela {file} med ett Deck-kort",
"Share" : "Dela",
"Are you sure you want to transfer the board {title} for {user}?" : "Är du säker på att du vill överföra tavla {title} för {user}?",
"Transfer the board for {user} successfully" : "Överförde tavlan för {user}",
"Failed to transfer the board for {user}" : "Misslyckades med att överföra tavlan för {user}",
"Are you sure you want to transfer the board {title} for {user}?" : "Är du säker på att du vill överföra brädet {title} för {user}?",
"Transfer the board for {user} successfully" : "Överförde brädet för {user}",
"Failed to transfer the board for {user}" : "Misslyckades med att överföra brädet för {user}",
"Add a new list" : "Lägg till en ny lista",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Är du säker på att du vill radera tavla {title}? Detta kommer att radera all information från denna tavla."
},"pluralForm" :"nplurals=2; plural=(n != 1);"

View File

@@ -173,7 +173,7 @@ OC.L10N.register(
"Can manage" : "可以管理",
"Owner" : "所有者",
"Delete" : "删除",
"Failed to create share with {displayName}" : "用{displayName}创建分享失败",
"Failed to create share with {displayName}" : "用 {displayName} 创建分享失败",
"Transfer" : "传输",
"Archive all cards" : "归档所有卡片",
"Delete list" : "删除列表",
@@ -285,7 +285,7 @@ OC.L10N.register(
"Create a card" : "创建一张卡片",
"Message from {author} in {conversationName}" : "{conversationName} 会话中来自 {author} 的消息",
"Something went wrong" : "发生了错误",
"Failed to upload {name}" : "未能上传{name}",
"Failed to upload {name}" : "未能上传 {name}",
"Maximum file size of {size} exceeded" : "文件容量已超过 {size} 的上限",
"Error creating the share" : "创建分享出错",
"Share with a Deck card" : "分享给一张看板卡片",

View File

@@ -171,7 +171,7 @@
"Can manage" : "可以管理",
"Owner" : "所有者",
"Delete" : "删除",
"Failed to create share with {displayName}" : "用{displayName}创建分享失败",
"Failed to create share with {displayName}" : "用 {displayName} 创建分享失败",
"Transfer" : "传输",
"Archive all cards" : "归档所有卡片",
"Delete list" : "删除列表",
@@ -283,7 +283,7 @@
"Create a card" : "创建一张卡片",
"Message from {author} in {conversationName}" : "{conversationName} 会话中来自 {author} 的消息",
"Something went wrong" : "发生了错误",
"Failed to upload {name}" : "未能上传{name}",
"Failed to upload {name}" : "未能上传 {name}",
"Maximum file size of {size} exceeded" : "文件容量已超过 {size} 的上限",
"Error creating the share" : "创建分享出错",
"Share with a Deck card" : "分享给一张看板卡片",

View File

@@ -186,28 +186,28 @@ class DeckProvider implements IProvider {
private function getIcon(IEvent $event) {
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('deck', 'deck-dark.svg')));
if (strpos($event->getSubject(), '_update') !== false) {
if (str_contains($event->getSubject(), '_update')) {
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('files', 'change.svg')));
}
if (strpos($event->getSubject(), '_create') !== false) {
if (str_contains($event->getSubject(), '_create')) {
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('files', 'add-color.svg')));
}
if (strpos($event->getSubject(), '_delete') !== false) {
if (str_contains($event->getSubject(), '_delete')) {
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('files', 'delete-color.svg')));
}
if (strpos($event->getSubject(), 'archive') !== false) {
if (str_contains($event->getSubject(), 'archive')) {
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('deck', 'archive.svg')));
}
if (strpos($event->getSubject(), '_restore') !== false) {
if (str_contains($event->getSubject(), '_restore')) {
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/history.svg')));
}
if (strpos($event->getSubject(), 'attachment_') !== false) {
if (str_contains($event->getSubject(), 'attachment_')) {
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'places/files.svg')));
}
if (strpos($event->getSubject(), 'comment_') !== false) {
if (str_contains($event->getSubject(), 'comment_')) {
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/comment.svg')));
}
if (strpos($event->getSubject(), 'label_') !== false) {
if (str_contains($event->getSubject(), 'label_')) {
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/tag.svg')));
}
return $event;

View File

@@ -53,7 +53,7 @@ class AttachmentController extends Controller {
* @throws \OCA\Deck\NotFoundException
*/
public function display($cardId, $attachmentId) {
if (strpos($attachmentId, ':') === false) {
if (!str_contains($attachmentId, ':')) {
$type = 'deck_file';
} else {
[$type, $attachmentId] = explode(':', $attachmentId);
@@ -76,7 +76,7 @@ class AttachmentController extends Controller {
* @NoAdminRequired
*/
public function update($cardId, $attachmentId) {
if (strpos($attachmentId, ':') === false) {
if (!str_contains($attachmentId, ':')) {
$type = 'deck_file';
} else {
[$type, $attachmentId] = explode(':', $attachmentId);
@@ -88,7 +88,7 @@ class AttachmentController extends Controller {
* @NoAdminRequired
*/
public function delete($cardId, $attachmentId) {
if (strpos($attachmentId, ':') === false) {
if (!str_contains($attachmentId, ':')) {
$type = 'deck_file';
} else {
[$type, $attachmentId] = explode(':', $attachmentId);
@@ -100,7 +100,7 @@ class AttachmentController extends Controller {
* @NoAdminRequired
*/
public function restore($cardId, $attachmentId) {
if (strpos($attachmentId, ':') === false) {
if (!str_contains($attachmentId, ':')) {
$type = 'deck_file';
} else {
[$type, $attachmentId] = explode(':', $attachmentId);

View File

@@ -68,7 +68,7 @@ class RelationalEntity extends Entity implements \JsonSerializable {
$reflection = new \ReflectionClass($this);
$json = [];
foreach ($properties as $property => $value) {
if (strpos($property, '_') !== 0 && $reflection->hasProperty($property)) {
if (!str_starts_with($property, '_') && $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) && strpos($methodName, 'resolve') === 0) {
if (array_key_exists($attr, $this->_resolvedProperties) && str_starts_with($methodName, 'resolve')) {
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) && strpos($methodName, 'set') === 0) {
if (array_key_exists($attr, $this->_resolvedProperties) && str_starts_with($methodName, 'set')) {
if (!is_scalar($args[0])) {
$args[0] = $args[0]['primaryKey'];
}

View File

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

View File

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

View File

@@ -109,7 +109,7 @@ class ExceptionMiddleware extends Middleware {
], $exception->getStatus());
}
if (strpos(get_class($controller), 'OCA\\Deck\\Controller\\') === 0) {
if (str_starts_with(get_class($controller), 'OCA\\Deck\\Controller\\')) {
$response = [
'status' => 500,
'message' => $exceptionMessage,

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 (strpos($token, ':') === false) {
if (!str_contains($token, ':')) {
return false;
}

View File

@@ -39,6 +39,7 @@ 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\NoPermissionException;
use OCA\Deck\Notification\NotificationHelper;
use OCA\Deck\Db\BoardMapper;
@@ -155,7 +156,12 @@ class CardService {
$card->setAssignedUsers($cardAssignedUsers);
}
return $cards;
return array_map(
function (Card $card): CardDetails {
return new CardDetails($card);
},
$cards
);
}
public function fetchDeleted($boardId) {
$this->cardServiceValidator->check(compact('boardId'));

View File

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

View File

@@ -55,7 +55,7 @@ abstract class BaseValidator {
// The format for specifying validation rules and parameters follows an
// easy {rule}:{parameters} formatting convention. For instance the
// rule "Max:3" states that the value may only be three letters.
if (strpos($rule, ':') !== false) {
if (str_contains($rule, ':')) {
[$rule, $parameter] = explode(':', $rule, 2);
if (!$this->{$rule}($value, $parameter)) {
throw new BadRequestException(

899
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
{
"name": "deck",
"description": "",
"version": "1.9.2",
"version": "1.10.0-beta.2",
"authors": [
{
"name": "Julius Härtl",
@@ -20,7 +20,6 @@
"build": "NODE_ENV=production webpack --progress --config webpack.js",
"dev": "NODE_ENV=development webpack --progress --config webpack.js",
"watch": "NODE_ENV=development webpack --progress --watch --config webpack.js",
"serve": "webpack serve --node-env development --allowed-hosts all --config webpack.js",
"lint": "eslint --ext .js,.vue src",
"lint:fix": "eslint --ext .js,.vue src --fix",
"lint:cypress": "eslint --ext .js cypress",
@@ -31,7 +30,7 @@
},
"dependencies": {
"@babel/polyfill": "^7.12.1",
"@babel/runtime": "^7.21.0",
"@babel/runtime": "^7.21.5",
"@nextcloud/auth": "^2.0.0",
"@nextcloud/axios": "^2.3.0",
"@nextcloud/dialogs": "^4.0.1",
@@ -41,17 +40,16 @@
"@nextcloud/l10n": "^2.1.0",
"@nextcloud/moment": "^1.2.1",
"@nextcloud/notify_push": "^1.1.3",
"@nextcloud/router": "^2.0.1",
"@nextcloud/vue": "^7.8.4",
"@nextcloud/vue-richtext": "^2.0.4",
"@nextcloud/router": "^2.1.1",
"@nextcloud/vue": "^7.11.4",
"blueimp-md5": "^2.19.0",
"dompurify": "^3.0.0",
"dompurify": "^3.0.3",
"lodash": "^4.17.21",
"markdown-it": "^13.0.1",
"markdown-it-link-attributes": "^4.0.1",
"markdown-it-task-checkbox": "^1.0.6",
"moment": "^2.29.4",
"nextcloud-vue-collections": "^0.11.0",
"nextcloud-vue-collections": "^0.11.1",
"p-queue": "^7.3.4",
"url-search-params-polyfill": "^8.1.1",
"vue": "^2.7.14",
@@ -78,16 +76,16 @@
"@nextcloud/cypress": "^1.0.0-beta.2",
"@nextcloud/eslint-config": "^8.2.1",
"@nextcloud/stylelint-config": "^2.3.0",
"@nextcloud/webpack-vue-config": "^5.4.0",
"@relative-ci/agent": "^4.1.3",
"@vue/test-utils": "^1.3.4",
"@vue/vue2-jest": "^29.2.2",
"cypress": "^12.7.0",
"eslint-plugin-cypress": "^2.12.1",
"eslint-webpack-plugin": "^4.0.0",
"jest": "^29.4.3",
"@nextcloud/webpack-vue-config": "^5.5.1",
"@relative-ci/agent": "^4.1.4",
"@vue/test-utils": "^1.3.5",
"@vue/vue2-jest": "^29.2.4",
"cypress": "^12.12.0",
"eslint-plugin-cypress": "^2.13.3",
"eslint-webpack-plugin": "^4.0.1",
"jest": "^29.5.0",
"jest-serializer-vue": "^3.1.0",
"stylelint-webpack-plugin": "^4.1.0",
"stylelint-webpack-plugin": "^4.1.1",
"vue-template-compiler": "^2.7.14"
},
"jest": {

View File

@@ -167,7 +167,7 @@ export default {
}
.avatardiv.circles {
background: var(--color-primary);
background: var(--color-primary-element);
}
.icon-circles {

View File

@@ -110,7 +110,7 @@ export default {
}
li.selected {
border: 1px solid var(--color-primary);
border: 1px solid var(--color-primary-element);
}
.board-bullet {

View File

@@ -24,7 +24,7 @@
<div v-if="activity" class="activity">
<div class="activity--header">
<img :src="activity.icon" class="activity--icon">
<RichText class="activity--subject" :text="message.subject" :arguments="message.parameters" />
<NcRichText class="activity--subject" :text="message.subject" :arguments="message.parameters" />
<div class="activity--timestamp">
{{ relativeDate(activity.datetime) }}
</div>
@@ -35,8 +35,7 @@
</template>
<script>
import { RichText } from '@nextcloud/vue-richtext'
import { NcUserBubble } from '@nextcloud/vue'
import { NcRichText, NcUserBubble } from '@nextcloud/vue'
import moment from '@nextcloud/moment'
import DOMPurify from 'dompurify'
import relativeDate from '../mixins/relativeDate.js'
@@ -61,7 +60,7 @@ const InternalLink = {
export default {
name: 'ActivityEntry',
components: {
RichText,
NcRichText,
},
mixins: [relativeDate],
props: {

View File

@@ -136,7 +136,7 @@ export default {
.dragover {
position: absolute;
background: var(--color-primary-light);
background: var(--color-primary-element-light);
z-index: 11;
display: flex;
border-radius: var(--border-radius);

View File

@@ -27,31 +27,39 @@
@close="closeSidebar">
<NcAppSidebarTab id="sharing"
:order="0"
:name="t('deck', 'Sharing')"
icon="icon-shared">
:name="t('deck', 'Sharing')">
<template #icon>
<SharingIcon :size="20" />
</template>
<SharingTabSidebar :board="board" />
</NcAppSidebarTab>
<NcAppSidebarTab id="tags"
:order="1"
:name="t('deck', 'Tags')"
icon="icon-tag">
:name="t('deck', 'Tags')">
<template #icon>
<TagsIcon :size="20" />
</template>
<TagsTabSidebar :board="board" />
</NcAppSidebarTab>
<NcAppSidebarTab v-if="canEdit"
id="deleted"
:order="2"
:name="t('deck', 'Deleted items')"
icon="icon-delete">
:name="t('deck', 'Deleted items')">
<template #icon>
<TrashIcon :size="20" />
</template>
<DeletedTabSidebar :board="board" />
</NcAppSidebarTab>
<NcAppSidebarTab v-if="hasActivity"
id="activity"
:order="3"
:name="t('deck', 'Timeline')"
icon="icon-activity">
:name="t('deck', 'Timeline')">
<template #icon>
<ActivityIcon :size="20" />
</template>
<TimelineTabSidebar :board="board" />
</NcAppSidebarTab>
</NcAppSidebar>
@@ -64,7 +72,10 @@ import TagsTabSidebar from './TagsTabSidebar.vue'
import DeletedTabSidebar from './DeletedTabSidebar.vue'
import TimelineTabSidebar from './TimelineTabSidebar.vue'
import { NcAppSidebar, NcAppSidebarTab } from '@nextcloud/vue'
import ActivityIcon from 'vue-material-design-icons/LightningBolt.vue'
import SharingIcon from 'vue-material-design-icons/ShareVariant.vue'
import TagsIcon from 'vue-material-design-icons/TagMultiple.vue'
import TrashIcon from 'vue-material-design-icons/Delete.vue'
const capabilities = window.OC.getCapabilities()
export default {
@@ -76,6 +87,10 @@ export default {
TagsTabSidebar,
DeletedTabSidebar,
TimelineTabSidebar,
ActivityIcon,
SharingIcon,
TagsIcon,
TrashIcon,
},
props: {
id: {

View File

@@ -25,9 +25,13 @@
</form>
</template>
<template v-else>
<div class="label-title" @click="clickEdit(label)">
<div v-if="canManage && !isArchived" class="label-title" @click="clickEdit(label)">
<span :style="{ backgroundColor: `#${label.color}`, color: textColor(label.color) }">{{ label.title }}</span>
</div>
<div v-else class="label-title">
<span :style="{ backgroundColor: `#${label.color}`, color: textColor(label.color) }">{{ label.title }}</span>
</div>
<NcActions v-if="canManage && !isArchived">
<NcActionButton icon="icon-rename" @click="clickEdit(label)">
{{ t('deck', 'Edit') }}

View File

@@ -50,32 +50,38 @@
<NcAppSidebarTab id="details"
:order="0"
:name="t('deck', 'Details')"
icon="icon-home">
:name="t('deck', 'Details')">
<CardSidebarTabDetails :card="currentCard" />
<template #icon>
<HomeIcon :size="20" />
</template>
</NcAppSidebarTab>
<NcAppSidebarTab id="attachments"
:order="1"
:name="t('deck', 'Attachments')">
<template #icon>
<AttachmentIcon :size="20" decorative />
<AttachmentIcon :size="20" />
</template>
<CardSidebarTabAttachments :card="currentCard" />
</NcAppSidebarTab>
<NcAppSidebarTab id="comments"
:order="2"
:name="t('deck', 'Comments')"
icon="icon-comment">
:name="t('deck', 'Comments')">
<template #icon>
<CommentIcon :size="20" />
</template>
<CardSidebarTabComments :card="currentCard" :tab-query="tabQuery" />
</NcAppSidebarTab>
<NcAppSidebarTab v-if="hasActivity"
id="timeline"
:order="3"
:name="t('deck', 'Timeline')"
icon="icon-activity">
:name="t('deck', 'Timeline')">
<template #icon>
<ActivityIcon :size="20" />
</template>
<CardSidebarTabActivity :card="currentCard" />
</NcAppSidebarTab>
</NcAppSidebar>
@@ -92,6 +98,9 @@ import CardSidebarTabActivity from './CardSidebarTabActivity.vue'
import relativeDate from '../../mixins/relativeDate.js'
import moment from '@nextcloud/moment'
import AttachmentIcon from 'vue-material-design-icons/Paperclip.vue'
import HomeIcon from 'vue-material-design-icons/Home.vue'
import CommentIcon from 'vue-material-design-icons/Comment.vue'
import ActivityIcon from 'vue-material-design-icons/LightningBolt.vue'
import { showError } from '@nextcloud/dialogs'
import { getLocale } from '@nextcloud/l10n'
@@ -108,7 +117,10 @@ export default {
CardSidebarTabComments,
CardSidebarTabActivity,
CardSidebarTabDetails,
ActivityIcon,
AttachmentIcon,
CommentIcon,
HomeIcon,
},
mixins: [relativeDate],
props: {

View File

@@ -12,7 +12,7 @@
</NcActionButton>
</NcActions>
</div>
<RichText class="comment--content"
<NcRichText class="comment--content"
:text="richText(comment)"
:arguments="richArgs(comment)"
:autolink="true" />
@@ -54,7 +54,7 @@
</div>
<CommentItem v-if="comment.replyTo" :reply="true" :comment="comment.replyTo" />
<div v-show="!edit" ref="richTextElement">
<RichText class="comment--content"
<NcRichText class="comment--content"
:text="richText(comment)"
:arguments="richArgs(comment)"
:autolink="true" />
@@ -64,8 +64,7 @@
</template>
<script>
import { NcAvatar, NcActions, NcActionButton, NcUserBubble } from '@nextcloud/vue'
import { RichText } from '@nextcloud/vue-richtext'
import { NcAvatar, NcActions, NcActionButton, NcRichText, NcUserBubble } from '@nextcloud/vue'
import CommentForm from './CommentForm.vue'
import { getCurrentUser } from '@nextcloud/auth'
import md5 from 'blueimp-md5'
@@ -93,7 +92,7 @@ export default {
NcActions,
NcActionButton,
CommentForm,
RichText,
NcRichText,
ReplyIcon,
},
mixins: [relativeDate],

View File

@@ -392,7 +392,7 @@ h5 {
.CodeMirror-selected,
.CodeMirror-line::selection, .CodeMirror-line>span::selection, .CodeMirror-line>span>span::selection {
background: var(--color-primary-element) !important;
color: var(--color-primary-text) !important;
color: var(--color-primary-element-text) !important;
}
.editor-preview,

View File

@@ -133,7 +133,7 @@ export default {
&.overdue {
background-color: var(--color-error);
color: var(--color-primary-text);
color: var(--color-primary-element-text);
opacity: .7;
}
&.now {

View File

@@ -90,7 +90,7 @@ export default {
&.overdue {
background-color: var(--color-error);
color: var(--color-primary-text);
color: var(--color-primary-element-text);
opacity: .7;
padding: 3px 4px;
}

View File

@@ -23,7 +23,7 @@
<template>
<div v-if="searchQuery!==''" class="global-search">
<h2>
<RichText :text="t('deck', 'Search for {searchQuery} in all boards')" :arguments="queryStringArgs" />
<NcRichText :text="t('deck', 'Search for {searchQuery} in all boards')" :arguments="queryStringArgs" />
<div v-if="loading" class="icon-loading-small" />
</h2>
<NcActions>
@@ -57,9 +57,8 @@ import { mapState } from 'vuex'
import axios from '@nextcloud/axios'
import { generateOcsUrl } from '@nextcloud/router'
import InfiniteLoading from 'vue-infinite-loading'
import { RichText } from '@nextcloud/vue-richtext'
import Placeholder from './Placeholder.vue'
import { NcActions, NcActionButton } from '@nextcloud/vue'
import { NcActions, NcActionButton, NcRichText } from '@nextcloud/vue'
const createCancelToken = () => axios.CancelToken.source()
@@ -88,7 +87,7 @@ function search({ query, cursor }) {
export default {
name: 'GlobalSearchResults',
components: { CardItem, InfiniteLoading, RichText, Placeholder, NcActions, NcActionButton },
components: { CardItem, InfiniteLoading, NcRichText, Placeholder, NcActions, NcActionButton },
data() {
return {
results: [],

View File

@@ -23,8 +23,6 @@
import { subscribe } from '@nextcloud/event-bus'
import { generateUrl } from '@nextcloud/router'
import './shared-init.js'
subscribe('calendar:handle-todo-click', ({ calendarId, taskId }) => {
const deckAppPrefix = 'app-generated--deck--board-'
if (calendarId.startsWith(deckAppPrefix)) {

View File

@@ -26,7 +26,10 @@ import './../css/collections.css'
import FileSharingPicker from './views/FileSharingPicker.js'
import { buildSelector } from './helpers/selector.js'
import './shared-init.js'
// eslint-disable-next-line
__webpack_nonce__ = btoa(OC.requestToken);
// eslint-disable-next-line
__webpack_public_path__ = OC.linkTo('deck', 'js/');
Vue.prototype.t = t
Vue.prototype.n = n

View File

@@ -22,10 +22,13 @@
import './css/dashboard.scss'
import './shared-init.js'
const debug = process.env.NODE_ENV !== 'production'
// eslint-disable-next-line
__webpack_nonce__ = btoa(OC.requestToken);
// eslint-disable-next-line
__webpack_public_path__ = OC.linkTo('deck', 'js/');
document.addEventListener('DOMContentLoaded', () => {
OCA.Dashboard.register('deck', async (el) => {
const { default: Vue } = await import('vue')

View File

@@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import { registerWidget } from '@nextcloud/vue-richtext'
import { registerWidget } from '@nextcloud/vue/dist/Components/NcRichText.js'
import { Tooltip } from '@nextcloud/vue'
import Vue from 'vue'
import CardReferenceWidget from './views/CardReferenceWidget.vue'
@@ -28,8 +28,6 @@ import CommentReferenceWidget from './views/CommentReferenceWidget.vue'
import { translate, translatePlural } from '@nextcloud/l10n'
import './shared-init.js'
Vue.prototype.t = translate
Vue.prototype.n = translatePlural
Vue.prototype.OC = window.OC

View File

@@ -27,7 +27,10 @@ import CardCreateDialog from './CardCreateDialog.vue'
import { buildSelector } from './helpers/selector.js'
import './init-collections.js'
import './shared-init.js'
// eslint-disable-next-line
__webpack_nonce__ = btoa(OC.requestToken);
// eslint-disable-next-line
__webpack_public_path__ = OC.linkTo('deck', 'js/');
Vue.prototype.t = t
Vue.prototype.n = n

View File

@@ -25,17 +25,23 @@ import router from './router.js'
import store from './store/main.js'
import { sync } from 'vuex-router-sync'
import { translate, translatePlural } from '@nextcloud/l10n'
import { generateFilePath } from '@nextcloud/router'
import { showError } from '@nextcloud/dialogs'
import { subscribe } from '@nextcloud/event-bus'
import { Tooltip } from '@nextcloud/vue'
import ClickOutside from 'vue-click-outside'
import './shared-init.js'
import './models/index.js'
import './sessions.js'
// the server snap.js conflicts with vertical scrolling so we disable it
document.body.setAttribute('data-snap-ignore', 'true')
// eslint-disable-next-line
__webpack_nonce__ = btoa(OC.requestToken)
if (!process.env.HOT) {
// eslint-disable-next-line
__webpack_public_path__ = generateFilePath('deck', '', 'js/')
}
sync(store, router)
Vue.prototype.t = translate

View File

@@ -1,12 +0,0 @@
import { generateFilePath } from '@nextcloud/router'
// eslint-disable-next-line
__webpack_nonce__ = btoa(OC.requestToken)
if (!process.env.WEBPACK_SERVE) {
// eslint-disable-next-line
__webpack_public_path__ = generateFilePath('deck', '', 'js/')
} else {
// eslint-disable-next-line
__webpack_public_path__ = 'http://127.0.0.1:3000/'
}

View File

@@ -67,7 +67,7 @@
'description': true,
'short-description': shortDescription,
}">
<RichText v-tooltip.top="{ content: shortDescription ? t('deck', 'Click to expand description') : undefined }"
<NcRichText v-tooltip.top="{ content: shortDescription ? t('deck', 'Click to expand description') : undefined }"
:text="card.description"
:use-markdown="true"
@click.native="shortDescription = !shortDescription" />
@@ -90,7 +90,7 @@ import DeckIcon from '../components/icons/DeckIcon.vue'
import AvatarList from '../components/cards/AvatarList.vue'
import labelStyle from '../mixins/labelStyle.js'
import { RichText } from '@nextcloud/vue-richtext'
import { NcRichText } from '@nextcloud/vue'
import moment from '@nextcloud/moment'
import { generateUrl } from '@nextcloud/router'
@@ -103,7 +103,7 @@ export default {
CalendarBlankIcon,
CardBulletedOutlineIcon,
TextIcon,
RichText,
NcRichText,
},
mixins: [labelStyle],

View File

@@ -67,7 +67,7 @@
'description': true,
'short-description': shortDescription,
}">
<RichText v-tooltip.top="{ content: shortDescription ? t('deck', 'Click to expand description') : undefined }"
<NcRichText v-tooltip.top="{ content: shortDescription ? t('deck', 'Click to expand description') : undefined }"
:text="card.description"
:use-markdown="true"
@click.native="shortDescription = !shortDescription" />
@@ -84,7 +84,7 @@
'comment': true,
'short-comment': shortComment,
}">
<RichText v-tooltip.top="{ content: shortComment ? t('deck', 'Click to expand comment') : undefined }"
<NcRichText v-tooltip.top="{ content: shortComment ? t('deck', 'Click to expand comment') : undefined }"
:text="commentMessageText"
:use-markdown="false"
@click.native="shortComment = !shortComment" />
@@ -103,7 +103,7 @@ import DeckIcon from '../components/icons/DeckIcon.vue'
import AvatarList from '../components/cards/AvatarList.vue'
import labelStyle from '../mixins/labelStyle.js'
import { RichText } from '@nextcloud/vue-richtext'
import { NcRichText } from '@nextcloud/vue'
import moment from '@nextcloud/moment'
import { generateUrl } from '@nextcloud/router'
@@ -116,7 +116,7 @@ export default {
CalendarBlankIcon,
TextIcon,
CardBulletedOutlineIcon,
RichText,
NcRichText,
CommentProcessingOutlineIcon,
},

View File

@@ -52,7 +52,7 @@
<template #icon>
<PlusIcon :size="20" />
</template>
{{ t('deck', 'Add card') }}
{{ t('deck', 'New card') }}
</NcButton>
<CardCreateDialog v-if="showAddCardModal" @close="toggleAddCardModel" />
</div>

View File

@@ -1,8 +1,8 @@
{
"require-dev": {
"phpunit/phpunit": "~9",
"behat/behat": "~3.12.0",
"guzzlehttp/guzzle": "7.5.0",
"behat/behat": "~3.13.0",
"guzzlehttp/guzzle": "7.5.1",
"jarnaiz/behat-junit-formatter": "^1.3",
"sabre/dav": "4.4.0",
"symfony/event-dispatcher": "~5.4"

View File

@@ -90,3 +90,19 @@ Feature: acl
And the current user should not have "edit" permissions on the board
And the current user should have "share" permissions on the board
And the current user should not have "manage" permissions on the board
Scenario: Share a board multiple times
Given Logging in using web as "user0"
And creates a board named "Double shared board" with color "ff0000"
And shares the board with user "user1"
And shares the board with group "group1"
And creates a board named "Single shared board" with color "00ff00"
And shares the board with user "user1"
When Logging in using web as "user1"
And fetching the board list
Then the response should have a status code "200"
And the response should be a list of objects
And the response should contain an element with the properties
| property | value |
| title | Double shared board |

View File

@@ -219,6 +219,17 @@ class BoardContext implements Context {
$this->card = json_decode((string)$this->getResponse()->getBody(), true);
}
/**
* @Given /^get the card details$/
*/
public function getCard() {
$this->requestContext->sendJSONrequest('GET', '/index.php/apps/deck/cards/' . $this->card['id'], array_merge(
$this->card
));
$this->requestContext->getResponse()->getBody()->seek(0);
$this->card = json_decode((string)$this->getResponse()->getBody(), true);
}
/**
* @Given /^set the card duedate to "([^"]*)"$/
*/

View File

@@ -166,4 +166,29 @@ class RequestContext implements Context {
$this->getResponse()->getBody()->seek(0);
return json_decode((string)$this->getResponse()->getBody(), true);
}
/**
* @Given /^the response should be a list of objects$/
*/
public function theResponseShouldBeAListOfObjects() {
$jsonResponse = $this->getResponseBodyFromJson();
Assert::assertEquals(array_keys($jsonResponse), range(0, count($jsonResponse) - 1));
}
/**
* @When /^the response should contain an element with the properties$/
*/
public function responseContainsElement(TableNode $element) {
$json = $this->getResponseBodyFromJson();
$found = array_filter($json, function ($board) use ($element) {
foreach ($element as $row) {
if ($row['value'] !== $board[$row['property']]) {
return false;
}
}
return true;
});
Assert::assertEquals(1, count($found));
}
}

View File

@@ -32,3 +32,29 @@ Feature: decks
And creates a board named "MyBoard" with color "000000"
And create a stack named "ToDo"
When create a card named "This is a very ong name that exceeds the maximum length of a deck board created which is longer than 255 characters This is a very ong name that exceeds the maximum length of a deck board created which is longer than 255 characters This is a very ong name that exceeds the maximum length of a deck board created which is longer than 255 characters"
Scenario: Setting a duedate on a card
Given acting as user "user0"
And creates a board named "MyBoard" with color "000000"
And create a stack named "ToDo"
And create a card named "Overdue task"
When get the card details
And the response should be a JSON array with the following mandatory values
|key|value|
|title|Overdue task|
|duedate||
|overdue|0|
And set the card attribute "duedate" to "2020-12-12 13:37:00"
When get the card details
And the response should be a JSON array with the following mandatory values
|key|value|
|title|Overdue task|
|duedate|2020-12-12T13:37:00+00:00|
|overdue|3|
And set the card attribute "duedate" to ""
When get the card details
And the response should be a JSON array with the following mandatory values
|key|value|
|title|Overdue task|
|duedate||
|overdue|0|

View File

@@ -98,7 +98,7 @@ class ActivityManagerTest extends TestCase {
->willReturn($this->l10n);
foreach ($managerClass->getConstants() as $constant => $value) {
if (strpos($constant, 'SUBJECT') === 0) {
if (str_starts_with($constant, 'SUBJECT')) {
$format = $this->activityManager->getActivityFormat('cz', $value, [], false);
if ($format !== '') {
$this->assertStringContainsString('{user}', $format);

View File

@@ -34,6 +34,7 @@ use OCA\Deck\Db\Stack;
use OCA\Deck\Db\StackMapper;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\Model\CardDetails;
use OCA\Deck\Notification\NotificationHelper;
use OCA\Deck\StatusException;
use OCA\Deck\Validators\CardServiceValidator;
@@ -188,7 +189,10 @@ class CardServiceTest extends TestCase {
$cardExpected->setRelatedBoard($boardMock);
$cardExpected->setRelatedStack($stackMock);
$cardExpected->setLabels([]);
$this->assertEquals($cardExpected, $this->cardService->find(123));
$expected = new CardDetails($cardExpected);
$actual = $this->cardService->find(123);
$this->assertEquals($expected->jsonSerialize(), $actual->jsonSerialize());
}
public function testCreate() {

View File

@@ -76,7 +76,7 @@ class TrelloJsonServiceTest extends \Test\TestCase {
}
public function testValidateUsersWithNotStringNextcloud() {
$this->expectErrorMessage('User on setting uidRelation is invalid');
$this->expectExceptionMessage('User on setting uidRelation is invalid');
$importService = $this->createMock(BoardImportService::class);
$importService
->method('getConfig')
@@ -92,7 +92,7 @@ class TrelloJsonServiceTest extends \Test\TestCase {
}
public function testValidateUsersWithNotFoundUser() {
$this->expectErrorMessage('User on setting uidRelation not found: nextcloud_user');
$this->expectExceptionMessage('User on setting uidRelation not found: nextcloud_user');
$importService = $this->createMock(BoardImportService::class);
$importService
->method('getConfig')
@@ -124,7 +124,7 @@ class TrelloJsonServiceTest extends \Test\TestCase {
}
public function testGetBoardWithNoName() {
$this->expectErrorMessage('Invalid name of board');
$this->expectExceptionMessage('Invalid name of board');
$importService = $this->createMock(BoardImportService::class);
$this->service->setImportService($importService);
$this->service->getBoard();

View File

@@ -33,6 +33,7 @@ use OCA\Deck\Db\Label;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\Db\Stack;
use OCA\Deck\Db\StackMapper;
use OCA\Deck\Model\CardDetails;
use OCA\Deck\Validators\StackServiceValidator;
use OCP\EventDispatcher\IEventDispatcher;
use Psr\Log\LoggerInterface;
@@ -121,6 +122,9 @@ class StackServiceTest extends TestCase {
foreach ($cards as $card) {
$card->setLabels($this->getLabels()[$card->getId()]);
}
return array_map(function ($card) {
return new CardDetails($card);
}, $cards);
}
)
);

26
webpack.hot.js Normal file
View File

@@ -0,0 +1,26 @@
const webpack = require('webpack');
const merge = require('webpack-merge');
const dev = require('./webpack.dev.js');
module.exports = merge(dev, {
devServer: {
hot: true,
port: 3000,
/**
* This makes sure the main entrypoint is written to disk so it is
* loaded by Nextcloud though our existing addScript calls
*/
writeToDisk: (filePath) => {
return /deck\.js$/.test(filePath);
},
headers: {
'Access-Control-Allow-Origin': '*'
}
},
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV),
'process.env.HOT': true
})
]
})

View File

@@ -1,11 +1,8 @@
const webpackConfig = require('@nextcloud/webpack-vue-config')
const webpack = require('webpack')
const path = require('path')
const ESLintPlugin = require('eslint-webpack-plugin')
const StyleLintPlugin = require('stylelint-webpack-plugin')
const buildMode = process.env.NODE_ENV
const isDevServer = process.env.WEBPACK_SERVE
const isDev = buildMode === 'development'
webpackConfig.entry = {
...webpackConfig.entry,
@@ -16,35 +13,15 @@ webpackConfig.entry = {
reference: path.join(__dirname, 'src', 'init-reference.js'),
}
if (isDevServer) {
webpackConfig.output.publicPath = 'http://127.0.0.1:3000/'
webpackConfig.plugins.push(
new webpack.DefinePlugin({
'process.env.WEBPACK_SERVE': true,
})
)
} else {
webpackConfig.stats = {
context: path.resolve(__dirname, 'src'),
assets: true,
entrypoints: true,
chunks: true,
modules: true,
}
webpackConfig.stats = {
context: path.resolve(__dirname, 'src'),
assets: true,
entrypoints: true,
chunks: true,
modules: true,
}
webpackConfig.plugins.push(
new ESLintPlugin({
extensions: ['js', 'vue'],
files: 'src',
failOnError: !isDev,
})
)
webpackConfig.plugins.push(
new StyleLintPlugin({
files: 'src/**/*.{css,scss,vue}',
failOnError: !isDev,
}),
)
// Workaround for https://github.com/nextcloud/webpack-vue-config/pull/432 causing problems with nextcloud-vue-collections
webpackConfig.resolve.alias = {}
module.exports = webpackConfig