Compare commits

..

106 Commits

Author SHA1 Message Date
Julius Härtl
9207f567b1 chore(webpack): Remove outdated config for hmr
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-22 08:05:01 +00:00
Julius Härtl
24d4d86aa4 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-22 08:05:01 +00:00
Julius Härtl
c30bf3c936 chore(webpack): Add npm run serve command
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-22 08:05:01 +00:00
Nextcloud bot
e4e5c9a651 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-21 00:29:07 +00:00
Julius Härtl
9e813f322a Merge pull request #4713 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/webpack-vue-config-5.5.1 2023-05-18 09:29:32 +02:00
Julius Härtl
70144b9061 Merge pull request #4709 from nextcloud/dependabot/npm_and_yarn/stable26/eslint-webpack-plugin-4.0.1 2023-05-18 09:29:12 +02:00
dependabot[bot]
27af65731e Merge pull request #4704 from nextcloud/dependabot/npm_and_yarn/stable26/cypress-12.12.0 2023-05-18 00:30:41 +00:00
dependabot[bot]
2778e5940c Merge pull request #4705 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud/event-bus-3.1.0 2023-05-18 00:30:25 +00:00
Nextcloud bot
e20f2eac97 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-18 00:29:44 +00:00
dependabot[bot]
a91262b153 Merge pull request #4711 from nextcloud/dependabot/npm_and_yarn/stable26/babel/runtime-7.21.5 2023-05-17 21:44:03 +00:00
dependabot[bot]
084c3649b2 Merge pull request #4708 from nextcloud/dependabot/npm_and_yarn/stable26/relative-ci/agent-4.1.4 2023-05-17 21:44:00 +00:00
dependabot[bot]
c6584b93f3 Merge pull request #4703 from nextcloud/dependabot/npm_and_yarn/stable26/nextcloud-vue-collections-0.11.1 2023-05-17 21:39:53 +00:00
dependabot[bot]
57ed57ce23 Merge pull request #4714 from nextcloud/dependabot/npm_and_yarn/stable26/vue/vue2-jest-29.2.4 2023-05-17 21:39:29 +00:00
dependabot[bot]
77a81d273a Merge pull request #4712 from nextcloud/dependabot/npm_and_yarn/stable26/stylelint-webpack-plugin-4.1.1 2023-05-17 21:39:20 +00:00
dependabot[bot]
b2e3d75b75 Merge pull request #4707 from nextcloud/dependabot/npm_and_yarn/stable26/jest-29.5.0 2023-05-17 21:39:07 +00:00
dependabot[bot]
4de693a402 Merge pull request #4706 from nextcloud/dependabot/npm_and_yarn/stable26/dompurify-3.0.3 2023-05-17 21:38:38 +00:00
dependabot[bot]
08febcb29a Chore(deps-dev): Bump @nextcloud/webpack-vue-config from 5.4.0 to 5.5.1
Bumps [@nextcloud/webpack-vue-config](https://github.com/nextcloud/webpack-vue-config) from 5.4.0 to 5.5.1.
- [Release notes](https://github.com/nextcloud/webpack-vue-config/releases)
- [Changelog](https://github.com/nextcloud/webpack-vue-config/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/webpack-vue-config/compare/v5.4.0...v5.5.1)

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 21:35:18 +00:00
dependabot[bot]
2f43aabb2e Chore(deps-dev): Bump cypress from 12.7.0 to 12.12.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.7.0 to 12.12.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v12.7.0...v12.12.0)

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 18:13:51 +00:00
dependabot[bot]
e8aaa7c165 Chore(deps): Bump @babel/runtime from 7.21.0 to 7.21.5
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.21.0 to 7.21.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.21.5/packages/babel-runtime)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 18:13:40 +00:00
dependabot[bot]
281d6c2af7 Chore(deps-dev): Bump eslint-webpack-plugin from 4.0.0 to 4.0.1
Bumps [eslint-webpack-plugin](https://github.com/webpack-contrib/eslint-webpack-plugin) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/webpack-contrib/eslint-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/eslint-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/eslint-webpack-plugin/compare/v4.0.0...v4.0.1)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

View File

@@ -44,7 +44,7 @@ jobs:
expression: "//info//dependencies//nextcloud/@min-version"
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2
id: versions
# Continue if no package.json
continue-on-error: true

View File

@@ -23,7 +23,7 @@ jobs:
# containers: [1, 2, 3]
php-versions: [ '8.0' ]
databases: [ 'sqlite' ]
server-versions: [ 'master' ]
server-versions: [ 'stable26' ]
steps:
- name: Use Node.js ${{ matrix.node-version }}

View File

@@ -28,7 +28,7 @@ jobs:
matrix:
php-versions: ['8.1']
databases: ['sqlite', 'mysql', 'pgsql']
server-versions: ['master']
server-versions: ['stable26']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
@@ -151,4 +151,4 @@ jobs:
repo: context.repo.repo,
body: comment
})
}
}

View File

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

View File

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

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: ['master']
server-versions: ['stable26']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}

View File

@@ -17,7 +17,7 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ["master", "stable26", "stable25", "stable24"]
branches: ["master", "stable25", "stable24"]
name: update-nextcloud-ocp-${{ matrix.branches }}
@@ -52,7 +52,7 @@ jobs:
continue-on-error: true
- name: Create Pull Request
uses: peter-evans/create-pull-request@38e0b6e68b4c852a5500a94740f0e535e0d7ba54 # v3
uses: peter-evans/create-pull-request@2b011faafdcbc9ceb11414d64d0573f37c774b04 # v3
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "chore(dev-deps): Bump nextcloud/ocp package"

View File

@@ -1,20 +1,52 @@
# Changelog
All notable changes to this project will be documented in this file.
## 1.9.0-beta.1
### Added
- Export Board @david-loe [#3065](https://github.com/nextcloud/deck/pull/3065)
- basic notify_push usage with session handling @alangecker [#3876](https://github.com/nextcloud/deck/pull/3876)
- feat(Description): Use text as editor if available @juliushaertl [#4399](https://github.com/nextcloud/deck/pull/4399)
- Improve reference provider and add reference widgets @julien-nc [#4422](https://github.com/nextcloud/deck/pull/4422)
- live updates 🎉 @alangecker [#4273](https://github.com/nextcloud/deck/pull/4273)
- Tag creation from card view @juliushaertl [#4344](https://github.com/nextcloud/deck/pull/4344)
## 1.9.2
### Fixed
- fix: Properly overwrite z-index of datepicker above modal [#4665](https://github.com/nextcloud/deck/pull/4665)
## 1.9.1
### Fixed
- Gracefully handle not found card for a share [#4567](https://github.com/nextcloud/deck/pull/4567)
- fix: Adapt NcEmptyContent usages to new slots [#4562](https://github.com/nextcloud/deck/pull/4562)
- allow user to toggle visibility of the calendar for a deck board [#4625](https://github.com/nextcloud/deck/pull/4625)
- fix: Append datetime picker to body to avoid cut off [#4644](https://github.com/nextcloud/deck/pull/4644)
- chore: Remove unused @nextcloud/vue-dashboard @juliushaertl [#4650](https://github.com/nextcloud/deck/pull/4650)
- fix: Bring back overdue column by removing faulty condition [#4662](https://github.com/nextcloud/deck/pull/4662)
- Fix : Overlapping expiry dates on tags [#4537](https://github.com/nextcloud/deck/pull/4537)
- Better display of card dates (creation and change dates) [#4619](https://github.com/nextcloud/deck/pull/4619)
- Update dependencies
## 1.9.0
### Added
- Live updates on board collaboration using notify_push @alangecker [#4273](https://github.com/nextcloud/deck/pull/4273)
- Basic notify_push usage with session handling @alangecker [#3876](https://github.com/nextcloud/deck/pull/3876)
- Use text as editor if available [#4399](https://github.com/nextcloud/deck/pull/4399)
- Improve reference provider and add reference widgets @julien-nc [#4422](https://github.com/nextcloud/deck/pull/4422)
- Tag creation from card view @juliushaertl [#4344](https://github.com/nextcloud/deck/pull/4344)
- Optimize query performance with larger board or card count @[#4452](https://github.com/nextcloud/deck/pull/4452)
- Export Board as CSV @david-loe [#3065](https://github.com/nextcloud/deck/pull/3065)
### Fixed
- fix(cards): Fix card sizing by limiting too wide style rules [#4521](https://github.com/nextcloud/deck/pull/4521)
- fix(references): Mute NoPermissionException as it is expected to happen for references [#4516](https://github.com/nextcloud/deck/pull/4516)
- fix(API): Fix board API details parameter to work as expected [#4519](https://github.com/nextcloud/deck/pull/4519)
- fix(sessions): Do not send close request without token [#4525](https://github.com/nextcloud/deck/pull/4525)
- fix: Avoid mutating the due date when calculating days @juliushaertl [#4488](https://github.com/nextcloud/deck/pull/4488)
- fix: Pass user id along to properly check permissions in background jobs @juliushaertl [#4485](https://github.com/nextcloud/deck/pull/4485)
- fix: Use passed userid when getting attachment folder @juliushaertl [#4487](https://github.com/nextcloud/deck/pull/4487)
- fix: Use proper z-index for text menubar @juliushaertl [#4490](https://github.com/nextcloud/deck/pull/4490)
- fix(dashboard): Fix undefined array index @marcelklehr [#4492](https://github.com/nextcloud/deck/pull/4492)
- fix: Always return sorted index array to make sure a json array is the result @juliushaertl [#4493](https://github.com/nextcloud/deck/pull/4493)
- Fix component renaming so that acl works on shares again @small1 [#4315](https://github.com/nextcloud/deck/pull/4315)
- fix(Sidebar): Only close sidebar on v-click-outside for specific targets @juliushaertl [#4350](https://github.com/nextcloud/deck/pull/4350)
- add basic e2e tests for stack title @shoetten [#4206](https://github.com/nextcloud/deck/pull/4206)
@@ -24,10 +56,6 @@ All notable changes to this project will be documented in this file.
- perf: Register notifier and resource listener lazy @juliushaertl [#4439](https://github.com/nextcloud/deck/pull/4439)
- perf: Lazy load dashboard components @juliushaertl [#4440](https://github.com/nextcloud/deck/pull/4440)
- Optimise upcomming overview creation @Raudius [#3793](https://github.com/nextcloud/deck/pull/3793)
- Performance boost @juliushaertl [#4452](https://github.com/nextcloud/deck/pull/4452)
### Other
- Dependency updates
## 1.8.0-beta.1

View File

@@ -16,7 +16,7 @@
- 🚀 Get your project organized
</description>
<version>1.10.0-dev</version>
<version>1.9.2</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<documentation>
@@ -38,7 +38,7 @@
<database min-version="9.4">pgsql</database>
<database>sqlite</database>
<database min-version="8.0">mysql</database>
<nextcloud min-version="27" max-version="27"/>
<nextcloud min-version="26" max-version="26"/>
</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-master"
"nextcloud/ocp": "dev-stable26"
},
"config": {
"optimize-autoloader": true,

356
composer.lock generated
View File

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

View File

@@ -1,50 +0,0 @@
OC.L10N.register(
"deck",
{
"Deck" : "Deck",
"Personal" : "Personal",
"%s on %s" : "%s en %s",
"Finished" : "Finó",
"Action needed" : "Precísase aición",
"Later" : "Más sero",
"Done" : "Fecho",
"The file was uploaded" : "Xubióse'l ficheru",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El ficheru xubíu perpasa la direutiva de xuba upload_max_filesize en php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El ficheru xubíu perpasa la direutiva \"MAX_FILE_SIZE\" especificada nel formulariu HTML",
"No file was uploaded" : "Nun se xubieron fichjeros",
"Missing a temporary folder" : "Falta un direutoriu temporal",
"Could not write file to disk" : "Nun pudo escribise nel discu'l ficheru",
"A PHP extension stopped the file upload" : "Una estensión de PHP paró la xuba de ficheros",
"Invalid date, date format must be YYYY-MM-DD" : "Data non válida, el formatu ha ser AAAA-MM-DD",
"Cancel" : "Encaboxar",
"Close" : "Zarrar",
"File already exists" : "Yá esiste'l ficheru",
"Show archived cards" : "Amosar tarxetes archivaes",
"Details" : "Detalles",
"Sharing" : "Compartiendo",
"Tags" : "Etiquetes",
"Undo" : "Desfacer",
"Can edit" : "Can edit",
"Can share" : "Can share",
"Owner" : "Owner",
"Delete" : "Desaniciar",
"Edit" : "Editar",
"Members" : "Miembros",
"Download" : "Baxar",
"Attachments" : "Axuntos",
"Comments" : "Comentarios",
"Modified" : "Modificóse'l",
"Created" : "Creóse",
"Today" : "Güei",
"Tomorrow" : "Mañana",
"Save" : "Guardar",
"Reply" : "Rempuesta",
"Update" : "Anovar",
"Description" : "Descripción",
"(group)" : "(grupu)",
"seconds ago" : "hai segundos",
"Shared with you" : "Shared with you",
"No notifications" : "Ensin avisos",
"Share" : "Share"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,48 +0,0 @@
{ "translations": {
"Deck" : "Deck",
"Personal" : "Personal",
"%s on %s" : "%s en %s",
"Finished" : "Finó",
"Action needed" : "Precísase aición",
"Later" : "Más sero",
"Done" : "Fecho",
"The file was uploaded" : "Xubióse'l ficheru",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El ficheru xubíu perpasa la direutiva de xuba upload_max_filesize en php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El ficheru xubíu perpasa la direutiva \"MAX_FILE_SIZE\" especificada nel formulariu HTML",
"No file was uploaded" : "Nun se xubieron fichjeros",
"Missing a temporary folder" : "Falta un direutoriu temporal",
"Could not write file to disk" : "Nun pudo escribise nel discu'l ficheru",
"A PHP extension stopped the file upload" : "Una estensión de PHP paró la xuba de ficheros",
"Invalid date, date format must be YYYY-MM-DD" : "Data non válida, el formatu ha ser AAAA-MM-DD",
"Cancel" : "Encaboxar",
"Close" : "Zarrar",
"File already exists" : "Yá esiste'l ficheru",
"Show archived cards" : "Amosar tarxetes archivaes",
"Details" : "Detalles",
"Sharing" : "Compartiendo",
"Tags" : "Etiquetes",
"Undo" : "Desfacer",
"Can edit" : "Can edit",
"Can share" : "Can share",
"Owner" : "Owner",
"Delete" : "Desaniciar",
"Edit" : "Editar",
"Members" : "Miembros",
"Download" : "Baxar",
"Attachments" : "Axuntos",
"Comments" : "Comentarios",
"Modified" : "Modificóse'l",
"Created" : "Creóse",
"Today" : "Güei",
"Tomorrow" : "Mañana",
"Save" : "Guardar",
"Reply" : "Rempuesta",
"Update" : "Anovar",
"Description" : "Descripción",
"(group)" : "(grupu)",
"seconds ago" : "hai segundos",
"Shared with you" : "Shared with you",
"No notifications" : "Ensin avisos",
"Share" : "Share"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -175,6 +175,7 @@ OC.L10N.register(
"Owner" : "Proprietario",
"Delete" : "Elimina",
"Failed to create share with {displayName}" : "Creazione della condivisione con {displayName} non riuscita",
"Transfer the board." : "Trasferisci la bacheca.",
"Transfer" : "Trasferisci",
"Archive all cards" : "Archivia tutte le schede",
"Delete list" : "Elimina elenco",
@@ -290,6 +291,8 @@ OC.L10N.register(
"Share with a Deck card" : "Condividi con una scheda di Deck",
"Share {file} with a Deck card" : "Condividi {file} con una scheda di Deck",
"Share" : "Condividi",
"Transfer the board for {user} successfully" : "Trasferimento della bacheca per {user} avvenuta con successo.",
"Failed to transfer the board for {user}" : "Trasferimento della bacheca per {user} fallito",
"Add a new list" : "Aggiungi un nuovo elenco",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Sei sicuro di voler eliminare la lavagna {title}? Questo eliminerà tutti i dati di questa lavagna?"
},

View File

@@ -173,6 +173,7 @@
"Owner" : "Proprietario",
"Delete" : "Elimina",
"Failed to create share with {displayName}" : "Creazione della condivisione con {displayName} non riuscita",
"Transfer the board." : "Trasferisci la bacheca.",
"Transfer" : "Trasferisci",
"Archive all cards" : "Archivia tutte le schede",
"Delete list" : "Elimina elenco",
@@ -288,6 +289,8 @@
"Share with a Deck card" : "Condividi con una scheda di Deck",
"Share {file} with a Deck card" : "Condividi {file} con una scheda di Deck",
"Share" : "Condividi",
"Transfer the board for {user} successfully" : "Trasferimento della bacheca per {user} avvenuta con successo.",
"Failed to transfer the board for {user}" : "Trasferimento della bacheca per {user} fallito",
"Add a new list" : "Aggiungi un nuovo elenco",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Sei sicuro di voler eliminare la lavagna {title}? Questo eliminerà tutti i dati di questa lavagna?"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"

View File

@@ -81,6 +81,7 @@ OC.L10N.register(
"Deck board" : "Доска",
"Owned by %1$s" : "Владелец: %1$s",
"Deck boards, cards and comments" : "Доски, карточки и комментарии",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "Из %1$s, в %2$s/%3$s, принадлежит %4$s",
"Card comments" : "Комментарии карточки",
"%s on %s" : "%s на %s",
"Deck boards and cards" : "Доски и карточки",
@@ -156,6 +157,7 @@ OC.L10N.register(
"Toggle compact mode" : "Выбор компактного или обычного режима просмотра",
"Open details" : "Открыть подробности",
"Details" : "Свойства",
"Currently present people" : "Присутствующие в настоящее время люди",
"Loading board" : "Загрузка доски",
"No lists available" : "Нет ни одного списка",
"Create a new list to add cards to this board" : "Создайте список чтобы добавить карточки на эту доску",
@@ -296,10 +298,12 @@ OC.L10N.register(
"Deck board {name}\n* Last modified on {lastMod}" : "Доска «{name}»\n* Последнее изменение: {lastMod}",
"{stack} in {board}" : "«{stack}» с доски «{board}»",
"Click to expand description" : "Нажмите, чтобы развернуть поле описания",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Создано {created}\n* Последнее изменение {lastMod}\n* {nbAttachments} вложений\n* {nbComments} комментариев",
"{nbCards} cards" : "карточек: {nbCards}",
"Click to expand comment" : "Нажмите, чтобы развернуть комментарии",
"No upcoming cards" : "Отсутствуют карточки, ожидающие выполнения",
"upcoming cards" : "карточки, ожидающие выполнения",
"New card" : "Новая карточка",
"Due on {date}" : "Дата исполнения: {date}",
"Link to a board" : "Ссылка на доску",
"Link to a card" : "Ссылка на карточку",

View File

@@ -79,6 +79,7 @@
"Deck board" : "Доска",
"Owned by %1$s" : "Владелец: %1$s",
"Deck boards, cards and comments" : "Доски, карточки и комментарии",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "Из %1$s, в %2$s/%3$s, принадлежит %4$s",
"Card comments" : "Комментарии карточки",
"%s on %s" : "%s на %s",
"Deck boards and cards" : "Доски и карточки",
@@ -154,6 +155,7 @@
"Toggle compact mode" : "Выбор компактного или обычного режима просмотра",
"Open details" : "Открыть подробности",
"Details" : "Свойства",
"Currently present people" : "Присутствующие в настоящее время люди",
"Loading board" : "Загрузка доски",
"No lists available" : "Нет ни одного списка",
"Create a new list to add cards to this board" : "Создайте список чтобы добавить карточки на эту доску",
@@ -294,10 +296,12 @@
"Deck board {name}\n* Last modified on {lastMod}" : "Доска «{name}»\n* Последнее изменение: {lastMod}",
"{stack} in {board}" : "«{stack}» с доски «{board}»",
"Click to expand description" : "Нажмите, чтобы развернуть поле описания",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Создано {created}\n* Последнее изменение {lastMod}\n* {nbAttachments} вложений\n* {nbComments} комментариев",
"{nbCards} cards" : "карточек: {nbCards}",
"Click to expand comment" : "Нажмите, чтобы развернуть комментарии",
"No upcoming cards" : "Отсутствуют карточки, ожидающие выполнения",
"upcoming cards" : "карточки, ожидающие выполнения",
"New card" : "Новая карточка",
"Due on {date}" : "Дата исполнения: {date}",
"Link to a board" : "Ссылка на доску",
"Link to a card" : "Ссылка на карточку",

View File

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

View File

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

View File

@@ -128,7 +128,7 @@ OC.L10N.register(
"Create card" : "Kart ekle",
"Select a card" : "Bir kart seçin",
"Select the card to link to a project" : "Bir proje ile ilişkilendirilecek kart bağlantısını seçin",
"Link to card" : "Kart ile ilişkilendir",
"Link to card" : "Kart bağlantısı",
"File already exists" : "Dosya zaten var",
"A file with the name {filename} already exists." : "{filename} adlı bir dosya zaten var.",
"Do you want to overwrite it?" : "Üzerine yazmak ister misiniz?",
@@ -305,8 +305,8 @@ OC.L10N.register(
"upcoming cards" : "yaklaşan kartlar",
"New card" : "Kart ekle",
"Due on {date}" : "{date} tarihinde bitecek",
"Link to a board" : "Bir pano ile ilişkilendir",
"Link to a card" : "Bir kart ile ilişkilendir",
"Link to a board" : "Bir pano bağlantısı",
"Link to a card" : "Bir kart bağlantısı",
"Create a card" : "Bir kart ekle",
"Message from {author} in {conversationName}" : "{conversationName} görüşmesinde {author} iletisi",
"Something went wrong" : "Bir şeyler ters gitti",

View File

@@ -126,7 +126,7 @@
"Create card" : "Kart ekle",
"Select a card" : "Bir kart seçin",
"Select the card to link to a project" : "Bir proje ile ilişkilendirilecek kart bağlantısını seçin",
"Link to card" : "Kart ile ilişkilendir",
"Link to card" : "Kart bağlantısı",
"File already exists" : "Dosya zaten var",
"A file with the name {filename} already exists." : "{filename} adlı bir dosya zaten var.",
"Do you want to overwrite it?" : "Üzerine yazmak ister misiniz?",
@@ -303,8 +303,8 @@
"upcoming cards" : "yaklaşan kartlar",
"New card" : "Kart ekle",
"Due on {date}" : "{date} tarihinde bitecek",
"Link to a board" : "Bir pano ile ilişkilendir",
"Link to a card" : "Bir kart ile ilişkilendir",
"Link to a board" : "Bir pano bağlantısı",
"Link to a card" : "Bir kart bağlantısı",
"Create a card" : "Bir kart ekle",
"Message from {author} in {conversationName}" : "{conversationName} görüşmesinde {author} iletisi",
"Something went wrong" : "Bir şeyler ters gitti",

View File

@@ -34,6 +34,7 @@ OC.L10N.register(
"You have updated the description of card {card} in list {stack} on board {board}" : "Ви оновили опис картки {card} у списку {stack} на дошці {board}",
"Deck" : "Колода",
"Changes in the <strong>Deck app</strong>" : "Зміни у застосунку <strong>Колода</strong>",
"Upcoming cards" : "Очікують на виконання",
"Load more" : "Більше",
"Personal" : "Особисте",
"Deck board" : "Дошка Deck",
@@ -64,8 +65,10 @@ OC.L10N.register(
"Select the board to link to a project" : "Виберіть дошку для прив'зки до проєкту",
"Search by board title" : "Шукати за назвою дошки",
"Select board" : "Вибрати дошку",
"Create a new card" : "Створити нову картку",
"Select a board" : "Вибрати дошку",
"Select a list" : "Виберіть список",
"Card title" : "Заголовок картки",
"Cancel" : "Скасувати",
"Close" : "закрити",
"Select a card" : "Вибрати картку",
@@ -97,6 +100,7 @@ OC.L10N.register(
"Toggle compact mode" : "Перемкнути компактний вигляд",
"Details" : "Деталі",
"Loading board" : "Завантаження дошки",
"Create a new list to add cards to this board" : "Створіть список щоб додати картки на цю дошку",
"Board not found" : "Дошку не знайдено",
"Sharing" : "Поділитися",
"Tags" : "Теги",
@@ -120,6 +124,7 @@ OC.L10N.register(
"Edit" : "Редагувати",
"Add a new tag" : "Додати нову позначку",
"title and color value must be provided" : "потрібно зазначити назву та колір",
"Board name" : "Назва дошки",
"Members" : "Учасники",
"Upload new files" : "Додати файл",
"Share from Files" : "Відкрити Файли",
@@ -133,6 +138,7 @@ OC.L10N.register(
"Comments" : "Коментарі",
"Modified" : "Змінено",
"Created" : "Створено",
"No comments yet. Begin the discussion!" : "Коментарів немає, почніть обговорення!",
"Assign a tag to this card…" : "Додати позначку до цієї картки",
"Assign to users" : "Призначити користувачам",
"Assign to users/groups/circles" : "Призначити користувачам/групам/колам",
@@ -153,13 +159,15 @@ OC.L10N.register(
"Description" : "Опис",
"(Unsaved)" : "(Не збережено)",
"(Saving…)" : "(Зберігання...)",
"Formatting help" : "Форматування довідки",
"Formatting help" : "Допомога",
"Edit description" : "Редагувати опис",
"View description" : "Переглянути опис",
"Add Attachment" : "Долучити вкладення",
"Write a description …" : "Додайте опис ...",
"Choose attachment" : "Вибрати вкладення",
"(group)" : "(група)",
"Todo items" : "Пункти завдань",
"Edit card title" : "Редагувати заголовок картки",
"Assign to me" : "Призначити мені",
"Move card" : "Пересунути картку",
"Card details" : "Деталі картки",
@@ -171,13 +179,19 @@ OC.L10N.register(
"All boards" : "Усі дошки",
"Archived boards" : "Архівні дошки",
"Shared with you" : "Вам надано доступ",
"Deck settings" : "Налаштування колоди",
"Use bigger card view" : "Режим перегляду зі збільшеними картками",
"Show boards in calendar/tasks" : "Показувати дошки в календарі та завданнях",
"Limit deck usage of groups" : "Обмежити доступ до колоди для груп",
"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." : "Створення власних робочих дощок користувачам, які не входять у задані групи, буде заблоковано. Проте, такі користувачі зможуть продовжити працювати зі спільними дошками, до яких у них є доступ.",
"Board details" : "Деталі дошки",
"Edit board" : "Редагувати дошку",
"Clone board" : "Копіювати дошку",
"Unarchive board" : "Розархівувати дошку",
"Archive board" : "Архівувати дошку",
"Turn on due date reminders" : "Нагадування про термін виконання",
"Turn off due date reminders" : "Вимкнути нагадування про терміни виконання",
"Due date reminders" : "Нагадування про терміни виконання",
"No notifications" : "Немає сповіщень",
"Delete board" : "Вилучити дошку",
"Board {0} deleted" : "Дошку {0} вилучено",
@@ -185,6 +199,9 @@ OC.L10N.register(
"An error occurred" : "Виникла помилка",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Ви впевнені, що хочете вилучити дошку {title}? Це призведе до видалення всіх даних цієї дошки, включаючи архівні картки.",
"Delete the board?" : "Вилучити дошку?",
"No due" : "Без призначеної дати",
"No upcoming cards" : "Немає майбутніх завдань",
"upcoming cards" : "очікують на виконання",
"Due on {date}" : "До {date}",
"Link to a board" : "Прив'язати до дошки",
"Link to a card" : "Прив'язати до картки",

View File

@@ -32,6 +32,7 @@
"You have updated the description of card {card} in list {stack} on board {board}" : "Ви оновили опис картки {card} у списку {stack} на дошці {board}",
"Deck" : "Колода",
"Changes in the <strong>Deck app</strong>" : "Зміни у застосунку <strong>Колода</strong>",
"Upcoming cards" : "Очікують на виконання",
"Load more" : "Більше",
"Personal" : "Особисте",
"Deck board" : "Дошка Deck",
@@ -62,8 +63,10 @@
"Select the board to link to a project" : "Виберіть дошку для прив'зки до проєкту",
"Search by board title" : "Шукати за назвою дошки",
"Select board" : "Вибрати дошку",
"Create a new card" : "Створити нову картку",
"Select a board" : "Вибрати дошку",
"Select a list" : "Виберіть список",
"Card title" : "Заголовок картки",
"Cancel" : "Скасувати",
"Close" : "закрити",
"Select a card" : "Вибрати картку",
@@ -95,6 +98,7 @@
"Toggle compact mode" : "Перемкнути компактний вигляд",
"Details" : "Деталі",
"Loading board" : "Завантаження дошки",
"Create a new list to add cards to this board" : "Створіть список щоб додати картки на цю дошку",
"Board not found" : "Дошку не знайдено",
"Sharing" : "Поділитися",
"Tags" : "Теги",
@@ -118,6 +122,7 @@
"Edit" : "Редагувати",
"Add a new tag" : "Додати нову позначку",
"title and color value must be provided" : "потрібно зазначити назву та колір",
"Board name" : "Назва дошки",
"Members" : "Учасники",
"Upload new files" : "Додати файл",
"Share from Files" : "Відкрити Файли",
@@ -131,6 +136,7 @@
"Comments" : "Коментарі",
"Modified" : "Змінено",
"Created" : "Створено",
"No comments yet. Begin the discussion!" : "Коментарів немає, почніть обговорення!",
"Assign a tag to this card…" : "Додати позначку до цієї картки",
"Assign to users" : "Призначити користувачам",
"Assign to users/groups/circles" : "Призначити користувачам/групам/колам",
@@ -151,13 +157,15 @@
"Description" : "Опис",
"(Unsaved)" : "(Не збережено)",
"(Saving…)" : "(Зберігання...)",
"Formatting help" : "Форматування довідки",
"Formatting help" : "Допомога",
"Edit description" : "Редагувати опис",
"View description" : "Переглянути опис",
"Add Attachment" : "Долучити вкладення",
"Write a description …" : "Додайте опис ...",
"Choose attachment" : "Вибрати вкладення",
"(group)" : "(група)",
"Todo items" : "Пункти завдань",
"Edit card title" : "Редагувати заголовок картки",
"Assign to me" : "Призначити мені",
"Move card" : "Пересунути картку",
"Card details" : "Деталі картки",
@@ -169,13 +177,19 @@
"All boards" : "Усі дошки",
"Archived boards" : "Архівні дошки",
"Shared with you" : "Вам надано доступ",
"Deck settings" : "Налаштування колоди",
"Use bigger card view" : "Режим перегляду зі збільшеними картками",
"Show boards in calendar/tasks" : "Показувати дошки в календарі та завданнях",
"Limit deck usage of groups" : "Обмежити доступ до колоди для груп",
"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." : "Створення власних робочих дощок користувачам, які не входять у задані групи, буде заблоковано. Проте, такі користувачі зможуть продовжити працювати зі спільними дошками, до яких у них є доступ.",
"Board details" : "Деталі дошки",
"Edit board" : "Редагувати дошку",
"Clone board" : "Копіювати дошку",
"Unarchive board" : "Розархівувати дошку",
"Archive board" : "Архівувати дошку",
"Turn on due date reminders" : "Нагадування про термін виконання",
"Turn off due date reminders" : "Вимкнути нагадування про терміни виконання",
"Due date reminders" : "Нагадування про терміни виконання",
"No notifications" : "Немає сповіщень",
"Delete board" : "Вилучити дошку",
"Board {0} deleted" : "Дошку {0} вилучено",
@@ -183,6 +197,9 @@
"An error occurred" : "Виникла помилка",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Ви впевнені, що хочете вилучити дошку {title}? Це призведе до видалення всіх даних цієї дошки, включаючи архівні картки.",
"Delete the board?" : "Вилучити дошку?",
"No due" : "Без призначеної дати",
"No upcoming cards" : "Немає майбутніх завдань",
"upcoming cards" : "очікують на виконання",
"Due on {date}" : "До {date}",
"Link to a board" : "Прив'язати до дошки",
"Link to a card" : "Прив'язати до картки",

View File

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

View File

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

View File

@@ -59,20 +59,21 @@ class Calendar extends ExternalCalendar {
}
public function getACL() {
// the calendar should always have the read and the write-properties permissions
// write-properties is needed to allow the user to toggle the visibility of shared deck calendars
$acl = [
[
'privilege' => '{DAV:}read',
'principal' => $this->getOwner(),
'protected' => true,
]
];
if ($this->backend->checkBoardPermission($this->board->getId(), Acl::PERMISSION_MANAGE)) {
$acl[] = [
],
[
'privilege' => '{DAV:}write-properties',
'principal' => $this->getOwner(),
'protected' => true,
];
}
]
];
return $acl;
}
@@ -187,12 +188,18 @@ class Calendar extends ExternalCalendar {
foreach ($properties as $key => $value) {
switch ($key) {
case '{DAV:}displayname':
if (!$this->backend->checkBoardPermission($this->board->getId(), Acl::PERMISSION_MANAGE)) {
throw new Forbidden('no permission to change the displayname');
}
if (mb_strpos($value, 'Deck: ') === 0) {
$value = mb_substr($value, strlen('Deck: '));
}
$this->board->setTitle($value);
break;
case '{http://apple.com/ns/ical/}calendar-color':
if (!$this->backend->checkBoardPermission($this->board->getId(), Acl::PERMISSION_MANAGE)) {
throw new Forbidden('no permission to change the calendar color');
}
$color = substr($value, 1, 6);
if (!preg_match('/[a-f0-9]{6}/i', $color)) {
throw new InvalidDataException('No valid color provided');

View File

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

View File

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

66330
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,109 +1,109 @@
{
"name": "deck",
"description": "",
"version": "1.10.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",
"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.0",
"@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.0.1",
"@nextcloud/vue": "^7.8.4",
"@nextcloud/vue-dashboard": "^2.0.1",
"@nextcloud/vue-richtext": "^2.0.4",
"blueimp-md5": "^2.19.0",
"dompurify": "^3.0.2",
"lodash": "^4.17.21",
"markdown-it": "^13.0.1",
"markdown-it-link-attributes": "^4.0.1",
"markdown-it-task-checkbox": "^1.0.6",
"moment": "^2.29.4",
"nextcloud-vue-collections": "^0.11.0",
"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.0",
"@relative-ci/agent": "^4.1.3",
"@vue/test-utils": "^1.3.5",
"@vue/vue2-jest": "^29.2.3",
"cypress": "^12.9.0",
"eslint-plugin-cypress": "^2.13.2",
"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.9.2",
"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.0",
"@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.0.1",
"@nextcloud/vue": "^7.8.4",
"@nextcloud/vue-richtext": "^2.0.4",
"blueimp-md5": "^2.19.0",
"dompurify": "^3.0.0",
"lodash": "^4.17.21",
"markdown-it": "^13.0.1",
"markdown-it-link-attributes": "^4.0.1",
"markdown-it-task-checkbox": "^1.0.6",
"moment": "^2.29.4",
"nextcloud-vue-collections": "^0.11.0",
"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.4.0",
"@relative-ci/agent": "^4.1.3",
"@vue/test-utils": "^1.3.4",
"@vue/vue2-jest": "^29.2.2",
"cypress": "^12.7.0",
"eslint-plugin-cypress": "^2.12.1",
"eslint-webpack-plugin": "^4.0.0",
"jest": "^29.4.3",
"jest-serializer-vue": "^3.1.0",
"stylelint-webpack-plugin": "^4.1.0",
"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

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

View File

@@ -147,10 +147,10 @@ export default {
return this.$store.getters.cardById(this.id)
},
subtitle() {
return '<strong>' + t('deck', 'Created') + ' :</strong> ' + this.relativeDate(this.currentCard.createdAt * 1000) + '<br><strong>' + t('deck', 'Modified') + ' :</strong> ' + this.relativeDate(this.currentCard.lastModified * 1000)
return t('deck', 'Modified') + ': ' + this.relativeDate(this.currentCard.lastModified * 1000) + '' + t('deck', 'Created') + ': ' + this.relativeDate(this.currentCard.createdAt * 1000)
},
subtitleTooltip() {
return t('deck', 'Created') + ' : ' + this.formatDate(this.currentCard.createdAt) + '\n' + t('deck', 'Modified') + ' : ' + this.formatDate(this.currentCard.lastModified)
return t('deck', 'Modified') + ': ' + this.formatDate(this.currentCard.lastModified) + '\n' + t('deck', 'Created') + ': ' + this.formatDate(this.currentCard.createdAt)
},
cardRichObject() {
return {

View File

@@ -103,6 +103,7 @@
:formatter="format"
:disabled="saving || !canEdit"
:shortcuts="shortcuts"
:append-to-body="true"
confirm />
<NcActions v-if="canEdit">
<NcActionButton v-if="copiedCard.duedate" icon="icon-delete" @click="removeDue()">
@@ -448,5 +449,10 @@ export default {
.multiselect.multiselect--active:deep(.multiselect__tags-wrap) {
z-index: 0;
}
</style>
<style>
.mx-datepicker-main.mx-datepicker-popup {
/* above the modal */
z-index: 9999 !important;
}
</style>

View File

@@ -417,7 +417,7 @@ h5 {
.app-sidebar__tab .description__text .text-menubar {
top: -10px !important;
z-index: 100;
z-index: 1;
}
.modal__card .description__text .text-menubar {

View File

@@ -31,7 +31,7 @@
</div>
<div v-else-if="isValidFilter" class="overview">
<div v-if="assignedCardsDashboard.length > 0" class="dashboard-column">
<div class="dashboard-column">
<h3>{{ t('deck', 'Overdue') }}</h3>
<div v-for="card in assignedCardsDashboard.overdue" :key="card.id">
<CardItem :id="card.id" />

View File

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

View File

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

View File

@@ -22,18 +22,16 @@
import './css/dashboard.scss'
const debug = process.env.NODE_ENV !== 'production'
import './shared-init.js'
// eslint-disable-next-line
__webpack_nonce__ = btoa(OC.requestToken);
// eslint-disable-next-line
__webpack_public_path__ = OC.linkTo('deck', 'js/');
const debug = process.env.NODE_ENV !== 'production'
document.addEventListener('DOMContentLoaded', () => {
OCA.Dashboard.register('deck', async (el) => {
const { default: Vue } = await import('vue')
const { default: Vuex } = await import('vuex')
const { default: overview } = await import('./store/overview.js')
const { default: dashboard } = await import('./store/dashboard.js')
const { default: Dashboard } = await import('./views/Dashboard.vue')
Vue.prototype.t = t
Vue.prototype.n = n
@@ -42,7 +40,7 @@ document.addEventListener('DOMContentLoaded', () => {
const store = new Vuex.Store({
modules: {
overview,
dashboard,
},
strict: debug,
})

View File

@@ -28,6 +28,8 @@ import CommentReferenceWidget from './views/CommentReferenceWidget.vue'
import { translate, translatePlural } from '@nextcloud/l10n'
import './shared-init.js'
Vue.prototype.t = translate
Vue.prototype.n = translatePlural
Vue.prototype.OC = window.OC

View File

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

View File

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

12
src/shared-init.js Normal file
View File

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

51
src/store/dashboard.js Normal file
View File

@@ -0,0 +1,51 @@
/*
* @copyright Copyright (c) 2020 Jakob Röhrl <jakob.roehrl@web.de>
*
* @author Jakob Röhrl <jakob.roehrl@web.de>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
import Vue from 'vue'
import Vuex from 'vuex'
import { OverviewApi } from '../services/OverviewApi.js'
Vue.use(Vuex)
const apiClient = new OverviewApi()
export default {
state: {
assignedCards: [],
},
getters: {
assignedCardsDashboard: state => {
return Object.values(state.assignedCards).flat()
},
},
mutations: {
setAssignedCards(state, assignedCards) {
state.assignedCards = assignedCards
},
},
actions: {
async loadUpcoming({ commit }) {
const upcommingCards = await apiClient.get('upcoming')
commit('setAssignedCards', upcommingCards)
},
},
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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