Compare commits

..

159 Commits

Author SHA1 Message Date
Julius Härtl
0ae18ed0a2 fix: Avoid failing due to uninitialized acces of systemInstance
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-07-17 16:54:41 +02:00
Julius Härtl
3106ad7cfc fix: Properly export cards as a child element of the related stack
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-07-17 16:54:20 +02:00
Nextcloud bot
84e1bd5fbe Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-16 00:39:18 +00:00
dependabot[bot]
f55d851bff Merge pull request #4922 from nextcloud/dependabot/npm_and_yarn/main/dompurify-3.0.5 2023-07-15 06:14:53 +00:00
dependabot[bot]
40c13a7fa5 Merge pull request #4923 from nextcloud/dependabot/npm_and_yarn/main/cypress-12.17.1 2023-07-15 04:02:45 +00:00
dependabot[bot]
573d884acf Merge pull request #4921 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/initial-state-2.1.0 2023-07-15 03:55:33 +00:00
dependabot[bot]
7b29f11e1d Chore(deps): Bump dompurify from 3.0.4 to 3.0.5
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.0.4 to 3.0.5.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.0.4...3.0.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-15 03:53:53 +00:00
dependabot[bot]
a37c1e173b Merge pull request #4919 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/vue-7.12.1 2023-07-15 03:53:09 +00:00
dependabot[bot]
80c45b4dd8 Chore(deps-dev): Bump cypress from 12.17.0 to 12.17.1
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.17.0 to 12.17.1.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v12.17.0...v12.17.1)

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-15 01:27:03 +00:00
dependabot[bot]
e272ddaf96 Chore(deps): Bump @nextcloud/vue from 7.12.0 to 7.12.1
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.12.0 to 7.12.1.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.12.0...v7.12.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-15 01:26:04 +00:00
dependabot[bot]
b80c3bf30f Merge pull request #4913 from nextcloud/dependabot/composer/phpunit/phpunit-9.6.10 2023-07-15 01:13:41 +00:00
dependabot[bot]
1b5cc98249 Chore(deps-dev): Bump phpunit/phpunit from 9.6.9 to 9.6.10
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.9 to 9.6.10.
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.10/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.9...9.6.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>
2023-07-15 01:01:55 +00:00
Julius Härtl
c4a826b073 Merge pull request #4718 from fsamapoor/constructor_property_promotion_in_controllers 2023-07-14 14:24:00 +02:00
Faraz Samapoor
559579fbd9 Refactors controllers by using PHP8's constructor property promotion.
Co-authored-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
Signed-off-by: Faraz Samapoor <fsa@adlas.at>
2023-07-14 15:42:44 +03:30
Julius Härtl
90d051f8e4 Merge pull request #4908 from nextcloud/bugfix/noid/prevent-null-in-notification-parameter 2023-07-14 08:25:13 +02:00
Joas Schilling
4b1e670b4e fix(notification): Prevent null in parameters
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-14 07:53:51 +02:00
Nextcloud bot
85e09acfc3 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-14 00:44:25 +00:00
Julius Härtl
1a89685d53 Merge pull request #4907 from nextcloud/ci/perf-garm 2023-07-13 18:08:20 +02:00
Julius Härtl
698ee422ff ci: Make paths of query count compatible with garm
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-07-13 17:51:20 +02:00
Julius Härtl
2b19c3353a ci(integration): Make query.log paths relative so they work on GitHub and Garm
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-07-13 11:52:03 +02:00
Julius Härtl
6e99ec8fc5 Delete nightly.yml
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-07-13 11:47:48 +02:00
Nextcloud bot
281eb6d2ff Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-13 00:44:42 +00:00
Nextcloud bot
f4daedd84f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-12 00:36:28 +00:00
Nextcloud bot
683ae36b8b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-11 00:47:38 +00:00
Julius Härtl
74b0d2f690 Merge pull request #4877 from nextcloud/actions/pr-feedback 2023-07-10 17:47:18 +02:00
Julius Härtl
dfd8656339 Merge pull request #4871 from nextcloud/automated/noid/main-fix-npm-audit 2023-07-10 12:31:53 +02:00
Nextcloud bot
7ae66082c4 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-10 00:44:03 +00:00
nextcloud-command
f2ba642207 chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-07-09 03:52:21 +00:00
dependabot[bot]
dd23dd6bf3 Merge pull request #4893 from nextcloud/dependabot/npm_and_yarn/main/babel/runtime-7.22.6 2023-07-08 04:11:50 +00:00
dependabot[bot]
8d324c0669 Merge pull request #4892 from nextcloud/dependabot/npm_and_yarn/main/cypress-12.17.0 2023-07-08 04:11:40 +00:00
dependabot[bot]
e6363439b6 Merge pull request #4894 from nextcloud/dependabot/npm_and_yarn/main/url-search-params-polyfill-8.2.4 2023-07-08 03:31:01 +00:00
dependabot[bot]
bf66da8313 Chore(deps): Bump @babel/runtime from 7.22.5 to 7.22.6
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.22.5 to 7.22.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.22.6/packages/babel-runtime)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-08 03:29:39 +00:00
dependabot[bot]
4a4fcca61f Chore(deps-dev): Bump cypress from 12.16.0 to 12.17.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.16.0 to 12.17.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v12.16.0...v12.17.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-08 03:29:25 +00:00
dependabot[bot]
85a99dd15b Merge pull request #4891 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/axios-2.4.0 2023-07-08 03:28:45 +00:00
dependabot[bot]
e21c3da80b Merge pull request #4890 from nextcloud/dependabot/npm_and_yarn/main/jest-29.6.1 2023-07-08 03:28:05 +00:00
dependabot[bot]
7379fbad1b Chore(deps): Bump url-search-params-polyfill from 8.2.3 to 8.2.4
Bumps [url-search-params-polyfill](https://github.com/jerrybendy/url-search-params-polyfill) from 8.2.3 to 8.2.4.
- [Release notes](https://github.com/jerrybendy/url-search-params-polyfill/releases)
- [Commits](https://github.com/jerrybendy/url-search-params-polyfill/commits/v8.2.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-08 01:42:19 +00:00
dependabot[bot]
fc721646c1 Chore(deps): Bump @nextcloud/axios from 2.3.0 to 2.4.0
Bumps [@nextcloud/axios](https://github.com/nextcloud/nextcloud-axios) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/nextcloud/nextcloud-axios/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-axios/compare/v2.3.0...v2.4.0)

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-08 01:40:40 +00:00
Nextcloud bot
ad770a370a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-08 00:45:00 +00:00
Nextcloud bot
bdb97c56df Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-07 00:42:25 +00:00
Nextcloud bot
ff3592134c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-06 00:45:26 +00:00
max-nextcloud
fdb8f710ca Create pr-feedback.yml
Signed-off-by: max-nextcloud <max@nextcloud.com>
2023-07-04 18:33:30 +02:00
dependabot[bot]
425f76de55 Merge pull request #4870 from nextcloud/dependabot/npm_and_yarn/main/dompurify-3.0.4 2023-07-01 05:01:22 +00:00
dependabot[bot]
ec312abd7a Merge pull request #4867 from nextcloud/dependabot/npm_and_yarn/main/cypress-12.16.0 2023-07-01 03:30:52 +00:00
dependabot[bot]
580ed4c843 bump dompurify from 3.0.3 to 3.0.4
---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-01 03:18:06 +00:00
dependabot[bot]
801076e2ae Merge pull request #4866 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/l10n-2.2.0 2023-07-01 03:17:07 +00:00
dependabot[bot]
c0c8e4b5fa Merge pull request #4865 from nextcloud/dependabot/composer/vimeo/psalm-5.13.1 2023-07-01 02:21:33 +00:00
dependabot[bot]
843c31097b Chore(deps-dev): Bump cypress from 12.15.0 to 12.16.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.15.0 to 12.16.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v12.15.0...v12.16.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-01 02:05:02 +00:00
dependabot[bot]
d85a2e3844 Chore(deps): Bump @nextcloud/l10n from 2.1.0 to 2.2.0
Bumps [@nextcloud/l10n](https://github.com/nextcloud/nextcloud-l10n) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/nextcloud/nextcloud-l10n/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-l10n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-l10n/compare/v2.1.0...v2.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-01 01:39:30 +00:00
dependabot[bot]
bb045e0cee Chore(deps-dev): Bump vimeo/psalm from 5.12.0 to 5.13.1
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 5.12.0 to 5.13.1.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/5.12.0...5.13.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>
2023-07-01 01:16:08 +00:00
Nextcloud bot
ab016b4561 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-30 00:44:04 +00:00
Nextcloud bot
df2ab676cd Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-28 00:46:01 +00:00
Nextcloud bot
deaed6324d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-27 00:47:11 +00:00
Nextcloud bot
7e59907485 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-26 00:42:51 +00:00
Julius Härtl
bfaa63363d Merge pull request #4852 from nextcloud/automated/noid/main-fix-npm-audit 2023-06-25 12:31:59 +02:00
nextcloud-command
a99993f54c chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-06-25 03:59:14 +00:00
dependabot[bot]
aeb2716831 Merge pull request #4846 from nextcloud/dependabot/npm_and_yarn/main/cypress-12.15.0 2023-06-24 03:54:50 +00:00
dependabot[bot]
064041f4fb Merge pull request #4841 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/dialogs-4.1.0 2023-06-24 03:48:51 +00:00
dependabot[bot]
f9ba318f9e Merge pull request #4845 from nextcloud/dependabot/npm_and_yarn/fast-xml-parser-4.2.5 2023-06-24 03:43:48 +00:00
dependabot[bot]
a3326c9e10 Chore(deps-dev): Bump cypress from 12.14.0 to 12.15.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.14.0 to 12.15.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v12.14.0...v12.15.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-24 03:43:02 +00:00
dependabot[bot]
d0ab17ab67 Chore(deps): Bump @nextcloud/dialogs from 4.0.1 to 4.1.0
Bumps [@nextcloud/dialogs](https://github.com/nextcloud/nextcloud-dialogs) from 4.0.1 to 4.1.0.
- [Release notes](https://github.com/nextcloud/nextcloud-dialogs/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-dialogs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-dialogs/compare/v4.0.1...v4.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-24 03:33:13 +00:00
dependabot[bot]
dc2153d813 Chore(deps): Bump fast-xml-parser from 4.2.4 to 4.2.5
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 4.2.4 to 4.2.5.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v4.2.4...v4.2.5)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-24 03:32:55 +00:00
dependabot[bot]
26fd2c5945 Merge pull request #4843 from nextcloud/dependabot/npm_and_yarn/main/relative-ci/agent-4.1.5 2023-06-24 03:32:18 +00:00
dependabot[bot]
ce199d66a8 Chore(deps-dev): Bump @relative-ci/agent from 4.1.4 to 4.1.5
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.1.4 to 4.1.5.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.1.4...v4.1.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-24 03:20:41 +00:00
Nextcloud bot
54258aca68 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-24 00:40:41 +00:00
Nextcloud bot
3cb4cd6f21 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-23 01:12:41 +00:00
Julius Härtl
58cc4b5ccb Merge pull request #4836 from nextcloud/automated/update-engines/default 2023-06-21 17:45:13 +02:00
John Molakvoæ
e3c275a7cb chore: update node engines to next LTS (node 20 / npm 9)
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-06-21 10:12:12 +02:00
Julius Härtl
36350fa292 Merge pull request #4816 from nextcloud/fix/occ-import-crash 2023-06-20 10:48:28 +02:00
Julius Härtl
82e356ad01 Merge pull request #4826 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.25.4 2023-06-20 10:47:19 +02:00
Julius Härtl
f23deebd25 Merge pull request #4817 from nextcloud/bugfix/open-card-in-modal 2023-06-20 10:46:46 +02:00
Julius Härtl
6a103b5a76 Merge pull request #4828 from pbek/main 2023-06-20 10:42:33 +02:00
Nextcloud bot
110e1e42e7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-20 00:38:09 +00:00
Patrizio Bekerle
fa08842aa4 doc: mention QOwnNotes integration 2023-06-17 13:41:01 +02:00
dependabot[bot]
66e679bd11 Merge pull request #4825 from nextcloud/dependabot/github_actions/peter-evans/create-pull-request-5.0.2 2023-06-17 04:50:07 +00:00
dependabot[bot]
bc379bade8 Merge pull request #4823 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/router-2.1.2 2023-06-17 04:15:33 +00:00
dependabot[bot]
db8d83c1c4 Chore(deps): Bump shivammathur/setup-php from 2.25.2 to 2.25.4
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.25.2 to 2.25.4.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.25.2...2.25.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-17 03:45:45 +00:00
dependabot[bot]
6a8f3b626b Chore(deps): Bump peter-evans/create-pull-request from 5.0.1 to 5.0.2
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 5.0.1 to 5.0.2.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](284f54f989...153407881e)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-17 03:45:31 +00:00
dependabot[bot]
54f7cf78e9 Merge pull request #4820 from nextcloud/dependabot/composer/phpunit/phpunit-9.6.9 2023-06-17 03:14:14 +00:00
dependabot[bot]
2581584b6b Chore(deps): Bump @nextcloud/router from 2.1.1 to 2.1.2
Bumps [@nextcloud/router](https://github.com/nextcloud/nextcloud-router) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/nextcloud/nextcloud-router/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-router/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-router/compare/v2.1.1...v2.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-17 02:58:18 +00:00
dependabot[bot]
72ac69b075 Chore(deps-dev): Bump phpunit/phpunit from 9.6.8 to 9.6.9
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.8 to 9.6.9.
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.9/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.8...9.6.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>
2023-06-17 01:56:30 +00:00
Nextcloud bot
d1a3720f50 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-17 00:32:02 +00:00
Luka Trovic
710d648af7 fix: cypress issue
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2023-06-16 19:09:29 +02:00
Luka Trovic
e2d463e7d8 fix: open card in modal on main route
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2023-06-16 19:09:29 +02:00
Nextcloud bot
91b1f6e9aa Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-16 00:31:59 +00:00
Max
cfa9c4d1c4 fix: crash when leaving out system parameter
The `--system` parameter can be supplied via command line
or selected afterwards.

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

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

Signed-off-by: Max <max@nextcloud.com>
2023-06-15 12:53:14 +02:00
Nextcloud bot
4ddbf472c3 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-15 00:32:03 +00:00
Julius Härtl
5298a8d26a Merge pull request #4810 from nextcloud/fix/4010-set-userid-for-export-command 2023-06-14 12:30:22 +02:00
Julius Härtl
53f1247939 Merge pull request #4809 from nextcloud/fix/return-int-from-commands 2023-06-14 12:29:17 +02:00
Max
ff16f95b57 fix: execute return int for export command
Signed-off-by: Max <max@nextcloud.com>
2023-06-14 11:17:50 +02:00
Max
0419ebc856 Fix(occ): set user id for permission sevice from board service
Fixes #4010.

Signed-off-by: Max <max@nextcloud.com>
2023-06-14 11:12:58 +02:00
Nextcloud bot
6fa8480722 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-14 00:32:15 +00:00
Nextcloud bot
1da513cecd Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-13 00:32:36 +00:00
Julius Härtl
309ec45a98 Merge pull request #4772 from nextcloud/fix/dynamic-autoloading 2023-06-12 10:14:02 +02:00
Julius Härtl
ddfd695376 fix: Allow dynamic autoloading for classes added during upgrade
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-06-12 09:15:41 +02:00
Nextcloud bot
260e87c983 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-11 00:52:38 +00:00
dependabot[bot]
460b0d8968 Merge pull request #4796 from nextcloud/dependabot/npm_and_yarn/main/cypress-12.14.0 2023-06-10 05:30:24 +00:00
dependabot[bot]
b61daa36a0 Merge pull request #4797 from nextcloud/dependabot/npm_and_yarn/main/url-search-params-polyfill-8.2.3 2023-06-10 05:30:00 +00:00
dependabot[bot]
fcbb4ee45e Merge pull request #4779 from nextcloud/dependabot/npm_and_yarn/main/babel/runtime-7.22.5 2023-06-10 05:16:28 +00:00
dependabot[bot]
536e9350b3 Merge pull request #4791 from nextcloud/dependabot/github_actions/peter-evans/create-or-update-comment-3.0.2 2023-06-10 04:50:27 +00:00
dependabot[bot]
9efabe8638 Merge pull request #4788 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/vue-7.12.0 2023-06-10 04:16:42 +00:00
dependabot[bot]
4f9c8b3640 Chore(deps): Bump url-search-params-polyfill from 8.2.2 to 8.2.3
Bumps [url-search-params-polyfill](https://github.com/jerrybendy/url-search-params-polyfill) from 8.2.2 to 8.2.3.
- [Release notes](https://github.com/jerrybendy/url-search-params-polyfill/releases)
- [Commits](https://github.com/jerrybendy/url-search-params-polyfill/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-10 03:49:30 +00:00
dependabot[bot]
e9a03d79b6 Chore(deps-dev): Bump cypress from 12.13.0 to 12.14.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.13.0 to 12.14.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v12.13.0...v12.14.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-10 03:46:50 +00:00
dependabot[bot]
e920676f92 Merge pull request #4784 from nextcloud/dependabot/npm_and_yarn/main/vue/test-utils-1.3.6 2023-06-10 03:23:01 +00:00
dependabot[bot]
63544eb8f4 Chore(deps): Bump peter-evans/create-or-update-comment
Bumps [peter-evans/create-or-update-comment](https://github.com/peter-evans/create-or-update-comment) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/peter-evans/create-or-update-comment/releases)
- [Commits](ca08ebd5dc...c6c9a1a660)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-10 03:19:35 +00:00
dependabot[bot]
6b5c2a8821 bump @nextcloud/vue from 7.11.6 to 7.12.0
---
updated-dependencies:
- dependency-name: "@nextcloud/vue"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-10 03:03:14 +00:00
dependabot[bot]
39bcdfe5d9 Chore(deps): Bump @babel/runtime from 7.22.3 to 7.22.5
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.22.3 to 7.22.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.22.5/packages/babel-runtime)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-10 01:57:52 +00:00
Julius Härtl
186082caf6 Merge pull request #4765 from nextcloud/boardIdInt 2023-06-09 09:42:55 +02:00
Git'Fellow
b53d6a3fe5 Ensure boardId is an integer
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2023-06-09 09:28:51 +02:00
Julius Härtl
afcccabd22 Merge pull request #4768 from nextcloud/dependabot/npm_and_yarn/fast-xml-parser-and-is-svg-4.2.4 2023-06-06 21:23:46 +02:00
dependabot[bot]
1de3a25157 Chore(deps): Bump fast-xml-parser and is-svg
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) and [is-svg](https://github.com/sindresorhus/is-svg). These dependencies needed to be updated together.

Updates `fast-xml-parser` from 3.21.1 to 4.2.4
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/commits)

Updates `is-svg` from 4.3.2 to 4.4.0
- [Release notes](https://github.com/sindresorhus/is-svg/releases)
- [Commits](https://github.com/sindresorhus/is-svg/compare/v4.3.2...v4.4.0)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: indirect
- dependency-name: is-svg
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-06 18:38:16 +00:00
dependabot[bot]
8038e568a3 Merge pull request #4752 from nextcloud/dependabot/composer/nextcloud/coding-standard-1.1.1 2023-06-05 20:33:29 +00:00
Julius Härtl
f2e15a3dce ci: Fix psalm config
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-06-05 22:27:03 +02:00
Julius Härtl
0985f24f57 chore: Fix php-cs-fixer errors
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-06-05 22:26:08 +02:00
Julius Härtl
a7e7daf177 Merge pull request #4761 from nextcloud/dependabot/github_actions/skjnldsv/read-package-engines-version-actions-2.2 2023-06-05 07:45:28 +02:00
dependabot[bot]
adc488b334 Merge pull request #4760 from nextcloud/dependabot/npm_and_yarn/main/babel/runtime-7.22.3 2023-06-03 04:59:36 +00:00
dependabot[bot]
fead689299 Chore(deps): Bump skjnldsv/read-package-engines-version-actions
Bumps [skjnldsv/read-package-engines-version-actions](https://github.com/skjnldsv/read-package-engines-version-actions) from 2.1 to 2.2.
- [Release notes](https://github.com/skjnldsv/read-package-engines-version-actions/releases)
- [Commits](0ce2ed60f6...8205673bab)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-03 03:32:46 +00:00
dependabot[bot]
1b4391cbd1 Chore(deps): Bump @babel/runtime from 7.22.0 to 7.22.3
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.22.0 to 7.22.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.22.3/packages/babel-runtime)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-03 03:23:21 +00:00
dependabot[bot]
c0136ca0d0 Merge pull request #4754 from nextcloud/dependabot/npm_and_yarn/main/url-search-params-polyfill-8.2.2 2023-06-03 02:57:25 +00:00
dependabot[bot]
45f9db3641 Chore(deps): Bump url-search-params-polyfill from 8.1.1 to 8.2.2
Bumps [url-search-params-polyfill](https://github.com/jerrybendy/url-search-params-polyfill) from 8.1.1 to 8.2.2.
- [Release notes](https://github.com/jerrybendy/url-search-params-polyfill/releases)
- [Commits](https://github.com/jerrybendy/url-search-params-polyfill/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-03 01:57:43 +00:00
dependabot[bot]
a281e92f34 Chore(deps-dev): Bump nextcloud/coding-standard from 1.0.0 to 1.1.1
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard) from 1.0.0 to 1.1.1.
- [Release notes](https://github.com/nextcloud/coding-standard/releases)
- [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/coding-standard/compare/v1.0.0...v1.1.1)

---
updated-dependencies:
- dependency-name: nextcloud/coding-standard
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-03 01:56:22 +00:00
Nextcloud bot
c8458d10ba Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-03 00:31:44 +00:00
John Molakvoæ
78d4d7ef99 Merge pull request #4750 from nextcloud/automated/update-workflows 2023-06-01 18:11:48 +02:00
John Molakvoæ
1c576245ce chore: update workflows from templates
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-06-01 16:25:41 +02:00
Julius Härtl
3eede07064 Merge pull request #4746 from nextcloud/automated/update-workflows 2023-05-27 14:07:08 +02:00
dependabot[bot]
0eb7ecc90e Merge pull request #4737 from nextcloud/dependabot/npm_and_yarn/main/babel/runtime-7.22.0 2023-05-27 08:04:11 +00:00
John Molakvoæ
050df0577e chore: update workflows from templates
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-05-27 09:45:38 +02:00
dependabot[bot]
8d395186fd Merge pull request #4744 from nextcloud/dependabot/github_actions/svenstaro/upload-release-action-2.6.0 2023-05-27 07:09:01 +00:00
dependabot[bot]
2c23a8e154 Merge pull request #4743 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.25.2 2023-05-27 07:08:54 +00:00
dependabot[bot]
c60d16ab1c Merge pull request #4742 from nextcloud/dependabot/composer/tests/integration/guzzlehttp/guzzle-7.7.0 2023-05-27 07:01:18 +00:00
dependabot[bot]
6dcbf3c56d Merge pull request #4732 from nextcloud/dependabot/npm_and_yarn/main/cypress-12.13.0 2023-05-27 03:30:41 +00:00
dependabot[bot]
bde86ea0c0 Chore(deps): Bump svenstaro/upload-release-action from 2.5.0 to 2.6.0
Bumps [svenstaro/upload-release-action](https://github.com/svenstaro/upload-release-action) from 2.5.0 to 2.6.0.
- [Release notes](https://github.com/svenstaro/upload-release-action/releases)
- [Changelog](https://github.com/svenstaro/upload-release-action/blob/master/CHANGELOG.md)
- [Commits](7319e4733e...58d5258088)

---
updated-dependencies:
- dependency-name: svenstaro/upload-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-27 03:27:40 +00:00
dependabot[bot]
dafcd563c2 Chore(deps): Bump shivammathur/setup-php from 2.25.1 to 2.25.2
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.25.1 to 2.25.2.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.25.1...2.25.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-27 03:27:15 +00:00
dependabot[bot]
15f303be12 bump @babel/runtime from 7.21.5 to 7.22.0
---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-27 03:24:19 +00:00
dependabot[bot]
2ffc9aa1bb Merge pull request #4735 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/auth-2.1.0 2023-05-27 03:23:29 +00:00
dependabot[bot]
dc8112e574 Chore(deps-dev): Update guzzlehttp/guzzle requirement
Updates the requirements on [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) to permit the latest version.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/7.7/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.6.1...7.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-27 03:20:27 +00:00
dependabot[bot]
31d80cf0a5 Merge pull request #4730 from nextcloud/dependabot/composer/vimeo/psalm-5.12.0 2023-05-27 03:12:34 +00:00
dependabot[bot]
c8290725bd Chore(deps): Bump @nextcloud/auth from 2.0.0 to 2.1.0
Bumps [@nextcloud/auth](https://github.com/nextcloud/nextcloud-auth) from 2.0.0 to 2.1.0.
- [Release notes](https://github.com/nextcloud/nextcloud-auth/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-auth/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-auth/compare/v2.0.0...v2.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-27 01:58:02 +00:00
dependabot[bot]
8482a26c60 Chore(deps-dev): Bump cypress from 12.12.0 to 12.13.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.12.0 to 12.13.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v12.12.0...v12.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-27 01:57:46 +00:00
dependabot[bot]
b5026fc4c7 Chore(deps-dev): Bump vimeo/psalm from 5.11.0 to 5.12.0
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 5.11.0 to 5.12.0.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/5.11.0...5.12.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-27 01:56:38 +00:00
Nextcloud bot
acb1cd9576 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-27 00:32:20 +00:00
Arthur Schiwon
42f38543fd Merge pull request #4715 from nextcloud/tests/php8.2
tests(phpunit): Run phpunit tests against PHP 8.2
2023-05-23 20:53:56 +02:00
Nextcloud bot
7ecca9727e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-21 00:29:05 +00:00
Julius Härtl
0e8416ccbd tests(phpunit): Run phpunit tests against PHP 8.2
fixes #4690

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-18 14:23:46 +02:00
Nextcloud bot
5bfa61ab70 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-18 00:29:42 +00:00
dependabot[bot]
bc8d5b2c39 Merge pull request #4699 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/event-bus-3.1.0 2023-05-17 21:39:37 +00:00
dependabot[bot]
bff7663b55 Merge pull request #4702 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/vue-7.11.6 2023-05-17 21:39:16 +00:00
dependabot[bot]
c34990bdae Merge pull request #4693 from nextcloud/dependabot/composer/tests/integration/guzzlehttp/guzzle-7.6.1 2023-05-17 21:34:52 +00:00
Julius Härtl
63bf418060 Merge pull request #4688 from nextcloud/dev/hmr 2023-05-17 20:13:19 +02:00
dependabot[bot]
26c031c0ee Chore(deps): Bump @nextcloud/vue from 7.11.4 to 7.11.6
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.11.4 to 7.11.6.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/v7.11.6/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.11.4...v7.11.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 18:11:49 +00:00
dependabot[bot]
c72d85ffd3 Chore(deps): Bump @nextcloud/event-bus from 3.0.2 to 3.1.0
Bumps [@nextcloud/event-bus](https://github.com/nextcloud/nextcloud-event-bus) from 3.0.2 to 3.1.0.
- [Release notes](https://github.com/nextcloud/nextcloud-event-bus/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-event-bus/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-event-bus/compare/v3.0.2...v3.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 18:11:37 +00:00
dependabot[bot]
01ba03eb0e Chore(deps-dev): Update guzzlehttp/guzzle requirement
Updates the requirements on [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) to permit the latest version.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/7.6/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.5.1...7.6.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 18:11:05 +00:00
Julius Härtl
79fd89b3c4 Merge pull request #4692 from nextcloud/update-main-version 2023-05-17 20:10:38 +02:00
Joas Schilling
0824921b2d feat(deps): Add Nextcloud 28 support on main
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-05-17 15:26:57 +02:00
Julius Härtl
a9a4aceaac chore(webpack): Remove outdated config for hmr
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-17 09:53:51 +02:00
Julius Härtl
d096208f58 chore(webpack): Move to shared code for entrypoints and use webpack serve public path
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-17 09:53:50 +02:00
Julius Härtl
9f753e4395 chore(webpack): Add npm run serve command
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-17 09:51:16 +02:00
99 changed files with 34197 additions and 35506 deletions

View File

@@ -12,6 +12,40 @@ updates:
reviewers:
- juliushaertl
- package-ecosystem: npm
target-branch: stable27
versioning-strategy: lockfile-only
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major"]
open-pull-requests-limit: 30
labels:
- 3. to review
- dependencies
- package-ecosystem: npm
target-branch: stable26
versioning-strategy: lockfile-only
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major"]
open-pull-requests-limit: 30
labels:
- 3. to review
- dependencies
- package-ecosystem: npm
target-branch: stable25
versioning-strategy: lockfile-only

View File

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

View File

@@ -32,7 +32,7 @@ jobs:
echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
with:
path: ${{ env.APP_NAME }}
@@ -44,7 +44,7 @@ jobs:
expression: "//info//dependencies//nextcloud/@min-version"
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
# Continue if no package.json
continue-on-error: true
@@ -56,7 +56,7 @@ jobs:
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
# Skip if no package.json
if: ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -66,7 +66,7 @@ jobs:
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Set up php ${{ env.PHP_VERSION }}
uses: shivammathur/setup-php@2.25.1 # v2
uses: shivammathur/setup-php@2.25.4 # v2
with:
php-version: ${{ env.PHP_VERSION }}
coverage: none
@@ -126,9 +126,10 @@ jobs:
unzip latest-$NCVERSION.zip
- name: Checkout server master fallback
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
if: ${{ steps.server-checkout.outcome != 'success' }}
with:
submodules: true
repository: nextcloud/server
path: nextcloud
@@ -148,7 +149,7 @@ jobs:
tar -zcvf ${{ env.APP_NAME }}.tar.gz ${{ env.APP_NAME }}
- name: Attach tarball to github release
uses: svenstaro/upload-release-action@7319e4733ec7a184d739a6f412c40ffc339b69c7 # v2
uses: svenstaro/upload-release-action@2b9d2847a97b04d02ad5c3df2d3a27baa97ce689 # v2
id: attach_to_release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}

View File

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

View File

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

View File

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

View File

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

View File

@@ -6,7 +6,7 @@
# Use lint-eslint together with lint-eslint-when-unrelated to make eslint a required check for GitHub actions
# https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks
name: Lint
name: Lint eslint
on:
pull_request:
@@ -38,17 +38,17 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: '^16'
fallbackNpm: '^7'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View File

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

View File

@@ -3,7 +3,7 @@
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Lint
name: Lint php
on:
pull_request:
@@ -31,13 +31,14 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.25.1 # v2
uses: shivammathur/setup-php@2.25.4 # v2
with:
php-version: ${{ matrix.php-versions }}
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -3,7 +3,7 @@
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Lint
name: Lint stylelint
on: pull_request
@@ -22,17 +22,17 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: '^16'
fallbackNpm: '^7'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View File

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

View File

@@ -3,7 +3,7 @@
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: npm audit fix and compile
name: Npm audit fix and compile
on:
workflow_dispatch:
@@ -18,25 +18,25 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ["main", "master", "stable26", "stable25", "stable24"]
branches: ["main", "master", "stable27", "stable26", "stable25", "stable24"]
name: npm-audit-fix-${{ matrix.branches }}
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
with:
ref: ${{ matrix.branches }}
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: '^16'
fallbackNpm: '^7'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -55,7 +55,7 @@ jobs:
- name: Create Pull Request
if: always()
uses: peter-evans/create-pull-request@284f54f989303d2699d373481a0cfa13ad5a6666 # v3
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 # v5
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "chore(deps): fix npm audit"

View File

@@ -26,9 +26,9 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.0', '8.1']
php-versions: ['8.0', '8.1', '8.2']
databases: ['sqlite', 'mysql', 'pgsql']
server-versions: ['stable27']
server-versions: ['master']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
@@ -70,7 +70,7 @@ jobs:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.25.1
uses: shivammathur/setup-php@2.25.4
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit

29
.github/workflows/pr-feedback.yml vendored Normal file
View File

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

View File

@@ -24,13 +24,14 @@ jobs:
name: Nextcloud
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- name: Set up php
uses: shivammathur/setup-php@2.25.1 # v2
uses: shivammathur/setup-php@2.25.4 # v2
with:
php-version: 8.1
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -17,21 +17,22 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ["master", "stable26", "stable25", "stable24"]
branches: ["main", "master", "stable27", "stable26", "stable25"]
name: update-nextcloud-ocp-${{ matrix.branches }}
steps:
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
with:
ref: ${{ matrix.branches }}
submodules: true
- name: Set up php8.1
uses: shivammathur/setup-php@2.25.1 # v2
uses: shivammathur/setup-php@2.25.4 # v2
with:
php-version: 8.1
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -40,19 +41,33 @@ jobs:
run: composer install
- name: Composer update nextcloud/ocp
if: matrix.branches != 'main'
run: composer require --dev nextcloud/ocp:dev-${{ matrix.branches }}
continue-on-error: true
- name: Reset checkout dirs
- name: Composer update nextcloud/ocp
if: matrix.branches == 'main'
run: composer require --dev nextcloud/ocp:dev-master
- name: Reset checkout 3rdparty
run: |
git clean -f 3rdparty
git checkout 3rdparty
continue-on-error: true
- name: Reset checkout vendor
run: |
git clean -f vendor
git checkout vendor
continue-on-error: true
- name: Reset checkout vendor-bin
run: |
git clean -f vendor-bin
git checkout 3rdparty vendor vendor-bin
git checkout vendor-bin
continue-on-error: true
- name: Create Pull Request
uses: peter-evans/create-pull-request@284f54f989303d2699d373481a0cfa13ad5a6666 # v3
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 # v3
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "chore(dev-deps): Bump nextcloud/ocp package"

View File

@@ -1,7 +1,7 @@
# Changelog
All notable changes to this project will be documented in this file.
## 1.10.0
## 1.10.0-beta.1
### Added
@@ -9,8 +9,6 @@ All notable changes to this project will be documented in this file.
### Fixed
- fix: Properly overwrite z-index of datepicker above modal @juliushaertl [#4664](https://github.com/nextcloud/deck/pull/4664)
- Use the color-primary-element* variables @szaimen [#4673](https://github.com/nextcloud/deck/pull/4673)
- fix(references): Mute NoPermissionException as it is expected to happen for references @juliushaertl [#4514](https://github.com/nextcloud/deck/pull/4514)
- fix(cards): Fix card sizing by limiting too wide style rules @juliushaertl [#4512](https://github.com/nextcloud/deck/pull/4512)
- fix: Adapt NcEmptyContent usages to new slots @juliushaertl [#4561](https://github.com/nextcloud/deck/pull/4561)
@@ -30,12 +28,7 @@ All notable changes to this project will be documented in this file.
- Better display of card dates (creation and change dates) @Jerome-Herbinet [#4604](https://github.com/nextcloud/deck/pull/4604)
- Refactors lib\Activity\DeckProvider.php to improve code readability. @fsamapoor [#4648](https://github.com/nextcloud/deck/pull/4648)
- Converts 'strpos()' calls to improve code readability. @fsamapoor [#4657](https://github.com/nextcloud/deck/pull/4657)
- Dependency updates
### Other
- feat: Add devcontainer and update dev docs @juliushaertl [#4683](https://github.com/nextcloud/deck/pull/4683)
- chore(CI): Adjust testing matrix for Nextcloud 27 on stable27 @nickvergessen [#4691](https://github.com/nextcloud/deck/pull/4691)
## 1.9.0-beta.1

View File

@@ -27,6 +27,7 @@ Deck is a kanban style organization tool aimed at personal planning and project
- [trello-to-deck](https://github.com/maxammann/trello-to-deck) - Migrates cards from Trello
- [mail2deck](https://github.com/newroco/mail2deck) - Provides an "email in" solution
- [A-deck](https://github.com/leoossa/A-deck) - Chrome Extension that allows to create new card in selected stack based on current tab
- [QOwnNotes](https://github.com/pbek/QOwnNotes) - Quickly creates cards and links to them in Markdown notes
## Installation/Update

View File

@@ -16,7 +16,7 @@
- 🚀 Get your project organized
</description>
<version>1.10.0</version>
<version>1.11.0-dev</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<documentation>
@@ -38,7 +38,7 @@
<database min-version="9.4">pgsql</database>
<database>sqlite</database>
<database min-version="8.0">mysql</database>
<nextcloud min-version="27" max-version="27"/>
<nextcloud min-version="28" max-version="28"/>
</dependencies>
<background-jobs>
<job>OCA\Deck\Cron\DeleteCron</job>

View File

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

878
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,22 +0,0 @@
OC.L10N.register(
"deck",
{
"Load more" : "Cargar más",
"The file was uploaded" : "Xubióse'l ficheru",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El ficheru xubíu supera la direutiva «upload_max_filesize» del ficheru php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El ficheru xubíu supera la direutiva «MAX_FILE_SIZE» que s'especificó nel formulariu HTML",
"No file was uploaded" : "Nun se xubió nengún ficheru",
"Details" : "Detalles",
"Sharing" : "Comparticiñon",
"Tags" : "Etiquetes",
"Delete" : "Desaniciar",
"Members" : "Miembros",
"Download" : "Baxar",
"Today" : "Güei",
"Tomorrow" : "Mañana",
"Description" : "Descripción",
"(Saving…)" : "(Guardando…)",
"All cards" : "Toles tarxetes",
"An error occurred" : "Prodúxose un error"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,20 +0,0 @@
{ "translations": {
"Load more" : "Cargar más",
"The file was uploaded" : "Xubióse'l ficheru",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El ficheru xubíu supera la direutiva «upload_max_filesize» del ficheru php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El ficheru xubíu supera la direutiva «MAX_FILE_SIZE» que s'especificó nel formulariu HTML",
"No file was uploaded" : "Nun se xubió nengún ficheru",
"Details" : "Detalles",
"Sharing" : "Comparticiñon",
"Tags" : "Etiquetes",
"Delete" : "Desaniciar",
"Members" : "Miembros",
"Download" : "Baxar",
"Today" : "Güei",
"Tomorrow" : "Mañana",
"Description" : "Descripción",
"(Saving…)" : "(Guardando…)",
"All cards" : "Toles tarxetes",
"An error occurred" : "Prodúxose un error"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -1,102 +1,16 @@
OC.L10N.register(
"deck",
{
"You have created a new board {board}" : "Has creado un nuevo tablero {board}",
"{user} has created a new board {board}" : "{user} ha creado un nuevo tablero {board}",
"You have deleted the board {board}" : "Has eliminado el tablero {board}",
"{user} has deleted the board {board}" : "{user} ha eliminado el tablero {board}",
"You have restored the board {board}" : "Has restaurado el tablero {board}",
"{user} has restored the board {board}" : "{user} ha restaurado el tablero {board}",
"You have shared the board {board} with {acl}" : "Has compartido el tablero {board} con {acl}",
"{user} has shared the board {board} with {acl}" : "{user} ha compartido el tablero {board} con {acl}",
"You have removed {acl} from the board {board}" : "Has eliminado {acl} del tablero {board}",
"{user} has removed {acl} from the board {board}" : "{user} ha eliminado {acl} del tablero {board}",
"You have renamed the board {before} to {board}" : "Has cambiado el nombre del tablero {before} a {board}",
"{user} has renamed the board {before} to {board}" : "{user} ha cambiado el nombre del tablero {before} a {board}",
"You have archived the board {board}" : "Has archivado el tablero {board}",
"{user} has archived the board {before}" : "{user} ha archivado el tablero {before}",
"You have unarchived the board {board}" : "Has desarchivado el tablero {board}",
"{user} has unarchived the board {before}" : "{user} ha desarchivado el tablero {before}",
"You have created a new list {stack} on board {board}" : "Has creado una nueva lista {stack} en el tablero {board}",
"{user} has created a new list {stack} on board {board}" : "{user} ha creado una nueva lista {stack} en el tablero {board}",
"You have renamed list {before} to {stack} on board {board}" : "Has cambiado el nombre de la lista {before} a {stack} en el tablero {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} ha cambiado el nombre de la lista {before} a {stack} en el tablero {board}",
"You have deleted list {stack} on board {board}" : "Has eliminado la lista {stack} en el tablero {board}",
"{user} has deleted list {stack} on board {board}" : "{user} ha eliminado la lista {stack} en el tablero {board}",
"You have created card {card} in list {stack} on board {board}" : "Has creado la tarjeta {card} en la lista {stack} en el tablero {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} ha creado la tarjeta {card} en la lista {stack} en el tablero {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Has eliminado la tarjeta {card} en la lista {stack} en el tablero {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} ha eliminado la tarjeta {card} en la lista {stack} en el tablero {board}",
"You have renamed the card {before} to {card}" : "Has cambiado el nombre de la tarjeta {before} a {card}",
"{user} has renamed the card {before} to {card}" : "{user} ha cambiado el nombre de la tarjeta {before} a {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Has añadido una descripción a la tarjeta {card} en la lista {stack} en el tablero {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} ha añadido una descripción a la tarjeta {card} en la lista {stack} en el tablero {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Has actualizado la descripción de la tarjeta {card} en la lista {stack} en el tablero {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} ha actualizado la descripción de la tarjeta {card} en la lista {stack} en el tablero {board}",
"You have archived card {card} in list {stack} on board {board}" : "Has archivado la tarjeta {card} en la lista {stack} en el tablero {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} ha archivado la tarjeta {card} en la lista {stack} en el tablero {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Has desarchivado la tarjeta {card} en la lista {stack} en el tablero {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} ha desarchivado la tarjeta {card} en la lista {stack} en el tablero {board}",
"You have removed the due date of card {card}" : "Has eliminado la fecha de vencimiento de la tarjeta {card}",
"{user} has removed the due date of card {card}" : "{user} ha eliminado la fecha de vencimiento de la tarjeta {card}",
"You have set the due date of card {card} to {after}" : "Has establecido la fecha de vencimiento de la tarjeta {card} a {after}",
"{user} has set the due date of card {card} to {after}" : "{user} ha establecido la fecha de vencimiento de la tarjeta {card} a {after}",
"You have updated the due date of card {card} to {after}" : "Has actualizado la fecha de vencimiento de la tarjeta {card} a {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} ha actualizado la fecha de vencimiento de la tarjeta {card} a {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Has añadido la etiqueta {label} a la tarjeta {card} en la lista {stack} en el tablero {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} ha añadido la etiqueta {label} a la tarjeta {card} en la lista {stack} en el tablero {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Has eliminado la etiqueta {label} de la tarjeta {card} en la lista {stack} en el tablero {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} ha eliminado la etiqueta {label} de la tarjeta {card} en la lista {stack} en el tablero {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Has asignado a {assigneduser} la tarjeta {card} en el tablero {board}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} ha asignado a {assigneduser} la tarjeta {card} en el tablero {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Has quitado la asignación a {assigneduser} de la tarjeta {card} en el tablero {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} ha quitado la asignación a {assigneduser} de la tarjeta {card} en el tablero {board}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Has movido la tarjeta {card} de la lista {stackBefore} a {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} ha movido la tarjeta {card} de la lista {stackBefore} a {stack}",
"You have added the attachment {attachment} to card {card}" : "Has añadido el archivo {attachment} a la tarjeta {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} ha añadido el archivo {attachment} a la tarjeta {card}",
"You have updated the attachment {attachment} on card {card}" : "Has actualizado el archivo {attachment} en la tarjeta {card}",
"{user} has updated the attachment {attachment} on card {card}" : "{user} ha actualizado el archivo {attachment} en la tarjeta {card}",
"You have deleted the attachment {attachment} from card {card}" : "Has eliminado el archivo {attachment} de la tarjeta {card}",
"{user} has deleted the attachment {attachment} from card {card}" : "{user} ha eliminado el archivo {attachment} de la tarjeta {card}",
"You have restored the attachment {attachment} to card {card}" : "Has restaurado el archivo {attachment} a la tarjeta {card}",
"{user} has restored the attachment {attachment} to card {card}" : "{user} ha restaurado el archivo {attachment} a la tarjeta {card}",
"You have commented on card {card}" : "Has comentado en la tarjeta {card}",
"{user} has commented on card {card}" : "{user} ha comentado en la tarjeta {card}",
"A <strong>card description</strong> inside the Deck app has been changed" : "Se ha cambiado una <strong>descripción de la tarjeta</strong> en la aplicación Deck",
"Deck" : "Deck",
"Changes in the <strong>Deck app</strong>" : "Cambios en la aplicación <strong>Deck</strong>",
"A <strong>comment</strong> was created on a card" : "Se ha creado un <strong>comentario</strong> en una tarjeta",
"Upcoming cards" : "Tarjetas próximas",
"Load more" : "Cargar más",
"Personal" : "Personal",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "La tarjeta \"%s\" en \"%s\" te ha sido asignada por %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} te ha asignado la tarjeta {deck-card} en {deck-board}.",
"The card \"%s\" on \"%s\" has reached its due date." : "La tarjeta \"%s\" en \"%s\" ha alacanzado su fecha de entrega",
"The card {deck-card} on {deck-board} has reached its due date." : "La tarjeta {deck-card} en {deck-board} ha alcanzado su fecha de vencimiento.",
"%s has mentioned you in a comment on \"%s\"." : "%s te ha mencionado en un comentario en \"%s\".",
"{user} has mentioned you in a comment on {deck-card}." : "{user} te ha mencionado en un comentario en {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "El tablero \"%s\" ha sido compartido contigo por %s.",
"{user} has shared {deck-board} with you." : "{user} ha compartido contigo {deck-board}.",
"Deck board" : "Tablero de Deck",
"Owned by %1$s" : "Perteneciente a %1$s",
"Deck boards, cards and comments" : "Tableros de Deck, tarjetas y comentarios",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "De %1$s, en %2$s/%3$s, perteneciente a %4$s",
"Card comments" : "Comentarios de tarjetas",
"%s on %s" : "%s en %s",
"Deck boards and cards" : "Tableros y tarjetas de Deck",
"No data was provided to create an attachment." : "No se proporcionaron datos para crear un archivo adjunto.",
"Finished" : "Terminado",
"To review" : "Para revisar",
"Action needed" : "Acción requerida",
"Later" : "Después",
"copy" : "copia",
"To do" : "Por hacer",
"Doing" : "Haciendo",
"Done" : "Terminado",
"Example Task 3" : "Tarea de ejemplo 3",
"Example Task 2" : "Tarea de ejemplo 2",
"Example Task 1" : "Tarea de ejemplo 1",
"The file was uploaded" : "El archivo fue cargado",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
@@ -105,217 +19,47 @@ OC.L10N.register(
"Missing a temporary folder" : "Falta una carpeta temporal",
"Could not write file to disk" : "No fue posible escribir a disco",
"A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo",
"No file uploaded or file size exceeds maximum of %s" : "No se ha subido ningún archivo o el tamaño del archivo supera el máximo de %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Este comentario tiene más de %s caracteres.\n Añadido como un archivo adjunto a la tarjeta con el nombre %s.\n Accesible en la URL: %s.",
"Card not found" : "No se encontró la tarjeta",
"Path is already shared with this card" : "La ruta ya está compartida con esta tarjeta",
"Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
"Personal planning and team project organization" : "Planificación personal y organización de proyectos en equipo",
"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 es una herramienta de organización estilo Kanban destinada a la planificación personal y la organización de proyectos en equipo integrada con Nextcloud.\n \n \n - 📥 Añade tus tareas a tarjetas y ordénalas\n - 📄 Toma notas adicionales en Markdown\n - 🔖 Asigna etiquetas para una mejor organización\n - 👥 Comparte con tu equipo, amigos o familia\n - 📎 Adjunta archivos e incrustarlos en tu descripción en Markdown\n - 💬 Discute con tu equipo usando comentarios\n - ⚡ Sigue los cambios en el flujo de actividad\n - 🚀 Organiza tu proyecto",
"Add board" : "Agregar tablero",
"Select the board to link to a project" : "Selecciona el tablero para vincularlo a un proyecto",
"Search by board title" : "Buscar por título del tablero",
"Select board" : "Seleccionar tablero",
"Create a new card" : "Crear una nueva tarjeta",
"Select a board" : "Seleccionar un tablero",
"Select a list" : "Seleccionar una lista",
"Card title" : "Título de la tarjeta",
"Cancel" : "Cancelar",
"Creating the new card …" : "Creando la nueva tarjeta …",
"Card \"{card}\" was added to \"{board}\"" : "La tarjeta \"{card}\" se ha añadido a \"{board}\"",
"Open card" : "Abrir tarjeta",
"Close" : "Cerrar",
"Create card" : "Crear tarjeta",
"Select a card" : "Seleccionar una tarjeta",
"Select the card to link to a project" : "Selecciona la tarjeta para vincularla a un proyecto",
"Link to card" : "Vincular con tarjeta",
"File already exists" : "El archivo ya existe",
"A file with the name {filename} already exists." : "Ya existe un archivo con el nombre {filename}.",
"Do you want to overwrite it?" : "¿Deseas sobre escribirlo?",
"Overwrite file" : "Sobrescribir archivo",
"Keep existing file" : "Mantener el archivo existente",
"This board is read only" : "Este tablero es de solo lectura",
"Drop your files to upload" : "Suelta tus archivos para subirlos",
"Add card" : "Agregar tarjeta",
"Archived cards" : "Tarjetas archivadas",
"Add list" : "Agregar lista",
"List name" : "Nombre de la lista",
"Active filters" : "Filtros activos",
"Apply filter" : "Aplicar filtro",
"Filter by tag" : "Filtrar por etiqueta",
"Filter by assigned user" : "Filtrar por usuario asignado",
"Unassigned" : "No asignado",
"Filter by due date" : "Filtrar por fecha de vencimiento",
"Overdue" : "Atrasado",
"Next 24 hours" : "Próximas 24 horas",
"Next 7 days" : "Próximos 7 días",
"Next 30 days" : "Próximos 30 días",
"No due date" : "Sin fecha de vencimiento",
"Clear filter" : "Borrar filtro",
"Hide archived cards" : "Ocultar tarjetas archivadas",
"Show archived cards" : "Mostrar tarjetas archivadas",
"Toggle compact mode" : "Activar modo compacto",
"Open details" : "Abrir detalles.",
"Details" : "Detalles",
"Currently present people" : "Personas actualmente presentes",
"Loading board" : "Cargando tablero",
"No lists available" : "No hay listas disponibles",
"Create a new list to add cards to this board" : "Crea una nueva lista para añadir tarjetas a este tablero",
"Board not found" : "No se encontró el tablero",
"Sharing" : "Compartiendo",
"Tags" : "Etiquetas",
"Deleted items" : "Elementos eliminados",
"Timeline" : "Línea de tiempo",
"Deleted lists" : "Listas eliminadas",
"Undo" : "Deshacer",
"Deleted cards" : "Tarjetas eliminadas",
"Share board with a user, group or circle …" : "Compartir tablero con un usuario, grupo o círculo …",
"Searching for users, groups and circles …" : "Buscando usuarios, grupos y círculos …",
"No participants found" : "No se encontraron participantes",
"Board owner" : "Propietario del tablero",
"(Group)" : "(Grupo)",
"(Circle)" : "(Círculo)",
"Can edit" : "Puede editar",
"Can share" : "Puede compartir",
"Can manage" : "Puede gestionar",
"Owner" : "Dueño",
"Delete" : "Borrar",
"Failed to create share with {displayName}" : "Error al crear el uso compartido con {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "¿Estás seguro de que quieres transferir el tablero {title} a {user}?",
"Transfer the board." : "Transferir el tablero.",
"Transfer" : "Transferencia",
"The board has been transferred to {user}" : "El tablero se ha transferido a {user}",
"Failed to transfer the board to {user}" : "Error al transferir el tablero a {user}",
"Edit list title" : "Editar título de la lista",
"Archive all cards" : "Archivar todas las tarjetas",
"Unarchive all cards" : "Desarchivar todas las tarjetas",
"Delete list" : "Eliminar lista",
"Archive all cards in this list" : "Archivar todas las tarjetas en esta lista",
"Unarchive all cards in this list" : "Desarchivar todas las tarjetas en esta lista",
"Add a new card" : "Añadir una nueva tarjeta",
"Card name" : "Nombre de la tarjeta",
"List deleted" : "Lista eliminada",
"Edit" : "Editar",
"Add a new tag" : "Añadir una nueva etiqueta",
"title and color value must be provided" : "Debe proporcionarse el título y el valor del color",
"Board name" : "Nombre del tablero",
"Members" : "Miembros",
"Upload new files" : "Subir nuevos archivos",
"Share from Files" : "Compartir desde Archivos",
"Pending share" : "Uso compartido pendiente",
"Add this attachment" : "Añadir este archivo adjunto",
"Show in Files" : "Mostrar en Archivos",
"Download" : "Descargar",
"Remove attachment" : "Eliminar archivo adjunto",
"Delete Attachment" : "Eliminar adjunto",
"Restore Attachment" : "Restaurar adjunto",
"File to share" : "Archivo para compartir",
"Invalid path selected" : "Ruta seleccionada no válida.",
"Open in sidebar view" : "Abrir en vista de barra lateral",
"Open in bigger view" : "Abrir en vista más grande",
"Attachments" : "Adjuntos",
"Comments" : "Comentarios",
"Modified" : "Modificado",
"Created" : "Creado",
"The title cannot be empty." : "El título no puede estar vacío.",
"No comments yet. Begin the discussion!" : "Aún no hay comentarios. ¡Inicia la discusión!",
"Failed to load comments" : "Error al cargar los comentarios",
"Assign a tag to this card…" : "Asignar una etiqueta a esta tarjeta…",
"Assign to users" : "Asignar a usuarios",
"Assign to users/groups/circles" : "Asignar a usuarios/grupos/círculos",
"Assign a user to this card…" : "Asignar un usuario a esta tarjeta…",
"Due date" : "Fecha de vencimiento",
"Set a due date" : "Establecer una fecha de vencimiento",
"Remove due date" : "Eliminar fecha de expiración",
"Select Date" : "Seleccionar 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.",
"In reply to" : "En respuesta a",
"Cancel reply" : "Cancelar respuesta",
"Reply" : "Responder",
"Update" : "Actualizar",
"Description" : "Descripción",
"(Unsaved)" : "(No guardado)",
"(Saving…)" : "(Guardando…)",
"Formatting help" : "Ayuda de formato",
"Edit description" : "Editar descripción",
"View description" : "Ver descripción",
"Add Attachment" : "Añadir adjunto",
"Write a description …" : "Escribir una descripción …",
"Choose attachment" : "Elegir adjunto",
"(group)" : "(grupo)",
"Todo items" : "Elementos pendientes",
"{count} comments, {unread} unread" : "{count} comentarios, {unread} sin leer",
"Edit card title" : "Editar título de la tarjeta",
"Assign to me" : "Asignarme la tarjeta",
"Unassign myself" : "Desasignarme la tarjeta",
"Move card" : "Mover tarjeta",
"Card details" : "Detalles de la tarjeta",
"Unarchive card" : "Desarchivar tarjeta",
"Archive card" : "Archivar tarjeta",
"Delete card" : "Eliminar tarjeta",
"Move card to another board" : "Mover tarjeta a otro tablero",
"List is empty" : "La lista está vacía",
"Card deleted" : "Tarjeta eliminada",
"seconds ago" : "hace segundos",
"All boards" : "Todos los tableros",
"Archived boards" : "Tableros archivados",
"Shared with you" : "Compartido con usted",
"Deck settings" : "Configuración de Deck",
"Use bigger card view" : "Usar vista de tarjeta más grande",
"Show card ID badge" : "Mostrar identificación de la tarjeta",
"Show boards in calendar/tasks" : "Mostrar tableros en calendario/tareas",
"Limit deck usage of groups" : "Limitar uso de Deck a grupos",
"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." : "Limitar Deck bloqueará a los usuarios que no formen parte de esos grupos para que no puedan crear sus propios tableros. Los usuarios aún podrán trabajar en tableros que se hayan compartido con ellos.",
"Board details" : "Detalles del tablero",
"Edit board" : "Editar el tablero",
"Clone board" : "Clonar tablero",
"Unarchive board" : "Desarchivar tablero",
"Archive board" : "Archivar tablero",
"Export board" : "Exportar tablero",
"Turn on due date reminders" : "Activar recordatorios de fecha de vencimiento",
"Turn off due date reminders" : "Desactivar recordatorios de fecha de vencimiento",
"Due date reminders" : "Recordatorios de fecha de vencimiento",
"All cards" : "Todas las tarjetas",
"Assigned cards" : "Tarjetas asignadas",
"No notifications" : "No hay notificaciones",
"Delete board" : "Borrar tableros",
"Board {0} deleted" : "Tablero {0} eliminado",
"Only assigned cards" : "Sólo tarjetas asignadas",
"No reminder" : "Sin recordatorio",
"An error occurred" : "Se produjo un error",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "¿Estás seguro de que quieres eliminar el tablero {title}? Esto eliminará todos los datos de este tablero, incluidas las tarjetas archivadas.",
"Delete the board?" : "¿Eliminar el tablero?",
"Loading filtered view" : "Cargando vista filtrada",
"No due" : "Sin vencimiento",
"Search for {searchQuery} in all boards" : "Buscar {searchQuery} en todos los tableros",
"No results found" : "No se encontraron resultados",
"Deck board {name}\n* Last modified on {lastMod}" : "Tablero de Deck {name}\n * Última modificación el {lastMod}",
"{stack} in {board}" : "{stack} en {board}",
"Click to expand description" : "Haz clic para expandir la descripción",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creado el {created}\n * Última modificación el {lastMod}\n * {nbAttachments} adjuntos\n * {nbComments} comentarios",
"{nbCards} cards" : "{nbCards} tarjetas",
"Click to expand comment" : "Haz clic para expandir el comentario",
"No upcoming cards" : "No hay tarjetas próximas",
"upcoming cards" : "tarjetas próximas",
"New card" : "Nueva tarjeta",
"Due on {date}" : "Vence el {date}",
"Link to a board" : "Vincular a un tablero",
"Link to a card" : "Vincular a una tarjeta",
"Create a card" : "Crear una tarjeta",
"Message from {author} in {conversationName}" : "Mensaje de {author} en {conversationName}",
"Something went wrong" : "Algo salió mal",
"Failed to upload {name}" : "Error al subir {name}",
"Maximum file size of {size} exceeded" : "Tamaño máximo de archivo de {size} excedido",
"Error creating the share" : "Error al crear la compartición",
"Share with a Deck card" : "Compartir con una tarjeta de Deck",
"Share {file} with a Deck card" : "Compartir {file} con una tarjeta de Deck",
"Share" : "Compartir",
"Add a new list" : "Añadir una nueva lista"
"Share" : "Compartir"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");

View File

@@ -1,100 +1,14 @@
{ "translations": {
"You have created a new board {board}" : "Has creado un nuevo tablero {board}",
"{user} has created a new board {board}" : "{user} ha creado un nuevo tablero {board}",
"You have deleted the board {board}" : "Has eliminado el tablero {board}",
"{user} has deleted the board {board}" : "{user} ha eliminado el tablero {board}",
"You have restored the board {board}" : "Has restaurado el tablero {board}",
"{user} has restored the board {board}" : "{user} ha restaurado el tablero {board}",
"You have shared the board {board} with {acl}" : "Has compartido el tablero {board} con {acl}",
"{user} has shared the board {board} with {acl}" : "{user} ha compartido el tablero {board} con {acl}",
"You have removed {acl} from the board {board}" : "Has eliminado {acl} del tablero {board}",
"{user} has removed {acl} from the board {board}" : "{user} ha eliminado {acl} del tablero {board}",
"You have renamed the board {before} to {board}" : "Has cambiado el nombre del tablero {before} a {board}",
"{user} has renamed the board {before} to {board}" : "{user} ha cambiado el nombre del tablero {before} a {board}",
"You have archived the board {board}" : "Has archivado el tablero {board}",
"{user} has archived the board {before}" : "{user} ha archivado el tablero {before}",
"You have unarchived the board {board}" : "Has desarchivado el tablero {board}",
"{user} has unarchived the board {before}" : "{user} ha desarchivado el tablero {before}",
"You have created a new list {stack} on board {board}" : "Has creado una nueva lista {stack} en el tablero {board}",
"{user} has created a new list {stack} on board {board}" : "{user} ha creado una nueva lista {stack} en el tablero {board}",
"You have renamed list {before} to {stack} on board {board}" : "Has cambiado el nombre de la lista {before} a {stack} en el tablero {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} ha cambiado el nombre de la lista {before} a {stack} en el tablero {board}",
"You have deleted list {stack} on board {board}" : "Has eliminado la lista {stack} en el tablero {board}",
"{user} has deleted list {stack} on board {board}" : "{user} ha eliminado la lista {stack} en el tablero {board}",
"You have created card {card} in list {stack} on board {board}" : "Has creado la tarjeta {card} en la lista {stack} en el tablero {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} ha creado la tarjeta {card} en la lista {stack} en el tablero {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Has eliminado la tarjeta {card} en la lista {stack} en el tablero {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} ha eliminado la tarjeta {card} en la lista {stack} en el tablero {board}",
"You have renamed the card {before} to {card}" : "Has cambiado el nombre de la tarjeta {before} a {card}",
"{user} has renamed the card {before} to {card}" : "{user} ha cambiado el nombre de la tarjeta {before} a {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Has añadido una descripción a la tarjeta {card} en la lista {stack} en el tablero {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} ha añadido una descripción a la tarjeta {card} en la lista {stack} en el tablero {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Has actualizado la descripción de la tarjeta {card} en la lista {stack} en el tablero {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} ha actualizado la descripción de la tarjeta {card} en la lista {stack} en el tablero {board}",
"You have archived card {card} in list {stack} on board {board}" : "Has archivado la tarjeta {card} en la lista {stack} en el tablero {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} ha archivado la tarjeta {card} en la lista {stack} en el tablero {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Has desarchivado la tarjeta {card} en la lista {stack} en el tablero {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} ha desarchivado la tarjeta {card} en la lista {stack} en el tablero {board}",
"You have removed the due date of card {card}" : "Has eliminado la fecha de vencimiento de la tarjeta {card}",
"{user} has removed the due date of card {card}" : "{user} ha eliminado la fecha de vencimiento de la tarjeta {card}",
"You have set the due date of card {card} to {after}" : "Has establecido la fecha de vencimiento de la tarjeta {card} a {after}",
"{user} has set the due date of card {card} to {after}" : "{user} ha establecido la fecha de vencimiento de la tarjeta {card} a {after}",
"You have updated the due date of card {card} to {after}" : "Has actualizado la fecha de vencimiento de la tarjeta {card} a {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} ha actualizado la fecha de vencimiento de la tarjeta {card} a {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Has añadido la etiqueta {label} a la tarjeta {card} en la lista {stack} en el tablero {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} ha añadido la etiqueta {label} a la tarjeta {card} en la lista {stack} en el tablero {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Has eliminado la etiqueta {label} de la tarjeta {card} en la lista {stack} en el tablero {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} ha eliminado la etiqueta {label} de la tarjeta {card} en la lista {stack} en el tablero {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Has asignado a {assigneduser} la tarjeta {card} en el tablero {board}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} ha asignado a {assigneduser} la tarjeta {card} en el tablero {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Has quitado la asignación a {assigneduser} de la tarjeta {card} en el tablero {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} ha quitado la asignación a {assigneduser} de la tarjeta {card} en el tablero {board}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Has movido la tarjeta {card} de la lista {stackBefore} a {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} ha movido la tarjeta {card} de la lista {stackBefore} a {stack}",
"You have added the attachment {attachment} to card {card}" : "Has añadido el archivo {attachment} a la tarjeta {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} ha añadido el archivo {attachment} a la tarjeta {card}",
"You have updated the attachment {attachment} on card {card}" : "Has actualizado el archivo {attachment} en la tarjeta {card}",
"{user} has updated the attachment {attachment} on card {card}" : "{user} ha actualizado el archivo {attachment} en la tarjeta {card}",
"You have deleted the attachment {attachment} from card {card}" : "Has eliminado el archivo {attachment} de la tarjeta {card}",
"{user} has deleted the attachment {attachment} from card {card}" : "{user} ha eliminado el archivo {attachment} de la tarjeta {card}",
"You have restored the attachment {attachment} to card {card}" : "Has restaurado el archivo {attachment} a la tarjeta {card}",
"{user} has restored the attachment {attachment} to card {card}" : "{user} ha restaurado el archivo {attachment} a la tarjeta {card}",
"You have commented on card {card}" : "Has comentado en la tarjeta {card}",
"{user} has commented on card {card}" : "{user} ha comentado en la tarjeta {card}",
"A <strong>card description</strong> inside the Deck app has been changed" : "Se ha cambiado una <strong>descripción de la tarjeta</strong> en la aplicación Deck",
"Deck" : "Deck",
"Changes in the <strong>Deck app</strong>" : "Cambios en la aplicación <strong>Deck</strong>",
"A <strong>comment</strong> was created on a card" : "Se ha creado un <strong>comentario</strong> en una tarjeta",
"Upcoming cards" : "Tarjetas próximas",
"Load more" : "Cargar más",
"Personal" : "Personal",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "La tarjeta \"%s\" en \"%s\" te ha sido asignada por %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} te ha asignado la tarjeta {deck-card} en {deck-board}.",
"The card \"%s\" on \"%s\" has reached its due date." : "La tarjeta \"%s\" en \"%s\" ha alacanzado su fecha de entrega",
"The card {deck-card} on {deck-board} has reached its due date." : "La tarjeta {deck-card} en {deck-board} ha alcanzado su fecha de vencimiento.",
"%s has mentioned you in a comment on \"%s\"." : "%s te ha mencionado en un comentario en \"%s\".",
"{user} has mentioned you in a comment on {deck-card}." : "{user} te ha mencionado en un comentario en {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "El tablero \"%s\" ha sido compartido contigo por %s.",
"{user} has shared {deck-board} with you." : "{user} ha compartido contigo {deck-board}.",
"Deck board" : "Tablero de Deck",
"Owned by %1$s" : "Perteneciente a %1$s",
"Deck boards, cards and comments" : "Tableros de Deck, tarjetas y comentarios",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "De %1$s, en %2$s/%3$s, perteneciente a %4$s",
"Card comments" : "Comentarios de tarjetas",
"%s on %s" : "%s en %s",
"Deck boards and cards" : "Tableros y tarjetas de Deck",
"No data was provided to create an attachment." : "No se proporcionaron datos para crear un archivo adjunto.",
"Finished" : "Terminado",
"To review" : "Para revisar",
"Action needed" : "Acción requerida",
"Later" : "Después",
"copy" : "copia",
"To do" : "Por hacer",
"Doing" : "Haciendo",
"Done" : "Terminado",
"Example Task 3" : "Tarea de ejemplo 3",
"Example Task 2" : "Tarea de ejemplo 2",
"Example Task 1" : "Tarea de ejemplo 1",
"The file was uploaded" : "El archivo fue cargado",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
@@ -103,217 +17,47 @@
"Missing a temporary folder" : "Falta una carpeta temporal",
"Could not write file to disk" : "No fue posible escribir a disco",
"A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo",
"No file uploaded or file size exceeds maximum of %s" : "No se ha subido ningún archivo o el tamaño del archivo supera el máximo de %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Este comentario tiene más de %s caracteres.\n Añadido como un archivo adjunto a la tarjeta con el nombre %s.\n Accesible en la URL: %s.",
"Card not found" : "No se encontró la tarjeta",
"Path is already shared with this card" : "La ruta ya está compartida con esta tarjeta",
"Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
"Personal planning and team project organization" : "Planificación personal y organización de proyectos en equipo",
"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 es una herramienta de organización estilo Kanban destinada a la planificación personal y la organización de proyectos en equipo integrada con Nextcloud.\n \n \n - 📥 Añade tus tareas a tarjetas y ordénalas\n - 📄 Toma notas adicionales en Markdown\n - 🔖 Asigna etiquetas para una mejor organización\n - 👥 Comparte con tu equipo, amigos o familia\n - 📎 Adjunta archivos e incrustarlos en tu descripción en Markdown\n - 💬 Discute con tu equipo usando comentarios\n - ⚡ Sigue los cambios en el flujo de actividad\n - 🚀 Organiza tu proyecto",
"Add board" : "Agregar tablero",
"Select the board to link to a project" : "Selecciona el tablero para vincularlo a un proyecto",
"Search by board title" : "Buscar por título del tablero",
"Select board" : "Seleccionar tablero",
"Create a new card" : "Crear una nueva tarjeta",
"Select a board" : "Seleccionar un tablero",
"Select a list" : "Seleccionar una lista",
"Card title" : "Título de la tarjeta",
"Cancel" : "Cancelar",
"Creating the new card …" : "Creando la nueva tarjeta …",
"Card \"{card}\" was added to \"{board}\"" : "La tarjeta \"{card}\" se ha añadido a \"{board}\"",
"Open card" : "Abrir tarjeta",
"Close" : "Cerrar",
"Create card" : "Crear tarjeta",
"Select a card" : "Seleccionar una tarjeta",
"Select the card to link to a project" : "Selecciona la tarjeta para vincularla a un proyecto",
"Link to card" : "Vincular con tarjeta",
"File already exists" : "El archivo ya existe",
"A file with the name {filename} already exists." : "Ya existe un archivo con el nombre {filename}.",
"Do you want to overwrite it?" : "¿Deseas sobre escribirlo?",
"Overwrite file" : "Sobrescribir archivo",
"Keep existing file" : "Mantener el archivo existente",
"This board is read only" : "Este tablero es de solo lectura",
"Drop your files to upload" : "Suelta tus archivos para subirlos",
"Add card" : "Agregar tarjeta",
"Archived cards" : "Tarjetas archivadas",
"Add list" : "Agregar lista",
"List name" : "Nombre de la lista",
"Active filters" : "Filtros activos",
"Apply filter" : "Aplicar filtro",
"Filter by tag" : "Filtrar por etiqueta",
"Filter by assigned user" : "Filtrar por usuario asignado",
"Unassigned" : "No asignado",
"Filter by due date" : "Filtrar por fecha de vencimiento",
"Overdue" : "Atrasado",
"Next 24 hours" : "Próximas 24 horas",
"Next 7 days" : "Próximos 7 días",
"Next 30 days" : "Próximos 30 días",
"No due date" : "Sin fecha de vencimiento",
"Clear filter" : "Borrar filtro",
"Hide archived cards" : "Ocultar tarjetas archivadas",
"Show archived cards" : "Mostrar tarjetas archivadas",
"Toggle compact mode" : "Activar modo compacto",
"Open details" : "Abrir detalles.",
"Details" : "Detalles",
"Currently present people" : "Personas actualmente presentes",
"Loading board" : "Cargando tablero",
"No lists available" : "No hay listas disponibles",
"Create a new list to add cards to this board" : "Crea una nueva lista para añadir tarjetas a este tablero",
"Board not found" : "No se encontró el tablero",
"Sharing" : "Compartiendo",
"Tags" : "Etiquetas",
"Deleted items" : "Elementos eliminados",
"Timeline" : "Línea de tiempo",
"Deleted lists" : "Listas eliminadas",
"Undo" : "Deshacer",
"Deleted cards" : "Tarjetas eliminadas",
"Share board with a user, group or circle …" : "Compartir tablero con un usuario, grupo o círculo …",
"Searching for users, groups and circles …" : "Buscando usuarios, grupos y círculos …",
"No participants found" : "No se encontraron participantes",
"Board owner" : "Propietario del tablero",
"(Group)" : "(Grupo)",
"(Circle)" : "(Círculo)",
"Can edit" : "Puede editar",
"Can share" : "Puede compartir",
"Can manage" : "Puede gestionar",
"Owner" : "Dueño",
"Delete" : "Borrar",
"Failed to create share with {displayName}" : "Error al crear el uso compartido con {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "¿Estás seguro de que quieres transferir el tablero {title} a {user}?",
"Transfer the board." : "Transferir el tablero.",
"Transfer" : "Transferencia",
"The board has been transferred to {user}" : "El tablero se ha transferido a {user}",
"Failed to transfer the board to {user}" : "Error al transferir el tablero a {user}",
"Edit list title" : "Editar título de la lista",
"Archive all cards" : "Archivar todas las tarjetas",
"Unarchive all cards" : "Desarchivar todas las tarjetas",
"Delete list" : "Eliminar lista",
"Archive all cards in this list" : "Archivar todas las tarjetas en esta lista",
"Unarchive all cards in this list" : "Desarchivar todas las tarjetas en esta lista",
"Add a new card" : "Añadir una nueva tarjeta",
"Card name" : "Nombre de la tarjeta",
"List deleted" : "Lista eliminada",
"Edit" : "Editar",
"Add a new tag" : "Añadir una nueva etiqueta",
"title and color value must be provided" : "Debe proporcionarse el título y el valor del color",
"Board name" : "Nombre del tablero",
"Members" : "Miembros",
"Upload new files" : "Subir nuevos archivos",
"Share from Files" : "Compartir desde Archivos",
"Pending share" : "Uso compartido pendiente",
"Add this attachment" : "Añadir este archivo adjunto",
"Show in Files" : "Mostrar en Archivos",
"Download" : "Descargar",
"Remove attachment" : "Eliminar archivo adjunto",
"Delete Attachment" : "Eliminar adjunto",
"Restore Attachment" : "Restaurar adjunto",
"File to share" : "Archivo para compartir",
"Invalid path selected" : "Ruta seleccionada no válida.",
"Open in sidebar view" : "Abrir en vista de barra lateral",
"Open in bigger view" : "Abrir en vista más grande",
"Attachments" : "Adjuntos",
"Comments" : "Comentarios",
"Modified" : "Modificado",
"Created" : "Creado",
"The title cannot be empty." : "El título no puede estar vacío.",
"No comments yet. Begin the discussion!" : "Aún no hay comentarios. ¡Inicia la discusión!",
"Failed to load comments" : "Error al cargar los comentarios",
"Assign a tag to this card…" : "Asignar una etiqueta a esta tarjeta…",
"Assign to users" : "Asignar a usuarios",
"Assign to users/groups/circles" : "Asignar a usuarios/grupos/círculos",
"Assign a user to this card…" : "Asignar un usuario a esta tarjeta…",
"Due date" : "Fecha de vencimiento",
"Set a due date" : "Establecer una fecha de vencimiento",
"Remove due date" : "Eliminar fecha de expiración",
"Select Date" : "Seleccionar 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.",
"In reply to" : "En respuesta a",
"Cancel reply" : "Cancelar respuesta",
"Reply" : "Responder",
"Update" : "Actualizar",
"Description" : "Descripción",
"(Unsaved)" : "(No guardado)",
"(Saving…)" : "(Guardando…)",
"Formatting help" : "Ayuda de formato",
"Edit description" : "Editar descripción",
"View description" : "Ver descripción",
"Add Attachment" : "Añadir adjunto",
"Write a description …" : "Escribir una descripción …",
"Choose attachment" : "Elegir adjunto",
"(group)" : "(grupo)",
"Todo items" : "Elementos pendientes",
"{count} comments, {unread} unread" : "{count} comentarios, {unread} sin leer",
"Edit card title" : "Editar título de la tarjeta",
"Assign to me" : "Asignarme la tarjeta",
"Unassign myself" : "Desasignarme la tarjeta",
"Move card" : "Mover tarjeta",
"Card details" : "Detalles de la tarjeta",
"Unarchive card" : "Desarchivar tarjeta",
"Archive card" : "Archivar tarjeta",
"Delete card" : "Eliminar tarjeta",
"Move card to another board" : "Mover tarjeta a otro tablero",
"List is empty" : "La lista está vacía",
"Card deleted" : "Tarjeta eliminada",
"seconds ago" : "hace segundos",
"All boards" : "Todos los tableros",
"Archived boards" : "Tableros archivados",
"Shared with you" : "Compartido con usted",
"Deck settings" : "Configuración de Deck",
"Use bigger card view" : "Usar vista de tarjeta más grande",
"Show card ID badge" : "Mostrar identificación de la tarjeta",
"Show boards in calendar/tasks" : "Mostrar tableros en calendario/tareas",
"Limit deck usage of groups" : "Limitar uso de Deck a grupos",
"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." : "Limitar Deck bloqueará a los usuarios que no formen parte de esos grupos para que no puedan crear sus propios tableros. Los usuarios aún podrán trabajar en tableros que se hayan compartido con ellos.",
"Board details" : "Detalles del tablero",
"Edit board" : "Editar el tablero",
"Clone board" : "Clonar tablero",
"Unarchive board" : "Desarchivar tablero",
"Archive board" : "Archivar tablero",
"Export board" : "Exportar tablero",
"Turn on due date reminders" : "Activar recordatorios de fecha de vencimiento",
"Turn off due date reminders" : "Desactivar recordatorios de fecha de vencimiento",
"Due date reminders" : "Recordatorios de fecha de vencimiento",
"All cards" : "Todas las tarjetas",
"Assigned cards" : "Tarjetas asignadas",
"No notifications" : "No hay notificaciones",
"Delete board" : "Borrar tableros",
"Board {0} deleted" : "Tablero {0} eliminado",
"Only assigned cards" : "Sólo tarjetas asignadas",
"No reminder" : "Sin recordatorio",
"An error occurred" : "Se produjo un error",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "¿Estás seguro de que quieres eliminar el tablero {title}? Esto eliminará todos los datos de este tablero, incluidas las tarjetas archivadas.",
"Delete the board?" : "¿Eliminar el tablero?",
"Loading filtered view" : "Cargando vista filtrada",
"No due" : "Sin vencimiento",
"Search for {searchQuery} in all boards" : "Buscar {searchQuery} en todos los tableros",
"No results found" : "No se encontraron resultados",
"Deck board {name}\n* Last modified on {lastMod}" : "Tablero de Deck {name}\n * Última modificación el {lastMod}",
"{stack} in {board}" : "{stack} en {board}",
"Click to expand description" : "Haz clic para expandir la descripción",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creado el {created}\n * Última modificación el {lastMod}\n * {nbAttachments} adjuntos\n * {nbComments} comentarios",
"{nbCards} cards" : "{nbCards} tarjetas",
"Click to expand comment" : "Haz clic para expandir el comentario",
"No upcoming cards" : "No hay tarjetas próximas",
"upcoming cards" : "tarjetas próximas",
"New card" : "Nueva tarjeta",
"Due on {date}" : "Vence el {date}",
"Link to a board" : "Vincular a un tablero",
"Link to a card" : "Vincular a una tarjeta",
"Create a card" : "Crear una tarjeta",
"Message from {author} in {conversationName}" : "Mensaje de {author} en {conversationName}",
"Something went wrong" : "Algo salió mal",
"Failed to upload {name}" : "Error al subir {name}",
"Maximum file size of {size} exceeded" : "Tamaño máximo de archivo de {size} excedido",
"Error creating the share" : "Error al crear la compartición",
"Share with a Deck card" : "Compartir con una tarjeta de Deck",
"Share {file} with a Deck card" : "Compartir {file} con una tarjeta de Deck",
"Share" : "Compartir",
"Add a new list" : "Añadir una nueva lista"
"Share" : "Compartir"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}

View File

@@ -204,7 +204,7 @@ OC.L10N.register(
"Share from Files" : "Partekatu Fitxategiak-etik",
"Pending share" : "Partekatzeko zain",
"Add this attachment" : "Gehitu eranskin hau",
"Show in Files" : "Erakutsi Fitxategiak aplikazioan",
"Show in Files" : "Erakutsi fitxategietan",
"Download" : "Deskargatu",
"Remove attachment" : "Kendu eranskina",
"Delete Attachment" : "Ezabatu eranskina",

View File

@@ -202,7 +202,7 @@
"Share from Files" : "Partekatu Fitxategiak-etik",
"Pending share" : "Partekatzeko zain",
"Add this attachment" : "Gehitu eranskin hau",
"Show in Files" : "Erakutsi Fitxategiak aplikazioan",
"Show in Files" : "Erakutsi fitxategietan",
"Download" : "Deskargatu",
"Remove attachment" : "Kendu eranskina",
"Delete Attachment" : "Ezabatu eranskina",

View File

@@ -254,7 +254,6 @@ OC.L10N.register(
"Delete board" : "حذف تهته",
"An error occurred" : "خطایی روی داد",
"No results found" : "هیچ نتیجه ای یافت نشد",
"Message from {author} in {conversationName}" : "پیام از {author} در {conversationName}",
"Error creating the share" : "خطایی در ایجاد اشتراک",
"Share" : "هم‌رسانی",
"Add a new list" : "فهرست جدید بیفزایید!"

View File

@@ -252,7 +252,6 @@
"Delete board" : "حذف تهته",
"An error occurred" : "خطایی روی داد",
"No results found" : "هیچ نتیجه ای یافت نشد",
"Message from {author} in {conversationName}" : "پیام از {author} در {conversationName}",
"Error creating the share" : "خطایی در ایجاد اشتراک",
"Share" : "هم‌رسانی",
"Add a new list" : "فهرست جدید بیفزایید!"

View File

@@ -266,7 +266,7 @@ OC.L10N.register(
"All boards" : "Todos os taboleiros",
"Archived boards" : "Taboleiros arquivados",
"Shared with you" : "Compartido con Vde.",
"Deck settings" : "Axustes de Tarxeteiro",
"Deck settings" : "Axustes do Tarxeteiro",
"Use bigger card view" : "Usa a vista de tarxeta máis grande",
"Show card ID badge" : "Amosar o distintivo de identificación da tarxeta",
"Show boards in calendar/tasks" : "Amosar taboleiros no calendario/tarefas",
@@ -310,7 +310,7 @@ OC.L10N.register(
"Create a card" : "Crear unha tarxeta",
"Message from {author} in {conversationName}" : "Mensaxe de {author} en {conversationName}",
"Something went wrong" : "Algo foi mal",
"Failed to upload {name}" : "Produciuse un fallo ao enviar {name}",
"Failed to upload {name}" : "Produciuse un fallo ao actualizar {name}",
"Maximum file size of {size} exceeded" : "Excedeuse o tamaño máximo de ficheiro de {size}",
"Error creating the share" : "Produciuse un erro ao crear a compartición",
"Share with a Deck card" : "Compartir cunha tarxeta de Tarxeteiro",

View File

@@ -264,7 +264,7 @@
"All boards" : "Todos os taboleiros",
"Archived boards" : "Taboleiros arquivados",
"Shared with you" : "Compartido con Vde.",
"Deck settings" : "Axustes de Tarxeteiro",
"Deck settings" : "Axustes do Tarxeteiro",
"Use bigger card view" : "Usa a vista de tarxeta máis grande",
"Show card ID badge" : "Amosar o distintivo de identificación da tarxeta",
"Show boards in calendar/tasks" : "Amosar taboleiros no calendario/tarefas",
@@ -308,7 +308,7 @@
"Create a card" : "Crear unha tarxeta",
"Message from {author} in {conversationName}" : "Mensaxe de {author} en {conversationName}",
"Something went wrong" : "Algo foi mal",
"Failed to upload {name}" : "Produciuse un fallo ao enviar {name}",
"Failed to upload {name}" : "Produciuse un fallo ao actualizar {name}",
"Maximum file size of {size} exceeded" : "Excedeuse o tamaño máximo de ficheiro de {size}",
"Error creating the share" : "Produciuse un erro ao crear a compartición",
"Share with a Deck card" : "Compartir cunha tarxeta de Tarxeteiro",

View File

@@ -303,7 +303,6 @@ OC.L10N.register(
"Click to expand comment" : "Klikk for å utvide kommentaren",
"No upcoming cards" : "Ingen kommende kort",
"upcoming cards" : "kommende kort",
"New card" : "Nytt kort",
"Due on {date}" : "Utløper {date}",
"Link to a board" : "Lenke til tavle",
"Link to a card" : "Lenke til et kort",

View File

@@ -301,7 +301,6 @@
"Click to expand comment" : "Klikk for å utvide kommentaren",
"No upcoming cards" : "Ingen kommende kort",
"upcoming cards" : "kommende kort",
"New card" : "Nytt kort",
"Due on {date}" : "Utløper {date}",
"Link to a board" : "Lenke til tavle",
"Link to a card" : "Lenke til et kort",

View File

@@ -45,8 +45,8 @@ use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\Comments\IComment;
use OCP\IUser;
use OCP\Server;
use OCP\L10N\IFactory;
use OCP\Server;
use Psr\Log\LoggerInterface;
class ActivityManager {
@@ -332,8 +332,8 @@ class ActivityManager {
case self::SUBJECT_BOARD_UPDATE_ARCHIVED:
case self::SUBJECT_BOARD_DELETE:
case self::SUBJECT_BOARD_RESTORE:
// Not defined as there is no activity for
// case self::SUBJECT_BOARD_UPDATE_COLOR
// Not defined as there is no activity for
// case self::SUBJECT_BOARD_UPDATE_COLOR
break;
case self::SUBJECT_CARD_COMMENT_CREATE:
$eventType = 'deck_comment';
@@ -374,7 +374,7 @@ class ActivityManager {
$additionalParams['before'] = $additionalParams['before']->format('c');
}
break;
break;
case self::SUBJECT_ATTACHMENT_CREATE:
case self::SUBJECT_ATTACHMENT_UPDATE:
case self::SUBJECT_ATTACHMENT_DELETE:

View File

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

View File

@@ -26,6 +26,7 @@
namespace OCA\Deck\Activity;
use OCA\Deck\Db\Acl;
use OCA\Deck\Service\CardService;
use OCP\Activity\IEvent;
use OCP\Activity\IProvider;
use OCP\Comments\IComment;
@@ -35,7 +36,6 @@ use OCP\IConfig;
use OCP\IURLGenerator;
use OCP\IUserManager;
use OCP\L10N\IFactory;
use OCA\Deck\Service\CardService;
class DeckProvider implements IProvider {

View File

@@ -43,11 +43,11 @@ use OCA\Deck\Event\CardUpdatedEvent;
use OCA\Deck\Event\SessionClosedEvent;
use OCA\Deck\Event\SessionCreatedEvent;
use OCA\Deck\Listeners\BeforeTemplateRenderedListener;
use OCA\Deck\Listeners\ParticipantCleanupListener;
use OCA\Deck\Listeners\FullTextSearchEventListener;
use OCA\Deck\Listeners\LiveUpdateListener;
use OCA\Deck\Listeners\ParticipantCleanupListener;
use OCA\Deck\Listeners\ResourceAdditionalScriptsListener;
use OCA\Deck\Listeners\ResourceListener;
use OCA\Deck\Listeners\LiveUpdateListener;
use OCA\Deck\Middleware\DefaultBoardMiddleware;
use OCA\Deck\Middleware\ExceptionMiddleware;
use OCA\Deck\Notification\Notifier;

View File

@@ -46,12 +46,12 @@ class UserExport extends Command {
private $assignedUsersMapper;
public function __construct(BoardMapper $boardMapper,
BoardService $boardService,
StackMapper $stackMapper,
CardMapper $cardMapper,
AssignmentMapper $assignedUsersMapper,
IUserManager $userManager,
IGroupManager $groupManager) {
BoardService $boardService,
StackMapper $stackMapper,
CardMapper $cardMapper,
AssignmentMapper $assignedUsersMapper,
IUserManager $userManager,
IGroupManager $groupManager) {
parent::__construct();
$this->cardMapper = $cardMapper;
@@ -96,7 +96,7 @@ class UserExport extends Command {
$data[$board->getId()] = (array)$fullBoard->jsonSerialize();
$stacks = $this->stackMapper->findAll($board->getId());
foreach ($stacks as $stack) {
$data[$board->getId()]['stacks'][] = (array)$stack->jsonSerialize();
$data[$board->getId()]['stacks'][$stack->getId()] = (array)$stack->jsonSerialize();
$cards = $this->cardMapper->findAllByStack($stack->getId());
foreach ($cards as $card) {
$fullCard = $this->cardMapper->find($card->getId());

View File

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

View File

@@ -28,13 +28,12 @@ use OCP\AppFramework\Controller;
use OCP\IRequest;
class AttachmentController extends Controller {
/** @var AttachmentService */
private $attachmentService;
public function __construct($appName, IRequest $request, AttachmentService $attachmentService) {
public function __construct(
$appName,
IRequest $request,
private AttachmentService $attachmentService,
) {
parent::__construct($appName, $request);
$this->attachmentService = $attachmentService;
}
/**

View File

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

View File

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

View File

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

View File

@@ -23,36 +23,37 @@
*
*/
namespace OCA\Deck\Controller;
namespace OCA\Deck\Controller;
use OCA\Deck\Service\AssignmentService;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
use OCA\Deck\Service\CardService;
use OCA\Deck\Service\AssignmentService;
use OCA\Deck\Service\CardService;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
/**
* Class BoardApiController
*
* @package OCA\Deck\Controller
*/
/**
* Class BoardApiController
*
* @package OCA\Deck\Controller
*/
class CardApiController extends ApiController {
private $cardService;
private $userId;
private $assignmentService;
/**
* @param string $appName
* @param IRequest $request
* @param CardService $cardService
* @param AssignmentService $assignmentService
* @param $userId
*/
public function __construct($appName, IRequest $request, CardService $cardService, AssignmentService $assignmentService, $userId) {
public function __construct(
string $appName,
IRequest $request,
private CardService $cardService,
private AssignmentService $assignmentService,
private $userId,
) {
parent::__construct($appName, $request);
$this->cardService = $cardService;
$this->userId = $userId;
$this->assignmentService = $assignmentService;
}
/**

View File

@@ -25,19 +25,18 @@ namespace OCA\Deck\Controller;
use OCA\Deck\Service\AssignmentService;
use OCA\Deck\Service\CardService;
use OCP\IRequest;
use OCP\AppFramework\Controller;
use OCP\IRequest;
class CardController extends Controller {
private $userId;
private $cardService;
private $assignmentService;
public function __construct($appName, IRequest $request, CardService $cardService, AssignmentService $assignmentService, $userId) {
public function __construct(
$appName,
IRequest $request,
private CardService $cardService,
private AssignmentService $assignmentService,
private $userId,
) {
parent::__construct($appName, $request);
$this->userId = $userId;
$this->cardService = $cardService;
$this->assignmentService = $assignmentService;
}
/**

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -23,58 +23,44 @@
namespace OCA\Deck\Controller;
use \OCP\AppFramework\Http\RedirectResponse;
use OCA\Deck\AppInfo\Application;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Service\CardService;
use OCA\Deck\Service\ConfigService;
use OCA\Deck\Service\PermissionService;
use OCA\Files\Event\LoadSidebar;
use OCA\Text\Event\LoadEditor;
use OCA\Viewer\Event\LoadViewer;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\ContentSecurityPolicy;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\Collaboration\Resources\LoadAdditionalScriptsEvent as CollaborationResourcesEvent;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IConfig;
use OCP\IInitialStateService;
use OCP\IRequest;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\AppFramework\Controller;
use OCA\Deck\Db\CardMapper;
use OCP\IURLGenerator;
use \OCP\AppFramework\Http\RedirectResponse;
use OCA\Deck\Db\Acl;
use OCA\Deck\Service\CardService;
class PageController extends Controller {
private PermissionService $permissionService;
private IInitialStateService $initialState;
private ConfigService $configService;
private IEventDispatcher $eventDispatcher;
private CardMapper $cardMapper;
private IURLGenerator $urlGenerator;
private CardService $cardService;
private IConfig $config;
public function __construct(
string $AppName,
IRequest $request,
PermissionService $permissionService,
private PermissionService $permissionService,
IInitialStateService $initialStateService,
ConfigService $configService,
IEventDispatcher $eventDispatcher,
CardMapper $cardMapper,
IURLGenerator $urlGenerator,
CardService $cardService,
IConfig $config
) {
private ConfigService $configService,
private IEventDispatcher $eventDispatcher,
private CardMapper $cardMapper,
private IURLGenerator $urlGenerator,
private CardService $cardService,
private IConfig $config,
) {
parent::__construct($AppName, $request);
$this->permissionService = $permissionService;
$this->initialState = $initialStateService;
$this->configService = $configService;
$this->eventDispatcher = $eventDispatcher;
$this->cardMapper = $cardMapper;
$this->urlGenerator = $urlGenerator;
$this->cardService = $cardService;
$this->config = $config;
}
/**

View File

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

View File

@@ -24,30 +24,23 @@ declare(strict_types=1);
namespace OCA\Deck\Controller;
use OCA\Deck\Service\SessionService;
use OCA\Deck\Service\PermissionService;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Service\PermissionService;
use OCA\Deck\Service\SessionService;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\OCSController;
use OCP\IRequest;
use OCA\Deck\Db\Acl;
class SessionController extends OCSController {
private SessionService $sessionService;
private PermissionService $permissionService;
private BoardMapper $boardMapper;
public function __construct($appName,
IRequest $request,
SessionService $sessionService,
PermissionService $permissionService,
BoardMapper $boardMapper
private SessionService $sessionService,
private PermissionService $permissionService,
private BoardMapper $boardMapper,
) {
parent::__construct($appName, $request);
$this->sessionService = $sessionService;
$this->permissionService = $permissionService;
$this->boardMapper = $boardMapper;
}
/**

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -29,8 +29,8 @@ 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 OCP\IUserManager;
use Psr\Log\LoggerInterface;
/** @template-extends QBMapper<Board> */
@@ -106,36 +106,28 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
}
public function findBoardIds(string $userId): array {
// Owned by the user
$qb = $this->db->getQueryBuilder();
$qb->selectDistinct('b.id')
->from($this->getTableName(), 'b')
->where($qb->expr()->andX(
$qb->expr()->eq('owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)),
));
$result = $qb->executeQuery();
$ownerBoards = array_map(function (string $id) {
return (int)$id;
}, $result->fetchAll(\PDO::FETCH_COLUMN));
$result->closeCursor();
->leftJoin('b', 'deck_board_acl', 'acl', $qb->expr()->eq('b.id', 'acl.board_id'));
$qb = $this->db->getQueryBuilder();
$qb->selectDistinct('b.id')
->from($this->getTableName(), 'b')
->innerJoin('b', 'deck_board_acl', 'acl', $qb->expr()->eq('b.id', 'acl.board_id'));
// Owned by the user
$qb->where($qb->expr()->andX(
$qb->expr()->eq('owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)),
));
// Shared to the user
$qb->where($qb->expr()->andX(
$qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_USER, IQueryBuilder::PARAM_INT)),
$qb->orWhere($qb->expr()->andX(
$qb->expr()->eq('acl.participant', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)),
$qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_USER, IQueryBuilder::PARAM_INT)),
));
// Shared to user groups of the user
$groupIds = $this->groupManager->getUserGroupIds($this->userManager->get($userId));
if (count($groupIds) !== 0) {
$qb->orWhere($qb->expr()->andX(
$qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_GROUP, IQueryBuilder::PARAM_INT)),
$qb->expr()->in('acl.participant', $qb->createNamedParameter($groupIds, IQueryBuilder::PARAM_STR_ARRAY)),
$qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_GROUP, IQueryBuilder::PARAM_INT)),
));
}
@@ -143,21 +135,19 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
$circles = $this->circlesService->getUserCircles($userId);
if (count($circles) !== 0) {
$qb->orWhere($qb->expr()->andX(
$qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_CIRCLE, IQueryBuilder::PARAM_INT)),
$qb->expr()->in('acl.participant', $qb->createNamedParameter($circles, IQueryBuilder::PARAM_STR_ARRAY)),
$qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_CIRCLE, IQueryBuilder::PARAM_INT)),
));
}
$result = $qb->executeQuery();
$sharedBoards = array_map(function (string $id) {
return array_map(function (string $id) {
return (int)$id;
}, $result->fetchAll(\PDO::FETCH_COLUMN));
$result->closeCursor();
return array_unique(array_merge($ownerBoards, $sharedBoards));
}
public function findAllForUser(string $userId, ?int $since = null, bool $includeArchived = true, ?int $before = null,
?string $term = null): array {
?string $term = null): array {
$useCache = ($since === -1 && $includeArchived === true && $before === null && $term === null);
if (!isset($this->userBoardCache[$userId]) || !$useCache) {
$groups = $this->groupManager->getUserGroupIds(
@@ -196,7 +186,7 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
* Find all boards for a given user
*/
public function findAllByUser(string $userId, ?int $limit = null, ?int $offset = null, ?int $since = null,
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
// FIXME this used to be a UNION to get boards owned by $userId and the user shares in one single query
// Is it possible with the query builder?
$qb = $this->db->getQueryBuilder();
@@ -303,7 +293,7 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
* Find all boards for a given user
*/
public function findAllByGroups(string $userId, array $groups, ?int $limit = null, ?int $offset = null, ?int $since = null,
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
if (count($groups) <= 0) {
return [];
}
@@ -357,7 +347,7 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
}
public function findAllByCircles(string $userId, ?int $limit = null, ?int $offset = null, ?int $since = null,
bool $includeArchived = true, ?int $before = null, ?string $term = null) {
bool $includeArchived = true, ?int $before = null, ?string $term = null) {
$circles = $this->circlesService->getUserCircles($userId);
if (count($circles) === 0) {
return [];

View File

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

View File

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

View File

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

View File

@@ -24,16 +24,16 @@
namespace OCA\Deck\Middleware;
use OCA\Deck\Controller\PageController;
use OCA\Deck\StatusException;
use OCA\Deck\Exceptions\ConflictException;
use OCA\Deck\StatusException;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Middleware;
use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Middleware;
use OCP\AppFramework\OCS\OCSException;
use OCP\AppFramework\OCSController;
use OCP\IConfig;
use OCP\ILogger;
use OCP\IRequest;
use OCP\IConfig;
class ExceptionMiddleware extends Middleware {

View File

@@ -38,9 +38,9 @@ class BoardReferenceProvider implements IReferenceProvider {
private IL10N $l10n;
public function __construct(BoardService $boardService,
IURLGenerator $urlGenerator,
IL10N $l10n,
?string $userId) {
IURLGenerator $urlGenerator,
IL10N $l10n,
?string $userId) {
$this->urlGenerator = $urlGenerator;
$this->boardService = $boardService;
$this->userId = $userId;

View File

@@ -47,11 +47,11 @@ class CardReferenceProvider extends ADiscoverableReferenceProvider implements IS
private IL10N $l10n;
public function __construct(CardService $cardService,
BoardService $boardService,
StackService $stackService,
IURLGenerator $urlGenerator,
IL10N $l10n,
?string $userId) {
BoardService $boardService,
StackService $stackService,
IURLGenerator $urlGenerator,
IL10N $l10n,
?string $userId) {
$this->cardService = $cardService;
$this->urlGenerator = $urlGenerator;
$this->boardService = $boardService;

View File

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

View File

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

View File

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

View File

@@ -28,13 +28,16 @@ namespace OCA\Deck\Service;
use OCA\Deck\Activity\ActivityManager;
use OCA\Deck\Activity\ChangeSet;
use OCA\Deck\BadRequestException;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\Assignment;
use OCA\Deck\Db\AssignmentMapper;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\Card;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\ChangeHelper;
use OCA\Deck\Db\Label;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\Db\StackMapper;
use OCA\Deck\Event\CardCreatedEvent;
use OCA\Deck\Event\CardDeletedEvent;
@@ -42,16 +45,13 @@ use OCA\Deck\Event\CardUpdatedEvent;
use OCA\Deck\Model\CardDetails;
use OCA\Deck\NoPermissionException;
use OCA\Deck\Notification\NotificationHelper;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\StatusException;
use OCA\Deck\BadRequestException;
use OCA\Deck\Validators\CardServiceValidator;
use OCP\Comments\ICommentsManager;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IRequest;
use OCP\IUserManager;
use OCP\IURLGenerator;
use OCP\IUserManager;
use Psr\Log\LoggerInterface;
class CardService {

View File

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

View File

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

View File

@@ -61,7 +61,7 @@ class BoardImportService {
private ICommentsManager $commentsManager;
private IEventDispatcher $eventDispatcher;
private string $system = '';
private ?ABoardImportService $systemInstance;
private ?ABoardImportService $systemInstance = null;
private array $allowedSystems = [];
/**
* Data object created from config JSON

View File

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

View File

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

View File

@@ -23,7 +23,6 @@
namespace OCA\Deck\Service;
use OCP\Cache\CappedMemoryCache;
use OCA\Circles\Model\Member;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\AclMapper;
@@ -34,6 +33,7 @@ use OCA\Deck\Db\User;
use OCA\Deck\NoPermissionException;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\Cache\CappedMemoryCache;
use OCP\IConfig;
use OCP\IGroupManager;
use OCP\ILogger;

View File

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

View File

@@ -23,7 +23,7 @@
*
*/
declare(strict_types=1);
declare(strict_types=1);
namespace OCA\Deck\Validators;

67142
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,108 +1,108 @@
{
"name": "deck",
"description": "",
"version": "1.10.0",
"authors": [
{
"name": "Julius Härtl",
"email": "jus@bitgrid.net",
"role": "Developer"
},
{
"name": "Michael Weimann",
"email": "mail@michael-weimann.eu",
"role": "Developer"
}
],
"license": "agpl",
"private": true,
"scripts": {
"build": "NODE_ENV=production webpack --progress --config webpack.js",
"dev": "NODE_ENV=development webpack --progress --config webpack.js",
"watch": "NODE_ENV=development webpack --progress --watch --config webpack.js",
"serve": "webpack serve --node-env development --allowed-hosts all --config webpack.js",
"lint": "eslint --ext .js,.vue src",
"lint:fix": "eslint --ext .js,.vue src --fix",
"lint:cypress": "eslint --ext .js cypress",
"stylelint": "stylelint src",
"stylelint:fix": "stylelint src --fix",
"test": "jest",
"test:coverage": "jest --coverage"
},
"dependencies": {
"@babel/polyfill": "^7.12.1",
"@babel/runtime": "^7.21.5",
"@nextcloud/auth": "^2.0.0",
"@nextcloud/axios": "^2.3.0",
"@nextcloud/dialogs": "^4.0.1",
"@nextcloud/event-bus": "^3.0.2",
"@nextcloud/files": "^2.1.0",
"@nextcloud/initial-state": "^2.0.0",
"@nextcloud/l10n": "^2.1.0",
"@nextcloud/moment": "^1.2.1",
"@nextcloud/notify_push": "^1.1.3",
"@nextcloud/router": "^2.1.1",
"@nextcloud/vue": "^7.11.4",
"blueimp-md5": "^2.19.0",
"dompurify": "^3.0.3",
"lodash": "^4.17.21",
"markdown-it": "^13.0.1",
"markdown-it-link-attributes": "^4.0.1",
"markdown-it-task-checkbox": "^1.0.6",
"moment": "^2.29.4",
"nextcloud-vue-collections": "^0.11.1",
"p-queue": "^7.3.4",
"url-search-params-polyfill": "^8.1.1",
"vue": "^2.7.14",
"vue-at": "^2.5.1",
"vue-click-outside": "^1.1.0",
"vue-easymde": "^2.0.0",
"vue-infinite-loading": "^2.4.5",
"vue-material-design-icons": "^5.2.0",
"vue-router": "^3.6.5",
"vue-smooth-dnd": "^0.8.1",
"vuex": "^3.6.2",
"vuex-router-sync": "^5.0.0"
},
"browserslist": [
"extends @nextcloud/browserslist-config"
],
"engines": {
"node": "^16.0.0",
"npm": "^7.0.0 || ^8.0.0"
},
"devDependencies": {
"@nextcloud/babel-config": "^1.0.0",
"@nextcloud/browserslist-config": "^2.3.0",
"@nextcloud/cypress": "^1.0.0-beta.2",
"@nextcloud/eslint-config": "^8.2.1",
"@nextcloud/stylelint-config": "^2.3.0",
"@nextcloud/webpack-vue-config": "^5.5.1",
"@relative-ci/agent": "^4.1.4",
"@vue/test-utils": "^1.3.5",
"@vue/vue2-jest": "^29.2.4",
"cypress": "^12.12.0",
"eslint-plugin-cypress": "^2.13.3",
"eslint-webpack-plugin": "^4.0.1",
"jest": "^29.5.0",
"jest-serializer-vue": "^3.1.0",
"stylelint-webpack-plugin": "^4.1.1",
"vue-template-compiler": "^2.7.14"
},
"jest": {
"moduleFileExtensions": [
"js",
"vue"
],
"moduleNameMapper": {
"^@/(.*)$": "<rootDir>/src/$1"
},
"transform": {
"^.+\\.js$": "<rootDir>/node_modules/babel-jest",
".*\\.(vue)$": "<rootDir>/node_modules/vue-jest"
},
"snapshotSerializers": [
"<rootDir>/node_modules/jest-serializer-vue"
]
}
}
"name": "deck",
"description": "",
"version": "1.11.0-dev",
"authors": [
{
"name": "Julius Härtl",
"email": "jus@bitgrid.net",
"role": "Developer"
},
{
"name": "Michael Weimann",
"email": "mail@michael-weimann.eu",
"role": "Developer"
}
],
"license": "agpl",
"private": true,
"scripts": {
"build": "NODE_ENV=production webpack --progress --config webpack.js",
"dev": "NODE_ENV=development webpack --progress --config webpack.js",
"watch": "NODE_ENV=development webpack --progress --watch --config webpack.js",
"serve": "webpack serve --node-env development --allowed-hosts all --config webpack.js",
"lint": "eslint --ext .js,.vue src",
"lint:fix": "eslint --ext .js,.vue src --fix",
"lint:cypress": "eslint --ext .js cypress",
"stylelint": "stylelint src",
"stylelint:fix": "stylelint src --fix",
"test": "jest",
"test:coverage": "jest --coverage"
},
"dependencies": {
"@babel/polyfill": "^7.12.1",
"@babel/runtime": "^7.22.6",
"@nextcloud/auth": "^2.1.0",
"@nextcloud/axios": "^2.4.0",
"@nextcloud/dialogs": "^4.1.0",
"@nextcloud/event-bus": "^3.1.0",
"@nextcloud/files": "^2.1.0",
"@nextcloud/initial-state": "^2.1.0",
"@nextcloud/l10n": "^2.2.0",
"@nextcloud/moment": "^1.2.1",
"@nextcloud/notify_push": "^1.1.3",
"@nextcloud/router": "^2.1.2",
"@nextcloud/vue": "^7.12.1",
"blueimp-md5": "^2.19.0",
"dompurify": "^3.0.5",
"lodash": "^4.17.21",
"markdown-it": "^13.0.1",
"markdown-it-link-attributes": "^4.0.1",
"markdown-it-task-checkbox": "^1.0.6",
"moment": "^2.29.4",
"nextcloud-vue-collections": "^0.11.1",
"p-queue": "^7.3.4",
"url-search-params-polyfill": "^8.2.4",
"vue": "^2.7.14",
"vue-at": "^2.5.1",
"vue-click-outside": "^1.1.0",
"vue-easymde": "^2.0.0",
"vue-infinite-loading": "^2.4.5",
"vue-material-design-icons": "^5.2.0",
"vue-router": "^3.6.5",
"vue-smooth-dnd": "^0.8.1",
"vuex": "^3.6.2",
"vuex-router-sync": "^5.0.0"
},
"browserslist": [
"extends @nextcloud/browserslist-config"
],
"engines": {
"node": "^20.0.0",
"npm": "^9.0.0"
},
"devDependencies": {
"@nextcloud/babel-config": "^1.0.0",
"@nextcloud/browserslist-config": "^2.3.0",
"@nextcloud/cypress": "^1.0.0-beta.2",
"@nextcloud/eslint-config": "^8.2.1",
"@nextcloud/stylelint-config": "^2.3.0",
"@nextcloud/webpack-vue-config": "^5.5.1",
"@relative-ci/agent": "^4.1.5",
"@vue/test-utils": "^1.3.6",
"@vue/vue2-jest": "^29.2.4",
"cypress": "^12.17.1",
"eslint-plugin-cypress": "^2.13.3",
"eslint-webpack-plugin": "^4.0.1",
"jest": "^29.6.1",
"jest-serializer-vue": "^3.1.0",
"stylelint-webpack-plugin": "^4.1.1",
"vue-template-compiler": "^2.7.14"
},
"jest": {
"moduleFileExtensions": [
"js",
"vue"
],
"moduleNameMapper": {
"^@/(.*)$": "<rootDir>/src/$1"
},
"transform": {
"^.+\\.js$": "<rootDir>/node_modules/babel-jest",
".*\\.(vue)$": "<rootDir>/node_modules/vue-jest"
},
"snapshotSerializers": [
"<rootDir>/node_modules/jest-serializer-vue"
]
}
}

View File

@@ -21,7 +21,6 @@
<ignoreFiles>
<directory name="vendor/phpunit/php-code-coverage" />
<directory name="vendor/vimeo" />
<directory name="vendor/friendsofphp" />
</ignoreFiles>
</extraFiles>
<issueHandlers>

View File

@@ -27,17 +27,19 @@
<router-view />
</NcAppContent>
<NcModal v-if="cardDetailsInModal && $route.params.cardId"
:clear-view-delay="0"
:close-button-contained="true"
size="large"
@close="hideModal()">
<div class="modal__content modal__card">
<router-view name="sidebar" />
</div>
</NcModal>
<div v-if="$route.params.id || $route.params.cardId">
<NcModal v-if="cardDetailsInModal && $route.params.cardId"
:clear-view-delay="0"
:close-button-contained="true"
size="large"
@close="hideModal()">
<div class="modal__content modal__card">
<router-view name="sidebar" />
</div>
</NcModal>
<router-view name="sidebar" :visible="!cardDetailsInModal || !$route.params.cardId" />
<router-view name="sidebar" :visible="!cardDetailsInModal || !$route.params.cardId" />
</div>
</NcContent>
</template>

View File

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

View File

@@ -26,8 +26,8 @@ namespace OCA\Deck\Db;
use OCA\Deck\NotFoundException;
use OCA\Deck\Service\AssignmentService;
use OCA\Deck\Service\BoardService;
use OCA\Deck\Service\StackService;
use OCA\Deck\Service\CardService;
use OCA\Deck\Service\StackService;
use OCP\IGroupManager;
use OCP\IUserManager;
use OCP\IUserSession;

View File

@@ -1,11 +1,11 @@
<?php
use Behat\Behat\Context\Context;
use Behat\Behat\Hook\Scope\BeforeScenarioScope;
use Behat\Gherkin\Node\TableNode;
use GuzzleHttp\Client;
use GuzzleHttp\Exception\ClientException;
use PHPUnit\Framework\Assert;
use Behat\Behat\Context\Context;
use Psr\Http\Message\ResponseInterface;
require_once __DIR__ . '/../../vendor/autoload.php';

View File

@@ -39,8 +39,8 @@ use OCP\Activity\IManager;
use OCP\IL10N;
use OCP\IUser;
use OCP\L10N\IFactory;
use PHPUnit\Framework\TestCase;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
class ActivityManagerTest extends TestCase {

View File

@@ -26,6 +26,7 @@ namespace OCA\Deck\Activity;
use OC\Activity\Event;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\Card;
use OCA\Deck\Service\CardService;
use OCP\Activity\IEvent;
use OCP\Comments\IComment;
use OCP\Comments\ICommentsManager;
@@ -38,7 +39,6 @@ use OCP\L10N\IFactory;
use OCP\RichObjectStrings\IValidator;
use PHPUnit\Framework\TestCase;
use PHPUnit_Framework_MockObject_MockObject as MockObject;
use OCA\Deck\Service\CardService;
class DeckProviderTest extends TestCase {

View File

@@ -31,8 +31,8 @@ use OCA\Deck\Service\BoardService;
use OCA\Deck\Service\PermissionService;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\JSONResponse;
use OCP\ILogger;
use OCP\IConfig;
use OCP\ILogger;
use OCP\IRequest;
class ExceptionMiddlewareTest extends \Test\TestCase {

View File

@@ -23,6 +23,7 @@
namespace OCA\Deck\Service;
use \Test\TestCase;
use OC\L10N\L10N;
use OCA\Deck\Activity\ActivityManager;
use OCA\Deck\Db\Acl;
@@ -41,16 +42,15 @@ use OCA\Deck\Event\AclCreatedEvent;
use OCA\Deck\Event\AclDeletedEvent;
use OCA\Deck\NoPermissionException;
use OCA\Deck\Notification\NotificationHelper;
use OCA\Deck\Validators\BoardServiceValidator;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\IURLGenerator;
use OCP\IUser;
use OCP\IUserManager;
use OCP\IGroupManager;
use PHPUnit\Framework\MockObject\MockObject;
use \Test\TestCase;
use OCP\IURLGenerator;
use OCA\Deck\Validators\BoardServiceValidator;
class BoardServiceTest extends TestCase {

View File

@@ -27,13 +27,13 @@ use OCA\Deck\Activity\ActivityManager;
use OCA\Deck\Db\Assignment;
use OCA\Deck\Db\AssignmentMapper;
use OCA\Deck\Db\Board;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\Card;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Db\ChangeHelper;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\Db\Stack;
use OCA\Deck\Db\StackMapper;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\Model\CardDetails;
use OCA\Deck\Notification\NotificationHelper;
use OCA\Deck\StatusException;
@@ -42,13 +42,13 @@ use OCP\Activity\IEvent;
use OCP\Comments\ICommentsManager;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IRequest;
use OCP\IURLGenerator;
use OCP\IUser;
use OCP\IUserManager;
use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Test\TestCase;
use OCP\IURLGenerator;
class CardServiceTest extends TestCase {

View File

@@ -23,13 +23,13 @@
namespace OCA\Deck\Service;
use OCA\Deck\Db\Card;
use \Test\TestCase;
use OCA\Deck\Db\Board;
use OCA\Deck\Db\Stack;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\Card;
use OCA\Deck\Db\Stack;
use OCP\IConfig;
use OCP\IL10N;
use \Test\TestCase;
class DefaultBoardServiceTest extends TestCase {

View File

@@ -23,11 +23,12 @@
namespace OCA\Deck\Service;
use \Test\TestCase;
use OCA\Deck\Activity\ActivityManager;
use OCA\Deck\Db\AssignmentMapper;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\Card;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\ChangeHelper;
use OCA\Deck\Db\Label;
use OCA\Deck\Db\LabelMapper;
@@ -37,7 +38,6 @@ use OCA\Deck\Model\CardDetails;
use OCA\Deck\Validators\StackServiceValidator;
use OCP\EventDispatcher\IEventDispatcher;
use Psr\Log\LoggerInterface;
use \Test\TestCase;
/**
* Class StackServiceTest
@@ -117,17 +117,17 @@ class StackServiceTest extends TestCase {
$this->permissionService->expects($this->once())->method('checkPermission');
$this->stackMapper->expects($this->once())->method('findAll')->willReturn($this->getStacks());
$this->cardService->expects($this->atLeastOnce())->method('enrichCards')->will(
$this->returnCallback(
function ($cards) {
foreach ($cards as $card) {
$card->setLabels($this->getLabels()[$card->getId()]);
}
return array_map(function ($card) {
return new CardDetails($card);
}, $cards);
}
)
);
$this->returnCallback(
function ($cards) {
foreach ($cards as $card) {
$card->setLabels($this->getLabels()[$card->getId()]);
}
return array_map(function ($card) {
return new CardDetails($card);
}, $cards);
}
)
);
$this->cardMapper->expects($this->any())->method('findAll')->willReturn($this->getCards(222));

View File

@@ -22,13 +22,13 @@
*/
namespace OCA\Deck\Controller;
use OCA\Deck\Db\Board;
use OCA\Deck\Service\BoardService;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
use OCA\Deck\Service\BoardService;
use OCA\Deck\Db\Board;
class BoardApiControllerTest extends \Test\TestCase {
private $appName = 'deck';
private $userId = 'admin';

View File

@@ -23,10 +23,10 @@
namespace OCA\Deck\Controller;
use OCA\Deck\Db\Board;
use OCA\Deck\Service\Importer\BoardImportService;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
use OCA\Deck\Service\Importer\BoardImportService;
class BoardImportApiControllerTest extends \Test\TestCase {
private $appName = 'deck';

View File

@@ -22,14 +22,14 @@
*/
namespace OCA\Deck\Controller;
use OCA\Deck\Db\Card;
use OCA\Deck\Service\AssignmentService;
use OCA\Deck\Service\CardService;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
use OCA\Deck\Db\Card;
use OCA\Deck\Service\CardService;
class CardApiControllerTest extends \Test\TestCase {
private $controller;
private $request;

View File

@@ -22,12 +22,12 @@
*/
namespace OCA\Deck\Controller;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
use OCA\Deck\Db\Label;
use OCA\Deck\Service\LabelService;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
class LabelApiControllerTest extends \Test\TestCase {
private $controller;

View File

@@ -29,9 +29,9 @@ use OCA\Deck\Service\CardService;
use OCA\Deck\Service\ConfigService;
use OCA\Deck\Service\PermissionService;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IConfig;
use OCP\IInitialStateService;
use OCP\IRequest;
use OCP\IConfig;
use OCP\IURLGenerator;
use PHPUnit\Framework\TestCase;

View File

@@ -22,14 +22,14 @@
*/
namespace OCA\Deck\Controller;
use OCA\Deck\Db\Stack;
use OCA\Deck\Service\BoardService;
use OCA\Deck\Service\StackService;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
use OCA\Deck\Service\BoardService;
use OCA\Deck\Service\StackService;
use OCA\Deck\Db\Stack;
class StackApiControllerTest extends \Test\TestCase {
private $appName = 'deck';
private $userId = 'admin';