Compare commits

..

280 Commits

Author SHA1 Message Date
Julius Härtl
139092d855 Create appstore-build-publish.yml
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-12-15 17:20:46 +01:00
Nextcloud bot
82232e8890 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-12 02:38:54 +00:00
dependabot[bot]
f5c35729ca Merge pull request #3482 from nextcloud/dependabot/npm_and_yarn/master/dompurify-2.3.4 2021-12-11 05:20:04 +00:00
dependabot[bot]
fc1983869b Bump dompurify from 2.3.3 to 2.3.4
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.3.3 to 2.3.4.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.3.3...2.3.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-11 04:55:03 +00:00
Nextcloud bot
081b5119f5 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-09 02:40:03 +00:00
Nextcloud bot
a22e5f7719 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-05 02:43:12 +00:00
dependabot[bot]
8ef118ad0f Merge pull request #3468 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/eslint-config-6.1.1 2021-12-04 03:31:28 +00:00
dependabot[bot]
86945d5030 Bump @nextcloud/eslint-config from 6.1.0 to 6.1.1
Bumps [@nextcloud/eslint-config](https://github.com/nextcloud/eslint-config) from 6.1.0 to 6.1.1.
- [Release notes](https://github.com/nextcloud/eslint-config/releases)
- [Changelog](https://github.com/nextcloud/eslint-config/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/eslint-config/compare/v6.1.0...v6.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-04 02:02:29 +00:00
Nextcloud bot
c63423c25a [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-03 02:40:11 +00:00
Nextcloud bot
8db48106b9 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-01 17:22:45 +00:00
Julius Härtl
6d201a1f13 Merge pull request #3458 from nextcloud/bugfix/3451 2021-11-30 13:23:40 +01:00
Julius Härtl
5425536fc0 Merge pull request #3459 from nextcloud/bugfix/3457 2021-11-30 13:20:46 +01:00
Julius Härtl
92acaa0011 Properly handle setters now that there is a default value of null with unset acl/labels
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-11-30 10:57:24 +01:00
Julius Härtl
a5b76991b8 Fix cursor generation if no results are found
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-11-29 20:44:42 +01:00
Julius Härtl
33f5af41c8 Merge pull request #3454 from nextcloud/dependabot/composer/symfony/event-dispatcher-4.4.34 2021-11-29 20:38:44 +01:00
Julius Härtl
f5223d90a0 Merge pull request #3456 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.16.0 2021-11-29 20:38:29 +01:00
Julius Härtl
4a51335a28 Merge pull request #3455 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/axios-1.8.0 2021-11-29 20:38:18 +01:00
Nextcloud bot
e5ffe95c17 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-27 02:37:08 +00:00
dependabot[bot]
3096b701b6 Bump shivammathur/setup-php from 2.15.0 to 2.16.0
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.15.0 to 2.16.0.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.15.0...2.16.0)

---
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>
2021-11-27 02:04:50 +00:00
dependabot[bot]
caf2e688f7 Bump @nextcloud/axios from 1.7.0 to 1.8.0
Bumps [@nextcloud/axios](https://github.com/nextcloud/nextcloud-axios) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/nextcloud/nextcloud-axios/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-axios/compare/v1.7.0...v1.8.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-27 02:02:57 +00:00
dependabot[bot]
3269845cfd Bump symfony/event-dispatcher from 4.4.30 to 4.4.34
Bumps [symfony/event-dispatcher](https://github.com/symfony/event-dispatcher) from 4.4.30 to 4.4.34.
- [Release notes](https://github.com/symfony/event-dispatcher/releases)
- [Changelog](https://github.com/symfony/event-dispatcher/blob/5.3/CHANGELOG.md)
- [Commits](https://github.com/symfony/event-dispatcher/compare/v4.4.30...v4.4.34)

---
updated-dependencies:
- dependency-name: symfony/event-dispatcher
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-27 02:01:03 +00:00
Nextcloud bot
5349fcc707 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-26 02:57:38 +00:00
Nextcloud bot
0f095e9b69 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-25 02:36:02 +00:00
Julius Härtl
3affa7b5ec Merge pull request #3444 from nextcloud/enh/cache-frequent-queries 2021-11-24 15:06:37 +01:00
Julius Härtl
4ec57d337b Keep API results the same as before
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-11-24 10:12:28 +01:00
Julius Härtl
6fd83258a0 Merge pull request #3365 from nextcloud/enh/use-qbmapper-for-boards 2021-11-24 09:40:50 +01:00
Julius Härtl
901b8f2506 Avoid fetching board details multiple times
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-11-24 09:40:30 +01:00
Julius Härtl
80388d1a88 Cache card to board id relation
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-11-24 09:40:30 +01:00
Nextcloud bot
f90c9602b8 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-24 02:36:58 +00:00
Julius Härtl
f861f9e5fc Update psalm baseline
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-11-23 23:44:50 +01:00
Julien Veyssier
bbfb155802 switch to QBMapper in BoardMapper
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2021-11-23 22:57:50 +01:00
Julius Härtl
10ab8c8688 Merge pull request #3428 from nextcloud/bugfix/download-attachment 2021-11-22 18:39:58 +01:00
Julius Härtl
24a6d088ca Merge pull request #3436 from nextcloud/dependabot/npm_and_yarn/master/vue/test-utils-1.3.0 2021-11-22 16:39:02 +01:00
Julius Härtl
00d386dcaf Allow to download an attachment without navigating to the files app
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-11-22 16:38:28 +01:00
Nextcloud bot
b71f91c439 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-20 02:53:14 +00:00
dependabot[bot]
7aa35bb728 Bump @vue/test-utils from 1.2.2 to 1.3.0
Bumps [@vue/test-utils](https://github.com/vuejs/vue-test-utils/tree/HEAD/packages/test-utils) from 1.2.2 to 1.3.0.
- [Release notes](https://github.com/vuejs/vue-test-utils/releases)
- [Changelog](https://github.com/vuejs/vue-test-utils/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-test-utils/commits/v1.3.0/packages/test-utils)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-20 02:04:23 +00:00
Julius Härtl
800412237d Merge pull request #3432 from nextcloud/bugfix/noid/description-save 2021-11-19 10:14:25 +01:00
Julius Härtl
ca411c6168 Fix event name for updating the description
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-11-19 08:32:40 +01:00
Nextcloud bot
d414ffe937 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-19 02:53:33 +00:00
Julius Härtl
ad483f3613 Merge pull request #3425 from nextcloud/dependabot/npm_and_yarn/master/babel/runtime-7.16.3
Bump @babel/runtime from 7.16.0 to 7.16.3
2021-11-15 07:21:51 +01:00
Julius Härtl
8311a13275 Merge pull request #3427 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/webpack-vue-config-4.1.4
Bump @nextcloud/webpack-vue-config from 4.1.2 to 4.1.4
2021-11-15 07:21:38 +01:00
Nextcloud bot
e2a7063772 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-15 02:35:06 +00:00
Nextcloud bot
1dbf36ae07 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-14 02:36:19 +00:00
Nextcloud bot
29278a51e5 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-13 02:36:41 +00:00
dependabot[bot]
31e48ce404 Bump @nextcloud/webpack-vue-config from 4.1.2 to 4.1.4
Bumps [@nextcloud/webpack-vue-config](https://github.com/nextcloud/webpack-vue-config) from 4.1.2 to 4.1.4.
- [Release notes](https://github.com/nextcloud/webpack-vue-config/releases)
- [Changelog](https://github.com/nextcloud/webpack-vue-config/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/webpack-vue-config/compare/v4.1.2...v4.1.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-13 02:04:54 +00:00
dependabot[bot]
404a7eb412 Bump @babel/runtime from 7.16.0 to 7.16.3
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.16.0 to 7.16.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.16.3/packages/babel-runtime)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-13 02:02:03 +00:00
Julius Härtl
a85a6db368 Merge pull request #3420 from nextcloud/feat/package-node-npm-engines-update 2021-11-11 16:12:42 +01:00
Nextcloud bot
9464337036 Update npm and node engines versions
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-11 13:36:52 +00:00
Vincent Petry
87676b49dd Merge pull request #3419 from nextcloud/update-master-version
Update version on master
2021-11-11 11:53:23 +01:00
Joas Schilling
6248089d8b Update version on master
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-11 10:51:16 +01:00
Julius Härtl
ec43071adb Bump version to 1.6.0-beta1
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-11-10 16:20:40 +01:00
Julius Härtl
d3d4269245 Merge pull request #3414 from nextcloud/dependabot/github_actions/actions/checkout-2.4.0 2021-11-10 09:49:25 +01:00
Nextcloud bot
ff7a813052 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-10 02:36:01 +00:00
Nextcloud bot
51d6b9e352 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-09 04:07:33 +00:00
Nextcloud bot
df90c81272 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-08 02:49:12 +00:00
Nextcloud bot
af03e61142 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-07 02:32:56 +00:00
dependabot[bot]
6234632ae9 Bump actions/checkout from 2.3.5 to 2.4.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.5 to 2.4.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.5...v2.4.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-06 06:51:56 +00:00
dependabot[bot]
393c88e592 Merge pull request #3413 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/webpack-vue-config-4.1.2 2021-11-06 06:51:16 +00:00
dependabot[bot]
92db5f3deb Bump @nextcloud/webpack-vue-config from 4.1.0 to 4.1.2
Bumps [@nextcloud/webpack-vue-config](https://github.com/nextcloud/webpack-vue-config) from 4.1.0 to 4.1.2.
- [Release notes](https://github.com/nextcloud/webpack-vue-config/releases)
- [Changelog](https://github.com/nextcloud/webpack-vue-config/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/webpack-vue-config/compare/v4.1.0...v4.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-06 06:11:09 +00:00
dependabot[bot]
1169818a3d Merge pull request #3412 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/initial-state-1.2.1 2021-11-06 06:09:08 +00:00
dependabot[bot]
dd32544e5e Bump @nextcloud/initial-state from 1.2.0 to 1.2.1
Bumps [@nextcloud/initial-state](https://github.com/nextcloud/nextcloud-initial-state) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/nextcloud/nextcloud-initial-state/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-initial-state/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-initial-state/compare/v1.2.0...v1.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-06 05:30:27 +00:00
dependabot[bot]
095c80e993 Merge pull request #3411 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/event-bus-2.1.1 2021-11-06 05:29:36 +00:00
dependabot[bot]
0daf7021ec Bump @nextcloud/event-bus from 2.1.0 to 2.1.1
Bumps [@nextcloud/event-bus](https://github.com/nextcloud/nextcloud-event-bus) from 2.1.0 to 2.1.1.
- [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/v2.1.0...v2.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-06 03:57:00 +00:00
Nextcloud bot
3f0f4315fc [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-06 02:33:20 +00:00
Julius Härtl
4b5aabd433 Merge pull request #2710 from nextcloud/enh/dateShortcuts3 2021-11-05 18:03:22 +01:00
Julius Härtl
0ce431e7a6 Merge pull request #3384 from nextcloud/techdept/noid/cleanup-middleware 2021-11-05 18:01:28 +01:00
Julius Härtl
83fc4323f4 Keep exceptions http response generic and return the request ID for further tracing
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-11-05 17:41:11 +01:00
Julius Härtl
100bc30d9b Merge pull request #3397 from nextcloud/dependabot/npm_and_yarn/master/relative-ci/agent-3.0.0
Bump @relative-ci/agent from 2.1.0 to 3.0.0
2021-11-01 21:28:47 +01:00
Julius Härtl
4044953df0 Merge pull request #3399 from nextcloud/dependabot/composer/vimeo/psalm-4.11.2
Bump vimeo/psalm from 4.10.0 to 4.11.2
2021-11-01 21:28:29 +01:00
Julius Härtl
be5ca006d6 Merge pull request #3400 from nextcloud/dependabot/npm_and_yarn/master/babel/runtime-7.16.0
Bump @babel/runtime from 7.15.4 to 7.16.0
2021-11-01 21:28:17 +01:00
Julius Härtl
c89e971059 Merge pull request #3398 from nextcloud/dependabot/npm_and_yarn/master/vue-router-3.5.3
Bump vue-router from 3.5.2 to 3.5.3
2021-11-01 21:27:48 +01:00
dependabot[bot]
e85a754756 Bump @babel/runtime from 7.15.4 to 7.16.0
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.15.4 to 7.16.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.16.0/packages/babel-runtime)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-30 04:59:10 +00:00
dependabot[bot]
70dfa9e7d2 Bump vimeo/psalm from 4.10.0 to 4.11.2
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 4.10.0 to 4.11.2.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/4.10.0...4.11.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-30 03:51:29 +00:00
dependabot[bot]
aab0d5eecc Bump vue-router from 3.5.2 to 3.5.3
Bumps [vue-router](https://github.com/vuejs/vue-router) from 3.5.2 to 3.5.3.
- [Release notes](https://github.com/vuejs/vue-router/releases)
- [Changelog](https://github.com/vuejs/vue-router/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-router/compare/v3.5.2...v3.5.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-30 03:26:29 +00:00
dependabot[bot]
87005ce981 Bump @relative-ci/agent from 2.1.0 to 3.0.0
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 2.1.0 to 3.0.0.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v2.1.0...v3.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-30 03:24:40 +00:00
Nextcloud bot
0425a3c39c [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-30 02:33:50 +00:00
Nextcloud bot
e2674f45fc [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-29 02:33:12 +00:00
Julius Härtl
1f43dbb3fc Merge pull request #3391 from kffl/master 2021-10-27 13:53:32 +02:00
Paweł Kuffel
1469756d93 use displayname instead of uid for mentions
Signed-off-by: Paweł Kuffel <pawel@kuffel.io>
2021-10-27 10:42:55 +02:00
Julius Härtl
8bba4d09ac Merge pull request #3386 from nextcloud/dependabot/npm_and_yarn/master/jest-27.3.1
Bump jest from 27.2.5 to 27.3.1
2021-10-23 15:08:43 +02:00
dependabot[bot]
a4a0f17891 Bump jest from 27.2.5 to 27.3.1
Bumps [jest](https://github.com/facebook/jest) from 27.2.5 to 27.3.1.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/compare/v27.2.5...v27.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-23 01:03:18 +00:00
Nextcloud bot
5b0e0cc7bb [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-22 02:32:41 +00:00
Nextcloud bot
b3364f4460 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-21 02:34:54 +00:00
Nextcloud bot
9ca7a0a077 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-20 02:53:51 +00:00
dependabot[bot]
37b05250cc Merge pull request #3382 from nextcloud/dependabot/github_actions/actions/checkout-2.3.5 2021-10-16 02:31:09 +00:00
dependabot[bot]
45c254698b Bump actions/checkout from 2.3.4 to 2.3.5
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.4 to 2.3.5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.4...v2.3.5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-16 01:04:08 +00:00
Julius Härtl
6f56989fa7 Merge pull request #3324 from valerydmitrieva/fix-button-position 2021-10-12 12:24:50 +02:00
Julius Härtl
96a5fbf0d4 Merge pull request #3376 from nextcloud/enh/print-names 2021-10-12 11:49:36 +02:00
Julius Härtl
f051114b3e Merge pull request #3375 from nextcloud/enh/print-dates 2021-10-12 11:46:43 +02:00
Michael Weimann
48c28690b2 show absolute dates when printing
relates to #3250

Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2021-10-10 18:20:12 +02:00
Michael Weimann
2cbef172d4 print assignee names
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2021-10-10 12:34:43 +02:00
dependabot[bot]
2a60428133 Merge pull request #3373 from nextcloud/dependabot/npm_and_yarn/master/jest-27.2.5 2021-10-09 02:21:30 +00:00
dependabot[bot]
15f790ee31 Bump jest from 27.2.4 to 27.2.5
Bumps [jest](https://github.com/facebook/jest) from 27.2.4 to 27.2.5.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/compare/v27.2.4...v27.2.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-09 01:02:08 +00:00
Nextcloud bot
d8ff4ed7a9 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-07 02:35:59 +00:00
Julius Härtl
7718dbb17d Merge pull request #3364 from nextcloud/bugfix/3334 2021-10-06 11:23:58 +02:00
Julius Härtl
fa1b675a54 Fix optional parameter order
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-10-06 10:06:52 +02:00
Lera Dmitrieva
a2c7531dba Fix menu button position in card modal
Signed-off-by: Lera Dmitrieva <dmit.valerya@yandex.ru>
2021-10-05 14:22:19 +03:00
Julius Härtl
c72714fa70 Merge pull request #3327 from Themanwhosmellslikesugar/fix/do-not-show-both-checkbox
Do not show both bullets and checkboxes for checklists
2021-10-05 12:04:16 +02:00
Dmitriy Ivanko
da109ca720 Reduce indent between checkbox and label
Signed-off-by: Dmitriy Ivanko <tmwsls12@gmail.com>
2021-10-05 12:40:53 +03:00
Dmitry Ivanko
0fcbe2cb47 Do not show both bullets and checkboxes for checklists
Signed-off-by: Dmitriy Ivanko <tmwsls12@gmail.com>
2021-10-05 12:40:53 +03:00
Julius Härtl
86fd1fbc0f Merge pull request #3362 from nextcloud/enh/improve-search-perf 2021-10-05 11:38:52 +02:00
Julien Veyssier
dd0a22ba04 use term in DB query instead of filtering in php
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2021-10-04 18:33:53 +02:00
Julien Veyssier
7425d00ba5 harmonize since and before search params
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2021-10-04 18:33:53 +02:00
Julien Veyssier
ca04efb736 apply date search filter in SQL queries instead of computing it in php
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2021-10-04 18:33:53 +02:00
Julius Härtl
ce595bdd9d Merge pull request #3323 from old-green-frog/extend-dnd-zone-in-sidebar 2021-10-04 16:42:24 +02:00
Julius Härtl
c706fb7536 Merge pull request #3344 from nextcloud/enh/paginated-search-for-boards-and-cards 2021-10-04 16:41:48 +02:00
Julien Veyssier
b533d11c13 use distinct pagination cursor for cards and boards, use cursor and limit in SearchSe
rvice::searchBoards()

Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2021-10-04 15:23:19 +02:00
Julius Härtl
ede6a05dec Merge pull request #3326 from nextcloud/feature/input-focus 2021-10-04 15:22:21 +02:00
Julius Härtl
3651f6b6cb Merge pull request #3337 from nextcloud/dependabot/npm_and_yarn/master/vue-easymde-2.0.0 2021-10-04 12:04:09 +02:00
dependabot[bot]
92b0b24bb2 Bump vue-easymde from 1.4.0 to 2.0.0
Bumps [vue-easymde](https://github.com/NikulinIlya/vue-easymde) from 1.4.0 to 2.0.0.
- [Release notes](https://github.com/NikulinIlya/vue-easymde/releases)
- [Commits](https://github.com/NikulinIlya/vue-easymde/compare/1.4.0...v2.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-04 06:32:48 +00:00
Julius Härtl
65613b1c96 Merge pull request #3353 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/axios-1.7.0
Bump @nextcloud/axios from 1.6.0 to 1.7.0
2021-10-04 08:31:47 +02:00
dependabot[bot]
52ca67f22c Bump @nextcloud/axios from 1.6.0 to 1.7.0
Bumps [@nextcloud/axios](https://github.com/nextcloud/nextcloud-axios) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/nextcloud/nextcloud-axios/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-axios/compare/v1.6.0...v1.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-04 06:10:34 +00:00
Julius Härtl
5d39a38b6f Merge pull request #3354 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.15.0 2021-10-04 08:08:50 +02:00
Julius Härtl
c2373ac244 Merge pull request #3352 from nextcloud/dependabot/npm_and_yarn/master/blueimp-md5-2.19.0 2021-10-04 08:08:44 +02:00
Julius Härtl
38ff93bf14 Merge pull request #3357 from nextcloud/revert-3343-fix/paginated-search 2021-10-04 07:36:23 +02:00
Julius Härtl
77f57a926b Revert "Fix search pagination cursor" 2021-10-04 07:36:08 +02:00
Julius Härtl
d61d9f015c Merge pull request #3343 from nextcloud/fix/paginated-search 2021-10-04 07:32:55 +02:00
dependabot[bot]
d519b60195 Bump blueimp-md5 from 2.18.0 to 2.19.0
Bumps [blueimp-md5](https://github.com/blueimp/JavaScript-MD5) from 2.18.0 to 2.19.0.
- [Release notes](https://github.com/blueimp/JavaScript-MD5/releases)
- [Commits](https://github.com/blueimp/JavaScript-MD5/compare/v2.18.0...v2.19.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-04 05:27:53 +00:00
dependabot[bot]
144bc6a217 Bump shivammathur/setup-php from 2.14.0 to 2.15.0
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.14.0 to 2.15.0.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.14.0...2.15.0)

---
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>
2021-10-04 05:27:41 +00:00
Julius Härtl
11aa39253f Merge pull request #3349 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/event-bus-2.1.0
Bump @nextcloud/event-bus from 2.0.0 to 2.1.0
2021-10-04 07:27:25 +02:00
Julius Härtl
67b9e91dde Merge pull request #3348 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/browserslist-config-2.2.0
Bump @nextcloud/browserslist-config from 2.1.0 to 2.2.0
2021-10-04 07:27:14 +02:00
dependabot[bot]
24aeae8367 Bump @nextcloud/event-bus from 2.0.0 to 2.1.0
Bumps [@nextcloud/event-bus](https://github.com/nextcloud/nextcloud-event-bus) from 2.0.0 to 2.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/v2.0.0...v2.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>
2021-10-04 05:27:09 +00:00
Julius Härtl
db114ea587 Merge pull request #3350 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-4.2.0
Bump @nextcloud/vue from 4.1.1 to 4.2.0
2021-10-04 07:27:01 +02:00
dependabot[bot]
21d5aa1ab5 Bump @nextcloud/browserslist-config from 2.1.0 to 2.2.0
Bumps [@nextcloud/browserslist-config](https://github.com/nextcloud/browserslist-config) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/nextcloud/browserslist-config/releases)
- [Commits](https://github.com/nextcloud/browserslist-config/compare/v2.1.0...v2.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-04 05:26:53 +00:00
dependabot[bot]
fce9fe4bd9 Bump @nextcloud/vue from 4.1.1 to 4.2.0
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 4.1.1 to 4.2.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/v4.1.1...v4.2.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>
2021-10-04 05:26:42 +00:00
Julius Härtl
ab6477c5d3 Merge pull request #3351 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/files-2.1.0
Bump @nextcloud/files from 2.0.0 to 2.1.0
2021-10-04 07:26:27 +02:00
Julius Härtl
d95a420a76 Merge pull request #3347 from nextcloud/dependabot/npm_and_yarn/master/jest-27.2.4
Bump jest from 27.1.1 to 27.2.4
2021-10-04 07:25:43 +02:00
Nextcloud bot
500c73605b [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-04 02:37:13 +00:00
dependabot[bot]
0bcb0d29d7 Bump jest from 27.1.1 to 27.2.4
Bumps [jest](https://github.com/facebook/jest) from 27.1.1 to 27.2.4.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/compare/v27.1.1...v27.2.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-02 08:19:12 +00:00
dependabot[bot]
b3a04624e5 Bump @nextcloud/files from 2.0.0 to 2.1.0
Bumps @nextcloud/files from 2.0.0 to 2.1.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-02 08:18:45 +00:00
dependabot[bot]
f5f3622a79 Merge pull request #3355 from nextcloud/dependabot/github_actions/actions/setup-node-2.4.1 2021-10-02 08:17:41 +00:00
dependabot[bot]
b9023d14f9 Bump actions/setup-node from 2.4.0 to 2.4.1
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.4.0 to 2.4.1.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.4.0...v2.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-02 07:48:26 +00:00
dependabot[bot]
8b102ddb66 Merge pull request #3346 from nextcloud/dependabot/composer/phpunit/phpunit-9.5.10 2021-10-02 07:47:36 +00:00
dependabot[bot]
b118dc0e5e Bump phpunit/phpunit from 9.5.9 to 9.5.10
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.5.9 to 9.5.10.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/master/ChangeLog-9.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.5.9...9.5.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-02 03:21:43 +00:00
Nextcloud bot
8dcddc1e73 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-02 02:37:07 +00:00
Julien Veyssier
9dbfeac56a fix search pagination cursor, use LastModified of last card
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2021-09-30 10:30:53 +02:00
dependabot[bot]
a3e31f8c2d Merge pull request #3335 from nextcloud/dependabot/npm_and_yarn/master/dompurify-2.3.3 2021-09-25 02:11:50 +00:00
dependabot[bot]
259d9b325e Bump dompurify from 2.3.2 to 2.3.3
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.3.2 to 2.3.3.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.3.2...2.3.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-25 01:01:29 +00:00
old-green-frog
6551ba2210 Extend drag-and-drop zone in card sidebar
Signed-off-by: Igor Denisenko <old-green-frog@mail.ru>
2021-09-20 09:37:32 +03:00
dependabot[bot]
e11bea04e6 Merge pull request #3330 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-4.1.1 2021-09-18 03:38:03 +00:00
dependabot[bot]
6ab433fd86 Bump @nextcloud/vue from 4.1.0 to 4.1.1
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/v4.1.1/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v4.1.0...v4.1.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>
2021-09-18 02:14:24 +00:00
dependabot[bot]
4343639ff0 Merge pull request #3329 from nextcloud/dependabot/npm_and_yarn/master/dompurify-2.3.2 2021-09-18 02:13:32 +00:00
dependabot[bot]
2f3c359034 Bump dompurify from 2.3.1 to 2.3.2
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.3.1...2.3.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-18 01:02:47 +00:00
Michael Weimann
963e927aae add autofocus on board edit
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2021-09-17 11:14:12 +02:00
Julius Härtl
0783fde14b Merge pull request #3316 from nextcloud/bugfix/additional-checks
Additional check for stacks
2021-09-14 21:01:10 +02:00
Julius Härtl
52e7d73f10 Additional check for stacks
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-09-14 20:52:52 +02:00
Nextcloud bot
89da9273dd [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-14 02:41:57 +00:00
Nextcloud bot
e119d05556 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-13 02:40:03 +00:00
Julius Härtl
567439f0b4 Merge pull request #3313 from nextcloud/dependabot/composer/vimeo/psalm-4.10.0
Bump vimeo/psalm from 4.9.3 to 4.10.0
2021-09-12 16:25:27 +02:00
Julius Härtl
96725f5a28 Merge pull request #3315 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.14.0
Bump shivammathur/setup-php from 2.13.0 to 2.14.0
2021-09-12 16:24:35 +02:00
Nextcloud bot
43699ec3d7 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-12 02:40:05 +00:00
dependabot[bot]
d9bd7fbb1f Bump vimeo/psalm from 4.9.3 to 4.10.0
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 4.9.3 to 4.10.0.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/4.9.3...4.10.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>
2021-09-11 02:20:47 +00:00
dependabot[bot]
bf3ec30b5a Bump shivammathur/setup-php from 2.13.0 to 2.14.0
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.13.0 to 2.14.0.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.13.0...2.14.0)

---
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>
2021-09-11 02:20:44 +00:00
dependabot[bot]
a3557ba875 Merge pull request #3314 from nextcloud/dependabot/npm_and_yarn/master/jest-27.1.1 2021-09-11 02:20:05 +00:00
dependabot[bot]
c6f3e5bb9d Bump jest from 27.1.0 to 27.1.1
Bumps [jest](https://github.com/facebook/jest) from 27.1.0 to 27.1.1.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/compare/v27.1.0...v27.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-11 01:02:13 +00:00
Julius Härtl
c011c53f73 Merge pull request #2791 from fm-sys/md_link_target
Open description links in new tab
2021-09-09 17:45:06 +02:00
Florian Meyer
6335f50dfb Open description links in new tab
Signed-off-by: Florian Meyer <meyer_florian@magenta.de>
2021-09-09 15:11:32 +02:00
Nextcloud bot
136a5ab078 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-09 02:38:54 +00:00
Julius Härtl
0ed7c4d02f Update psalm baseline
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-09-08 20:36:37 +02:00
Nextcloud bot
a4bc6b9029 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-08 02:38:19 +00:00
Julius Härtl
6caa7bcfcb Merge pull request #3298 from nextcloud/bugfix/attachment-delete
Delete file shares through attachments API
2021-09-07 13:10:24 +02:00
Julien Veyssier
b9758a7ae8 Merge pull request #3299 from nextcloud/bugfix/noid/calendar-setting
Return false instead of throwing when getting calendar setting
2021-09-07 11:09:37 +02:00
Julius Härtl
021aa698d9 Return false instead of throwing when getting calendar integration setting
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-09-07 10:54:02 +02:00
Julius Härtl
643302be5e Merge pull request #3294 from nextcloud/bugfix/print-style 2021-09-06 15:58:21 +02:00
Michael Weimann
d3c8cb0285 fix print style issues
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2021-09-06 13:11:38 +00:00
Nextcloud bot
6bbe91acfd [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-06 02:38:51 +00:00
Julius Härtl
13dcacc3bb Delete file shares through attachments API
Previously the file was deleted in the file structure of the user is not
expected as the file might not only be related to the card.

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-09-05 12:13:21 +02:00
Nextcloud bot
e27e8d2ff6 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-05 02:38:18 +00:00
dependabot[bot]
3345e9b36d Merge pull request #3290 from nextcloud/dependabot/composer/phpunit/phpunit-9.5.9 2021-09-04 04:24:05 +00:00
dependabot[bot]
108cbfaf33 Bump phpunit/phpunit from 9.5.8 to 9.5.9
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.5.8 to 9.5.9.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/master/ChangeLog-9.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.5.8...9.5.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-04 03:10:34 +00:00
dependabot[bot]
07017b4a19 Merge pull request #3289 from nextcloud/dependabot/composer/symfony/event-dispatcher-4.4.30 2021-09-04 03:09:44 +00:00
dependabot[bot]
81f64e7b19 Bump symfony/event-dispatcher from 4.4.27 to 4.4.30
Bumps [symfony/event-dispatcher](https://github.com/symfony/event-dispatcher) from 4.4.27 to 4.4.30.
- [Release notes](https://github.com/symfony/event-dispatcher/releases)
- [Changelog](https://github.com/symfony/event-dispatcher/blob/5.3/CHANGELOG.md)
- [Commits](https://github.com/symfony/event-dispatcher/compare/v4.4.27...v4.4.30)

---
updated-dependencies:
- dependency-name: symfony/event-dispatcher
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-04 02:14:11 +00:00
dependabot[bot]
b8e0eb3a97 Merge pull request #3291 from nextcloud/dependabot/npm_and_yarn/master/babel/runtime-7.15.4 2021-09-04 02:13:30 +00:00
dependabot[bot]
63b68a59e3 Bump @babel/runtime from 7.15.3 to 7.15.4
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.15.3 to 7.15.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.15.4/packages/babel-runtime)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-04 01:01:21 +00:00
Nextcloud bot
f55c3b294e [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-31 02:37:45 +00:00
Julius Härtl
d68c3768b4 Merge pull request #3276 from nextcloud/dependabot/npm_and_yarn/master/jest-27.1.0
Bump jest from 27.0.6 to 27.1.0
2021-08-30 10:15:31 +02:00
Julius Härtl
f067057df7 Merge pull request #3277 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-4.1.0
Bump @nextcloud/vue from 4.0.3 to 4.1.0
2021-08-30 10:15:21 +02:00
Julius Härtl
bad3f5c89e Merge pull request #3275 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.13.0
Bump shivammathur/setup-php from 2.12.0 to 2.13.0
2021-08-30 10:14:56 +02:00
dependabot[bot]
c5e7f473cb Bump @nextcloud/vue from 4.0.3 to 4.1.0
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 4.0.3 to 4.1.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/v4.0.3...v4.1.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>
2021-08-28 02:09:30 +00:00
dependabot[bot]
9f93e88164 Bump jest from 27.0.6 to 27.1.0
Bumps [jest](https://github.com/facebook/jest) from 27.0.6 to 27.1.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/compare/v27.0.6...v27.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-28 02:09:09 +00:00
dependabot[bot]
0077852d4a Bump shivammathur/setup-php from 2.12.0 to 2.13.0
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.12.0 to 2.13.0.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.12.0...2.13.0)

---
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>
2021-08-28 01:05:13 +00:00
Julius Härtl
28b10682f5 Merge pull request #3266 from nextcloud/dependabot/npm_and_yarn/master/relative-ci/agent-2.1.0
Bump @relative-ci/agent from 2.0.0 to 2.1.0
2021-08-23 17:25:37 +02:00
Julius Härtl
c3f46db990 Merge pull request #3259 from nextcloud/dependabot/composer/vimeo/psalm-4.9.3 2021-08-23 17:25:08 +02:00
dependabot[bot]
82bc8a66fd Bump @relative-ci/agent from 2.0.0 to 2.1.0
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 2.0.0 to 2.1.0.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v2.0.0...v2.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-21 02:10:32 +00:00
Julius Härtl
e3b6627a23 Merge pull request #3256 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/eslint-config-6.1.0
Bump @nextcloud/eslint-config from 6.0.0 to 6.1.0
2021-08-20 18:02:07 +02:00
Julius Härtl
315ea4b991 Merge pull request #3263 from nextcloud/bugfix/3248
Defer obtaining the user session in the config service
2021-08-20 18:01:57 +02:00
Julius Härtl
07fcfb3078 Add to baseline
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-08-20 17:56:09 +02:00
dependabot[bot]
5f3d5e800d Bump @nextcloud/eslint-config from 6.0.0 to 6.1.0
Bumps [@nextcloud/eslint-config](https://github.com/nextcloud/eslint-config) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/nextcloud/eslint-config/releases)
- [Changelog](https://github.com/nextcloud/eslint-config/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/eslint-config/compare/v6.0.0...v6.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-20 17:51:09 +02:00
Julius Härtl
7b0579625e Defer obtaining the user session in the config service which might be injected before login has hapened
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-08-20 17:34:58 +02:00
Nextcloud bot
4f0d5b1f37 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-18 02:36:59 +00:00
dependabot[bot]
dc07b34d52 Bump vimeo/psalm from 4.8.1 to 4.9.3
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 4.8.1 to 4.9.3.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/4.8.1...4.9.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-16 10:28:07 +00:00
Julius Härtl
540aba5ecd Merge pull request #3257 from nextcloud/dependabot/npm_and_yarn/master/babel/runtime-7.15.3
Bump @babel/runtime from 7.14.8 to 7.15.3
2021-08-16 12:27:05 +02:00
dependabot[bot]
c3a1cdd6b3 Bump @babel/runtime from 7.14.8 to 7.15.3
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.14.8 to 7.15.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.15.3/packages/babel-runtime)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-14 03:49:29 +00:00
dependabot[bot]
0537af0323 Merge pull request #3255 from nextcloud/dependabot/npm_and_yarn/master/dompurify-2.3.1 2021-08-14 03:48:23 +00:00
dependabot[bot]
d3e36f6f0c Bump dompurify from 2.3.0 to 2.3.1
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.3.0...2.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-14 01:45:10 +00:00
dependabot[bot]
0818274451 Merge pull request #3254 from nextcloud/dependabot/composer/php-parallel-lint/php-parallel-lint-1.3.1 2021-08-14 01:44:18 +00:00
dependabot[bot]
3c4b8b6ce3 Bump php-parallel-lint/php-parallel-lint from 1.3.0 to 1.3.1
Bumps [php-parallel-lint/php-parallel-lint](https://github.com/php-parallel-lint/PHP-Parallel-Lint) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/php-parallel-lint/PHP-Parallel-Lint/releases)
- [Changelog](https://github.com/php-parallel-lint/PHP-Parallel-Lint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/php-parallel-lint/PHP-Parallel-Lint/compare/v1.3.0...v1.3.1)

---
updated-dependencies:
- dependency-name: php-parallel-lint/php-parallel-lint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-14 01:01:01 +00:00
Nextcloud bot
098f5863f8 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-10 02:44:31 +00:00
Julius Härtl
00f4bc188e Merge pull request #3237 from nextcloud/dependabot/npm_and_yarn/master/markdown-it-12.2.0
Bump markdown-it from 12.1.0 to 12.2.0
2021-08-09 09:30:37 +02:00
Julius Härtl
6a80f6c8f6 Merge pull request #3238 from nextcloud/dependabot/github_actions/actions/setup-node-2.4.0
Bump actions/setup-node from 2.3.0 to 2.4.0
2021-08-09 09:30:28 +02:00
dependabot[bot]
26e7b3a868 Bump markdown-it from 12.1.0 to 12.2.0
Bumps [markdown-it](https://github.com/markdown-it/markdown-it) from 12.1.0 to 12.2.0.
- [Release notes](https://github.com/markdown-it/markdown-it/releases)
- [Changelog](https://github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/markdown-it/markdown-it/compare/12.1.0...12.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-07 03:44:01 +00:00
dependabot[bot]
556930cf93 Bump actions/setup-node from 2.3.0 to 2.4.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.3.0...v2.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-07 03:43:47 +00:00
dependabot[bot]
42009b233a Merge pull request #3234 from nextcloud/dependabot/composer/symfony/event-dispatcher-4.4.27 2021-08-07 03:43:04 +00:00
dependabot[bot]
9f3a1e6cda Bump symfony/event-dispatcher from 4.4.19 to 4.4.27
Bumps [symfony/event-dispatcher](https://github.com/symfony/event-dispatcher) from 4.4.19 to 4.4.27.
- [Release notes](https://github.com/symfony/event-dispatcher/releases)
- [Changelog](https://github.com/symfony/event-dispatcher/blob/5.3/CHANGELOG.md)
- [Commits](https://github.com/symfony/event-dispatcher/compare/v4.4.19...v4.4.27)

---
updated-dependencies:
- dependency-name: symfony/event-dispatcher
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-07 02:25:16 +00:00
dependabot[bot]
544e4d99ee Merge pull request #3236 from nextcloud/dependabot/composer/phpunit/phpunit-9.5.8 2021-08-07 02:24:35 +00:00
dependabot[bot]
97c83fad8d Bump phpunit/phpunit from 9.5.7 to 9.5.8
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.5.7 to 9.5.8.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/master/ChangeLog-9.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.5.7...9.5.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>
2021-08-07 01:01:23 +00:00
Nextcloud bot
95a811362d [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-06 02:38:49 +00:00
Julius Härtl
4dc4603d2d Merge pull request #3225 from nextcloud/bugfix/3194
Check for null value to avoid TypeError in the group manager
2021-08-04 18:41:22 +02:00
Julius Härtl
443e383f2a Merge pull request #3199 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/eslint-config-6.0.0
Bump @nextcloud/eslint-config from 5.1.0 to 6.0.0
2021-08-04 08:23:20 +02:00
dependabot[bot]
d98c2bc926 Bump @nextcloud/eslint-config from 5.1.0 to 6.0.0
Bumps [@nextcloud/eslint-config](https://github.com/nextcloud/eslint-config) from 5.1.0 to 6.0.0.
- [Release notes](https://github.com/nextcloud/eslint-config/releases)
- [Changelog](https://github.com/nextcloud/eslint-config/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/eslint-config/compare/v5.1.0...v6.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-03 19:32:36 +02:00
Julius Härtl
cb9fc6c9a2 Check for null value to avoid TypeError in the group manager
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-08-03 09:47:27 +02:00
Julius Härtl
f2052702b5 Merge pull request #3217 from nextcloud/bugfix/noid/circle-membertype
Move circle checks to a unified service and improve member checks
2021-08-03 09:27:59 +02:00
Julius Härtl
3e68801774 Create fixup.yml 2021-08-03 09:24:22 +02:00
Julius Härtl
ff17167719 Create dependabot-approve-merge.yml 2021-08-03 09:23:58 +02:00
Julius Härtl
7a15853f77 Create command-rebase.yml 2021-08-03 09:23:10 +02:00
Julius Härtl
82dbd800d6 Move circle checks to a unified service and improve member checks
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-08-03 09:15:18 +02:00
Nextcloud bot
53e29ad124 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-01 02:12:48 +00:00
Julius Härtl
2b1f3623d0 Merge pull request #3206 from nextcloud/dependabot/composer/phpunit/phpunit-9.5.7
Bump phpunit/phpunit from 9.5.6 to 9.5.7
2021-07-26 12:23:10 +02:00
Julius Härtl
ee7020886e Merge pull request #3207 from nextcloud/dependabot/npm_and_yarn/master/babel/runtime-7.14.8
Bump @babel/runtime from 7.14.6 to 7.14.8
2021-07-26 12:23:03 +02:00
Julius Härtl
ac9665298f Merge pull request #3208 from nextcloud/dependabot/npm_and_yarn/master/vue/test-utils-1.2.2
Bump @vue/test-utils from 1.2.1 to 1.2.2
2021-07-26 12:22:56 +02:00
Julius Härtl
fe67cd42f9 Merge pull request #3209 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/webpack-vue-config-4.1.0
Bump @nextcloud/webpack-vue-config from 4.0.3 to 4.1.0
2021-07-26 12:22:49 +02:00
Julius Härtl
acc0b4cd0c Merge pull request #3210 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/babel-config-1.0.0
Bump @nextcloud/babel-config from 1.0.0-beta.1 to 1.0.0
2021-07-26 12:22:39 +02:00
Julius Härtl
0025bb2c52 Merge pull request #3211 from nextcloud/dependabot/github_actions/actions/setup-node-2.3.0
Bump actions/setup-node from 2.2.0 to 2.3.0
2021-07-26 12:22:10 +02:00
dependabot[bot]
7ab042d1a8 Bump actions/setup-node from 2.2.0 to 2.3.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.2.0 to 2.3.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.2.0...v2.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-24 02:48:35 +00:00
dependabot[bot]
c02ad2d851 Bump @nextcloud/babel-config from 1.0.0-beta.1 to 1.0.0
Bumps [@nextcloud/babel-config](https://github.com/nextcloud/babel-config) from 1.0.0-beta.1 to 1.0.0.
- [Release notes](https://github.com/nextcloud/babel-config/releases)
- [Commits](https://github.com/nextcloud/babel-config/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-24 01:02:13 +00:00
dependabot[bot]
6012f0887d Bump @nextcloud/webpack-vue-config from 4.0.3 to 4.1.0
Bumps [@nextcloud/webpack-vue-config](https://github.com/nextcloud/webpack-vue-config) from 4.0.3 to 4.1.0.
- [Release notes](https://github.com/nextcloud/webpack-vue-config/releases)
- [Commits](https://github.com/nextcloud/webpack-vue-config/compare/v4.0.3...v4.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-24 01:01:56 +00:00
dependabot[bot]
17065190ab Bump @vue/test-utils from 1.2.1 to 1.2.2
Bumps [@vue/test-utils](https://github.com/vuejs/vue-test-utils/tree/HEAD/packages/test-utils) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/vuejs/vue-test-utils/releases)
- [Changelog](https://github.com/vuejs/vue-test-utils/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-test-utils/commits/v1.2.2/packages/test-utils)

---
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>
2021-07-24 01:01:41 +00:00
dependabot[bot]
77046f378f Bump @babel/runtime from 7.14.6 to 7.14.8
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.14.6 to 7.14.8.
- [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.14.8/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>
2021-07-24 01:01:23 +00:00
dependabot[bot]
2bf3aa0e8e Bump phpunit/phpunit from 9.5.6 to 9.5.7
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.5.6 to 9.5.7.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/master/ChangeLog-9.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.5.6...9.5.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>
2021-07-24 01:00:50 +00:00
Julius Härtl
68da328343 Merge pull request #3204 from leoossa/leoossa-patch-1 2021-07-22 12:53:36 +02:00
leoossa
bc0dd7118c Merge branch 'master' into leoossa-patch-1 2021-07-22 10:29:55 +02:00
Julius Härtl
dbf9519326 Delete stale.yml 2021-07-22 09:41:02 +02:00
leoossa
47cbe7bea7 Add A-deck Chrome extension to 3rd-Parties 2021-07-21 08:49:39 +02:00
Julius Härtl
5d5424d2a4 Merge pull request #3200 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.12.0
Bump shivammathur/setup-php from 2.11.0 to 2.12.0
2021-07-19 08:51:43 +02:00
Julius Härtl
2cc24dcd60 Merge pull request #3187 from nextcloud/dependabot/github_actions/actions/setup-node-2.2.0
Bump actions/setup-node from 1 to 2.2.0
2021-07-19 08:51:25 +02:00
dependabot[bot]
49ed6f9beb Bump actions/setup-node from 1 to 2.2.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 1 to 2.2.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v1...v2.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-19 08:33:00 +02:00
dependabot[bot]
ec069d5e0d Bump shivammathur/setup-php from 2.11.0 to 2.12.0
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.11.0 to 2.12.0.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.11.0...2.12.0)

---
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>
2021-07-19 06:31:48 +00:00
Julius Härtl
9b8df3c157 Pin mariadb to 10.5 for tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-07-19 08:31:22 +02:00
Julius Härtl
e399e5bd46 Merge pull request #3198 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-4.0.3
Bump @nextcloud/vue from 3.10.1 to 4.0.3
2021-07-19 08:29:18 +02:00
dependabot[bot]
9aab543604 Bump @nextcloud/vue from 3.10.1 to 4.0.3
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 3.10.1 to 4.0.3.
- [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/v3.10.1...v4.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-17 01:01:31 +00:00
Nextcloud bot
80b8e3ad5c [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-07-15 02:37:46 +00:00
Julius Härtl
499bef97fb Merge pull request #3181 from nextcloud/dependabot/npm_and_yarn/master/dompurify-2.3.0
Bump dompurify from 2.2.9 to 2.3.0
2021-07-13 15:28:46 +02:00
dependabot[bot]
b6e4f0993a Bump dompurify from 2.2.9 to 2.3.0
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.2.9 to 2.3.0.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.2.9...2.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-13 12:08:07 +00:00
Julius Härtl
53c31ba221 Merge pull request #3189 from nextcloud/dependabot/github_actions/actions/checkout-2.3.4
Bump actions/checkout from 1 to 2.3.4
2021-07-13 14:07:16 +02:00
dependabot[bot]
849d3adb09 Bump actions/checkout from 1 to 2.3.4
Bumps [actions/checkout](https://github.com/actions/checkout) from 1 to 2.3.4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v1...v2.3.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-13 07:56:33 +00:00
Julius Härtl
9d90e0f3e2 Merge pull request #3188 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.11.0
Bump shivammathur/setup-php from 1 to 2.11.0
2021-07-13 09:56:10 +02:00
dependabot[bot]
a22b223244 Bump shivammathur/setup-php from 1 to 2.11.0
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 1 to 2.11.0.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/v1...2.11.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-13 07:33:15 +00:00
Julius Härtl
c3468125f9 Merge pull request #3179 from splitt3r/enh/dependatbot-for-actions
Add Dependabot for GitHub Actions
2021-07-13 09:32:53 +02:00
Nextcloud bot
9e7cff9839 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-07-10 02:43:13 +00:00
Julius Härtl
13d2b98da4 Merge pull request #3177 from nextcloud/enh/collections-files-load-perf
Use async import for vue component on collections entrypoint
2021-07-09 16:25:10 +02:00
Kai
4b327a53c1 Unify quotation of ecosystem
Signed-off-by: splitt3r <splitt3r@users.noreply.github.com>
2021-07-09 13:48:47 +02:00
Kai
d441ba4f3d Add Dependabot for GitHub Actions
Signed-off-by: splitt3r <splitt3r@users.noreply.github.com>
2021-07-09 12:55:27 +02:00
Nextcloud bot
9140efef29 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-07-09 02:37:47 +00:00
Julius Härtl
7119137a75 Use async import for vue component on collections entrypoint
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-07-08 10:35:42 +02:00
Nextcloud bot
b7cbfa03a5 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-07-08 02:37:52 +00:00
Nextcloud bot
3ee19abfc1 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-07-07 02:37:14 +00:00
Nextcloud bot
25262b648f [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-07-06 02:38:03 +00:00
Julius Härtl
bf746e4c92 Merge pull request #3161 from nextcloud/bugfix/sql-queries
Reduce duplicate queries when fetching user boards an permissions
2021-07-05 20:27:41 +02:00
Julius Härtl
eec7f5ff21 Merge pull request #3167 from nextcloud/dependabot/npm_and_yarn/master/jest-27.0.6
Bump jest from 27.0.5 to 27.0.6
2021-07-05 19:54:24 +02:00
Julius Härtl
34f1a80caa Merge pull request #3166 from nextcloud/dependabot/npm_and_yarn/master/markdown-it-12.1.0
Bump markdown-it from 12.0.6 to 12.1.0
2021-07-05 19:54:17 +02:00
Julius Härtl
ae2aa8caff Reduce duplicate queries when fetching user boards an permissions
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-07-05 19:53:43 +02:00
dependabot[bot]
bb2703526e Bump jest from 27.0.5 to 27.0.6
Bumps [jest](https://github.com/facebook/jest) from 27.0.5 to 27.0.6.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/compare/v27.0.5...v27.0.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-03 01:03:10 +00:00
dependabot[bot]
dc85757d1b Bump markdown-it from 12.0.6 to 12.1.0
Bumps [markdown-it](https://github.com/markdown-it/markdown-it) from 12.0.6 to 12.1.0.
- [Release notes](https://github.com/markdown-it/markdown-it/releases)
- [Changelog](https://github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/markdown-it/markdown-it/compare/12.0.6...12.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-03 01:01:56 +00:00
Julius Härtl
62f3fce3ea Merge pull request #3151 from nextcloud/bugfix/noid/log-exceptions
Always log generic exceptions
2021-07-02 17:55:00 +02:00
Nextcloud bot
f353caad7f [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-06-30 02:37:18 +00:00
dependabot[bot]
92ace35f79 Merge pull request #3157 from nextcloud/dependabot/npm_and_yarn/master/vue-router-3.5.2 2021-06-28 08:40:21 +00:00
dependabot[bot]
185f4684ca Bump vue-router from 3.5.1 to 3.5.2
Bumps [vue-router](https://github.com/vuejs/vue-router) from 3.5.1 to 3.5.2.
- [Release notes](https://github.com/vuejs/vue-router/releases)
- [Changelog](https://github.com/vuejs/vue-router/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-router/compare/v3.5.1...v3.5.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 08:33:52 +00:00
dependabot[bot]
e5036fcbbb Merge pull request #3155 from nextcloud/dependabot/composer/vimeo/psalm-4.8.1 2021-06-28 08:33:03 +00:00
dependabot[bot]
113f5e1bf7 Bump vimeo/psalm from 4.7.3 to 4.8.1
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 4.7.3 to 4.8.1.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/4.7.3...4.8.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 08:25:55 +00:00
dependabot[bot]
05d0f228aa Merge pull request #3156 from nextcloud/dependabot/composer/phpunit/phpunit-9.5.6 2021-06-28 08:25:11 +00:00
dependabot[bot]
256c7cb873 Bump phpunit/phpunit from 9.5.5 to 9.5.6
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.5.5 to 9.5.6.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/master/ChangeLog-9.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.5.5...9.5.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>
2021-06-28 08:17:31 +00:00
Julius Härtl
117d8fe6ba Merge pull request #3158 from nextcloud/dependabot/npm_and_yarn/master/jest-27.0.5
Bump jest from 27.0.4 to 27.0.5
2021-06-28 10:13:43 +02:00
Nextcloud bot
0ba63ca548 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-06-26 02:36:40 +00:00
dependabot[bot]
ba08bd25a7 Bump jest from 27.0.4 to 27.0.5
Bumps [jest](https://github.com/facebook/jest) from 27.0.4 to 27.0.5.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/compare/v27.0.4...v27.0.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-26 01:01:49 +00:00
Julius Härtl
ee0b5a6150 Merge pull request #3149 from nextcloud/update-master-version
Update version on master
2021-06-25 15:54:25 +02:00
Joas Schilling
a81a1761b5 Update version on master
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-06-25 15:41:13 +02:00
Julius Härtl
0fc220baef Always log generic exceptions
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-06-25 11:05:53 +02:00
Jakob Röhrl
06de1a7e85 rebase
Signed-off-by: Jakob Röhrl <jakob.roehrl@web.de>
2021-06-24 14:10:28 +02:00
Jakob Röhrl
d56acf99af date shortcuts
Signed-off-by: Jakob Röhrl <jakob.roehrl@web.de>
2021-06-24 14:02:58 +02:00
Jakob Röhrl
01d8f2815d date shortcut
Signed-off-by: Jakob Röhrl <jakob.roehrl@web.de>
2021-06-24 14:02:57 +02:00
104 changed files with 6148 additions and 6743 deletions

View File

@@ -3,6 +3,10 @@ module.exports = {
'@nextcloud',
],
rules: {
'valid-jsdoc': ['off'],
'jsdoc/require-param-description': ['off'],
'jsdoc/require-param-type': ['off'],
'jsdoc/check-param-names': ['off'],
'jsdoc/no-undefined-types': ['off'],
'jsdoc/require-property-description' : ['off']
},
}

View File

@@ -39,3 +39,13 @@ updates:
versions:
- "< 16"
- ">= 15.a"
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
open-pull-requests-limit: 10
reviewers:
- juliushaertl

25
.github/stale.yml vendored
View File

@@ -1,25 +0,0 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
- "1. to develop"
- "2. developing"
- "3. to review"
- "discussion"
- "bounty"
- "bug"
- "enhancement"
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 30
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.

View File

@@ -12,15 +12,15 @@ jobs:
node-version: [14.x]
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2.4.0
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
uses: actions/setup-node@v2.4.1
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7
run: npm i -g npm@7
- name: Setup PHP
uses: shivammathur/setup-php@v1
uses: shivammathur/setup-php@2.16.0
with:
php-version: '7.4'
tools: composer

View File

@@ -0,0 +1,151 @@
# 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: Build and publish app release
on:
release:
types: [published]
env:
PHP_VERSION: 7.4
jobs:
build_and_publish:
runs-on: ubuntu-latest
# Only allowed to be run on nextcloud-releases repositories
if: ${{ github.repository_owner == 'nextcloud-releases' }}
steps:
- name: Check actor permission
uses: skjnldsv/check-actor-permission@v2
with:
require: admin
- name: Set app env
run: |
# Split and keep last
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@v2
with:
path: ${{ env.APP_NAME }}
- name: Get appinfo data
id: appinfo
uses: skjnldsv/xpath-action@master
with:
filename: ${{ env.APP_NAME }}/appinfo/info.xml
expression: "//info//dependencies//nextcloud/@min-version"
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@v1.1
id: versions
# Continue if no package.json
continue-on-error: true
with:
path: ${{ env.APP_NAME }}
fallbackNode: "^12"
fallbackNpm: "^6"
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
# Skip if no package.json
if: ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@v2
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
# Skip if no package.json
if: ${{ steps.versions.outputs.npmVersion }}
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Set up php ${{ env.PHP_VERSION }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ env.PHP_VERSION }}
coverage: none
- name: Check composer.json
id: check_composer
uses: andstor/file-existence-action@v1
with:
files: "${{ env.APP_NAME }}/composer.json"
- name: Install composer dependencies
if: steps.check_composer.outputs.files_exists == 'true'
run: |
cd ${{ env.APP_NAME }}
composer install --no-dev
- name: Build ${{ env.APP_NAME }}
# Skip if no package.json
if: ${{ steps.versions.outputs.nodeVersion }}
run: |
cd ${{ env.APP_NAME }}
npm ci
npm run build
- name: Install Krankerl
run: |
wget https://github.com/ChristophWurst/krankerl/releases/download/v0.13.0/krankerl_0.13.0_amd64.deb
sudo dpkg -i krankerl_0.13.0_amd64.deb
- name: Package ${{ env.APP_NAME }} ${{ env.APP_VERSION }}
# Try krankerl, fallback to makefile
run: |
cd ${{ env.APP_NAME }}
krankerl package || make appstore
- name: Checkout server ${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }}
continue-on-error: true
id: server-checkout
run: |
NCVERSION=${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }}
wget --quiet https://download.nextcloud.com/server/releases/latest-$NCVERSION.zip
unzip latest-$NCVERSION.zip
- name: Checkout server master fallback
uses: actions/checkout@v2
if: ${{ steps.server-checkout.outcome != 'success' }}
with:
repository: nextcloud/server
path: nextcloud
- name: Sign app
run: |
# Extracting release
cd ${{ env.APP_NAME }}/build/artifacts
tar -xvf ${{ env.APP_NAME }}.tar.gz
cd ../../../
# Setting up keys
echo "${{ secrets.APP_PRIVATE_KEY }}" > ${{ env.APP_NAME }}.key
wget --quiet "https://github.com/nextcloud/app-certificate-requests/raw/master/${{ env.APP_NAME }}/${{ env.APP_NAME }}.crt"
# Signing
php nextcloud/occ integrity:sign-app --privateKey=../${{ env.APP_NAME }}.key --certificate=../${{ env.APP_NAME }}.crt --path=../${{ env.APP_NAME }}/build/artifacts/${{ env.APP_NAME }}
# Rebuilding archive
cd ${{ env.APP_NAME }}/build/artifacts
tar -zcvf ${{ env.APP_NAME }}.tar.gz ${{ env.APP_NAME }}
- name: Attach tarball to github release
uses: svenstaro/upload-release-action@v2
id: attach_to_release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.APP_NAME }}/build/artifacts/${{ env.APP_NAME }}.tar.gz
asset_name: ${{ env.APP_NAME }}-${{ env.APP_VERSION }}.tar.gz
tag: ${{ github.ref }}
overwrite: true
- name: Upload app to Nextcloud appstore
uses: nextcloud-releases/nextcloud-appstore-push-action@v1
with:
app_name: ${{ env.APP_NAME }}
appstore_token: ${{ secrets.APPSTORE_TOKEN }}
download_url: ${{ steps.attach_to_release.outputs.browser_download_url }}
app_private_key: ${{ secrets.APP_PRIVATE_KEY }}

46
.github/workflows/command-rebase.yml vendored Normal file
View File

@@ -0,0 +1,46 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Rebase command
on:
issue_comment:
types: created
jobs:
rebase:
runs-on: ubuntu-latest
# On pull requests and if the comment starts with `/rebase`
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/rebase')
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@v1
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reaction-type: "+1"
- name: Checkout the latest code
uses: actions/checkout@v2.4.0
with:
fetch-depth: 0
token: ${{ secrets.COMMAND_BOT_PAT }}
- name: Automatic Rebase
uses: cirrus-actions/rebase@1.5
env:
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@v1
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reaction-type: "-1"

View File

@@ -0,0 +1,29 @@
# 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: Dependabot
on:
pull_request_target:
branches:
- master
- stable*
jobs:
auto-approve-merge:
if: github.actor == 'dependabot[bot]'
runs-on: ubuntu-latest
steps:
# Github actions bot approve
- uses: hmarr/auto-approve-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
# Nextcloud bot approve and merge request
- uses: ahmadnassri/action-dependabot-auto-merge@v2
with:
target: patch
github-token: ${{ secrets.DEPENDABOT_AUTOMERGE_TOKEN }}

20
.github/workflows/fixup.yml vendored Normal file
View File

@@ -0,0 +1,20 @@
# 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: Pull request checks
on: pull_request
jobs:
commit-message-check:
name: Block fixup and squash commits
runs-on: ubuntu-latest
steps:
- name: Run check
uses: xt0rted/block-autosquash-commits-action@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -19,7 +19,7 @@ jobs:
matrix:
php-versions: ['7.4']
databases: ['sqlite', 'mysql', 'pgsql']
server-versions: ['stable22']
server-versions: ['master']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
@@ -43,7 +43,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@v2
uses: actions/checkout@v2.4.0
with:
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
@@ -56,12 +56,12 @@ jobs:
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Checkout app
uses: actions/checkout@v2
uses: actions/checkout@v2.4.0
with:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2
uses: shivammathur/setup-php@2.16.0
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit

View File

@@ -17,9 +17,9 @@ jobs:
name: php${{ matrix.php-versions }} lint
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v2.4.0
- name: Set up php${{ matrix.php-versions }}
uses: shivammathur/setup-php@v1
uses: shivammathur/setup-php@2.16.0
with:
php-version: ${{ matrix.php-versions }}
coverage: none
@@ -31,9 +31,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
uses: actions/checkout@v2.4.0
- name: Set up php
uses: shivammathur/setup-php@master
uses: shivammathur/setup-php@2.16.0
with:
php-version: 7.4
coverage: none
@@ -50,9 +50,9 @@ jobs:
node-version: [14.x]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v2.4.0
- name: Use node ${{ matrix.node-version }}
uses: actions/setup-node@v1
uses: actions/setup-node@v2.4.1
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7
@@ -67,16 +67,16 @@ jobs:
strategy:
matrix:
node-versions: [14.x]
node-version: [14.x]
name: stylelint node${{ matrix.node-versions }}
name: stylelint node${{ matrix.node-version }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v2.4.0
- name: Set up node ${{ matrix.node-versions }}
uses: actions/setup-node@v1
- name: Set up node ${{ matrix.node-version }}
uses: actions/setup-node@v2.4.1
with:
node-versions: ${{ matrix.node-versions }}
node-version: ${{ matrix.node-version }}
- name: Set up npm7
run: npm i -g npm@7

View File

@@ -17,15 +17,15 @@ jobs:
node-version: [14.x]
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2.4.0
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
uses: actions/setup-node@v2.4.1
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7
run: npm i -g npm@7
- name: Setup PHP
uses: shivammathur/setup-php@v1
uses: shivammathur/setup-php@2.16.0
with:
php-version: '7.4'
tools: composer

View File

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

View File

@@ -20,7 +20,7 @@ jobs:
matrix:
php-versions: ['7.3', '7.4']
databases: ['sqlite', 'mysql', 'pgsql']
server-versions: ['stable22']
server-versions: ['master']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
@@ -44,7 +44,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@v2
uses: actions/checkout@v2.4.0
with:
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
@@ -57,12 +57,12 @@ jobs:
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Checkout app
uses: actions/checkout@v2
uses: actions/checkout@v2.4.0
with:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2
uses: shivammathur/setup-php@2.16.0
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit

View File

@@ -12,13 +12,13 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
ocp-version: [ 'dev-stable22' ]
ocp-version: [ 'dev-master' ]
name: Nextcloud ${{ matrix.ocp-version }}
steps:
- name: Checkout
uses: actions/checkout@master
uses: actions/checkout@v2.4.0
- name: Set up php
uses: shivammathur/setup-php@master
uses: shivammathur/setup-php@2.16.0
with:
php-version: 7.4
tools: composer:v1

View File

@@ -1,74 +1,38 @@
# Changelog
All notable changes to this project will be documented in this file.
## 1.5.4
### Fixed
- #3378 Fix menu button position in card modal
- #3392 Use displayname instead of uid for mentions (reopened against master)
- #3361 Improve combined search @eneiluj
- #3381 Extend drag-and-drop zone in card sidebar @Artem4590
- #3366 Fix optional parameter order
- #3407 Keep exceptions http response generic
## 1.5.3
### Fied
- #3317 Additional check for stacks
## 1.5.2
### Fixed
- #3300 Fix print style issues
- #3303 Delete file shares through attachments API
- #3306 Return false instead of throwing when getting calendar setting
## 1.5.1 - 2021-09-03
### Fixed
- #3224 Move circle checks to a unified service and improve member checks
- #3231 Check for null value to avoid TypeError in the group manager
- #3264 Defer obtaining the user session in the config service
## 1.5.0 - 2021-07-09
## 1.6.0-beta1
### Added
* Nextcloud 22 compatibility
* [#3105](https://github.com/nextcloud/deck/pull/3105) Compatibility with Cirlces changes in 22
* [#3147](https://github.com/nextcloud/deck/pull/3147) Add card button to the dashboard widget @jakobroehrl
* [#2854](https://github.com/nextcloud/deck/pull/2854) Add card button in card overview @jakobroehrl
* [#3078](https://github.com/nextcloud/deck/pull/3078) Show on shared boards unassigned cards to all users @jakobroehrl
- #3177 Use async import for vue component on collections entrypoint @juliushaertl
- #2791 Open description links in new tab @fm-sys
- #3344 Improve combined search @eneiluj
- #3362 Improve search performance @eneiluj
- #2710 Due date shortcuts in the datepicker @jakobroehrl
### Fixed
* [#2935](https://github.com/nextcloud/deck/pull/2935) Rich object string parameters for notifications @nickvergessen
* [#2950](https://github.com/nextcloud/deck/pull/2950) Remove notification on unshare and add type hints
* [#2983](https://github.com/nextcloud/deck/pull/2983) Fix codemirror description width
* [#2989](https://github.com/nextcloud/deck/pull/2989) Fix unified comments search with postgres
* [#3005](https://github.com/nextcloud/deck/pull/3005) Do not query the lookupserver when looking for sharees
* [#3011](https://github.com/nextcloud/deck/pull/3011) L10n: Spelling unification @Valdnet
* [#3014](https://github.com/nextcloud/deck/pull/3014) Proper error handling when fetching comments fails
* [#3016](https://github.com/nextcloud/deck/pull/3016) Allow searching for filters without a query to match all that have a given filter set
* [#3021](https://github.com/nextcloud/deck/pull/3021) L10n: Add word "Card" @Valdnet
* [#3025](https://github.com/nextcloud/deck/pull/3025) Show comment counter and highlight if unread comments are available
* [#3036](https://github.com/nextcloud/deck/pull/3036) Add link to migration tool for Trello @maxammann
* [#3037](https://github.com/nextcloud/deck/pull/3037) Catch any error during circle detail fetching
* [#3038](https://github.com/nextcloud/deck/pull/3038) Get attachment from the user node instead of the share source
* [#3092](https://github.com/nextcloud/deck/pull/3092) Refactor update to have proper order of optional parameters
* [#3113](https://github.com/nextcloud/deck/pull/3113) Use new viewer syntax with destructuring object @azul
* [#3142](https://github.com/nextcloud/deck/pull/3142) Always pass user id in share provider
* [#3152](https://github.com/nextcloud/deck/pull/3152) Only offer stack creation in emptycontent with proper permissions
* [#3165](https://github.com/nextcloud/deck/pull/3165) Always log generic exceptions
* [#3168](https://github.com/nextcloud/deck/pull/3168) Reduce duplicate queries when fetching user boards an permissions
- #3161 Reduce duplicate queries when fetching user boards an permissions @juliushaertl
- #3151 Always log generic exceptions @juliushaertl
- #3217 Move circle checks to a unified service and improve member checks @juliushaertl
- #3225 Check for null value to avoid TypeError in the group manager @juliushaertl
- #3263 Defer obtaining the user session in the config service @juliushaertl
- #3294 Fix print style issues @weeman1337
- #3299 Return false instead of throwing when getting calendar setting @juliushaertl
- #3298 Delete file shares through attachments API @juliushaertl
- #3343 Fix search pagination cursor @eneiluj
- #3326 add autofocus on board edit @weeman1337
- #3323 Extend drag-and-drop zone in card sidebar @old-green-frog
- #3364 Fix optional parameter order @juliushaertl
- #3324 Fix menu button position in card modal @valerydmitrieva
- #3391 Use displayname instead of uid for mentions (reopened against master) @kffl
- #3316 Additional check for stacks @juliushaertl
- #3357 Revert "Fix search pagination cursor" @juliushaertl
- #3327 Do not show both bullets and checkboxes for checklists @Themanwhosmellslikesugar
- #3375 Show absolute dates when printing @weeman1337
- #3376 Print assignee names @weeman1337
- #3384 Keep exceptions http response generic @juliushaertl
## 1.4.0 - 2021-04-13
@@ -105,15 +69,15 @@ All notable changes to this project will be documented in this file.
## 1.3.0-beta2
### Fixed
* [#2700](https://github.com/nextcloud/deck/pull/2700) Attempt to copy file on dropping it to deck
* [#2701](https://github.com/nextcloud/deck/pull/2701) Fix uploading files by drag and drop
* [#2700](https://github.com/nextcloud/deck/pull/2700) Attempt to copy file on dropping it to deck @juliushaertl
* [#2701](https://github.com/nextcloud/deck/pull/2701) Fix uploading files by drag and drop @juliushaertl
* [#2707](https://github.com/nextcloud/deck/pull/2707) L10n: Change to a capital letter @Valdnet
* [#2712](https://github.com/nextcloud/deck/pull/2712) Docs: Fix table in section "GET /api/v1.0/config" @das-g
* [#2716](https://github.com/nextcloud/deck/pull/2716) Remove repair step which is no longer needed as we cleanup properly
* [#2716](https://github.com/nextcloud/deck/pull/2716) Remove repair step which is no longer needed as we cleanup properly @juliushaertl
* [#2723](https://github.com/nextcloud/deck/pull/2723) Pad random color with leading zeroes @PVince81
* [#2729](https://github.com/nextcloud/deck/pull/2729) Remove invalid activity parameters @nickvergessen
* [#2750](https://github.com/nextcloud/deck/pull/2750) Fix deck activity emails not being translated @nickvergessen
* [#2751](https://github.com/nextcloud/deck/pull/2751) Properly set author for activity events that are triggered by cron
* [#2751](https://github.com/nextcloud/deck/pull/2751) Properly set author for activity events that are triggered by cron @juliushaertl
## 1.2.2 - 2020-11-24
@@ -222,31 +186,31 @@ All notable changes to this project will be documented in this file.
### Fixed
* [#2116](https://github.com/nextcloud/deck/pull/2116) Fix navigation layout issues
* [#2118](https://github.com/nextcloud/deck/pull/2118) Use proper parameter when handling attachments
* [#2116](https://github.com/nextcloud/deck/pull/2116) Fix navigation layout issues @juliushaertl
* [#2118](https://github.com/nextcloud/deck/pull/2118) Use proper parameter when handling attachments @juliushaertl
## 1.0.4 - 2020-06-26
### Fixed
* [#2062](https://github.com/nextcloud/deck/pull/2062) Fix saving card description after toggling checkboxes
* [#2062](https://github.com/nextcloud/deck/pull/2062) Fix saving card description after toggling checkboxes @juliushaertl
* [#2065](https://github.com/nextcloud/deck/pull/2065) Adding CSS rule for Markdown Blockquotes @reox
* [#2059](https://github.com/nextcloud/deck/pull/2059) Fix fetching attachments on card change
* [#2060](https://github.com/nextcloud/deck/pull/2060) Use mixing for relative date in card sidebar
* [#2059](https://github.com/nextcloud/deck/pull/2059) Fix fetching attachments on card change @juliushaertl
* [#2060](https://github.com/nextcloud/deck/pull/2060) Use mixing for relative date in card sidebar @juliushaertl
## 1.0.3 - 2020-06-19
### Fixed
* [#2019](https://github.com/nextcloud/deck/pull/2019) Remove old global css rule
* [#2020](https://github.com/nextcloud/deck/pull/2020) Fix navigation issue with leftover nodes
* [#2021](https://github.com/nextcloud/deck/pull/2021) Fix description issues
* [#2022](https://github.com/nextcloud/deck/pull/2022) Fix replyto issues with the comments API
* [#2027](https://github.com/nextcloud/deck/pull/2027) Allow to unassign current user from card
* [#2019](https://github.com/nextcloud/deck/pull/2019) Remove old global css rule @juliushaertl
* [#2020](https://github.com/nextcloud/deck/pull/2020) Fix navigation issue with leftover nodes @juliushaertl
* [#2021](https://github.com/nextcloud/deck/pull/2021) Fix description issues @juliushaertl
* [#2022](https://github.com/nextcloud/deck/pull/2022) Fix replyto issues with the comments API @juliushaertl
* [#2027](https://github.com/nextcloud/deck/pull/2027) Allow to unassign current user from card @juliushaertl
* [#2029](https://github.com/nextcloud/deck/pull/2029) Fix wording : stack -> list @cloud2018
* [#2032](https://github.com/nextcloud/deck/pull/2032) Force order by id as second sorting key
* [#2045](https://github.com/nextcloud/deck/pull/2045) Improve label styling
* [#2032](https://github.com/nextcloud/deck/pull/2032) Force order by id as second sorting key @juliushaertl
* [#2045](https://github.com/nextcloud/deck/pull/2045) Improve label styling @juliushaertl
* [#2010](https://github.com/nextcloud/deck/pull/2010) User documentation fixes @Nyco
* [#1998](https://github.com/nextcloud/deck/pull/1998) Add Checklist explaination to the doc @4rnoP

View File

@@ -25,7 +25,8 @@ Deck is a kanban style organization tool aimed at personal planning and project
- [trello-to-deck](https://github.com/maxammann/trello-to-deck) - Migrates cards from Trello
- [mail2deck](https://github.com/newroco/mail2deck) - Provides an "email in" solution
- [A-deck](https://github.com/leoossa/A-deck) - Chrome Extension that allows to create new card in selected stack based on current tab
-
## Installation/Update
This app is supposed to work on the two latest Nextcloud versions.

View File

@@ -16,7 +16,7 @@
- 🚀 Get your project organized
</description>
<version>1.5.4</version>
<version>1.7.0-alpha1</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<namespace>Deck</namespace>
@@ -34,8 +34,8 @@
<php min-version="7.3"/>
<database min-version="9.4">pgsql</database>
<database>sqlite</database>
<database min-version="5.5">mysql</database>
<nextcloud min-version="22" max-version="22"/>
<database min-version="8.0">mysql</database>
<nextcloud min-version="24" max-version="24"/>
</dependencies>
<background-jobs>
<job>OCA\Deck\Cron\DeleteCron</job>

330
composer.lock generated
View File

@@ -65,27 +65,27 @@
"packages-dev": [
{
"name": "amphp/amp",
"version": "v2.5.2",
"version": "v2.6.1",
"source": {
"type": "git",
"url": "https://github.com/amphp/amp.git",
"reference": "efca2b32a7580087adb8aabbff6be1dc1bb924a9"
"reference": "c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/amphp/amp/zipball/efca2b32a7580087adb8aabbff6be1dc1bb924a9",
"reference": "efca2b32a7580087adb8aabbff6be1dc1bb924a9",
"url": "https://api.github.com/repos/amphp/amp/zipball/c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae",
"reference": "c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae",
"shasum": ""
},
"require": {
"php": ">=7"
"php": ">=7.1"
},
"require-dev": {
"amphp/php-cs-fixer-config": "dev-master",
"amphp/phpunit-util": "^1",
"ext-json": "*",
"jetbrains/phpstorm-stubs": "^2019.3",
"phpunit/phpunit": "^6.0.9 | ^7",
"phpunit/phpunit": "^7 | ^8 | ^9",
"psalm/phar": "^3.11@dev",
"react/promise": "^2"
},
@@ -142,7 +142,7 @@
"support": {
"irc": "irc://irc.freenode.org/amphp",
"issues": "https://github.com/amphp/amp/issues",
"source": "https://github.com/amphp/amp/tree/v2.5.2"
"source": "https://github.com/amphp/amp/tree/v2.6.1"
},
"funding": [
{
@@ -150,7 +150,7 @@
"type": "github"
}
],
"time": "2021-01-10T17:06:37+00:00"
"time": "2021-09-23T18:43:08+00:00"
},
{
"name": "amphp/byte-stream",
@@ -271,16 +271,16 @@
},
{
"name": "composer/package-versions-deprecated",
"version": "1.11.99.2",
"version": "1.11.99.4",
"source": {
"type": "git",
"url": "https://github.com/composer/package-versions-deprecated.git",
"reference": "c6522afe5540d5fc46675043d3ed5a45a740b27c"
"reference": "b174585d1fe49ceed21928a945138948cb394600"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/c6522afe5540d5fc46675043d3ed5a45a740b27c",
"reference": "c6522afe5540d5fc46675043d3ed5a45a740b27c",
"url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/b174585d1fe49ceed21928a945138948cb394600",
"reference": "b174585d1fe49ceed21928a945138948cb394600",
"shasum": ""
},
"require": {
@@ -324,7 +324,7 @@
"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.2"
"source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.4"
},
"funding": [
{
@@ -340,20 +340,20 @@
"type": "tidelift"
}
],
"time": "2021-05-24T07:46:03+00:00"
"time": "2021-09-13T08:41:34+00:00"
},
{
"name": "composer/semver",
"version": "3.2.5",
"version": "3.2.6",
"source": {
"type": "git",
"url": "https://github.com/composer/semver.git",
"reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9"
"reference": "83e511e247de329283478496f7a1e114c9517506"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/semver/zipball/31f3ea725711245195f62e54ffa402d8ef2fdba9",
"reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9",
"url": "https://api.github.com/repos/composer/semver/zipball/83e511e247de329283478496f7a1e114c9517506",
"reference": "83e511e247de329283478496f7a1e114c9517506",
"shasum": ""
},
"require": {
@@ -405,7 +405,7 @@
"support": {
"irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/semver/issues",
"source": "https://github.com/composer/semver/tree/3.2.5"
"source": "https://github.com/composer/semver/tree/3.2.6"
},
"funding": [
{
@@ -421,7 +421,7 @@
"type": "tidelift"
}
],
"time": "2021-05-24T12:41:47+00:00"
"time": "2021-10-25T11:34:17+00:00"
},
{
"name": "composer/xdebug-handler",
@@ -750,20 +750,20 @@
},
{
"name": "felixfbecker/advanced-json-rpc",
"version": "v3.2.0",
"version": "v3.2.1",
"source": {
"type": "git",
"url": "https://github.com/felixfbecker/php-advanced-json-rpc.git",
"reference": "06f0b06043c7438959dbdeed8bb3f699a19be22e"
"reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/06f0b06043c7438959dbdeed8bb3f699a19be22e",
"reference": "06f0b06043c7438959dbdeed8bb3f699a19be22e",
"url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/b5f37dbff9a8ad360ca341f3240dc1c168b45447",
"reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447",
"shasum": ""
},
"require": {
"netresearch/jsonmapper": "^1.0 || ^2.0",
"netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
"php": "^7.1 || ^8.0",
"phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0"
},
@@ -789,9 +789,9 @@
"description": "A more advanced JSONRPC implementation",
"support": {
"issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues",
"source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.0"
"source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.1"
},
"time": "2021-01-10T17:48:47+00:00"
"time": "2021-06-11T22:34:44+00:00"
},
{
"name": "felixfbecker/language-server-protocol",
@@ -1012,16 +1012,16 @@
},
{
"name": "netresearch/jsonmapper",
"version": "v2.1.0",
"version": "v4.0.0",
"source": {
"type": "git",
"url": "https://github.com/cweiske/jsonmapper.git",
"reference": "e0f1e33a71587aca81be5cffbb9746510e1fe04e"
"reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/e0f1e33a71587aca81be5cffbb9746510e1fe04e",
"reference": "e0f1e33a71587aca81be5cffbb9746510e1fe04e",
"url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d",
"reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d",
"shasum": ""
},
"require": {
@@ -1029,10 +1029,10 @@
"ext-pcre": "*",
"ext-reflection": "*",
"ext-spl": "*",
"php": ">=5.6"
"php": ">=7.1"
},
"require-dev": {
"phpunit/phpunit": "~4.8.35 || ~5.7 || ~6.4 || ~7.0",
"phpunit/phpunit": "~7.5 || ~8.0 || ~9.0",
"squizlabs/php_codesniffer": "~3.5"
},
"type": "library",
@@ -1057,9 +1057,9 @@
"support": {
"email": "cweiske@cweiske.de",
"issues": "https://github.com/cweiske/jsonmapper/issues",
"source": "https://github.com/cweiske/jsonmapper/tree/master"
"source": "https://github.com/cweiske/jsonmapper/tree/v4.0.0"
},
"time": "2020-04-16T18:48:43+00:00"
"time": "2020-12-01T19:48:11+00:00"
},
{
"name": "nextcloud/coding-standard",
@@ -1104,16 +1104,16 @@
},
{
"name": "nikic/php-parser",
"version": "v4.10.5",
"version": "v4.13.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "4432ba399e47c66624bc73c8c0f811e5c109576f"
"reference": "50953a2691a922aa1769461637869a0a2faa3f53"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4432ba399e47c66624bc73c8c0f811e5c109576f",
"reference": "4432ba399e47c66624bc73c8c0f811e5c109576f",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/50953a2691a922aa1769461637869a0a2faa3f53",
"reference": "50953a2691a922aa1769461637869a0a2faa3f53",
"shasum": ""
},
"require": {
@@ -1154,9 +1154,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v4.10.5"
"source": "https://github.com/nikic/PHP-Parser/tree/v4.13.0"
},
"time": "2021-05-03T19:11:20+00:00"
"time": "2021-09-20T12:20:58+00:00"
},
{
"name": "openlss/lib-array2xml",
@@ -1213,16 +1213,16 @@
},
{
"name": "phar-io/manifest",
"version": "2.0.1",
"version": "2.0.3",
"source": {
"type": "git",
"url": "https://github.com/phar-io/manifest.git",
"reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133"
"reference": "97803eca37d319dfa7826cc2437fc020857acb53"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133",
"reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133",
"url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
"reference": "97803eca37d319dfa7826cc2437fc020857acb53",
"shasum": ""
},
"require": {
@@ -1267,9 +1267,9 @@
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
"support": {
"issues": "https://github.com/phar-io/manifest/issues",
"source": "https://github.com/phar-io/manifest/tree/master"
"source": "https://github.com/phar-io/manifest/tree/2.0.3"
},
"time": "2020-06-27T14:33:11+00:00"
"time": "2021-07-20T11:28:43+00:00"
},
{
"name": "phar-io/version",
@@ -1379,16 +1379,16 @@
},
{
"name": "php-parallel-lint/php-parallel-lint",
"version": "v1.3.0",
"version": "v1.3.1",
"source": {
"type": "git",
"url": "https://github.com/php-parallel-lint/PHP-Parallel-Lint.git",
"reference": "772a954e5f119f6f5871d015b23eabed8cbdadfb"
"reference": "761f3806e30239b5fcd90a0a45d41dc2138de192"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-parallel-lint/PHP-Parallel-Lint/zipball/772a954e5f119f6f5871d015b23eabed8cbdadfb",
"reference": "772a954e5f119f6f5871d015b23eabed8cbdadfb",
"url": "https://api.github.com/repos/php-parallel-lint/PHP-Parallel-Lint/zipball/761f3806e30239b5fcd90a0a45d41dc2138de192",
"reference": "761f3806e30239b5fcd90a0a45d41dc2138de192",
"shasum": ""
},
"require": {
@@ -1402,7 +1402,7 @@
"require-dev": {
"nette/tester": "^1.3 || ^2.0",
"php-parallel-lint/php-console-highlighter": "~0.3",
"squizlabs/php_codesniffer": "^3.5"
"squizlabs/php_codesniffer": "^3.6"
},
"suggest": {
"php-parallel-lint/php-console-highlighter": "Highlight syntax in code snippet"
@@ -1430,9 +1430,9 @@
"homepage": "https://github.com/php-parallel-lint/PHP-Parallel-Lint",
"support": {
"issues": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/issues",
"source": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/tree/v1.3.0"
"source": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/tree/v1.3.1"
},
"time": "2021-04-07T14:42:48+00:00"
"time": "2021-08-13T05:35:13+00:00"
},
{
"name": "phpdocumentor/reflection-common",
@@ -1489,16 +1489,16 @@
},
{
"name": "phpdocumentor/reflection-docblock",
"version": "5.2.2",
"version": "5.3.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "069a785b2141f5bcf49f3e353548dc1cce6df556"
"reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556",
"reference": "069a785b2141f5bcf49f3e353548dc1cce6df556",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
"reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
"shasum": ""
},
"require": {
@@ -1509,7 +1509,8 @@
"webmozart/assert": "^1.9.1"
},
"require-dev": {
"mockery/mockery": "~1.3.2"
"mockery/mockery": "~1.3.2",
"psalm/phar": "^4.8"
},
"type": "library",
"extra": {
@@ -1539,22 +1540,22 @@
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master"
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
},
"time": "2020-09-03T19:13:55+00:00"
"time": "2021-10-19T17:43:47+00:00"
},
{
"name": "phpdocumentor/type-resolver",
"version": "1.4.0",
"version": "1.5.1",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
"reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0"
"reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
"reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae",
"reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae",
"shasum": ""
},
"require": {
@@ -1562,7 +1563,8 @@
"phpdocumentor/reflection-common": "^2.0"
},
"require-dev": {
"ext-tokenizer": "*"
"ext-tokenizer": "*",
"psalm/phar": "^4.8"
},
"type": "library",
"extra": {
@@ -1588,39 +1590,39 @@
"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.4.0"
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1"
},
"time": "2020-09-17T18:55:26+00:00"
"time": "2021-10-02T14:08:47+00:00"
},
{
"name": "phpspec/prophecy",
"version": "1.13.0",
"version": "1.14.0",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
"reference": "be1996ed8adc35c3fd795488a653f4b518be70ea"
"reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/be1996ed8adc35c3fd795488a653f4b518be70ea",
"reference": "be1996ed8adc35c3fd795488a653f4b518be70ea",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e",
"reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e",
"shasum": ""
},
"require": {
"doctrine/instantiator": "^1.2",
"php": "^7.2 || ~8.0, <8.1",
"php": "^7.2 || ~8.0, <8.2",
"phpdocumentor/reflection-docblock": "^5.2",
"sebastian/comparator": "^3.0 || ^4.0",
"sebastian/recursion-context": "^3.0 || ^4.0"
},
"require-dev": {
"phpspec/phpspec": "^6.0",
"phpspec/phpspec": "^6.0 || ^7.0",
"phpunit/phpunit": "^8.0 || ^9.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.11.x-dev"
"dev-master": "1.x-dev"
}
},
"autoload": {
@@ -1655,29 +1657,29 @@
],
"support": {
"issues": "https://github.com/phpspec/prophecy/issues",
"source": "https://github.com/phpspec/prophecy/tree/1.13.0"
"source": "https://github.com/phpspec/prophecy/tree/1.14.0"
},
"time": "2021-03-17T13:42:18+00:00"
"time": "2021-09-10T09:02:12+00:00"
},
{
"name": "phpunit/php-code-coverage",
"version": "9.2.6",
"version": "9.2.7",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "f6293e1b30a2354e8428e004689671b83871edde"
"reference": "d4c798ed8d51506800b441f7a13ecb0f76f12218"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f6293e1b30a2354e8428e004689671b83871edde",
"reference": "f6293e1b30a2354e8428e004689671b83871edde",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/d4c798ed8d51506800b441f7a13ecb0f76f12218",
"reference": "d4c798ed8d51506800b441f7a13ecb0f76f12218",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
"nikic/php-parser": "^4.10.2",
"nikic/php-parser": "^4.12.0",
"php": ">=7.3",
"phpunit/php-file-iterator": "^3.0.3",
"phpunit/php-text-template": "^2.0.2",
@@ -1726,7 +1728,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.6"
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.7"
},
"funding": [
{
@@ -1734,7 +1736,7 @@
"type": "github"
}
],
"time": "2021-03-28T07:26:59+00:00"
"time": "2021-09-17T05:39:03+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -1979,16 +1981,16 @@
},
{
"name": "phpunit/phpunit",
"version": "9.5.5",
"version": "9.5.10",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "89ff45ea9d70e35522fb6654a2ebc221158de276"
"reference": "c814a05837f2edb0d1471d6e3f4ab3501ca3899a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/89ff45ea9d70e35522fb6654a2ebc221158de276",
"reference": "89ff45ea9d70e35522fb6654a2ebc221158de276",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c814a05837f2edb0d1471d6e3f4ab3501ca3899a",
"reference": "c814a05837f2edb0d1471d6e3f4ab3501ca3899a",
"shasum": ""
},
"require": {
@@ -2000,11 +2002,11 @@
"ext-xml": "*",
"ext-xmlwriter": "*",
"myclabs/deep-copy": "^1.10.1",
"phar-io/manifest": "^2.0.1",
"phar-io/manifest": "^2.0.3",
"phar-io/version": "^3.0.2",
"php": ">=7.3",
"phpspec/prophecy": "^1.12.1",
"phpunit/php-code-coverage": "^9.2.3",
"phpunit/php-code-coverage": "^9.2.7",
"phpunit/php-file-iterator": "^3.0.5",
"phpunit/php-invoker": "^3.1.1",
"phpunit/php-text-template": "^2.0.3",
@@ -2018,7 +2020,7 @@
"sebastian/global-state": "^5.0.1",
"sebastian/object-enumerator": "^4.0.3",
"sebastian/resource-operations": "^3.0.3",
"sebastian/type": "^2.3.2",
"sebastian/type": "^2.3.4",
"sebastian/version": "^3.0.2"
},
"require-dev": {
@@ -2066,7 +2068,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.5"
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.10"
},
"funding": [
{
@@ -2078,7 +2080,7 @@
"type": "github"
}
],
"time": "2021-06-05T04:49:07+00:00"
"time": "2021-09-25T07:38:51+00:00"
},
{
"name": "psr/container",
@@ -3360,16 +3362,16 @@
},
{
"name": "sebastian/type",
"version": "2.3.2",
"version": "2.3.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
"reference": "0d1c587401514d17e8f9258a27e23527cb1b06c1"
"reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/0d1c587401514d17e8f9258a27e23527cb1b06c1",
"reference": "0d1c587401514d17e8f9258a27e23527cb1b06c1",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8cd8a1c753c90bc1a0f5372170e3e489136f914",
"reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914",
"shasum": ""
},
"require": {
@@ -3404,7 +3406,7 @@
"homepage": "https://github.com/sebastianbergmann/type",
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
"source": "https://github.com/sebastianbergmann/type/tree/2.3.2"
"source": "https://github.com/sebastianbergmann/type/tree/2.3.4"
},
"funding": [
{
@@ -3412,7 +3414,7 @@
"type": "github"
}
],
"time": "2021-06-04T13:02:07+00:00"
"time": "2021-06-15T12:49:02+00:00"
},
{
"name": "sebastian/version",
@@ -3469,16 +3471,16 @@
},
{
"name": "symfony/console",
"version": "v5.3.0",
"version": "v5.3.10",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "058553870f7809087fa80fa734704a21b9bcaeb2"
"reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/058553870f7809087fa80fa734704a21b9bcaeb2",
"reference": "058553870f7809087fa80fa734704a21b9bcaeb2",
"url": "https://api.github.com/repos/symfony/console/zipball/d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3",
"reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3",
"shasum": ""
},
"require": {
@@ -3486,11 +3488,12 @@
"symfony/deprecation-contracts": "^2.1",
"symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php73": "^1.8",
"symfony/polyfill-php80": "^1.15",
"symfony/polyfill-php80": "^1.16",
"symfony/service-contracts": "^1.1|^2",
"symfony/string": "^5.1"
},
"conflict": {
"psr/log": ">=3",
"symfony/dependency-injection": "<4.4",
"symfony/dotenv": "<5.1",
"symfony/event-dispatcher": "<4.4",
@@ -3498,10 +3501,10 @@
"symfony/process": "<4.4"
},
"provide": {
"psr/log-implementation": "1.0"
"psr/log-implementation": "1.0|2.0"
},
"require-dev": {
"psr/log": "~1.0",
"psr/log": "^1|^2",
"symfony/config": "^4.4|^5.0",
"symfony/dependency-injection": "^4.4|^5.0",
"symfony/event-dispatcher": "^4.4|^5.0",
@@ -3547,7 +3550,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v5.3.0"
"source": "https://github.com/symfony/console/tree/v5.3.10"
},
"funding": [
{
@@ -3563,7 +3566,7 @@
"type": "tidelift"
}
],
"time": "2021-05-26T17:43:10+00:00"
"time": "2021-10-26T09:30:15+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -3634,21 +3637,22 @@
},
{
"name": "symfony/event-dispatcher",
"version": "v4.4.19",
"version": "v4.4.34",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
"reference": "c352647244bd376bf7d31efbd5401f13f50dad0c"
"reference": "1a024b45369c9d55d76b6b8a241bd20c9ea1cbd8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/c352647244bd376bf7d31efbd5401f13f50dad0c",
"reference": "c352647244bd376bf7d31efbd5401f13f50dad0c",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1a024b45369c9d55d76b6b8a241bd20c9ea1cbd8",
"reference": "1a024b45369c9d55d76b6b8a241bd20c9ea1cbd8",
"shasum": ""
},
"require": {
"php": ">=7.1.3",
"symfony/event-dispatcher-contracts": "^1.1"
"symfony/event-dispatcher-contracts": "^1.1",
"symfony/polyfill-php80": "^1.16"
},
"conflict": {
"symfony/dependency-injection": "<3.4"
@@ -3658,7 +3662,7 @@
"symfony/event-dispatcher-implementation": "1.1"
},
"require-dev": {
"psr/log": "~1.0",
"psr/log": "^1|^2|^3",
"symfony/config": "^3.4|^4.0|^5.0",
"symfony/dependency-injection": "^3.4|^4.0|^5.0",
"symfony/error-handler": "~3.4|~4.4",
@@ -3697,7 +3701,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/event-dispatcher/tree/v4.4.19"
"source": "https://github.com/symfony/event-dispatcher/tree/v4.4.34"
},
"funding": [
{
@@ -3713,20 +3717,20 @@
"type": "tidelift"
}
],
"time": "2021-01-27T09:09:26+00:00"
"time": "2021-11-15T14:42:25+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
"version": "v1.1.9",
"version": "v1.1.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
"reference": "84e23fdcd2517bf37aecbd16967e83f0caee25a7"
"reference": "01e9a4efac0ee33a05dfdf93b346f62e7d0e998c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/84e23fdcd2517bf37aecbd16967e83f0caee25a7",
"reference": "84e23fdcd2517bf37aecbd16967e83f0caee25a7",
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/01e9a4efac0ee33a05dfdf93b346f62e7d0e998c",
"reference": "01e9a4efac0ee33a05dfdf93b346f62e7d0e998c",
"shasum": ""
},
"require": {
@@ -3739,7 +3743,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.1-dev"
"dev-main": "1.1-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -3776,7 +3780,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v1.1.9"
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v1.1.11"
},
"funding": [
{
@@ -3792,7 +3796,7 @@
"type": "tidelift"
}
],
"time": "2020-07-06T13:19:58+00:00"
"time": "2021-03-23T15:25:38+00:00"
},
{
"name": "symfony/filesystem",
@@ -4067,16 +4071,16 @@
},
{
"name": "symfony/polyfill-intl-grapheme",
"version": "v1.23.0",
"version": "v1.23.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
"reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab"
"reference": "16880ba9c5ebe3642d1995ab866db29270b36535"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/24b72c6baa32c746a4d0840147c9715e42bb68ab",
"reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab",
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535",
"reference": "16880ba9c5ebe3642d1995ab866db29270b36535",
"shasum": ""
},
"require": {
@@ -4128,7 +4132,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.0"
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1"
},
"funding": [
{
@@ -4144,7 +4148,7 @@
"type": "tidelift"
}
],
"time": "2021-05-27T09:17:38+00:00"
"time": "2021-05-27T12:26:48+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
@@ -4232,16 +4236,16 @@
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.23.0",
"version": "v1.23.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "2df51500adbaebdc4c38dea4c89a2e131c45c8a1"
"reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2df51500adbaebdc4c38dea4c89a2e131c45c8a1",
"reference": "2df51500adbaebdc4c38dea4c89a2e131c45c8a1",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6",
"reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6",
"shasum": ""
},
"require": {
@@ -4292,7 +4296,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.0"
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1"
},
"funding": [
{
@@ -4308,7 +4312,7 @@
"type": "tidelift"
}
],
"time": "2021-05-27T09:27:20+00:00"
"time": "2021-05-27T12:26:48+00:00"
},
{
"name": "symfony/polyfill-php70",
@@ -4535,16 +4539,16 @@
},
{
"name": "symfony/polyfill-php80",
"version": "v1.23.0",
"version": "v1.23.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "eca0bf41ed421bed1b57c4958bab16aa86b757d0"
"reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/eca0bf41ed421bed1b57c4958bab16aa86b757d0",
"reference": "eca0bf41ed421bed1b57c4958bab16aa86b757d0",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be",
"reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be",
"shasum": ""
},
"require": {
@@ -4598,7 +4602,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.23.0"
"source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1"
},
"funding": [
{
@@ -4614,7 +4618,7 @@
"type": "tidelift"
}
],
"time": "2021-02-19T12:13:01+00:00"
"time": "2021-07-28T13:41:28+00:00"
},
{
"name": "symfony/process",
@@ -4821,16 +4825,16 @@
},
{
"name": "symfony/string",
"version": "v5.3.0",
"version": "v5.3.10",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "a9a0f8b6aafc5d2d1c116dcccd1573a95153515b"
"reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/a9a0f8b6aafc5d2d1c116dcccd1573a95153515b",
"reference": "a9a0f8b6aafc5d2d1c116dcccd1573a95153515b",
"url": "https://api.github.com/repos/symfony/string/zipball/d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
"reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
"shasum": ""
},
"require": {
@@ -4884,7 +4888,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v5.3.0"
"source": "https://github.com/symfony/string/tree/v5.3.10"
},
"funding": [
{
@@ -4900,20 +4904,20 @@
"type": "tidelift"
}
],
"time": "2021-05-26T17:43:10+00:00"
"time": "2021-10-27T18:21:46+00:00"
},
{
"name": "theseer/tokenizer",
"version": "1.2.0",
"version": "1.2.1",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
"reference": "75a63c33a8577608444246075ea0af0d052e452a"
"reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a",
"reference": "75a63c33a8577608444246075ea0af0d052e452a",
"url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
"reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
"shasum": ""
},
"require": {
@@ -4942,7 +4946,7 @@
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"support": {
"issues": "https://github.com/theseer/tokenizer/issues",
"source": "https://github.com/theseer/tokenizer/tree/master"
"source": "https://github.com/theseer/tokenizer/tree/1.2.1"
},
"funding": [
{
@@ -4950,20 +4954,20 @@
"type": "github"
}
],
"time": "2020-07-12T23:59:07+00:00"
"time": "2021-07-28T10:34:58+00:00"
},
{
"name": "vimeo/psalm",
"version": "4.7.3",
"version": "4.11.2",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
"reference": "38c452ae584467e939d55377aaf83b5a26f19dd1"
"reference": "6fba5eb554f9507b72932f9c75533d8af593688d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/38c452ae584467e939d55377aaf83b5a26f19dd1",
"reference": "38c452ae584467e939d55377aaf83b5a26f19dd1",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/6fba5eb554f9507b72932f9c75533d8af593688d",
"reference": "6fba5eb554f9507b72932f9c75533d8af593688d",
"shasum": ""
},
"require": {
@@ -4973,6 +4977,7 @@
"composer/semver": "^1.4 || ^2.0 || ^3.0",
"composer/xdebug-handler": "^1.1 || ^2.0",
"dnoegel/php-xdg-base-dir": "^0.1.1",
"ext-ctype": "*",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
@@ -4982,7 +4987,7 @@
"felixfbecker/advanced-json-rpc": "^3.0.3",
"felixfbecker/language-server-protocol": "^1.5",
"netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
"nikic/php-parser": "^4.10.5",
"nikic/php-parser": "^4.13",
"openlss/lib-array2xml": "^1.0",
"php": "^7.1|^8",
"sebastian/diff": "^3.0 || ^4.0",
@@ -5001,11 +5006,10 @@
"phpmyadmin/sql-parser": "5.1.0||dev-master",
"phpspec/prophecy": ">=1.9.0",
"phpunit/phpunit": "^9.0",
"psalm/plugin-phpunit": "^0.13",
"psalm/plugin-phpunit": "^0.16",
"slevomat/coding-standard": "^7.0",
"squizlabs/php_codesniffer": "^3.5",
"symfony/process": "^4.3",
"weirdan/phpunit-appveyor-reporter": "^1.0.0",
"symfony/process": "^4.3 || ^5.0",
"weirdan/prophecy-shim": "^1.0 || ^2.0"
},
"suggest": {
@@ -5053,9 +5057,9 @@
],
"support": {
"issues": "https://github.com/vimeo/psalm/issues",
"source": "https://github.com/vimeo/psalm/tree/4.7.3"
"source": "https://github.com/vimeo/psalm/tree/4.11.2"
},
"time": "2021-05-24T04:09:51+00:00"
"time": "2021-10-26T17:28:17+00:00"
},
{
"name": "webmozart/assert",

View File

@@ -188,6 +188,7 @@ OC.L10N.register(
"Pending share" : "Чакащо споделяне",
"Add this attachment" : "Добавете този прикачен файл",
"Show in Files" : "Показване във файлове",
"Download" : "Изтегляне",
"Remove attachment" : "Премахване на прикачен файл",
"Delete Attachment" : "Изтриване на прикачен файл",
"Restore Attachment" : "Възстановяване на прикачен файл",

View File

@@ -186,6 +186,7 @@
"Pending share" : "Чакащо споделяне",
"Add this attachment" : "Добавете този прикачен файл",
"Show in Files" : "Показване във файлове",
"Download" : "Изтегляне",
"Remove attachment" : "Премахване на прикачен файл",
"Delete Attachment" : "Изтриване на прикачен файл",
"Restore Attachment" : "Възстановяване на прикачен файл",

View File

@@ -70,9 +70,15 @@ OC.L10N.register(
"Upcoming cards" : "Pròximes targetes",
"Personal" : "Personal",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "La targeta \"%s\" sobre \"%s\" se us ha assignat per %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} us ha assignat la targeta {deck-card} a {deck-board}.",
"The card \"%s\" on \"%s\" has reached its due date." : "La targeta \"%s\" sobre \"%s\" ha assolit la seva data de venciment.",
"The card {deck-card} on {deck-board} has reached its due date." : "La targeta {deck-card} a {deck-board} ha assolit la seva data de caducitat.",
"%s has mentioned you in a comment on \"%s\"." : "%s us ha anomenat en un comentari sobre \"%s\".",
"{user} has mentioned you in a comment on {deck-card}." : "{user} us ha mencionat en un comentari a {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "El tauler \"%s\" se us ha compartit per %s.",
"{user} has shared {deck-board} with you." : "{user} us ha compartit {board}.",
"Card comments" : "Comentaris de la targeta",
"%s on %s" : "%s a %s",
"No data was provided to create an attachment." : "No sha proporcionat cap dada per crear un fitxer adjunt.",
"Finished" : "Acabat",
"To review" : "Per revisar",
@@ -94,6 +100,9 @@ OC.L10N.register(
"Could not write file to disk" : "No sha pogut escriure el fitxer al disc",
"A PHP extension stopped the file upload" : "Una extensió del PHP ha aturat la carregada del fitxer",
"No file uploaded or file size exceeds maximum of %s" : "No s'ha carregat cap fitxer o la mida del fitxer sobrepassa el màxim de %s",
"Card not found" : "No s'ha trobat la targeta",
"Path is already shared with this card" : "Aquesta ruta ja ha estat compartida amb aquesta targeta",
"Invalid date, date format must be YYYY-MM-DD" : "La data no és vàlida, el format de la data ha de ser YYYY-MM-DD",
"Personal planning and team project organization" : "Planificació personal i organització de projectes en equip",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Tauler és una eina d'organització a l'estil kanban dirigida a la planificació personal i a l'organització de projectes per equips integrada a Nextcloud.\n\n\n- 📥 Afegiu les tasques en targetes i poseu-les en ordre\n- 📄 Apunteu notes addicionals en markdown\n- 🔖 Assigneu etiquetes per una organització encara millor\n- 👥 Compartiu amb el vostre equip, família o amics\n- 📎 Adjunteu fitxers i encasteu-los en la descripció en markdown\n- 💬 Debateu amb el vostre equip fent servir comentaris\n- ⚡ Mantingueu el seguiment de canvis al flux d'activitat\n- 🚀 Tingueu el vostre projecte organitzat",
"Card details" : "Detalls de la targeta",
@@ -101,9 +110,16 @@ OC.L10N.register(
"Select the board to link to a project" : "Selecciona el tauler per enllaçar a un projecte",
"Search by board title" : "Cerca per títol del tauler",
"Select board" : "Selecciona un tauler",
"Create a new card" : "Crea una nova targeta",
"Select a board" : "Selecciona un tauler",
"Select a list" : "Seleccioneu una llista",
"Card title" : "Títol de la targeta",
"Cancel" : "Cancel·la",
"Creating the new card …" : "Creant la nova targeta",
"Card \"{card}\" was added to \"{board}\"" : "La targeta \"{card}\" s'ha afegit a \"{board}\"",
"Open card" : "Obre la targeta",
"Close" : "Tanca",
"Create card" : "Crea una targeta",
"Select a card" : "Selecciona una targeta",
"Select the card to link to a project" : "Selecciona la targeta per enllaçar a un projecte",
"Link to card" : "Enllaç a la targeta",
@@ -167,9 +183,16 @@ OC.L10N.register(
"title and color value must be provided" : "sha de proporcionar el valor del títol i del color",
"Board name" : "Nom del taulell",
"Members" : "Membres",
"Upload new files" : "Puja nous fitxers",
"Share from Files" : "Comparteix des de Fitxers",
"Pending share" : "Compartició pendent",
"Add this attachment" : "Afegeix aquest adjunt",
"Show in Files" : "Mostra a Fitxers",
"Remove attachment" : "Treu l'adjunt",
"Delete Attachment" : "Suprimeix ladjunt",
"Restore Attachment" : "Restaura l'adjunt",
"File to share" : "Fitxer a compartir",
"Invalid path selected" : "S'ha seleccionat una ruta invàlida",
"Open in sidebar view" : "Obre a la vista de la barra lateral",
"Open in bigger view" : "Obre a la vista més gran",
"Attachments" : "Adjunts",
@@ -178,6 +201,7 @@ OC.L10N.register(
"Created" : "Creat",
"The title cannot be empty." : "El títol no pot estar buit",
"No comments yet. Begin the discussion!" : "No hi ha comentaris encara. Començar la discussió!",
"Failed to load comments" : "No s'han pogut carregar els comentaris",
"Assign a tag to this card…" : "Assigna una etiqueta a aquesta targeta…",
"Assign to users" : "Assigna als usuaris",
"Assign to users/groups/circles" : "Assigna a usuaris/grups/cercles",
@@ -188,10 +212,13 @@ OC.L10N.register(
"Select Date" : "Selecciona la data",
"Today" : "Avui",
"Tomorrow" : "Demà",
"Next week" : "Setmana següent",
"Next month" : "Mes següent",
"Save" : "Desa",
"The comment cannot be empty." : "El comentari no pot estar buit.",
"The comment cannot be longer than 1000 characters." : "El comentari no pot ser més llarg que 1000 caràcters.",
"In reply to" : "En resposta a",
"Cancel reply" : "Cancel·la la resposta",
"Reply" : "Respon",
"Update" : "Actualitza",
"Description" : "Descripció",
@@ -204,6 +231,7 @@ OC.L10N.register(
"Write a description …" : "Escriviu una descripció...",
"Choose attachment" : "Triar adjunt",
"(group)" : "(grup)",
"{count} comments, {unread} unread" : "{count} comentaris, {unread} no llegits",
"Assign to me" : "Assigna'm a mi",
"Unassign myself" : "Desasignar a mi mateix",
"Move card" : "Mou la targeta",
@@ -220,7 +248,7 @@ OC.L10N.register(
"Show boards in calendar/tasks" : "Mostra els taulers al calendari/tasques",
"Limit deck usage of groups" : "Limitar l'ús del tauler de grups",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limitant el Tauler bloquejarà la creació de taulers als usuaris que no són part d'aquests grups. Els usuaris podran seguir treballant en els taulers que hagin estat compartits amb ells.",
"Board details" : "Detalls de la junta",
"Board details" : "Detalls del tauler",
"Edit board" : "Edita el tauler",
"Clone board" : "Clonar tauler",
"Unarchive board" : "Desarxiva el tauler",
@@ -241,12 +269,20 @@ OC.L10N.register(
"Loading filtered view" : "S'està carregant la visualització filtrada",
"This week" : "Aquesta setmana",
"No due" : "Sense venciment",
"Search for {searchQuery} in all boards" : "Busca {searchQuery} a tots els taulers",
"No results found" : "No s'han trobat resultats",
"No upcoming cards" : "No hi ha pròximes targetes",
"upcoming cards" : "pròximes targetes",
"Link to a board" : "Enllaça a un tauler",
"Link to a card" : "Enllaç una targeta",
"Create a card" : "Crea una targeta",
"Message from {author} in {conversationName}" : "Missatge de {author} a {conversationName}",
"Something went wrong" : "Alguna cosa ha anat malament",
"Failed to upload {name}" : "No s'ha pogut pujar {name}",
"Maximum file size of {size} exceeded" : "S'ha superat la mida màxima per fitxer de {size}"
"Maximum file size of {size} exceeded" : "S'ha superat la mida màxima per fitxer de {size}",
"Error creating the share" : "S'ha produït un error en crear la compartició",
"Share with a Deck card" : "Compartir amb una targeta de Deck",
"Share {file} with a Deck card" : "Compartir {file} amb una targeta de Deck",
"Share" : "Compartir"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -68,9 +68,15 @@
"Upcoming cards" : "Pròximes targetes",
"Personal" : "Personal",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "La targeta \"%s\" sobre \"%s\" se us ha assignat per %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} us ha assignat la targeta {deck-card} a {deck-board}.",
"The card \"%s\" on \"%s\" has reached its due date." : "La targeta \"%s\" sobre \"%s\" ha assolit la seva data de venciment.",
"The card {deck-card} on {deck-board} has reached its due date." : "La targeta {deck-card} a {deck-board} ha assolit la seva data de caducitat.",
"%s has mentioned you in a comment on \"%s\"." : "%s us ha anomenat en un comentari sobre \"%s\".",
"{user} has mentioned you in a comment on {deck-card}." : "{user} us ha mencionat en un comentari a {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "El tauler \"%s\" se us ha compartit per %s.",
"{user} has shared {deck-board} with you." : "{user} us ha compartit {board}.",
"Card comments" : "Comentaris de la targeta",
"%s on %s" : "%s a %s",
"No data was provided to create an attachment." : "No sha proporcionat cap dada per crear un fitxer adjunt.",
"Finished" : "Acabat",
"To review" : "Per revisar",
@@ -92,6 +98,9 @@
"Could not write file to disk" : "No sha pogut escriure el fitxer al disc",
"A PHP extension stopped the file upload" : "Una extensió del PHP ha aturat la carregada del fitxer",
"No file uploaded or file size exceeds maximum of %s" : "No s'ha carregat cap fitxer o la mida del fitxer sobrepassa el màxim de %s",
"Card not found" : "No s'ha trobat la targeta",
"Path is already shared with this card" : "Aquesta ruta ja ha estat compartida amb aquesta targeta",
"Invalid date, date format must be YYYY-MM-DD" : "La data no és vàlida, el format de la data ha de ser YYYY-MM-DD",
"Personal planning and team project organization" : "Planificació personal i organització de projectes en equip",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Tauler és una eina d'organització a l'estil kanban dirigida a la planificació personal i a l'organització de projectes per equips integrada a Nextcloud.\n\n\n- 📥 Afegiu les tasques en targetes i poseu-les en ordre\n- 📄 Apunteu notes addicionals en markdown\n- 🔖 Assigneu etiquetes per una organització encara millor\n- 👥 Compartiu amb el vostre equip, família o amics\n- 📎 Adjunteu fitxers i encasteu-los en la descripció en markdown\n- 💬 Debateu amb el vostre equip fent servir comentaris\n- ⚡ Mantingueu el seguiment de canvis al flux d'activitat\n- 🚀 Tingueu el vostre projecte organitzat",
"Card details" : "Detalls de la targeta",
@@ -99,9 +108,16 @@
"Select the board to link to a project" : "Selecciona el tauler per enllaçar a un projecte",
"Search by board title" : "Cerca per títol del tauler",
"Select board" : "Selecciona un tauler",
"Create a new card" : "Crea una nova targeta",
"Select a board" : "Selecciona un tauler",
"Select a list" : "Seleccioneu una llista",
"Card title" : "Títol de la targeta",
"Cancel" : "Cancel·la",
"Creating the new card …" : "Creant la nova targeta",
"Card \"{card}\" was added to \"{board}\"" : "La targeta \"{card}\" s'ha afegit a \"{board}\"",
"Open card" : "Obre la targeta",
"Close" : "Tanca",
"Create card" : "Crea una targeta",
"Select a card" : "Selecciona una targeta",
"Select the card to link to a project" : "Selecciona la targeta per enllaçar a un projecte",
"Link to card" : "Enllaç a la targeta",
@@ -165,9 +181,16 @@
"title and color value must be provided" : "sha de proporcionar el valor del títol i del color",
"Board name" : "Nom del taulell",
"Members" : "Membres",
"Upload new files" : "Puja nous fitxers",
"Share from Files" : "Comparteix des de Fitxers",
"Pending share" : "Compartició pendent",
"Add this attachment" : "Afegeix aquest adjunt",
"Show in Files" : "Mostra a Fitxers",
"Remove attachment" : "Treu l'adjunt",
"Delete Attachment" : "Suprimeix ladjunt",
"Restore Attachment" : "Restaura l'adjunt",
"File to share" : "Fitxer a compartir",
"Invalid path selected" : "S'ha seleccionat una ruta invàlida",
"Open in sidebar view" : "Obre a la vista de la barra lateral",
"Open in bigger view" : "Obre a la vista més gran",
"Attachments" : "Adjunts",
@@ -176,6 +199,7 @@
"Created" : "Creat",
"The title cannot be empty." : "El títol no pot estar buit",
"No comments yet. Begin the discussion!" : "No hi ha comentaris encara. Començar la discussió!",
"Failed to load comments" : "No s'han pogut carregar els comentaris",
"Assign a tag to this card…" : "Assigna una etiqueta a aquesta targeta…",
"Assign to users" : "Assigna als usuaris",
"Assign to users/groups/circles" : "Assigna a usuaris/grups/cercles",
@@ -186,10 +210,13 @@
"Select Date" : "Selecciona la data",
"Today" : "Avui",
"Tomorrow" : "Demà",
"Next week" : "Setmana següent",
"Next month" : "Mes següent",
"Save" : "Desa",
"The comment cannot be empty." : "El comentari no pot estar buit.",
"The comment cannot be longer than 1000 characters." : "El comentari no pot ser més llarg que 1000 caràcters.",
"In reply to" : "En resposta a",
"Cancel reply" : "Cancel·la la resposta",
"Reply" : "Respon",
"Update" : "Actualitza",
"Description" : "Descripció",
@@ -202,6 +229,7 @@
"Write a description …" : "Escriviu una descripció...",
"Choose attachment" : "Triar adjunt",
"(group)" : "(grup)",
"{count} comments, {unread} unread" : "{count} comentaris, {unread} no llegits",
"Assign to me" : "Assigna'm a mi",
"Unassign myself" : "Desasignar a mi mateix",
"Move card" : "Mou la targeta",
@@ -218,7 +246,7 @@
"Show boards in calendar/tasks" : "Mostra els taulers al calendari/tasques",
"Limit deck usage of groups" : "Limitar l'ús del tauler de grups",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limitant el Tauler bloquejarà la creació de taulers als usuaris que no són part d'aquests grups. Els usuaris podran seguir treballant en els taulers que hagin estat compartits amb ells.",
"Board details" : "Detalls de la junta",
"Board details" : "Detalls del tauler",
"Edit board" : "Edita el tauler",
"Clone board" : "Clonar tauler",
"Unarchive board" : "Desarxiva el tauler",
@@ -239,12 +267,20 @@
"Loading filtered view" : "S'està carregant la visualització filtrada",
"This week" : "Aquesta setmana",
"No due" : "Sense venciment",
"Search for {searchQuery} in all boards" : "Busca {searchQuery} a tots els taulers",
"No results found" : "No s'han trobat resultats",
"No upcoming cards" : "No hi ha pròximes targetes",
"upcoming cards" : "pròximes targetes",
"Link to a board" : "Enllaça a un tauler",
"Link to a card" : "Enllaç una targeta",
"Create a card" : "Crea una targeta",
"Message from {author} in {conversationName}" : "Missatge de {author} a {conversationName}",
"Something went wrong" : "Alguna cosa ha anat malament",
"Failed to upload {name}" : "No s'ha pogut pujar {name}",
"Maximum file size of {size} exceeded" : "S'ha superat la mida màxima per fitxer de {size}"
"Maximum file size of {size} exceeded" : "S'ha superat la mida màxima per fitxer de {size}",
"Error creating the share" : "S'ha produït un error en crear la compartició",
"Share with a Deck card" : "Compartir amb una targeta de Deck",
"Share {file} with a Deck card" : "Compartir {file} amb una targeta de Deck",
"Share" : "Compartir"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -85,7 +85,7 @@ OC.L10N.register(
"Action needed" : "Nutná akce",
"Later" : "Později",
"copy" : "kopie",
"To do" : "Udělat",
"To do" : "Zbývá udělat",
"Doing" : "Provádí se",
"Done" : "Hotovo",
"Example Task 3" : "Třetí úkol pro ukázku",
@@ -101,7 +101,7 @@ OC.L10N.register(
"A PHP extension stopped the file upload" : "PHP rozšíření zastavilo nahrávání souboru.",
"No file uploaded or file size exceeds maximum of %s" : "Nebyl nahrán žádný soubor nebo jeho velikost přesáhla %s",
"Card not found" : "Karta nebyla nalezena",
"Path is already shared with this card" : "Cesta je již s touto kartou sdílena",
"Path is already shared with this card" : "Popis umístění už je touto kartou sdíleno",
"Invalid date, date format must be YYYY-MM-DD" : "Neplatné datum je třeba, aby formát data byl RRRR-MM-DD",
"Personal planning and team project organization" : "Osobní plánování a organizování týmového projektu",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck je nástroj cílený na osobní nebo projektové plánování týmů v Kanban stylu, vestavěný v Nextcloud.\n\n\n- 📥 Zadávejte a uspořádávejte své úkoly do karet\n- 📄 Zapisujte si dodatečné poznámky \n- 🔖 Přiřazujte štítky pro ještě lepší organizaci\n- 👥 Sdílejte se svým týmem, přáteli nebo rodinou\n- 🚀 Dostaňte svůj projekt pod kontrolu",
@@ -188,6 +188,7 @@ OC.L10N.register(
"Pending share" : "Čekající sdílení",
"Add this attachment" : "Přidat tuto přílohu",
"Show in Files" : "Zobrazit v Souborech",
"Download" : "Stáhnout",
"Remove attachment" : "Odebrat přílohu",
"Delete Attachment" : "Smazat přílohu",
"Restore Attachment" : "Obnovit přílohu",

View File

@@ -83,7 +83,7 @@
"Action needed" : "Nutná akce",
"Later" : "Později",
"copy" : "kopie",
"To do" : "Udělat",
"To do" : "Zbývá udělat",
"Doing" : "Provádí se",
"Done" : "Hotovo",
"Example Task 3" : "Třetí úkol pro ukázku",
@@ -99,7 +99,7 @@
"A PHP extension stopped the file upload" : "PHP rozšíření zastavilo nahrávání souboru.",
"No file uploaded or file size exceeds maximum of %s" : "Nebyl nahrán žádný soubor nebo jeho velikost přesáhla %s",
"Card not found" : "Karta nebyla nalezena",
"Path is already shared with this card" : "Cesta je již s touto kartou sdílena",
"Path is already shared with this card" : "Popis umístění už je touto kartou sdíleno",
"Invalid date, date format must be YYYY-MM-DD" : "Neplatné datum je třeba, aby formát data byl RRRR-MM-DD",
"Personal planning and team project organization" : "Osobní plánování a organizování týmového projektu",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck je nástroj cílený na osobní nebo projektové plánování týmů v Kanban stylu, vestavěný v Nextcloud.\n\n\n- 📥 Zadávejte a uspořádávejte své úkoly do karet\n- 📄 Zapisujte si dodatečné poznámky \n- 🔖 Přiřazujte štítky pro ještě lepší organizaci\n- 👥 Sdílejte se svým týmem, přáteli nebo rodinou\n- 🚀 Dostaňte svůj projekt pod kontrolu",
@@ -186,6 +186,7 @@
"Pending share" : "Čekající sdílení",
"Add this attachment" : "Přidat tuto přílohu",
"Show in Files" : "Zobrazit v Souborech",
"Download" : "Stáhnout",
"Remove attachment" : "Odebrat přílohu",
"Delete Attachment" : "Smazat přílohu",
"Restore Attachment" : "Obnovit přílohu",

View File

@@ -188,6 +188,7 @@ OC.L10N.register(
"Pending share" : "Ausstehende Freigabe",
"Add this attachment" : "Diesen Anhang anhängen",
"Show in Files" : "In Dateien anzeigen",
"Download" : "Herunterladen",
"Remove attachment" : "Anhang entfernen",
"Delete Attachment" : "Anhang löschen",
"Restore Attachment" : "Anhang wiederherstellen",

View File

@@ -186,6 +186,7 @@
"Pending share" : "Ausstehende Freigabe",
"Add this attachment" : "Diesen Anhang anhängen",
"Show in Files" : "In Dateien anzeigen",
"Download" : "Herunterladen",
"Remove attachment" : "Anhang entfernen",
"Delete Attachment" : "Anhang löschen",
"Restore Attachment" : "Anhang wiederherstellen",

View File

@@ -188,6 +188,7 @@ OC.L10N.register(
"Pending share" : "Ausstehende Freigabe",
"Add this attachment" : "Diesen Anhang anhängen",
"Show in Files" : "In Dateien anzeigen",
"Download" : "Herunterladen",
"Remove attachment" : "Anhang entfernen",
"Delete Attachment" : "Anhang löschen",
"Restore Attachment" : "Anhang wiederherstellen",

View File

@@ -186,6 +186,7 @@
"Pending share" : "Ausstehende Freigabe",
"Add this attachment" : "Diesen Anhang anhängen",
"Show in Files" : "In Dateien anzeigen",
"Download" : "Herunterladen",
"Remove attachment" : "Anhang entfernen",
"Delete Attachment" : "Anhang löschen",
"Restore Attachment" : "Anhang wiederherstellen",

View File

@@ -188,6 +188,7 @@ OC.L10N.register(
"Pending share" : "Pendiente de compartir",
"Add this attachment" : "Añadir este adjunto",
"Show in Files" : "Mostrar en Archivos",
"Download" : "Descargar",
"Remove attachment" : "Quitar adjunto",
"Delete Attachment" : "Borrar adjunto",
"Restore Attachment" : "Restaurar Adjunto",
@@ -212,6 +213,8 @@ OC.L10N.register(
"Select Date" : "Seleccione la fecha",
"Today" : "Hoy",
"Tomorrow" : "Mañana",
"Next week" : "Semana siguiente",
"Next month" : "Mes siguiente",
"Save" : "Guardar",
"The comment cannot be empty." : "El comentario no puede estar vacío.",
"The comment cannot be longer than 1000 characters." : "El comentario no puede tener más de 1000 caracteres.",

View File

@@ -186,6 +186,7 @@
"Pending share" : "Pendiente de compartir",
"Add this attachment" : "Añadir este adjunto",
"Show in Files" : "Mostrar en Archivos",
"Download" : "Descargar",
"Remove attachment" : "Quitar adjunto",
"Delete Attachment" : "Borrar adjunto",
"Restore Attachment" : "Restaurar Adjunto",
@@ -210,6 +211,8 @@
"Select Date" : "Seleccione la fecha",
"Today" : "Hoy",
"Tomorrow" : "Mañana",
"Next week" : "Semana siguiente",
"Next month" : "Mes siguiente",
"Save" : "Guardar",
"The comment cannot be empty." : "El comentario no puede estar vacío.",
"The comment cannot be longer than 1000 characters." : "El comentario no puede tener más de 1000 caracteres.",

View File

@@ -188,6 +188,7 @@ OC.L10N.register(
"Pending share" : "Partekatzeko zain",
"Add this attachment" : "Gehitu eranskin hau",
"Show in Files" : "Erakutsi fitxategietan",
"Download" : "Deskargatu",
"Remove attachment" : "Kendu eranskina",
"Delete Attachment" : "Ezabatu eranskina",
"Restore Attachment" : "Berezarri eranskina",

View File

@@ -186,6 +186,7 @@
"Pending share" : "Partekatzeko zain",
"Add this attachment" : "Gehitu eranskin hau",
"Show in Files" : "Erakutsi fitxategietan",
"Download" : "Deskargatu",
"Remove attachment" : "Kendu eranskina",
"Delete Attachment" : "Ezabatu eranskina",
"Restore Attachment" : "Berezarri eranskina",

View File

@@ -184,6 +184,8 @@ OC.L10N.register(
"Select Date" : "Valitse päivä",
"Today" : "Tänään",
"Tomorrow" : "Huomenna",
"Next week" : "Seuraava viikko",
"Next month" : "Seuraava kuukausi",
"Save" : "Tallenna",
"The comment cannot be empty." : "Kommentti ei voi olla tyhjä.",
"The comment cannot be longer than 1000 characters." : "Kommentin on oltava alle 1000 merkkiä pitkä.",

View File

@@ -182,6 +182,8 @@
"Select Date" : "Valitse päivä",
"Today" : "Tänään",
"Tomorrow" : "Huomenna",
"Next week" : "Seuraava viikko",
"Next month" : "Seuraava kuukausi",
"Save" : "Tallenna",
"The comment cannot be empty." : "Kommentti ei voi olla tyhjä.",
"The comment cannot be longer than 1000 characters." : "Kommentin on oltava alle 1000 merkkiä pitkä.",

View File

@@ -185,8 +185,11 @@ OC.L10N.register(
"Members" : "Membres",
"Upload new files" : "Téléverser de nouveaux fichiers",
"Share from Files" : "Partager vos fichiers déjà stockés",
"Pending share" : "Partage en attente",
"Add this attachment" : "Ajouter cette pièce jointe",
"Show in Files" : "Afficher dans Fichiers",
"Download" : "Télécharger",
"Remove attachment" : "Supprimer la pièce jointe",
"Delete Attachment" : "Supprimer la pièce jointe",
"Restore Attachment" : "Restaurer la pièce jointe",
"File to share" : "Fichier à partager",
@@ -210,6 +213,8 @@ OC.L10N.register(
"Select Date" : "Sélectionnez une date",
"Today" : "Aujourd'hui",
"Tomorrow" : "Demain",
"Next week" : "Semaine suivante",
"Next month" : "Mois suivant",
"Save" : "Enregistrer",
"The comment cannot be empty." : "Un commentaire ne peut pas être vide.",
"The comment cannot be longer than 1000 characters." : "Un commentaire est limité à 1 000 caractères.",

View File

@@ -183,8 +183,11 @@
"Members" : "Membres",
"Upload new files" : "Téléverser de nouveaux fichiers",
"Share from Files" : "Partager vos fichiers déjà stockés",
"Pending share" : "Partage en attente",
"Add this attachment" : "Ajouter cette pièce jointe",
"Show in Files" : "Afficher dans Fichiers",
"Download" : "Télécharger",
"Remove attachment" : "Supprimer la pièce jointe",
"Delete Attachment" : "Supprimer la pièce jointe",
"Restore Attachment" : "Restaurer la pièce jointe",
"File to share" : "Fichier à partager",
@@ -208,6 +211,8 @@
"Select Date" : "Sélectionnez une date",
"Today" : "Aujourd'hui",
"Tomorrow" : "Demain",
"Next week" : "Semaine suivante",
"Next month" : "Mois suivant",
"Save" : "Enregistrer",
"The comment cannot be empty." : "Un commentaire ne peut pas être vide.",
"The comment cannot be longer than 1000 characters." : "Un commentaire est limité à 1 000 caractères.",

View File

@@ -188,6 +188,7 @@ OC.L10N.register(
"Pending share" : "Függőben lévő megosztás",
"Add this attachment" : "E melléklet hozzáadása",
"Show in Files" : "Megjelenítés a Fájlokban",
"Download" : "Letöltés",
"Remove attachment" : "Melléklet eltávolítása",
"Delete Attachment" : "Melléklet törlése",
"Restore Attachment" : "Melléklet visszaállítása",

View File

@@ -186,6 +186,7 @@
"Pending share" : "Függőben lévő megosztás",
"Add this attachment" : "E melléklet hozzáadása",
"Show in Files" : "Megjelenítés a Fájlokban",
"Download" : "Letöltés",
"Remove attachment" : "Melléklet eltávolítása",
"Delete Attachment" : "Melléklet törlése",
"Restore Attachment" : "Melléklet visszaállítása",

View File

@@ -188,6 +188,7 @@ OC.L10N.register(
"Pending share" : "Condivisione in attesa",
"Add this attachment" : "Aggiungi questo allegato",
"Show in Files" : "Mostra in File",
"Download" : "Scarica",
"Remove attachment" : "Rimuovi allegato",
"Delete Attachment" : "Elimina allegato",
"Restore Attachment" : "Ripristina allegato",
@@ -212,6 +213,8 @@ OC.L10N.register(
"Select Date" : "Seleziona data",
"Today" : "Oggi",
"Tomorrow" : "Domani",
"Next week" : "Settimana successiva",
"Next month" : "Mese successivo",
"Save" : "Salva",
"The comment cannot be empty." : "Il commento non può essere vuoto.",
"The comment cannot be longer than 1000 characters." : "Il commento non può essere più lungo di 1000 caratteri.",

View File

@@ -186,6 +186,7 @@
"Pending share" : "Condivisione in attesa",
"Add this attachment" : "Aggiungi questo allegato",
"Show in Files" : "Mostra in File",
"Download" : "Scarica",
"Remove attachment" : "Rimuovi allegato",
"Delete Attachment" : "Elimina allegato",
"Restore Attachment" : "Ripristina allegato",
@@ -210,6 +211,8 @@
"Select Date" : "Seleziona data",
"Today" : "Oggi",
"Tomorrow" : "Domani",
"Next week" : "Settimana successiva",
"Next month" : "Mese successivo",
"Save" : "Salva",
"The comment cannot be empty." : "Il commento non può essere vuoto.",
"The comment cannot be longer than 1000 characters." : "Il commento non può essere più lungo di 1000 caratteri.",

View File

@@ -101,9 +101,16 @@ OC.L10N.register(
"Select the board to link to a project" : "Pasirinkite lentą, kurią susieti su projektu",
"Search by board title" : "Ieškoti pagal lentos pavadinimą",
"Select board" : "Pasirinkti lentą",
"Create a new card" : "Sukurti naują kortelę",
"Select a board" : "Pasirinkite lentą",
"Select a list" : "Pasirinkite sąrašą",
"Card title" : "Kortelės pavadinimas",
"Cancel" : "Atsisakyti",
"Creating the new card …" : "Kuriama nauja kortelė…",
"Card \"{card}\" was added to \"{board}\"" : "Kortelė „{card}“ buvo pridėta į lentą „{board}“",
"Open card" : "Atverti kortelę",
"Close" : "Užverti",
"Create card" : "Sukurti kortelę",
"Select a card" : "Pasirinkti kortelę",
"Select the card to link to a project" : "Pasirinkite kortelę, kurią susieti su projektu",
"Link to card" : "Susieti su kortele",
@@ -113,6 +120,7 @@ OC.L10N.register(
"Overwrite file" : "Perrašyti failą",
"Keep existing file" : "Palikti esamą failą",
"This board is read only" : "Ši lenta yra tik skaitymui",
"Drop your files to upload" : "Tempkite failus, norėdami juos išsiųsti",
"Add card" : "Pridėti kortelę",
"Archived cards" : "Archyvuotos kortelės",
"Add list" : "Pridėti sąrašą",
@@ -151,6 +159,7 @@ OC.L10N.register(
"Can share" : "Can share",
"Can manage" : "Gali tvarkyti",
"Delete" : "Ištrinti",
"Failed to create share with {displayName}" : "Nepavyko sukurti viešinio su {displayName}",
"Add a new list" : "Pridėti naują sąrašą",
"Archive all cards" : "Archyvuoti visas korteles",
"Delete list" : "Ištrinti sąrašą",
@@ -163,9 +172,15 @@ OC.L10N.register(
"title and color value must be provided" : "privalo būti pateiktos pavadinimo ir spalvos reikšmės",
"Board name" : "Lentos pavadinimas",
"Members" : "Nariai",
"Upload new files" : "Išsiųsti naujus failus",
"Share from Files" : "Bendrinti iš failų",
"Add this attachment" : "Pridėti šį priedą",
"Show in Files" : "Rodyti failuose",
"Download" : "Atsisiųsti",
"Remove attachment" : "Šalinti priedą",
"Delete Attachment" : "Ištrinti priedą",
"Restore Attachment" : "Atkurti priedą",
"File to share" : "Failas, kurį bendrinti",
"Invalid path selected" : "Pasirinktas neteisingas kelias",
"Open in sidebar view" : "Atverti šoninės juostos rodinyje",
"Open in bigger view" : "Atverti didesniame rodinyje",
@@ -173,7 +188,9 @@ OC.L10N.register(
"Comments" : "Komentarai",
"Modified" : "Pakeistas",
"Created" : "Sukurta",
"The title cannot be empty." : "Pavadinimas negali būti tuščias.",
"No comments yet. Begin the discussion!" : "Kol kas komentarų nėra. Pradėkite diskusiją!",
"Failed to load comments" : "Nepavyko įkelti komentarų",
"Assign a tag to this card…" : "Priskirti šiai kortelei žymę…",
"Assign to users" : "Priskirti naudotojams",
"Assign to users/groups/circles" : "Priskirti naudotojams/grupėms/ratams",
@@ -199,6 +216,7 @@ OC.L10N.register(
"Write a description …" : "Parašykite aprašą…",
"Choose attachment" : "Pasirinkite priedą",
"(group)" : "(grupė)",
"{count} comments, {unread} unread" : "Komentarų: {count}, neskaityta: {unread}",
"Assign to me" : "Priskirti sau",
"Move card" : "Perkelti kortelę",
"Unarchive card" : "Išarchyvuoti kortelę",
@@ -210,6 +228,7 @@ OC.L10N.register(
"All boards" : "Visos lentos",
"Archived boards" : "Archyvuotos lentos",
"Shared with you" : "Bendrinama su jumis",
"Use bigger card view" : "Naudoti didesnį kortelių rodinį",
"Show boards in calendar/tasks" : "Rodyti darbus kalendoriuje/užduotyse",
"Board details" : "Išsamiau apie lentą",
"Edit board" : "Taisyti lentą",
@@ -230,8 +249,10 @@ OC.L10N.register(
"Delete the board?" : "Ištrinti lentą?",
"This week" : "Šią savaitę",
"No due" : "Be galutinio termino",
"No results found" : "Nerasta jokių rezultatų",
"Link to a board" : "Susieti su lenta",
"Link to a card" : "Susieti su kortele",
"Create a card" : "Sukurti kortelę",
"Something went wrong" : "Kažkas nutiko",
"Maximum file size of {size} exceeded" : "Viršytas maksimalus {size} failo dydis",
"Error creating the share" : "Klaida kuriant viešinį",

View File

@@ -99,9 +99,16 @@
"Select the board to link to a project" : "Pasirinkite lentą, kurią susieti su projektu",
"Search by board title" : "Ieškoti pagal lentos pavadinimą",
"Select board" : "Pasirinkti lentą",
"Create a new card" : "Sukurti naują kortelę",
"Select a board" : "Pasirinkite lentą",
"Select a list" : "Pasirinkite sąrašą",
"Card title" : "Kortelės pavadinimas",
"Cancel" : "Atsisakyti",
"Creating the new card …" : "Kuriama nauja kortelė…",
"Card \"{card}\" was added to \"{board}\"" : "Kortelė „{card}“ buvo pridėta į lentą „{board}“",
"Open card" : "Atverti kortelę",
"Close" : "Užverti",
"Create card" : "Sukurti kortelę",
"Select a card" : "Pasirinkti kortelę",
"Select the card to link to a project" : "Pasirinkite kortelę, kurią susieti su projektu",
"Link to card" : "Susieti su kortele",
@@ -111,6 +118,7 @@
"Overwrite file" : "Perrašyti failą",
"Keep existing file" : "Palikti esamą failą",
"This board is read only" : "Ši lenta yra tik skaitymui",
"Drop your files to upload" : "Tempkite failus, norėdami juos išsiųsti",
"Add card" : "Pridėti kortelę",
"Archived cards" : "Archyvuotos kortelės",
"Add list" : "Pridėti sąrašą",
@@ -149,6 +157,7 @@
"Can share" : "Can share",
"Can manage" : "Gali tvarkyti",
"Delete" : "Ištrinti",
"Failed to create share with {displayName}" : "Nepavyko sukurti viešinio su {displayName}",
"Add a new list" : "Pridėti naują sąrašą",
"Archive all cards" : "Archyvuoti visas korteles",
"Delete list" : "Ištrinti sąrašą",
@@ -161,9 +170,15 @@
"title and color value must be provided" : "privalo būti pateiktos pavadinimo ir spalvos reikšmės",
"Board name" : "Lentos pavadinimas",
"Members" : "Nariai",
"Upload new files" : "Išsiųsti naujus failus",
"Share from Files" : "Bendrinti iš failų",
"Add this attachment" : "Pridėti šį priedą",
"Show in Files" : "Rodyti failuose",
"Download" : "Atsisiųsti",
"Remove attachment" : "Šalinti priedą",
"Delete Attachment" : "Ištrinti priedą",
"Restore Attachment" : "Atkurti priedą",
"File to share" : "Failas, kurį bendrinti",
"Invalid path selected" : "Pasirinktas neteisingas kelias",
"Open in sidebar view" : "Atverti šoninės juostos rodinyje",
"Open in bigger view" : "Atverti didesniame rodinyje",
@@ -171,7 +186,9 @@
"Comments" : "Komentarai",
"Modified" : "Pakeistas",
"Created" : "Sukurta",
"The title cannot be empty." : "Pavadinimas negali būti tuščias.",
"No comments yet. Begin the discussion!" : "Kol kas komentarų nėra. Pradėkite diskusiją!",
"Failed to load comments" : "Nepavyko įkelti komentarų",
"Assign a tag to this card…" : "Priskirti šiai kortelei žymę…",
"Assign to users" : "Priskirti naudotojams",
"Assign to users/groups/circles" : "Priskirti naudotojams/grupėms/ratams",
@@ -197,6 +214,7 @@
"Write a description …" : "Parašykite aprašą…",
"Choose attachment" : "Pasirinkite priedą",
"(group)" : "(grupė)",
"{count} comments, {unread} unread" : "Komentarų: {count}, neskaityta: {unread}",
"Assign to me" : "Priskirti sau",
"Move card" : "Perkelti kortelę",
"Unarchive card" : "Išarchyvuoti kortelę",
@@ -208,6 +226,7 @@
"All boards" : "Visos lentos",
"Archived boards" : "Archyvuotos lentos",
"Shared with you" : "Bendrinama su jumis",
"Use bigger card view" : "Naudoti didesnį kortelių rodinį",
"Show boards in calendar/tasks" : "Rodyti darbus kalendoriuje/užduotyse",
"Board details" : "Išsamiau apie lentą",
"Edit board" : "Taisyti lentą",
@@ -228,8 +247,10 @@
"Delete the board?" : "Ištrinti lentą?",
"This week" : "Šią savaitę",
"No due" : "Be galutinio termino",
"No results found" : "Nerasta jokių rezultatų",
"Link to a board" : "Susieti su lenta",
"Link to a card" : "Susieti su kortele",
"Create a card" : "Sukurti kortelę",
"Something went wrong" : "Kažkas nutiko",
"Maximum file size of {size} exceeded" : "Viršytas maksimalus {size} failo dydis",
"Error creating the share" : "Klaida kuriant viešinį",

View File

@@ -135,7 +135,7 @@ OC.L10N.register(
"Add list" : "Lijst toevoegen",
"List name" : "Lijstnaam",
"Apply filter" : "Filter toepassen",
"Filter by tag" : "Filter op label",
"Filter by tag" : "Filteren op label",
"Filter by assigned user" : "Filter op toegewezen gebruiker",
"Unassigned" : "Niet-toegewezen",
"Filter by due date" : "Filter op vervaldatum",
@@ -185,8 +185,10 @@ OC.L10N.register(
"Members" : "Leden",
"Upload new files" : "Uploaden nieuwe bestanden",
"Share from Files" : "Delen vanuit Bestanden",
"Pending share" : "Share in afwachting",
"Add this attachment" : "Voeg deze bijlage toe",
"Show in Files" : "Tonen in Bestanden",
"Download" : "Download",
"Remove attachment" : "Bijlage verwijderen",
"Delete Attachment" : "Verwijderen bijlage",
"Restore Attachment" : "Herstellen bijlage",
@@ -211,6 +213,8 @@ OC.L10N.register(
"Select Date" : "Selecteer datum",
"Today" : "Vandaag",
"Tomorrow" : "Morgen",
"Next week" : "Volgende week",
"Next month" : "Volgende maand",
"Save" : "Opslaan",
"The comment cannot be empty." : "De reactie kan niet leeg zijn.",
"The comment cannot be longer than 1000 characters." : "De reactie kan niet langer dan 1000 tekens zijn.",

View File

@@ -133,7 +133,7 @@
"Add list" : "Lijst toevoegen",
"List name" : "Lijstnaam",
"Apply filter" : "Filter toepassen",
"Filter by tag" : "Filter op label",
"Filter by tag" : "Filteren op label",
"Filter by assigned user" : "Filter op toegewezen gebruiker",
"Unassigned" : "Niet-toegewezen",
"Filter by due date" : "Filter op vervaldatum",
@@ -183,8 +183,10 @@
"Members" : "Leden",
"Upload new files" : "Uploaden nieuwe bestanden",
"Share from Files" : "Delen vanuit Bestanden",
"Pending share" : "Share in afwachting",
"Add this attachment" : "Voeg deze bijlage toe",
"Show in Files" : "Tonen in Bestanden",
"Download" : "Download",
"Remove attachment" : "Bijlage verwijderen",
"Delete Attachment" : "Verwijderen bijlage",
"Restore Attachment" : "Herstellen bijlage",
@@ -209,6 +211,8 @@
"Select Date" : "Selecteer datum",
"Today" : "Vandaag",
"Tomorrow" : "Morgen",
"Next week" : "Volgende week",
"Next month" : "Volgende maand",
"Save" : "Opslaan",
"The comment cannot be empty." : "De reactie kan niet leeg zijn.",
"The comment cannot be longer than 1000 characters." : "De reactie kan niet langer dan 1000 tekens zijn.",

View File

@@ -19,6 +19,8 @@ OC.L10N.register(
"Upload new files" : "Enviar fichièrs novèls",
"Today" : "Uèi",
"Tomorrow" : "Deman",
"Next week" : "Setmana seguenta",
"Next month" : "Mes seguent",
"Save" : "Salvar",
"Cancel reply" : "Anullar la responsa",
"Reply" : "Respondre",

View File

@@ -17,6 +17,8 @@
"Upload new files" : "Enviar fichièrs novèls",
"Today" : "Uèi",
"Tomorrow" : "Deman",
"Next week" : "Setmana seguenta",
"Next month" : "Mes seguent",
"Save" : "Salvar",
"Cancel reply" : "Anullar la responsa",
"Reply" : "Respondre",

View File

@@ -188,6 +188,7 @@ OC.L10N.register(
"Pending share" : "Oczekujące udostępnienie",
"Add this attachment" : "Dodaj ten załącznik",
"Show in Files" : "Pokaż w Plikach",
"Download" : "Pobierz",
"Remove attachment" : "Usuń załącznik",
"Delete Attachment" : "Usuń załącznik",
"Restore Attachment" : "Przywróć załącznik",

View File

@@ -186,6 +186,7 @@
"Pending share" : "Oczekujące udostępnienie",
"Add this attachment" : "Dodaj ten załącznik",
"Show in Files" : "Pokaż w Plikach",
"Download" : "Pobierz",
"Remove attachment" : "Usuń załącznik",
"Delete Attachment" : "Usuń załącznik",
"Restore Attachment" : "Przywróć załącznik",

View File

@@ -188,6 +188,7 @@ OC.L10N.register(
"Pending share" : "Compartilhamento pendente",
"Add this attachment" : "Adicionar este anexo",
"Show in Files" : "Mostrar em Arquivos",
"Download" : "Baixar",
"Remove attachment" : "Remover anexo",
"Delete Attachment" : "Excluir Anexo",
"Restore Attachment" : "Restaurar Anexo",
@@ -212,6 +213,8 @@ OC.L10N.register(
"Select Date" : "Selecionar Data",
"Today" : "Hoje",
"Tomorrow" : "Amanhã",
"Next week" : "Próxima semana",
"Next month" : "Próximo mês",
"Save" : "Salvar",
"The comment cannot be empty." : "O comentário não pode zer vazio.",
"The comment cannot be longer than 1000 characters." : "O comentário não pode ter mais que 1000 caracteres.",

View File

@@ -186,6 +186,7 @@
"Pending share" : "Compartilhamento pendente",
"Add this attachment" : "Adicionar este anexo",
"Show in Files" : "Mostrar em Arquivos",
"Download" : "Baixar",
"Remove attachment" : "Remover anexo",
"Delete Attachment" : "Excluir Anexo",
"Restore Attachment" : "Restaurar Anexo",
@@ -210,6 +211,8 @@
"Select Date" : "Selecionar Data",
"Today" : "Hoje",
"Tomorrow" : "Amanhã",
"Next week" : "Próxima semana",
"Next month" : "Próximo mês",
"Save" : "Salvar",
"The comment cannot be empty." : "O comentário não pode zer vazio.",
"The comment cannot be longer than 1000 characters." : "O comentário não pode ter mais que 1000 caracteres.",

View File

@@ -187,6 +187,7 @@ OC.L10N.register(
"Share from Files" : "Опубликовать из приложения «Файлы»",
"Add this attachment" : "Добавить это вложение",
"Show in Files" : "Показать в приложении «Файлы»",
"Remove attachment" : "Убрать вложение",
"Delete Attachment" : "Удалить вложение",
"Restore Attachment" : "Восстановить вложение",
"File to share" : "Файл для публикации",
@@ -210,6 +211,8 @@ OC.L10N.register(
"Select Date" : "Выберите дату",
"Today" : "Сегодня",
"Tomorrow" : "Завтра",
"Next week" : "Следующая неделя",
"Next month" : "Следующий месяц",
"Save" : "Сохранить",
"The comment cannot be empty." : "Комментарий не может быть пустым.",
"The comment cannot be longer than 1000 characters." : "Комментарий не может быть длиннее 1 000 символов.",

View File

@@ -185,6 +185,7 @@
"Share from Files" : "Опубликовать из приложения «Файлы»",
"Add this attachment" : "Добавить это вложение",
"Show in Files" : "Показать в приложении «Файлы»",
"Remove attachment" : "Убрать вложение",
"Delete Attachment" : "Удалить вложение",
"Restore Attachment" : "Восстановить вложение",
"File to share" : "Файл для публикации",
@@ -208,6 +209,8 @@
"Select Date" : "Выберите дату",
"Today" : "Сегодня",
"Tomorrow" : "Завтра",
"Next week" : "Следующая неделя",
"Next month" : "Следующий месяц",
"Save" : "Сохранить",
"The comment cannot be empty." : "Комментарий не может быть пустым.",
"The comment cannot be longer than 1000 characters." : "Комментарий не может быть длиннее 1 000 символов.",

View File

@@ -188,6 +188,7 @@ OC.L10N.register(
"Pending share" : "Čakajúce zdeľanie",
"Add this attachment" : "Pridať túto prílohu",
"Show in Files" : "Zobraziť v Súboroch",
"Download" : "Sťahovanie",
"Remove attachment" : "Odstrániť prílohu",
"Delete Attachment" : "Odstrániť prílohu",
"Restore Attachment" : "Obnoviť prílohu",

View File

@@ -186,6 +186,7 @@
"Pending share" : "Čakajúce zdeľanie",
"Add this attachment" : "Pridať túto prílohu",
"Show in Files" : "Zobraziť v Súboroch",
"Download" : "Sťahovanie",
"Remove attachment" : "Odstrániť prílohu",
"Delete Attachment" : "Odstrániť prílohu",
"Restore Attachment" : "Obnoviť prílohu",

View File

@@ -181,12 +181,13 @@ OC.L10N.register(
"Edit" : "Uredi",
"Add a new tag" : "Dodaj novo oznako",
"title and color value must be provided" : "navedena morata biti podatka naslova in barve",
"Board name" : "Ime zbirke",
"Board name" : "Ime zbirke",
"Members" : "Člani",
"Upload new files" : "Pošlji nove datoteke",
"Share from Files" : "Poveži iz oblaka",
"Add this attachment" : "Dodaj prilogo",
"Show in Files" : "Poveži iz oblaka",
"Download" : "Prejmi",
"Remove attachment" : "Odstrani prilogo",
"Delete Attachment" : "Izbriši prilogo",
"Restore Attachment" : "Obnovi prilogo",
@@ -211,6 +212,8 @@ OC.L10N.register(
"Select Date" : "Izbor datuma",
"Today" : "Danes",
"Tomorrow" : "Jutri",
"Next week" : "Naslednji teden",
"Next month" : "Naslednji mesec",
"Save" : "Shrani",
"The comment cannot be empty." : "Polje opombe ne sme biti prazno.",
"The comment cannot be longer than 1000 characters." : "Opomba ne sme biti daljša od 1000 znakov.",

View File

@@ -179,12 +179,13 @@
"Edit" : "Uredi",
"Add a new tag" : "Dodaj novo oznako",
"title and color value must be provided" : "navedena morata biti podatka naslova in barve",
"Board name" : "Ime zbirke",
"Board name" : "Ime zbirke",
"Members" : "Člani",
"Upload new files" : "Pošlji nove datoteke",
"Share from Files" : "Poveži iz oblaka",
"Add this attachment" : "Dodaj prilogo",
"Show in Files" : "Poveži iz oblaka",
"Download" : "Prejmi",
"Remove attachment" : "Odstrani prilogo",
"Delete Attachment" : "Izbriši prilogo",
"Restore Attachment" : "Obnovi prilogo",
@@ -209,6 +210,8 @@
"Select Date" : "Izbor datuma",
"Today" : "Danes",
"Tomorrow" : "Jutri",
"Next week" : "Naslednji teden",
"Next month" : "Naslednji mesec",
"Save" : "Shrani",
"The comment cannot be empty." : "Polje opombe ne sme biti prazno.",
"The comment cannot be longer than 1000 characters." : "Opomba ne sme biti daljša od 1000 znakov.",

View File

@@ -188,6 +188,7 @@ OC.L10N.register(
"Pending share" : "Bekleyen paylaşım",
"Add this attachment" : "Bu dosyayı ekle",
"Show in Files" : "Dosyalarda görüntüle",
"Download" : "İndir",
"Remove attachment" : "Ek dosyayı sil",
"Delete Attachment" : "Ek dosyasını sil",
"Restore Attachment" : "Ek dosyasını geri yükle",

View File

@@ -186,6 +186,7 @@
"Pending share" : "Bekleyen paylaşım",
"Add this attachment" : "Bu dosyayı ekle",
"Show in Files" : "Dosyalarda görüntüle",
"Download" : "İndir",
"Remove attachment" : "Ek dosyayı sil",
"Delete Attachment" : "Ek dosyasını sil",
"Restore Attachment" : "Ek dosyasını geri yükle",

View File

@@ -188,6 +188,7 @@ OC.L10N.register(
"Pending share" : "待分享",
"Add this attachment" : "添加此附件",
"Show in Files" : "在文件中显示",
"Download" : "下载",
"Remove attachment" : "删除附件",
"Delete Attachment" : "删除附件",
"Restore Attachment" : "恢复附件",

View File

@@ -186,6 +186,7 @@
"Pending share" : "待分享",
"Add this attachment" : "添加此附件",
"Show in Files" : "在文件中显示",
"Download" : "下载",
"Remove attachment" : "删除附件",
"Delete Attachment" : "删除附件",
"Restore Attachment" : "恢复附件",

View File

@@ -188,6 +188,7 @@ OC.L10N.register(
"Pending share" : "等待分享",
"Add this attachment" : "添加此附件",
"Show in Files" : "顯示在檔案中",
"Download" : "下載",
"Remove attachment" : "移除附件",
"Delete Attachment" : "刪除附件",
"Restore Attachment" : "恢復附件",

View File

@@ -186,6 +186,7 @@
"Pending share" : "等待分享",
"Add this attachment" : "添加此附件",
"Show in Files" : "顯示在檔案中",
"Download" : "下載",
"Remove attachment" : "移除附件",
"Delete Attachment" : "刪除附件",
"Restore Attachment" : "恢復附件",

View File

@@ -188,6 +188,7 @@ OC.L10N.register(
"Pending share" : "待分享",
"Add this attachment" : "新增此附件",
"Show in Files" : "在「檔案」中顯示",
"Download" : "下載",
"Remove attachment" : "移除附件",
"Delete Attachment" : "刪除附件",
"Restore Attachment" : "還原附件",
@@ -212,6 +213,8 @@ OC.L10N.register(
"Select Date" : "選擇日期",
"Today" : "今天",
"Tomorrow" : "明天",
"Next week" : "下週",
"Next month" : "下個月",
"Save" : "儲存",
"The comment cannot be empty." : "留言不能為空。",
"The comment cannot be longer than 1000 characters." : "留言不能多於 1000 個字元。",

View File

@@ -186,6 +186,7 @@
"Pending share" : "待分享",
"Add this attachment" : "新增此附件",
"Show in Files" : "在「檔案」中顯示",
"Download" : "下載",
"Remove attachment" : "移除附件",
"Delete Attachment" : "刪除附件",
"Restore Attachment" : "還原附件",
@@ -210,6 +211,8 @@
"Select Date" : "選擇日期",
"Today" : "今天",
"Tomorrow" : "明天",
"Next week" : "下週",
"Next month" : "下個月",
"Save" : "儲存",
"The comment cannot be empty." : "留言不能為空。",
"The comment cannot be longer than 1000 characters." : "留言不能多於 1000 個字元。",

View File

@@ -100,6 +100,9 @@ class ResourceProvider implements IProvider {
if ($board->getOwner() === $user->getUID()) {
return true;
}
if ($board->getAcl() === null) {
return false;
}
return $this->permissionService->userCan($board->getAcl(), Acl::PERMISSION_READ, $user->getUID());
}

View File

@@ -127,6 +127,9 @@ class ResourceProviderCard implements IProvider {
if ($board->getOwner() === $user->getUID()) {
return true;
}
if ($board->getAcl() === null) {
return false;
}
return $this->permissionService->userCan($board->getAcl(), Acl::PERMISSION_READ, $user->getUID());
}

View File

@@ -28,8 +28,10 @@ class Board extends RelationalEntity {
protected $owner;
protected $color;
protected $archived = false;
protected $labels = [];
protected $acl = [];
/** @var Label[]|null */
protected $labels = null;
/** @var Acl[]|null */
protected $acl = null;
protected $permissions = [];
protected $users = [];
protected $shared;
@@ -61,6 +63,10 @@ class Board extends RelationalEntity {
if ($this->shared === -1) {
unset($json['shared']);
}
// FIXME: Ideally the API responses should follow the internal data structure and return null if the labels/acls have not been fetched from the db
// however this would be a breaking change for consumers of the API
$json['acl'] = $this->acl ?? [];
$json['labels'] = $this->labels ?? [];
return $json;
}
@@ -68,21 +74,27 @@ class Board extends RelationalEntity {
* @param Label[] $labels
*/
public function setLabels($labels) {
foreach ($labels as $l) {
$this->labels[] = $l;
}
$this->labels = $labels;
}
/**
* @param Acl[] $acl
*/
public function setAcl($acl) {
foreach ($acl as $a) {
$this->acl[] = $a;
}
$this->acl = $acl;
}
public function getETag() {
return md5((string)$this->getLastModified());
}
/** @returns Acl[]|null */
public function getAcl(): ?array {
return $this->acl;
}
/** @returns Label[]|null */
public function getLabels(): ?array {
return $this->labels;
}
}

View File

@@ -25,12 +25,14 @@ namespace OCA\Deck\Db;
use OC\Cache\CappedMemoryCache;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\QBMapper;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
use OCP\IUserManager;
use OCP\IGroupManager;
use Psr\Log\LoggerInterface;
class BoardMapper extends DeckMapper implements IPermissionMapper {
class BoardMapper extends QBMapper implements IPermissionMapper {
private $labelMapper;
private $aclMapper;
private $stackMapper;
@@ -40,7 +42,10 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
private $circlesEnabled;
/** @var CappedMemoryCache */
private $userBoardCache;
/** @var CappedMemoryCache */
private $boardCache;
public function __construct(
IDBConnection $db,
@@ -60,7 +65,7 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
$this->logger = $logger;
$this->userBoardCache = new CappedMemoryCache();
$this->boardCache = new CappedMemoryCache();
$this->circlesEnabled = \OC::$server->getAppManager()->isEnabledForUser('circles');
}
@@ -70,40 +75,52 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
* @param $id
* @param bool $withLabels
* @param bool $withAcl
* @return \OCP\AppFramework\Db\Entity
* @return Board
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
* @throws DoesNotExistException
*/
public function find($id, $withLabels = false, $withAcl = false) {
$sql = 'SELECT id, title, owner, color, archived, deleted_at, last_modified FROM `*PREFIX*deck_boards` ' .
'WHERE `id` = ?';
$board = $this->findEntity($sql, [$id]);
public function find($id, $withLabels = false, $withAcl = false): Board {
if (!isset($this->boardCache[$id])) {
$qb = $this->db->getQueryBuilder();
$qb->select('*')
->from('deck_boards')
->where($qb->expr()->eq('id', $qb->createNamedParameter($id, IQueryBuilder::PARAM_INT)))
->orderBy('id');
$this->boardCache[$id] = $this->findEntity($qb);
}
// FIXME is this necessary? it was NOT done with the old mapper
// $this->mapOwner($board);
// Add labels
if ($withLabels) {
if ($withLabels && $this->boardCache[$id]->getLabels() === null) {
$labels = $this->labelMapper->findAll($id);
$board->setLabels($labels);
$this->boardCache[$id]->setLabels($labels);
}
// Add acl
if ($withAcl) {
if ($withAcl && $this->boardCache[$id]->getAcl() === null) {
$acl = $this->aclMapper->findAll($id);
$board->setAcl($acl);
$this->boardCache[$id]->setAcl($acl);
}
return $board;
return $this->boardCache[$id];
}
public function findAllForUser(string $userId, int $since = -1, $includeArchived = true): array {
$useCache = ($since === -1 && $includeArchived === true);
public function findAllForUser(string $userId, ?int $since = null, bool $includeArchived = true, ?int $before = null,
?string $term = null): array {
$useCache = ($since === -1 && $includeArchived === true && $before === null && $term === null);
if (!isset($this->userBoardCache[$userId]) || !$useCache) {
$groups = $this->groupManager->getUserGroupIds(
$this->userManager->get($userId)
);
$userBoards = $this->findAllByUser($userId, null, null, $since, $includeArchived);
$groupBoards = $this->findAllByGroups($userId, $groups, null, null, $since, $includeArchived);
$circleBoards = $this->findAllByCircles($userId, null, null, $since, $includeArchived);
$userBoards = $this->findAllByUser($userId, null, null, $since, $includeArchived, $before, $term);
$groupBoards = $this->findAllByGroups($userId, $groups, null, null, $since, $includeArchived, $before, $term);
$circleBoards = $this->findAllByCircles($userId, null, null, $since, $includeArchived, $before, $term);
$allBoards = array_unique(array_merge($userBoards, $groupBoards, $circleBoards));
foreach ($allBoards as $board) {
$this->boardCache[$board->getId()] = $board;
}
if ($useCache) {
$this->userBoardCache[$userId] = $allBoards;
}
@@ -120,19 +137,91 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
* @param null $offset
* @return array
*/
public function findAllByUser($userId, $limit = null, $offset = null, $since = -1, $includeArchived = true) {
// FIXME: One moving to QBMapper we should allow filtering the boards probably by method chaining for additional where clauses
$sql = 'SELECT id, title, owner, color, archived, deleted_at, 0 as shared, last_modified FROM `*PREFIX*deck_boards` WHERE owner = ? AND last_modified > ?';
public function findAllByUser(string $userId, ?int $limit = null, ?int $offset = null, ?int $since = null,
bool $includeArchived = true, ?int $before = null, ?string $term = null) {
// FIXME this used to be a UNION to get boards owned by $userId and the user shares in one single query
// Is it possible with the query builder?
$qb = $this->db->getQueryBuilder();
$qb->select('id', 'title', 'owner', 'color', 'archived', 'deleted_at', 'last_modified')
// this does not work in MySQL/PostgreSQL
//->selectAlias('0', 'shared')
->from('deck_boards', 'b')
->where($qb->expr()->eq('owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)));
if (!$includeArchived) {
$sql .= ' AND NOT archived AND deleted_at = 0';
$qb->andWhere($qb->expr()->eq('archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)))
->andWhere($qb->expr()->eq('deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)));
}
$sql .= ' UNION ' .
'SELECT boards.id, title, owner, color, archived, deleted_at, 1 as shared, last_modified FROM `*PREFIX*deck_boards` as boards ' .
'JOIN `*PREFIX*deck_board_acl` as acl ON boards.id=acl.board_id WHERE acl.participant=? AND acl.type=? AND boards.owner != ? AND last_modified > ?';
if ($since !== null) {
$qb->andWhere($qb->expr()->gt('last_modified', $qb->createNamedParameter($since, IQueryBuilder::PARAM_INT)));
}
if ($before !== null) {
$qb->andWhere($qb->expr()->lt('last_modified', $qb->createNamedParameter($before, IQueryBuilder::PARAM_INT)));
}
if ($term !== null) {
$qb->andWhere(
$qb->expr()->iLike(
'title',
$qb->createNamedParameter(
'%' . $this->db->escapeLikeParameter($term) . '%',
IQueryBuilder::PARAM_STR
)
)
);
}
$qb->orderBy('b.id');
if ($limit !== null) {
$qb->setMaxResults($limit);
}
if ($offset !== null) {
$qb->setFirstResult($offset);
}
$entries = $this->findEntities($qb);
foreach ($entries as $entry) {
$entry->setShared(0);
}
// shared with user
$qb->resetQueryParts();
$qb->select('b.id', 'title', 'owner', 'color', 'archived', 'deleted_at', 'last_modified')
//->selectAlias('1', 'shared')
->from('deck_boards', 'b')
->innerJoin('b', 'deck_board_acl', 'acl', $qb->expr()->eq('b.id', 'acl.board_id'))
->where($qb->expr()->eq('acl.participant', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)))
->andWhere($qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_USER, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->neq('b.owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)));
if (!$includeArchived) {
$sql .= ' AND NOT archived AND deleted_at = 0';
$qb->andWhere($qb->expr()->eq('archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)))
->andWhere($qb->expr()->eq('deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)));
}
$entries = $this->findEntities($sql, [$userId, $since, $userId, Acl::PERMISSION_TYPE_USER, $userId, $since], $limit, $offset);
if ($since !== null) {
$qb->andWhere($qb->expr()->gt('last_modified', $qb->createNamedParameter($since, IQueryBuilder::PARAM_INT)));
}
if ($before !== null) {
$qb->andWhere($qb->expr()->lt('last_modified', $qb->createNamedParameter($before, IQueryBuilder::PARAM_INT)));
}
if ($term !== null) {
$qb->andWhere(
$qb->expr()->iLike(
'title',
$qb->createNamedParameter(
'%' . $this->db->escapeLikeParameter($term) . '%',
IQueryBuilder::PARAM_STR
)
)
);
}
$qb->orderBy('b.id');
if ($limit !== null) {
$qb->setMaxResults($limit);
}
if ($offset !== null) {
$qb->setFirstResult($offset);
}
$sharedEntries = $this->findEntities($qb);
foreach ($sharedEntries as $entry) {
$entry->setShared(1);
}
$entries = array_merge($entries, $sharedEntries);
/* @var Board $entry */
foreach ($entries as $entry) {
$acl = $this->aclMapper->findAll($entry->id);
@@ -141,9 +230,19 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
return $entries;
}
public function findAllByOwner(string $userId, int $limit = null, int $offset = null) {
$sql = 'SELECT * FROM `*PREFIX*deck_boards` WHERE owner = ?';
return $this->findEntities($sql, [$userId], $limit, $offset);
public function findAllByOwner(string $userId, ?int $limit = null, ?int $offset = null) {
$qb = $this->db->getQueryBuilder();
$qb->select('*')
->from('deck_boards')
->where($qb->expr()->eq('owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)))
->orderBy('id');
if ($limit !== null) {
$qb->setMaxResults($limit);
}
if ($offset !== null) {
$qb->setFirstResult($offset);
}
return $this->findEntities($qb);
}
/**
@@ -155,23 +254,57 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
* @param null $offset
* @return array
*/
public function findAllByGroups($userId, $groups, $limit = null, $offset = null, $since = -1,$includeArchived = true) {
public function findAllByGroups(string $userId, array $groups, ?int $limit = null, ?int $offset = null, ?int $since = null,
bool $includeArchived = true, ?int $before = null, ?string $term = null) {
if (count($groups) <= 0) {
return [];
}
$sql = 'SELECT boards.id, title, owner, color, archived, deleted_at, 2 as shared, last_modified FROM `*PREFIX*deck_boards` as boards ' .
'INNER JOIN `*PREFIX*deck_board_acl` as acl ON boards.id=acl.board_id WHERE owner != ? AND type=? AND (';
$qb = $this->db->getQueryBuilder();
$qb->select('b.id', 'title', 'owner', 'color', 'archived', 'deleted_at', 'last_modified')
//->selectAlias('2', 'shared')
->from('deck_boards', 'b')
->innerJoin('b', 'deck_board_acl', 'acl', $qb->expr()->eq('b.id', 'acl.board_id'))
->where($qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_GROUP, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->neq('b.owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)));
$or = $qb->expr()->orx();
for ($i = 0, $iMax = count($groups); $i < $iMax; $i++) {
$sql .= 'acl.participant = ? ';
if (count($groups) > 1 && $i < count($groups) - 1) {
$sql .= ' OR ';
}
$or->add(
$qb->expr()->eq('acl.participant', $qb->createNamedParameter($groups[$i], IQueryBuilder::PARAM_STR))
);
}
$sql .= ')';
$qb->andWhere($or);
if (!$includeArchived) {
$sql .= ' AND NOT archived AND deleted_at = 0';
$qb->andWhere($qb->expr()->eq('archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)))
->andWhere($qb->expr()->eq('deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)));
}
if ($since !== null) {
$qb->andWhere($qb->expr()->gt('last_modified', $qb->createNamedParameter($since, IQueryBuilder::PARAM_INT)));
}
if ($before !== null) {
$qb->andWhere($qb->expr()->lt('last_modified', $qb->createNamedParameter($before, IQueryBuilder::PARAM_INT)));
}
if ($term !== null) {
$qb->andWhere(
$qb->expr()->iLike(
'title',
$qb->createNamedParameter(
'%' . $this->db->escapeLikeParameter($term) . '%',
IQueryBuilder::PARAM_STR
)
)
);
}
$qb->orderBy('b.id');
if ($limit !== null) {
$qb->setMaxResults($limit);
}
if ($offset !== null) {
$qb->setFirstResult($offset);
}
$entries = $this->findEntities($qb);
foreach ($entries as $entry) {
$entry->setShared(2);
}
$entries = $this->findEntities($sql, array_merge([$userId, Acl::PERMISSION_TYPE_GROUP], $groups), $limit, $offset);
/* @var Board $entry */
foreach ($entries as $entry) {
$acl = $this->aclMapper->findAll($entry->id);
@@ -180,7 +313,8 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
return $entries;
}
public function findAllByCircles($userId, $limit = null, $offset = null, $since = -1,$includeArchived = true) {
public function findAllByCircles(string $userId, ?int $limit = null, ?int $offset = null, ?int $since = null,
bool $includeArchived = true, ?int $before = null, ?string $term = null) {
if (!$this->circlesEnabled) {
return [];
}
@@ -191,19 +325,52 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
return [];
}
$sql = 'SELECT boards.id, title, owner, color, archived, deleted_at, 2 as shared, last_modified FROM `*PREFIX*deck_boards` as boards ' .
'INNER JOIN `*PREFIX*deck_board_acl` as acl ON boards.id=acl.board_id WHERE owner != ? AND type=? AND (';
$qb = $this->db->getQueryBuilder();
$qb->select('b.id', 'title', 'owner', 'color', 'archived', 'deleted_at', 'last_modified')
//->selectAlias('2', 'shared')
->from('deck_boards', 'b')
->innerJoin('b', 'deck_board_acl', 'acl', $qb->expr()->eq('b.id', 'acl.board_id'))
->where($qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_CIRCLE, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->neq('b.owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)));
$or = $qb->expr()->orx();
for ($i = 0, $iMax = count($circles); $i < $iMax; $i++) {
$sql .= 'acl.participant = ? ';
if (count($circles) > 1 && $i < count($circles) - 1) {
$sql .= ' OR ';
}
$or->add(
$qb->expr()->eq('acl.participant', $qb->createNamedParameter($circles[$i], IQueryBuilder::PARAM_STR))
);
}
$sql .= ')';
$qb->andWhere($or);
if (!$includeArchived) {
$sql .= ' AND NOT archived AND deleted_at = 0';
$qb->andWhere($qb->expr()->eq('archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)))
->andWhere($qb->expr()->eq('deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)));
}
if ($since !== null) {
$qb->andWhere($qb->expr()->gt('last_modified', $qb->createNamedParameter($since, IQueryBuilder::PARAM_INT)));
}
if ($before !== null) {
$qb->andWhere($qb->expr()->lt('last_modified', $qb->createNamedParameter($before, IQueryBuilder::PARAM_INT)));
}
if ($term !== null) {
$qb->andWhere(
$qb->expr()->iLike(
'title',
$qb->createNamedParameter(
'%' . $this->db->escapeLikeParameter($term) . '%',
IQueryBuilder::PARAM_STR
)
)
);
}
$qb->orderBy('b.id');
if ($limit !== null) {
$qb->setMaxResults($limit);
}
if ($offset !== null) {
$qb->setFirstResult($offset);
}
$entries = $this->findEntities($qb);
foreach ($entries as $entry) {
$entry->setShared(2);
}
$entries = $this->findEntities($sql, array_merge([$userId, Acl::PERMISSION_TYPE_CIRCLE], $circles), $limit, $offset);
/* @var Board $entry */
foreach ($entries as $entry) {
$acl = $this->aclMapper->findAll($entry->id);
@@ -212,21 +379,26 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
return $entries;
}
public function findAll() {
$sql = 'SELECT id from *PREFIX*deck_boards;';
return $this->findEntities($sql);
public function findAll(): array {
$qb = $this->db->getQueryBuilder();
$qb->select('id')
->from('deck_boards');
return $this->findEntities($qb);
}
public function findToDelete() {
// add buffer of 5 min
$timeLimit = time() - (60 * 5);
$sql = 'SELECT id, title, owner, color, archived, deleted_at, last_modified FROM `*PREFIX*deck_boards` ' .
'WHERE `deleted_at` > 0 AND `deleted_at` < ?';
return $this->findEntities($sql, [$timeLimit]);
$qb = $this->db->getQueryBuilder();
$qb->select('id', 'title', 'owner', 'color', 'archived', 'deleted_at', 'last_modified')
->from('deck_boards')
->where($qb->expr()->gt('deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->lt('deleted_at', $qb->createNamedParameter($timeLimit, IQueryBuilder::PARAM_INT)));
return $this->findEntities($qb);
}
public function delete(/** @noinspection PhpUnnecessaryFullyQualifiedNameInspection */
\OCP\AppFramework\Db\Entity $entity) {
\OCP\AppFramework\Db\Entity $entity): \OCP\AppFramework\Db\Entity {
// delete acl
$acl = $this->aclMapper->findAll($entity->getId());
foreach ($acl as $item) {

View File

@@ -30,6 +30,8 @@ use OCA\Deck\Search\Query\SearchQuery;
use OCP\AppFramework\Db\Entity;
use OCP\AppFramework\Db\QBMapper;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\ICache;
use OCP\ICacheFactory;
use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\IUser;
@@ -46,6 +48,8 @@ class CardMapper extends QBMapper implements IPermissionMapper {
private $groupManager;
/** @var IManager */
private $notificationManager;
/** @var ICache */
private $cache;
private $databaseType;
private $database4ByteSupport;
@@ -55,6 +59,7 @@ class CardMapper extends QBMapper implements IPermissionMapper {
IUserManager $userManager,
IGroupManager $groupManager,
IManager $notificationManager,
ICacheFactory $cacheFactory,
$databaseType = 'sqlite3',
$database4ByteSupport = true
) {
@@ -63,6 +68,7 @@ class CardMapper extends QBMapper implements IPermissionMapper {
$this->userManager = $userManager;
$this->groupManager = $groupManager;
$this->notificationManager = $notificationManager;
$this->cache = $cacheFactory->createDistributed('deck-cardMapper');
$this->databaseType = $databaseType;
$this->database4ByteSupport = $database4ByteSupport;
}
@@ -75,7 +81,9 @@ class CardMapper extends QBMapper implements IPermissionMapper {
$description = preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $entity->getDescription());
$entity->setDescription($description);
}
return parent::insert($entity);
$entity = parent::insert($entity);
$this->cache->remove('findBoardId:' . $entity->getId());
return $entity;
}
public function update(Entity $entity, $updateModified = true): Entity {
@@ -107,6 +115,10 @@ class CardMapper extends QBMapper implements IPermissionMapper {
} catch (Exception $e) {
}
}
// Invalidate cache when the card may be moved to a different board
if (isset($updatedFields['stackId'])) {
$this->cache->remove('findBoardId:' . $entity->getId());
}
return parent::update($entity);
}
@@ -479,8 +491,8 @@ class CardMapper extends QBMapper implements IPermissionMapper {
}
return $qb->createNamedParameter($dateTime, IQueryBuilder::PARAM_DATE);
}
public function searchRaw($boardIds, $term, $limit = null, $offset = null) {
$qb = $this->queryCardsByBoards($boardIds)
@@ -506,9 +518,8 @@ class CardMapper extends QBMapper implements IPermissionMapper {
}
public function delete(Entity $entity): Entity {
// delete assigned labels
$this->labelMapper->deleteLabelAssignmentsForCard($entity->getId());
// delete card
$this->cache->remove('findBoardId:' . $entity->getId());
return parent::delete($entity);
}
@@ -547,11 +558,22 @@ class CardMapper extends QBMapper implements IPermissionMapper {
}
public function findBoardId($id): ?int {
$sql = 'SELECT id FROM `*PREFIX*deck_boards` WHERE `id` IN (SELECT board_id FROM `*PREFIX*deck_stacks` WHERE id IN (SELECT stack_id FROM `*PREFIX*deck_cards` WHERE id = ?))';
$stmt = $this->db->prepare($sql);
$stmt->bindParam(1, $id, \PDO::PARAM_INT);
$stmt->execute();
return $stmt->fetchColumn() ?? null;
$result = $this->cache->get('findBoardId:' . $id);
if ($result === null) {
try {
$qb = $this->db->getQueryBuilder();
$qb->select('board_id')
->from('deck_stacks', 's')
->innerJoin('s', 'deck_cards', 'c', 'c.stack_id = s.id')
->where($qb->expr()->eq('c.id', $qb->createNamedParameter($id)));
$queryResult = $qb->executeQuery();
$result = $queryResult->fetchOne();
} catch (\Exception $e) {
$result = false;
}
$this->cache->set('findBoardId:' . $id, $result);
}
return $result !== false ? $result : null;
}
public function mapOwner(Card &$card) {

View File

@@ -139,6 +139,6 @@ class DeckProvider implements IProvider {
$cardTimestamps = array_map(function (Card $card) {
return $card->getLastModified();
}, $cards);
return (min($boardTimestamps) ?: '') . '|' . (min($cardTimestamps) ?: '');
return (count($boardTimestamps) > 0 ? min($boardTimestamps) : '') . '|' . (count($cardTimestamps) > 0 ? min($cardTimestamps) : '');
}
}

View File

@@ -118,8 +118,9 @@ class BoardService {
/**
* Get all boards that are shared with a user, their groups or circles
*/
public function getUserBoards(int $since = -1, bool $includeArchived = true): array {
return $this->boardMapper->findAllForUser($this->userId, $since, $includeArchived);
public function getUserBoards(?int $since = null, bool $includeArchived = true, ?int $before = null,
?string $term = null): array {
return $this->boardMapper->findAllForUser($this->userId, $since, $includeArchived, $before, $term);
}
/**
@@ -178,9 +179,11 @@ class BoardService {
/** @var Board $board */
$board = $this->boardMapper->find($boardId, true, true);
$this->boardMapper->mapOwner($board);
foreach ($board->getAcl() as &$acl) {
if ($acl !== null) {
$this->boardMapper->mapAcl($acl);
if ($board->getAcl() !== null) {
foreach ($board->getAcl() as $acl) {
if ($acl !== null) {
$this->boardMapper->mapAcl($acl);
}
}
}
$permissions = $this->permissionService->matchPermissions($board);

View File

@@ -59,7 +59,7 @@ class FullTextSearchService {
/** @var CardMapper */
private $cardMapper;
public function __construct(
BoardMapper $boardMapper, StackMapper $stackMapper, CardMapper $cardMapper
) {
@@ -187,6 +187,6 @@ class FullTextSearchService {
* @return Board[]
*/
private function getBoardsFromUser(string $userId): array {
return $this->boardMapper->findAllByUser($userId, null, null, -1);
return $this->boardMapper->findAllByUser($userId, null, null, null);
}
}

View File

@@ -117,7 +117,7 @@ class PermissionService {
*/
public function matchPermissions(Board $board) {
$owner = $this->userIsBoardOwner($board->getId());
$acls = $board->getAcl();
$acls = $board->getAcl() ?? [];
return [
Acl::PERMISSION_READ => $owner || $this->userCan($acls, Acl::PERMISSION_READ),
Acl::PERMISSION_EDIT => $owner || $this->userCan($acls, Acl::PERMISSION_EDIT),
@@ -155,7 +155,7 @@ class PermissionService {
}
try {
$acls = $this->getBoard($boardId)->getAcl();
$acls = $this->getBoard($boardId)->getAcl() ?? [];
$result = $this->userCan($acls, $permission, $userId);
if ($result) {
return true;

View File

@@ -90,25 +90,19 @@ class SearchService {
}
public function searchBoards(string $term, ?int $limit, ?int $cursor): array {
$boards = $this->boardService->getUserBoards();
// get boards that have a lastmodified date which is lower than the cursor
// and which match the search term
$filteredBoards = array_filter($boards, static function (Board $board) use ($term, $cursor) {
return (
($cursor === null || $board->getLastModified() < $cursor)
&& mb_stripos(mb_strtolower($board->getTitle()), mb_strtolower($term)) > -1
);
});
$boards = $this->boardService->getUserBoards(null, true, $cursor, mb_strtolower($term));
// sort the boards, recently modified first
usort($filteredBoards, function ($boardA, $boardB) {
usort($boards, function ($boardA, $boardB) {
$ta = $boardA->getLastModified();
$tb = $boardB->getLastModified();
return $ta === $tb
? 0
: ($ta > $tb ? -1 : 1);
});
// limit the number of results
return array_slice($filteredBoards, 0, $limit);
return array_slice($boards, 0, $limit);
}
public function searchComments(string $term, ?int $limit = null, ?int $cursor = null): array {

10781
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.5.4",
"version": "1.7.0-beta1",
"authors": [
{
"name": "Julius Härtl",
@@ -29,24 +29,25 @@
},
"dependencies": {
"@babel/polyfill": "^7.12.1",
"@babel/runtime": "^7.14.6",
"@babel/runtime": "^7.16.3",
"@juliushaertl/vue-richtext": "^1.0.1",
"@nextcloud/auth": "^1.3.0",
"@nextcloud/axios": "^1.6.0",
"@nextcloud/axios": "^1.8.0",
"@nextcloud/dialogs": "^3.1.2",
"@nextcloud/event-bus": "^2.0.0",
"@nextcloud/files": "^2.0.0",
"@nextcloud/initial-state": "^1.2.0",
"@nextcloud/event-bus": "^2.1.1",
"@nextcloud/files": "^2.1.0",
"@nextcloud/initial-state": "^1.2.1",
"@nextcloud/l10n": "^1.4.1",
"@nextcloud/moment": "^1.1.1",
"@nextcloud/router": "^2.0.0",
"@nextcloud/vue": "^3.10.1",
"@nextcloud/vue": "^4.2.0",
"@nextcloud/vue-dashboard": "^2.0.1",
"blueimp-md5": "^2.18.0",
"dompurify": "^2.2.9",
"blueimp-md5": "^2.19.0",
"dompurify": "^2.3.4",
"lodash": "^4.17.21",
"markdown-it": "^12.0.6",
"markdown-it": "^12.2.0",
"markdown-it-task-lists": "^2.1.1",
"markdown-it-link-attributes": "^3.0.0",
"moment": "^2.29.1",
"nextcloud-vue-collections": "^0.9.0",
"p-queue": "^6.6.2",
@@ -54,9 +55,9 @@
"vue": "^2.6.14",
"vue-at": "^2.5.0-beta.2",
"vue-click-outside": "^1.1.0",
"vue-easymde": "^1.4.0",
"vue-easymde": "^2.0.0",
"vue-infinite-loading": "^2.4.5",
"vue-router": "^3.5.1",
"vue-router": "^3.5.3",
"vue-smooth-dnd": "^0.8.1",
"vuex": "^3.6.2",
"vuex-router-sync": "^5.0.0"
@@ -65,18 +66,18 @@
"extends @nextcloud/browserslist-config"
],
"engines": {
"node": ">=14.0.0",
"npm": ">=7.0.0"
"node": "^14.0.0",
"npm": "^7.0.0"
},
"devDependencies": {
"@nextcloud/babel-config": "^1.0.0-beta.1",
"@nextcloud/browserslist-config": "^2.1.0",
"@nextcloud/eslint-config": "^5.1.0",
"@nextcloud/babel-config": "^1.0.0",
"@nextcloud/browserslist-config": "^2.2.0",
"@nextcloud/eslint-config": "^6.1.1",
"@nextcloud/stylelint-config": "^1.0.0-beta.0",
"@nextcloud/webpack-vue-config": "^4.0.3",
"@relative-ci/agent": "^2.0.0",
"@vue/test-utils": "^1.2.1",
"jest": "^27.0.4",
"@nextcloud/webpack-vue-config": "^4.1.4",
"@relative-ci/agent": "^3.0.0",
"@vue/test-utils": "^1.3.0",
"jest": "^27.3.1",
"jest-serializer-vue": "^2.0.2",
"vue-jest": "^3.0.7"
},
@@ -96,4 +97,4 @@
"<rootDir>/node_modules/jest-serializer-vue"
]
}
}
}

View File

@@ -59,6 +59,11 @@ export default {
Content,
AppContent,
},
provide() {
return {
boardApi,
}
},
data() {
return {
addButton: {
@@ -112,11 +117,6 @@ export default {
this.$router.push({ name: 'board' })
},
},
provide() {
return {
boardApi,
}
},
}
</script>

View File

@@ -76,110 +76,108 @@
<ActionButton v-else icon="icon-filter" />
</Actions>
<template>
<div v-if="filterVisible" class="filter">
<h3>{{ t('deck', 'Filter by tag') }}</h3>
<div v-for="label in labelsSorted" :key="label.id" class="filter--item">
<input
:id="label.id"
v-model="filter.tags"
type="checkbox"
class="checkbox"
:value="label.id"
@change="setFilter">
<label :for="label.id"><span class="label" :style="labelStyle(label)">{{ label.title }}</span></label>
</div>
<h3>{{ t('deck', 'Filter by assigned user') }}</h3>
<div class="filter--item">
<input
id="unassigned"
v-model="filter.unassigned"
type="checkbox"
class="checkbox"
value="unassigned"
@change="setFilter"
@click="beforeSetFilter">
<label for="unassigned">{{ t('deck', 'Unassigned') }}</label>
</div>
<div v-for="user in board.users" :key="user.uid" class="filter--item">
<input
:id="user.uid"
v-model="filter.users"
type="checkbox"
class="checkbox"
:value="user.uid"
@change="setFilter">
<label :for="user.uid"><Avatar :user="user.uid" :size="24" :disable-menu="true" /> {{ user.displayname }}</label>
</div>
<h3>{{ t('deck', 'Filter by due date') }}</h3>
<div class="filter--item">
<input
id="overdue"
v-model="filter.due"
type="radio"
class="radio"
value="overdue"
@change="setFilter"
@click="beforeSetFilter">
<label for="overdue">{{ t('deck', 'Overdue') }}</label>
</div>
<div class="filter--item">
<input
id="dueToday"
v-model="filter.due"
type="radio"
class="radio"
value="dueToday"
@change="setFilter"
@click="beforeSetFilter">
<label for="dueToday">{{ t('deck', 'Next 24 hours') }}</label>
</div>
<div class="filter--item">
<input
id="dueWeek"
v-model="filter.due"
type="radio"
class="radio"
value="dueWeek"
@change="setFilter"
@click="beforeSetFilter">
<label for="dueWeek">{{ t('deck', 'Next 7 days') }}</label>
</div>
<div class="filter--item">
<input
id="dueMonth"
v-model="filter.due"
type="radio"
class="radio"
value="dueMonth"
@change="setFilter"
@click="beforeSetFilter">
<label for="dueMonth">{{ t('deck', 'Next 30 days') }}</label>
</div>
<div class="filter--item">
<input
id="noDue"
v-model="filter.due"
type="radio"
class="radio"
value="noDue"
@change="setFilter"
@click="beforeSetFilter">
<label for="noDue">{{ t('deck', 'No due date') }}</label>
</div>
<Button :disabled="!isFilterActive" @click="clearFilter">
{{ t('deck', 'Clear filter') }}
</Button>
<div v-if="filterVisible" class="filter">
<h3>{{ t('deck', 'Filter by tag') }}</h3>
<div v-for="label in labelsSorted" :key="label.id" class="filter--item">
<input
:id="label.id"
v-model="filter.tags"
type="checkbox"
class="checkbox"
:value="label.id"
@change="setFilter">
<label :for="label.id"><span class="label" :style="labelStyle(label)">{{ label.title }}</span></label>
</div>
</template>
<h3>{{ t('deck', 'Filter by assigned user') }}</h3>
<div class="filter--item">
<input
id="unassigned"
v-model="filter.unassigned"
type="checkbox"
class="checkbox"
value="unassigned"
@change="setFilter"
@click="beforeSetFilter">
<label for="unassigned">{{ t('deck', 'Unassigned') }}</label>
</div>
<div v-for="user in board.users" :key="user.uid" class="filter--item">
<input
:id="user.uid"
v-model="filter.users"
type="checkbox"
class="checkbox"
:value="user.uid"
@change="setFilter">
<label :for="user.uid"><Avatar :user="user.uid" :size="24" :disable-menu="true" /> {{ user.displayname }}</label>
</div>
<h3>{{ t('deck', 'Filter by due date') }}</h3>
<div class="filter--item">
<input
id="overdue"
v-model="filter.due"
type="radio"
class="radio"
value="overdue"
@change="setFilter"
@click="beforeSetFilter">
<label for="overdue">{{ t('deck', 'Overdue') }}</label>
</div>
<div class="filter--item">
<input
id="dueToday"
v-model="filter.due"
type="radio"
class="radio"
value="dueToday"
@change="setFilter"
@click="beforeSetFilter">
<label for="dueToday">{{ t('deck', 'Next 24 hours') }}</label>
</div>
<div class="filter--item">
<input
id="dueWeek"
v-model="filter.due"
type="radio"
class="radio"
value="dueWeek"
@change="setFilter"
@click="beforeSetFilter">
<label for="dueWeek">{{ t('deck', 'Next 7 days') }}</label>
</div>
<div class="filter--item">
<input
id="dueMonth"
v-model="filter.due"
type="radio"
class="radio"
value="dueMonth"
@change="setFilter"
@click="beforeSetFilter">
<label for="dueMonth">{{ t('deck', 'Next 30 days') }}</label>
</div>
<div class="filter--item">
<input
id="noDue"
v-model="filter.due"
type="radio"
class="radio"
value="noDue"
@change="setFilter"
@click="beforeSetFilter">
<label for="noDue">{{ t('deck', 'No due date') }}</label>
</div>
<Button :disabled="!isFilterActive" @click="clearFilter">
{{ t('deck', 'Clear filter') }}
</Button>
</div>
</Popover>
<Actions>

View File

@@ -43,24 +43,22 @@
<li v-if="addLabel" class="editing">
<!-- New Tag -->
<template>
<form class="label-form" @submit.prevent="clickAddLabel">
<ColorPicker class="color-picker-wrapper" :value="'#' + addLabelObj.color" @input="updateColor">
<div :style="{ backgroundColor: '#' + addLabelObj.color }" class="color0 icon-colorpicker" />
</ColorPicker>
<input v-model="addLabelObj.title" type="text">
<input v-tooltip="{content: missingDataLabel, show: !addLabelObjValidated, trigger: 'manual' }"
:disabled="!addLabelObjValidated"
type="submit"
value=""
class="icon-confirm">
<Actions>
<ActionButton icon="icon-close" @click="addLabel=false">
{{ t('deck', 'Cancel') }}
</ActionButton>
</Actions>
</form>
</template>
<form class="label-form" @submit.prevent="clickAddLabel">
<ColorPicker class="color-picker-wrapper" :value="'#' + addLabelObj.color" @input="updateColor">
<div :style="{ backgroundColor: '#' + addLabelObj.color }" class="color0 icon-colorpicker" />
</ColorPicker>
<input v-model="addLabelObj.title" type="text">
<input v-tooltip="{content: missingDataLabel, show: !addLabelObjValidated, trigger: 'manual' }"
:disabled="!addLabelObjValidated"
type="submit"
value=""
class="icon-confirm">
<Actions>
<ActionButton icon="icon-close" @click="addLabel=false">
{{ t('deck', 'Cancel') }}
</ActionButton>
</Actions>
</form>
</li>
<button v-if="canManage && !isArchived" @click="clickShowAddLabel()">
<span class="icon-add" />{{ t('deck', 'Add a new tag') }}

View File

@@ -22,7 +22,7 @@
<template>
<AttachmentDragAndDrop :card-id="cardId" class="drop-upload--sidebar">
<div class="button-group" v-if="!isReadOnly">
<div v-if="!isReadOnly" class="button-group">
<button class="icon-upload" @click="uploadNewFile()">
{{ t('deck', 'Upload new files') }}
</button>
@@ -71,7 +71,7 @@
</a>
</div>
<Actions v-if="selectable">
<ActionButton icon="icon-confirm" @click="$emit('selectAttachment', attachment)">
<ActionButton icon="icon-confirm" @click="$emit('select-attachment', attachment)">
{{ t('deck', 'Add this attachment') }}
</ActionButton>
</Actions>
@@ -79,14 +79,20 @@
<ActionLink v-if="attachment.extendedData.fileid" icon="icon-folder" :href="internalLink(attachment)">
{{ t('deck', 'Show in Files') }}
</ActionLink>
<ActionLink v-if="attachment.extendedData.fileid"
icon="icon-download"
:href="downloadLink(attachment)"
download>
{{ t('deck', 'Download') }}
</ActionLink>
<ActionButton v-if="attachment.extendedData.fileid && !isReadOnly" icon="icon-delete" @click="unshareAttachment(attachment)">
{{ t('deck', 'Remove attachment') }}
</ActionButton>
<ActionButton v-if="!attachment.extendedData.fileid && attachment.deletedAt === 0" icon="icon-delete" @click="$emit('deleteAttachment', attachment)">
<ActionButton v-if="!attachment.extendedData.fileid && attachment.deletedAt === 0" icon="icon-delete" @click="$emit('delete-attachment', attachment)">
{{ t('deck', 'Delete Attachment') }}
</ActionButton>
<ActionButton v-else-if="!attachment.extendedData.fileid" icon="icon-history" @click="$emit('restoreAttachment', attachment)">
<ActionButton v-else-if="!attachment.extendedData.fileid" icon="icon-history" @click="$emit('restore-attachment', attachment)">
{{ t('deck', 'Restore Attachment') }}
</ActionButton>
</Actions>
@@ -101,7 +107,8 @@ import { Actions, ActionButton, ActionLink } from '@nextcloud/vue'
import AttachmentDragAndDrop from '../AttachmentDragAndDrop'
import relativeDate from '../../mixins/relativeDate'
import { formatFileSize } from '@nextcloud/files'
import { generateUrl, generateOcsUrl } from '@nextcloud/router'
import { getCurrentUser } from '@nextcloud/auth'
import { generateUrl, generateOcsUrl, generateRemoteUrl } from '@nextcloud/router'
import { mapState } from 'vuex'
import { loadState } from '@nextcloud/initial-state'
import attachmentUpload from '../../mixins/attachmentUpload'
@@ -174,6 +181,9 @@ export default {
internalLink() {
return (attachment) => generateUrl('/f/' + attachment.extendedData.fileid)
},
downloadLink() {
return (attachment) => generateRemoteUrl(`dav/files/${getCurrentUser().uid}/${attachment.extendedData.path}`)
},
formattedFileSize() {
return (filesize) => formatFileSize(filesize)
},
@@ -212,7 +222,7 @@ export default {
},
shareFromFiles() {
picker.pick()
.then(async(path) => {
.then(async (path) => {
console.debug(`path ${path} selected for sharing`)
if (!path.startsWith('/')) {
throw new Error(t('files', 'Invalid path selected'))

View File

@@ -24,8 +24,8 @@
<AttachmentList
:card-id="card.id"
:removable="true"
@deleteAttachment="deleteAttachment"
@restoreAttachment="restoreAttachment" />
@delete-attachment="deleteAttachment"
@restore-attachment="restoreAttachment" />
</template>
<script>

View File

@@ -101,6 +101,7 @@
:lang="lang"
:formatter="format"
:disabled="saving || !canEdit"
:shortcuts="shortcuts"
confirm />
<Actions v-if="canEdit">
<ActionButton v-if="copiedCard.duedate" icon="icon-delete" @click="removeDue()">
@@ -176,6 +177,48 @@ export default {
stringify: this.stringify,
parse: this.parse,
},
shortcuts: [
{
text: t('deck', 'Today'),
onClick() {
const date = new Date()
date.setDate(date.getDate())
date.setHours(23)
date.setMinutes(59)
return date
},
},
{
text: t('deck', 'Tomorrow'),
onClick() {
const date = new Date()
date.setDate(date.getDate() + 1)
date.setHours(23)
date.setMinutes(59)
return date
},
},
{
text: t('deck', 'Next week'),
onClick() {
const date = new Date()
date.setDate(date.getDate() + 7)
date.setHours(23)
date.setMinutes(59)
return date
},
},
{
text: t('deck', 'Next month'),
onClick() {
const date = new Date()
date.setDate(date.getDate() + 30)
date.setHours(23)
date.setMinutes(59)
return date
},
},
],
}
},
computed: {
@@ -316,6 +359,14 @@ export default {
</script>
<style lang="scss" scoped>
.section-wrapper::v-deep .mx-datepicker-main.mx-datepicker-popup {
left: 0 !important;
}
.section-wrapper::v-deep .mx-datepicker-main.mx-datepicker-popup.mx-datepicker-sidebar {
padding: 0 !important;
}
.section-wrapper {
display: flex;
max-width: 100%;

View File

@@ -19,47 +19,45 @@
</div>
</div>
<li v-else class="comment">
<template>
<div class="comment--header">
<Avatar :user="comment.actorId" />
<span class="has-tooltip username">
{{ comment.actorDisplayName }}
</span>
<Actions v-show="!edit" :force-menu="true">
<ActionButton icon="icon-reply" :close-after-click="true" @click="replyTo()">
{{ t('deck', 'Reply') }}
</ActionButton>
<ActionButton v-if="canEdit"
icon="icon-rename"
:close-after-click="true"
@click="showUpdateForm()">
{{ t('deck', 'Update') }}
</ActionButton>
<ActionButton v-if="canEdit"
icon="icon-delete"
:close-after-click="true"
@click="deleteComment()">
{{ t('deck', 'Delete') }}
</ActionButton>
</Actions>
<Actions v-if="edit">
<ActionButton icon="icon-close" @click="hideUpdateForm" />
</Actions>
<div class="spacer" />
<div class="timestamp">
{{ relativeDate(comment.creationDateTime) }}
</div>
<div class="comment--header">
<Avatar :user="comment.actorId" />
<span class="has-tooltip username">
{{ comment.actorDisplayName }}
</span>
<Actions v-show="!edit" :force-menu="true">
<ActionButton icon="icon-reply" :close-after-click="true" @click="replyTo()">
{{ t('deck', 'Reply') }}
</ActionButton>
<ActionButton v-if="canEdit"
icon="icon-rename"
:close-after-click="true"
@click="showUpdateForm()">
{{ t('deck', 'Update') }}
</ActionButton>
<ActionButton v-if="canEdit"
icon="icon-delete"
:close-after-click="true"
@click="deleteComment()">
{{ t('deck', 'Delete') }}
</ActionButton>
</Actions>
<Actions v-if="edit">
<ActionButton icon="icon-close" @click="hideUpdateForm" />
</Actions>
<div class="spacer" />
<div class="timestamp">
{{ relativeDate(comment.creationDateTime) }}
</div>
<CommentItem v-if="comment.replyTo" :reply="true" :comment="comment.replyTo" />
<div v-show="!edit" ref="richTextElement">
<RichText
class="comment--content"
:text="richText(comment)"
:arguments="richArgs(comment)"
:autolink="true" />
</div>
<CommentForm v-if="edit" v-model="commentMsg" @submit="updateComment" />
</template>
</div>
<CommentItem v-if="comment.replyTo" :reply="true" :comment="comment.replyTo" />
<div v-show="!edit" ref="richTextElement">
<RichText
class="comment--content"
:text="richText(comment)"
:arguments="richArgs(comment)"
:autolink="true" />
</div>
<CommentForm v-if="edit" v-model="commentMsg" @submit="updateComment" />
</li>
</template>

View File

@@ -57,7 +57,7 @@
ref="markdownEditor"
v-model="description"
:configs="mdeConfig"
@input="updateDescription"
@update:modelValue="updateDescription"
@blur="saveDescription" />
<Modal v-if="modalShow" :title="t('deck', 'Choose attachment')" @close="modalShow=false">
@@ -66,7 +66,7 @@
<AttachmentList
:card-id="card.id"
:selectable="true"
@selectAttachment="addAttachment" />
@select-attachment="addAttachment" />
</div>
</Modal>
</div>
@@ -75,6 +75,7 @@
<script>
import MarkdownIt from 'markdown-it'
import MarkdownItTaskLists from 'markdown-it-task-lists'
import MarkdownItLinkAttributes from 'markdown-it-link-attributes'
import AttachmentList from './AttachmentList'
import { Actions, ActionButton, Modal } from '@nextcloud/vue'
import { formatFileSize } from '@nextcloud/files'
@@ -86,6 +87,13 @@ const markdownIt = new MarkdownIt({
})
markdownIt.use(MarkdownItTaskLists, { enabled: true, label: true, labelAfter: true })
markdownIt.use(MarkdownItLinkAttributes, {
attrs: {
target: '_blank',
rel: 'noreferrer noopener',
},
})
export default {
name: 'Description',
components: {
@@ -223,7 +231,7 @@ export default {
updateDescription() {
this.descriptionLastEdit = Date.now()
clearTimeout(this.descriptionSaveTimeout)
this.descriptionSaveTimeout = setTimeout(async() => {
this.descriptionSaveTimeout = setTimeout(async () => {
await this.saveDescription()
}, 2500)
},

View File

@@ -53,6 +53,19 @@
<PopoverMenu :menu="popover" />
<slot />
</div>
<div class="avatar-print-list">
<div v-for="user in avatarUsers" :key="user.id" class="avatar-print-list-item">
<Avatar
class="avatar-print-list-avatar"
:user="user.participant.uid"
:display-name="user.participant.displayname"
:disable-menu="true"
:is-no-user="user.type !== 0"
:size="24" />
{{ user.participant.displayname }}
</div>
</div>
</div>
</template>
@@ -116,6 +129,15 @@ export default {
}),
]
},
avatarUsers() {
if (!this.users) {
return []
}
return this.users.filter((user) => {
return [0, 1, 7].includes(user.type)
})
},
},
methods: {
togglePopover() {
@@ -176,4 +198,26 @@ export default {
display: block;
margin: 40px -6px;
}
.avatar-print-list {
display: none;
}
@media print {
.avatar-list {
display: none;
}
.avatar-print-list-item {
align-items: center;
display: flex;
gap: 10px;
margin-bottom: 10px;
}
.avatar-print-list {
display: block;
padding-top: 5px;
}
}
</style>

View File

@@ -41,7 +41,7 @@
<AvatarList :users="card.assignedUsers" />
<CardMenu :card="card" />
<CardMenu class="card-menu" :card="card" />
</div>
</template>
<script>
@@ -150,4 +150,15 @@ export default {
.fade-enter, .fade-leave-to {
opacity: 0;
}
@media print {
.badges {
align-items: flex-start;
max-height: none !important;
}
.card-menu {
display: none;
}
}
</style>

View File

@@ -23,7 +23,7 @@
<template>
<div v-if="card" class="duedate">
<transition name="zoom">
<div v-if="card.duedate" :class="dueIcon">
<div v-if="card.duedate" :class="dueIcon" :title="absoluteDate">
<span>{{ relativeDate }}</span>
</div>
</transition>
@@ -62,14 +62,14 @@ export default {
}
return moment(this.card.duedate).fromNow()
},
dueDateTooltip() {
return moment(this.card.duedate).format('LLLL')
absoluteDate() {
return moment(this.card.duedate).format('L')
},
},
}
</script>
<style lang="scss" coped>
<style lang="scss" scoped>
.icon.due {
background-position: 4px center;
border-radius: 3px;
@@ -105,6 +105,7 @@ export default {
padding: 3px 4px;
}
&::before,
span {
margin-left: 20px;
white-space: nowrap;
@@ -112,4 +113,18 @@ export default {
overflow: hidden;
}
}
@media print {
.icon.due {
background-color: transparent !important;
span {
display: none;
}
&::before {
content: attr(title);
}
}
}
</style>

View File

@@ -39,6 +39,9 @@
<script>
import { ColorPicker, ActionButton, Actions, AppNavigationItem } from '@nextcloud/vue'
/**
*
*/
function randomColor() {
let randomHexColor = ((1 << 24) * Math.random() | 0).toString(16)
while (randomHexColor.length < 6) {

View File

@@ -125,7 +125,10 @@
<div :style="{ backgroundColor: getColor }" class="color0 icon-colorpicker app-navigation-entry-bullet" />
</ColorPicker>
<form @submit.prevent.stop="applyEdit">
<input v-model="editTitle" type="text" required>
<input v-model="editTitle"
v-focus
type="text"
required>
<input type="submit" value="" class="icon-confirm">
<Actions><ActionButton icon="icon-close" @click.stop.prevent="cancelEdit" /></Actions>
</form>

View File

@@ -63,10 +63,15 @@ import { Actions, ActionButton } from '@nextcloud/vue'
const createCancelToken = () => axios.CancelToken.source()
/**
* @param root0
* @param root0.query
* @param root0.cursor
*/
function search({ query, cursor }) {
const cancelToken = createCancelToken()
const request = async() => axios.get(generateOcsUrl('apps/deck/api/v1.0/search'), {
const request = async () => axios.get(generateOcsUrl('apps/deck/api/v1.0/search'), {
cancelToken: cancelToken.token,
params: {
term: query,

View File

@@ -21,6 +21,11 @@ ul {
ul {
list-style-type: disc;
.task-list-item {
margin-left: -20px;
list-style-type: none;
}
}
h1 {
@@ -67,7 +72,7 @@ img {
}
input[type=checkbox] {
margin: 0px 10px 0px 0px;
margin: 0px 3px 0px 0px;
line-height: 10px;
font-size: 10px;
display: inline-block;

View File

@@ -25,9 +25,8 @@ const buildSelector = (selector, propsData = {}) => {
return new Promise((resolve, reject) => {
const container = document.createElement('div')
document.getElementById('body-user').append(container)
const View = Vue.extend(selector)
const ComponentVM = new View({
propsData,
const ComponentVM = new Vue({
render: (h) => h(selector, propsData),
}).$mount(container)
ComponentVM.$root.$on('close', () => {
ComponentVM.$el.remove()

View File

@@ -22,8 +22,6 @@
import Vue from 'vue'
import BoardSelector from './BoardSelector'
import CardSelector from './CardSelector'
import './../css/collections.css'
import FileSharingPicker from './views/FileSharingPicker'
import { buildSelector } from './helpers/selector'
@@ -45,13 +43,19 @@ window.addEventListener('DOMContentLoaded', () => {
}
window.OCP.Collaboration.registerType('deck', {
action: () => buildSelector(BoardSelector),
action: () => {
const BoardSelector = () => import('./BoardSelector')
buildSelector(BoardSelector)
},
typeString: t('deck', 'Link to a board'),
typeIconClass: 'icon-deck',
})
window.OCP.Collaboration.registerType('deck-card', {
action: () => buildSelector(CardSelector),
action: () => {
const CardSelector = () => import('./CardSelector')
buildSelector(CardSelector)
},
typeString: t('deck', 'Link to a card'),
typeIconClass: 'icon-deck',
})

View File

@@ -109,7 +109,7 @@ if (!window.OCA.Deck) {
}
/**
* @typedef {Object} CardRichObject
* @typedef {object} CardRichObject
* @property {string} id
* @property {string} name
* @property {string} boardname
@@ -124,13 +124,14 @@ if (!window.OCA.Deck) {
/**
* Frontend message API for adding actions to talk messages.
*
* @param {*} Object the wrapping object.
* @param {String} label the action label.
* @param {string} label the action label.
* @param {registerActionCallback} callback the callback function. This function will receive
* the card as a parameter and be triggered by a click on the
* action. The card parameter will be of the format of a rich object string
* type "deck-card"
* @param {String} icon the action label. E.g. "icon-reply"
* @param {string} icon the action label. E.g. "icon-reply"
*/
window.OCA.Deck.registerCardAction = ({ label, callback, icon }) => {
const cardAction = {

View File

@@ -47,7 +47,7 @@ export default {
bodyFormData.append('cardId', this.cardId)
bodyFormData.append('type', type)
bodyFormData.append('file', file)
await queue.add(async() => {
await queue.add(async () => {
try {
await this.$store.dispatch('createAttachment', {
cardId: this.cardId,

View File

@@ -1,4 +1,4 @@
/**
/*
* @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>

View File

@@ -23,8 +23,8 @@
/**
* Board model
*
* @typedef {Object} Board
* @property {String} title
* @typedef {object} Board
* @property {string} title
* @property {boolean} archived
* @property {number} shared 1 (shared) or 0 (not shared)
*/
@@ -32,8 +32,8 @@
/**
* Stack model
*
* @typedef {Object} Stack
* @property {String} title
* @typedef {object} Stack
* @property {string} title
* @property {number} boardId
* @property {number} order
*/
@@ -41,15 +41,15 @@
/**
* Card model
*
* @typedef {Object} Card
* @property {String} title
* @typedef {object} Card
* @property {string} title
* @property {boolean} archived
* @property {number} order
*/
/**
* Label model
*
* @typedef {Object} Label
* @property {String} title
* @property {String} color
* @typedef {object} Label
* @property {string} title
* @property {string} color
*/

View File

@@ -38,7 +38,7 @@ export class BoardApi {
* Updates a board.
*
* @param {Board} board the board object to update
* @returns {Promise}
* @return {Promise}
*/
updateBoard(board) {
return axios.put(this.url(`/boards/${board.id}`), board)
@@ -57,13 +57,13 @@ export class BoardApi {
/**
* Creates a new board.
* @typedef {Object} BoardCreateObject
*
* @typedef {object} BoardCreateObject
* @property {string} title
* @property {string} color
*
* @param {BoardCreateObject} boardData The board data to send.
* color the hexadecimal color value formated /[0-9A-F]{6}/i
* @returns {Promise}
* @return {Promise}
*/
createBoard(boardData) {
return axios.post(this.url('/boards'), boardData)

View File

@@ -78,7 +78,7 @@ export class StackApi {
/**
* @param {Stack} stack stack object to create
* @returns {Promise}
* @return {Promise}
*/
createStack(stack) {
return axios.post(this.url('/stacks'), stack)

View File

@@ -353,6 +353,7 @@ export default new Vuex.Store({
},
/**
* @param commit.commit
* @param commit
* @param state
* @param {Board} board
@@ -366,6 +367,7 @@ export default new Vuex.Store({
})
},
/**
* @param commit.commit
* @param commit
* @param state
* @param {Board} board
@@ -381,9 +383,10 @@ export default new Vuex.Store({
/**
* Updates a board API side.
*
* @param commit.commit
* @param commit
* @param board The board to update.
* @returns {Promise<void>}
* @return {Promise<void>}
*/
async updateBoard({ commit }, board) {
const storedBoard = await apiClient.updateBoard(board)

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