Compare commits

..

52 Commits

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-15 01:26:04 +00:00
dependabot[bot]
b80c3bf30f Merge pull request #4913 from nextcloud/dependabot/composer/phpunit/phpunit-9.6.10 2023-07-15 01:13:41 +00:00
dependabot[bot]
1b5cc98249 Chore(deps-dev): Bump phpunit/phpunit from 9.6.9 to 9.6.10
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.9 to 9.6.10.
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.10/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.9...9.6.10)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-01 01:39:30 +00:00
dependabot[bot]
bb045e0cee Chore(deps-dev): Bump vimeo/psalm from 5.12.0 to 5.13.1
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 5.12.0 to 5.13.1.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/5.12.0...5.13.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-01 01:16:08 +00:00
Nextcloud bot
ab016b4561 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-30 00:44:04 +00:00
39 changed files with 1863 additions and 1797 deletions

View File

@@ -5,142 +5,120 @@ on:
push:
branches:
- main
- master
- stable*
env:
# Adjust APP_NAME if your repository name is different
APP_NAME: ${{ github.event.repository.name }}
# This represents the server branch to checkout.
# Usually it's the base branch of the PR, but for pushes it's the branch itself.
# e.g. 'main', 'stable27' or 'feature/my-feature
# n.b. server will use head_ref, as we want to test the PR branch.
BRANCH: ${{ github.base_ref || github.ref_name }}
APP_NAME: deck
CYPRESS_baseUrl: http://localhost:8081/index.php
jobs:
init:
runs-on: ubuntu-latest
outputs:
nodeVersion: ${{ steps.versions.outputs.nodeVersion }}
npmVersion: ${{ steps.versions.outputs.npmVersion }}
steps:
- name: Checkout app
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- name: Check composer.json
id: check_composer
uses: andstor/file-existence-action@20b4d2e596410855db8f9ca21e96fbe18e12930b # v2
with:
files: "composer.json"
- name: Install composer dependencies
if: steps.check_composer.outputs.files_exists == 'true'
run: composer install --no-dev
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
id: versions
with:
fallbackNode: "^20"
fallbackNpm: "^9"
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Install node dependencies & build app
run: |
npm ci
TESTING=true npm run build --if-present
- name: Save context
uses: buildjet/cache/save@e376f15c6ec6dc595375c78633174c7e5f92dc0e # v3
with:
key: cypress-context-${{ github.run_id }}
path: ./
cypress:
runs-on: ubuntu-latest
needs: init
strategy:
fail-fast: false
matrix:
# Run multiple copies of the current job in parallel
# Please increase the number or runners as your tests suite grows
containers: ["component", 1, 2, 3]
name: runner ${{ matrix.containers }}
node-version: [14.x]
# containers: [1, 2, 3]
php-versions: [ '8.0' ]
databases: [ 'sqlite' ]
server-versions: [ 'master' ]
steps:
- name: Restore context
uses: buildjet/cache/restore@e376f15c6ec6dc595375c78633174c7e5f92dc0e # v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
fail-on-cache-miss: true
key: cypress-context-${{ github.run_id }}
path: ./
node-version: ${{ matrix.node-version }}
- name: Set up npm7
run: npm i -g npm@7
- name: Set up node ${{ needs.init.outputs.nodeVersion }}
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
- name: Register text Git reference
run: |
text_app_ref="$(if [ "${{ matrix.server-versions }}" = "master" ]; then echo -n "main"; else echo -n "${{ matrix.server-versions }}"; fi)"
echo "text_app_ref=$text_app_ref" >> $GITHUB_ENV
- name: Checkout server
uses: actions/checkout@v3
with:
node-version: ${{ needs.init.outputs.nodeVersion }}
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
- name: Set up npm ${{ needs.init.outputs.npmVersion }}
run: npm i -g npm@"${{ needs.init.outputs.npmVersion }}"
- name: Checkout submodules
shell: bash
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
uses: cypress-io/github-action@db1693016f23ccf9043f4b2428f9b04e5d502a73 # v5.8.1
- name: Checkout ${{ env.APP_NAME }}
uses: actions/checkout@v3
with:
path: apps/${{ env.APP_NAME }}
- name: Checkout text
uses: actions/checkout@v3
with:
repository: nextcloud/text
ref: ${{ env.text_app_ref }}
path: apps/text
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.25.4
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu
ini-values:
apc.enable_cli=on
coverage: none
- name: Set up Nextcloud
env:
DB_PORT: 4444
PHP_CLI_SERVER_WORKERS: 10
run: |
mkdir data
php occ maintenance:install --verbose --database=${{ matrix.databases }} --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php occ config:system:set memcache.local --value="\\OC\\Memcache\\APCu"
php occ config:system:set debug --value=true --type=boolean
php -f index.php
php -S 0.0.0.0:8081 &
export OC_PASS=1234561
php occ user:add --password-from-env user1
php occ user:add --password-from-env user2
php occ app:enable deck
php occ app:list
cd apps/deck
composer install --no-dev
npm ci
npm run build
cd ../../
curl -v http://localhost:8081/index.php/login
- name: Cypress run
uses: cypress-io/github-action@v5
with:
record: true
parallel: true
# cypress run type
component: ${{ matrix.containers == 'component' }}
group: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }}
# cypress env
ci-build-id: ${{ github.sha }}-${{ github.run_number }}
tag: ${{ github.event_name }}
parallel: false
wait-on: '${{ env.CYPRESS_baseUrl }}'
working-directory: 'apps/${{ env.APP_NAME }}'
config: defaultCommandTimeout=10000,video=false
env:
# Needs to be prefixed with CYPRESS_
CYPRESS_BRANCH: ${{ env.BRANCH }}
# https://github.com/cypress-io/github-action/issues/124
COMMIT_INFO_MESSAGE: ${{ github.event.pull_request.title }}
# Needed for some specific code workarounds
TESTING: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
npm_package_name: ${{ env.APP_NAME }}
- name: Upload snapshots
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
if: always()
- name: Upload test failure screenshots
uses: actions/upload-artifact@v3
if: failure()
with:
name: snapshots_${{ matrix.containers }}
path: cypress/snapshots
name: Upload screenshots
path: apps/${{ env.APP_NAME }}/cypress/screenshots/
retention-days: 5
- name: Extract NC logs
if: failure() && matrix.containers != 'component'
run: docker logs nextcloud-cypress-tests-${{ env.APP_NAME }} > nextcloud.log
- name: Upload NC logs
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
if: failure() && matrix.containers != 'component'
- name: Upload nextcloud logs
uses: actions/upload-artifact@v3
if: failure()
with:
name: nc_logs_${{ matrix.containers }}
path: nextcloud.log
summary:
runs-on: ubuntu-latest
needs: [init, cypress]
if: always()
name: cypress-summary
steps:
- name: Summary status
run: if ${{ needs.init.result != 'success' || ( needs.cypress.result != 'success' && needs.cypress.result != 'skipped' ) }}; then exit 1; fi
name: Upload nextcloud log
path: data/nextcloud.log
retention-days: 5

View File

@@ -98,7 +98,7 @@ jobs:
cat config/config.php
./occ user:list
./occ app:enable --force ${{ env.APP_NAME }}
./occ config:system:set query_log_file --value '/home/runner/work/${{ env.APP_NAME }}/${{ env.APP_NAME }}/query.log'
./occ config:system:set query_log_file --value "$PWD/query.log"
php -S localhost:8080 &
- name: Run behat
@@ -123,12 +123,12 @@ jobs:
myError += data.toString()
}
}
await exec.exec(`/bin/bash -c "cat /home/runner/work/${{ env.APP_NAME }}/${{ env.APP_NAME }}/query.log | wc -l"`, [], options)
await exec.exec(`/bin/bash -c "cat query.log | wc -l"`, [], options)
msg = myOutput
const queryCount = parseInt(myOutput, 10)
myOutput = ''
await exec.exec('cat', ['/home/runner/work/${{ env.APP_NAME }}/${{ env.APP_NAME }}/apps/${{ env.APP_NAME }}/tests/integration/base-query-count.txt'], options)
await exec.exec('cat', ['apps/${{ env.APP_NAME }}/tests/integration/base-query-count.txt'], options)
const baseCount = parseInt(myOutput, 10)
const absoluteIncrease = queryCount - baseCount
@@ -151,4 +151,4 @@ jobs:
repo: context.repo.repo,
body: comment
})
}
}

View File

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

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

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

95
composer.lock generated
View File

@@ -556,25 +556,29 @@
},
{
"name": "doctrine/deprecations",
"version": "v1.1.0",
"version": "v1.1.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/deprecations.git",
"reference": "8cffffb2218e01f3b370bf763e00e81697725259"
"reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/deprecations/zipball/8cffffb2218e01f3b370bf763e00e81697725259",
"reference": "8cffffb2218e01f3b370bf763e00e81697725259",
"url": "https://api.github.com/repos/doctrine/deprecations/zipball/612a3ee5ab0d5dd97b7cf3874a6efe24325efac3",
"reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3",
"shasum": ""
},
"require": {
"php": "^7.1|^8.0"
"php": "^7.1 || ^8.0"
},
"require-dev": {
"doctrine/coding-standard": "^9",
"phpunit/phpunit": "^7.5|^8.5|^9.5",
"psr/log": "^1|^2|^3"
"phpstan/phpstan": "1.4.10 || 1.10.15",
"phpstan/phpstan-phpunit": "^1.0",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
"psalm/plugin-phpunit": "0.18.4",
"psr/log": "^1 || ^2 || ^3",
"vimeo/psalm": "4.30.0 || 5.12.0"
},
"suggest": {
"psr/log": "Allows logging deprecations via PSR-3 logger implementation"
@@ -593,9 +597,9 @@
"homepage": "https://www.doctrine-project.org/",
"support": {
"issues": "https://github.com/doctrine/deprecations/issues",
"source": "https://github.com/doctrine/deprecations/tree/v1.1.0"
"source": "https://github.com/doctrine/deprecations/tree/v1.1.1"
},
"time": "2023-05-29T18:55:17+00:00"
"time": "2023-06-03T09:27:29+00:00"
},
{
"name": "doctrine/instantiator",
@@ -1027,16 +1031,16 @@
},
{
"name": "nikic/php-parser",
"version": "v4.15.5",
"version": "v4.16.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e"
"reference": "19526a33fb561ef417e822e85f08a00db4059c17"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/11e2663a5bc9db5d714eedb4277ee300403b4a9e",
"reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/19526a33fb561ef417e822e85f08a00db4059c17",
"reference": "19526a33fb561ef417e822e85f08a00db4059c17",
"shasum": ""
},
"require": {
@@ -1077,9 +1081,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v4.15.5"
"source": "https://github.com/nikic/PHP-Parser/tree/v4.16.0"
},
"time": "2023-05-19T20:20:00+00:00"
"time": "2023-06-25T14:52:30+00:00"
},
{
"name": "phar-io/manifest",
@@ -1413,16 +1417,16 @@
},
{
"name": "phpdocumentor/type-resolver",
"version": "1.7.1",
"version": "1.7.2",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
"reference": "dfc078e8af9c99210337325ff5aa152872c98714"
"reference": "b2fe4d22a5426f38e014855322200b97b5362c0d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/dfc078e8af9c99210337325ff5aa152872c98714",
"reference": "dfc078e8af9c99210337325ff5aa152872c98714",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/b2fe4d22a5426f38e014855322200b97b5362c0d",
"reference": "b2fe4d22a5426f38e014855322200b97b5362c0d",
"shasum": ""
},
"require": {
@@ -1465,28 +1469,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.7.2"
},
"time": "2023-03-27T19:02:04+00:00"
"time": "2023-05-30T18:13:47+00:00"
},
{
"name": "phpstan/phpdoc-parser",
"version": "1.21.0",
"version": "1.22.0",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
"reference": "6df62b08faef4f899772bc7c3bbabb93d2b7a21c"
"reference": "ec58baf7b3c7f1c81b3b00617c953249fb8cf30c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/6df62b08faef4f899772bc7c3bbabb93d2b7a21c",
"reference": "6df62b08faef4f899772bc7c3bbabb93d2b7a21c",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/ec58baf7b3c7f1c81b3b00617c953249fb8cf30c",
"reference": "ec58baf7b3c7f1c81b3b00617c953249fb8cf30c",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0"
},
"require-dev": {
"doctrine/annotations": "^2.0",
"nikic/php-parser": "^4.15",
"php-parallel-lint/php-parallel-lint": "^1.2",
"phpstan/extension-installer": "^1.0",
@@ -1511,9 +1516,9 @@
"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.21.0"
"source": "https://github.com/phpstan/phpdoc-parser/tree/1.22.0"
},
"time": "2023-05-17T13:13:44+00:00"
"time": "2023-06-01T12:35:21+00:00"
},
{
"name": "phpunit/php-code-coverage",
@@ -1835,16 +1840,16 @@
},
{
"name": "phpunit/phpunit",
"version": "9.6.9",
"version": "9.6.10",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "a9aceaf20a682aeacf28d582654a1670d8826778"
"reference": "a6d351645c3fe5a30f5e86be6577d946af65a328"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a9aceaf20a682aeacf28d582654a1670d8826778",
"reference": "a9aceaf20a682aeacf28d582654a1670d8826778",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a6d351645c3fe5a30f5e86be6577d946af65a328",
"reference": "a6d351645c3fe5a30f5e86be6577d946af65a328",
"shasum": ""
},
"require": {
@@ -1918,7 +1923,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.9"
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.10"
},
"funding": [
{
@@ -1934,7 +1939,7 @@
"type": "tidelift"
}
],
"time": "2023-06-11T06:13:56+00:00"
"time": "2023-07-10T04:04:23+00:00"
},
{
"name": "psr/clock",
@@ -3922,16 +3927,16 @@
},
{
"name": "symfony/filesystem",
"version": "v5.4.23",
"version": "v5.4.25",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "b2f79d86cd9e7de0fff6d03baa80eaed7a5f38b5"
"reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/b2f79d86cd9e7de0fff6d03baa80eaed7a5f38b5",
"reference": "b2f79d86cd9e7de0fff6d03baa80eaed7a5f38b5",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
"reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
"shasum": ""
},
"require": {
@@ -3966,7 +3971,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/filesystem/tree/v5.4.23"
"source": "https://github.com/symfony/filesystem/tree/v5.4.25"
},
"funding": [
{
@@ -3982,7 +3987,7 @@
"type": "tidelift"
}
],
"time": "2023-03-02T11:38:35+00:00"
"time": "2023-05-31T13:04:02+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -4697,16 +4702,16 @@
},
{
"name": "vimeo/psalm",
"version": "5.12.0",
"version": "5.13.1",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
"reference": "f90118cdeacd0088e7215e64c0c99ceca819e176"
"reference": "086b94371304750d1c673315321a55d15fc59015"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/f90118cdeacd0088e7215e64c0c99ceca819e176",
"reference": "f90118cdeacd0088e7215e64c0c99ceca819e176",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/086b94371304750d1c673315321a55d15fc59015",
"reference": "086b94371304750d1c673315321a55d15fc59015",
"shasum": ""
},
"require": {
@@ -4797,9 +4802,9 @@
],
"support": {
"issues": "https://github.com/vimeo/psalm/issues",
"source": "https://github.com/vimeo/psalm/tree/5.12.0"
"source": "https://github.com/vimeo/psalm/tree/5.13.1"
},
"time": "2023-05-22T21:19:03+00:00"
"time": "2023-06-27T16:39:49+00:00"
},
{
"name": "webmozart/assert",

View File

@@ -2,6 +2,7 @@ OC.L10N.register(
"deck",
{
"Personal" : "Persoonlik",
"Later" : "Later",
"copy" : "kopie",
"Done" : "Gereed",
"The file was uploaded" : "Die lêer is opgelaai",

View File

@@ -1,5 +1,6 @@
{ "translations": {
"Personal" : "Persoonlik",
"Later" : "Later",
"copy" : "kopie",
"Done" : "Gereed",
"The file was uploaded" : "Die lêer is opgelaai",

View File

@@ -14,6 +14,7 @@ OC.L10N.register(
"Missing a temporary folder" : "Ajutine kausta on puudu",
"Could not write file to disk" : "Faili kirjutamine kettale ebaõnnestus",
"A PHP extension stopped the file upload" : "PHP laiendus peatas faili üleslaadimise",
"No file uploaded or file size exceeds maximum of %s" : "Faili ei laaditud üles või selle suurus ületab maksimaalse %s",
"Invalid date, date format must be YYYY-MM-DD" : "Vigane kuupäev, formaat peab olema YYYY-MM-DD",
"Cancel" : "Loobu",
"Close" : "Sulge",

View File

@@ -12,6 +12,7 @@
"Missing a temporary folder" : "Ajutine kausta on puudu",
"Could not write file to disk" : "Faili kirjutamine kettale ebaõnnestus",
"A PHP extension stopped the file upload" : "PHP laiendus peatas faili üleslaadimise",
"No file uploaded or file size exceeds maximum of %s" : "Faili ei laaditud üles või selle suurus ületab maksimaalse %s",
"Invalid date, date format must be YYYY-MM-DD" : "Vigane kuupäev, formaat peab olema YYYY-MM-DD",
"Cancel" : "Loobu",
"Close" : "Sulge",

View File

@@ -1,67 +1,67 @@
OC.L10N.register(
"deck",
{
"You have created a new board {board}" : "Vostede creou o novo taboleiro {board}",
"You have created a new board {board}" : "Vde. creou o novo taboleiro {board}",
"{user} has created a new board {board}" : "{user} creou o novo taboleiro {board}",
"You have deleted the board {board}" : "Vostede eliminou o taboleiro {board}",
"You have deleted the board {board}" : "Vde. eliminou o taboleiro {board}",
"{user} has deleted the board {board}" : "{user} eliminou o taboleiro {board}",
"You have restored the board {board}" : "Vostede restaurou o taboleiro {board}",
"You have restored the board {board}" : "Vde. restaurou o taboleiro {board}",
"{user} has restored the board {board}" : "{user} restaurou o taboleiro {board}",
"You have shared the board {board} with {acl}" : "Vostede compartiu o taboleiro {board} con {acl}",
"You have shared the board {board} with {acl}" : "Vde. compartiu o taboleiro {board} con {acl}",
"{user} has shared the board {board} with {acl}" : "{user} compartiu o taboleiro {board} con {acl}",
"You have removed {acl} from the board {board}" : "Vostede retirou a {acl} do taboleiro {board}",
"You have removed {acl} from the board {board}" : "Vde. retirou a {acl} do taboleiro {board}",
"{user} has removed {acl} from the board {board}" : "{user} retirou a {acl} do taboleiro {board}",
"You have renamed the board {before} to {board}" : "Vostede renomeou o taboleiro {before} como {board}",
"You have renamed the board {before} to {board}" : "Vde. renomeou o taboleiro {before} como {board}",
"{user} has renamed the board {before} to {board}" : "{user} renomeou o taboleiro {before} como {board}",
"You have archived the board {board}" : "Vostede arquivou o taboleiro {board}",
"You have archived the board {board}" : "Vde. arquivou o taboleiro {board}",
"{user} has archived the board {before}" : "{user} arquivou o taboleiro {before}",
"You have unarchived the board {board}" : "Vostede desarquivou o taboleiro {board}",
"You have unarchived the board {board}" : "Vde. desarquivou o taboleiro {board}",
"{user} has unarchived the board {before}" : "{user} desarquivou o taboleiro {before}",
"You have created a new list {stack} on board {board}" : "Vostede creou unha nova lista {stack} no taboleiro {board}",
"You have created a new list {stack} on board {board}" : "Vde. creou unha nova lista {stack} no taboleiro {board}",
"{user} has created a new list {stack} on board {board}" : "{user} creou unha nova lista {stack} no taboleiro {board}",
"You have renamed list {before} to {stack} on board {board}" : "Vostede renomeou a lista {before} no taboleiro {board}",
"You have renamed list {before} to {stack} on board {board}" : "Vde. renomeou a lista {before} no taboleiro {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} renomeou a lista {before} como {stack} no taboleiro {board}",
"You have deleted list {stack} on board {board}" : "Vostede eliminou a lista {stack} do taboleiro {board}",
"You have deleted list {stack} on board {board}" : "Vde. eliminou a lista {stack} do taboleiro {board}",
"{user} has deleted list {stack} on board {board}" : "{user} eliminou a lista {stack} do taboleiro {board}",
"You have created card {card} in list {stack} on board {board}" : "Vostede creou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have created card {card} in list {stack} on board {board}" : "Vde. creou a tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} creou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Vostede eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Vde. eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have renamed the card {before} to {card}" : "Renomeou a tarxeta {before} a {card}",
"{user} has renamed the card {before} to {card}" : "{user} renomeou a tarxeta {before} a {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Vostede engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
"You have added a description to card {card} in list {stack} on board {board}" : "Vde. engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Vostede actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Vde. actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
"You have archived card {card} in list {stack} on board {board}" : "Vostede arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have archived card {card} in list {stack} on board {board}" : "Vde. arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Vostede desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Vde. desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have removed the due date of card {card}" : "Vostede retirou a caducidade da tarxeta {card}",
"You have removed the due date of card {card}" : "Vde. retirou a caducidade da tarxeta {card}",
"{user} has removed the due date of card {card}" : "{user} retirou a caducidade da tarxeta {card}",
"You have set the due date of card {card} to {after}" : "Vostede estabeleceu a caducidade da tarxeta {card} a {after}",
"You have set the due date of card {card} to {after}" : "Vde. estabeleceu a caducidade da tarxeta {card} a {after}",
"{user} has set the due date of card {card} to {after}" : "{user} estabeleceu a caducidade da tarxeta {card} a {after}",
"You have updated the due date of card {card} to {after}" : "Vostede actualizou a caducidade da tarxeta {card} a {after}",
"You have updated the due date of card {card} to {after}" : "Vde. actualizou a caducidade da tarxeta {card} a {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} actualizou a caducidade da tarxeta {card} a {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Vostede engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Vde. engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Vostede retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Vde. retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Vostede asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Vde. asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Vostede desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Vde. desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Vostede moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Vde. moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
"You have added the attachment {attachment} to card {card}" : "Vostede engadiu o anexo {attachment} na tarxeta {card}",
"You have added the attachment {attachment} to card {card}" : "Vde. engadiu o anexo {attachment} na tarxeta {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} engadiu o anexo {attachment} na tarxeta {card}",
"You have updated the attachment {attachment} on card {card}" : "Vostede actualizou o anexo {attachment} na tarxeta {card}",
"You have updated the attachment {attachment} on card {card}" : "Vde. actualizou o anexo {attachment} na tarxeta {card}",
"{user} has updated the attachment {attachment} on card {card}" : "{user} actualizou o anexo {attachment} na tarxeta {card}",
"You have deleted the attachment {attachment} from card {card}" : "Vostede eliminou o anexo {attachment} da tarxeta {card}",
"You have deleted the attachment {attachment} from card {card}" : "Vde. eliminou o anexo {attachment} da tarxeta {card}",
"{user} has deleted the attachment {attachment} from card {card}" : "{user} eliminou o anexo {attachment} da tarxeta {card}",
"You have restored the attachment {attachment} to card {card}" : "Vostede restaurou o anexo {attachment} na tarxeta {card}",
"You have restored the attachment {attachment} to card {card}" : "Vde. restaurou o anexo {attachment} na tarxeta {card}",
"{user} has restored the attachment {attachment} to card {card}" : "{user} restaurou o anexo {attachment} da tarxeta {card}",
"You have commented on card {card}" : "Vostede comentou na tarxeta {card}",
"You have commented on card {card}" : "Vde. comentou na tarxeta {card}",
"{user} has commented on card {card}" : "{user} comentou na tarxeta {card}",
"A <strong>card description</strong> inside the Deck app has been changed" : "Cambiouse a <strong>descripción da tarxeta</strong> dentro da aplicación Tarxeteiro",
"Deck" : "Tarxeteiro",
@@ -70,13 +70,13 @@ OC.L10N.register(
"Upcoming cards" : "Tarxetas próximas",
"Load more" : "Cargar máis",
"Personal" : "Persoal",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "A tarxeta «%s» en «%s» foi asignada a vostede por %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} asignoulle a tarxeta {deck-card} en {deck-board} a vostede.",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "A tarxeta «%s» en «%s» foi asignada a Vde. por %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} asignoulle a tarxeta {deck-card} en {deck-board} a Vde.",
"The card \"%s\" on \"%s\" has reached its due date." : "A tarxeta «%s» en «%s» acadou a súa data de caducidade.",
"The card {deck-card} on {deck-board} has reached its due date." : "A tarxeta {deck-card} en {deck-board} chegou á súa data de caducidade.",
"%s has mentioned you in a comment on \"%s\"." : "%s mencionouno a vostede nun comentario en «%s».",
"{user} has mentioned you in a comment on {deck-card}." : "{user} mencionouno a vostede nun comentario en {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "O taboleiro «%s» foi compartido con vostede por %s.",
"%s has mentioned you in a comment on \"%s\"." : "%s mencionouno a Vde. nun comentario en «%s».",
"{user} has mentioned you in a comment on {deck-card}." : "{user} mencionouno a Vde. nun comentario en {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "O taboleiro «%s» foi compartido con Vde. por %s.",
"{user} has shared {deck-board} with you." : "{user} compartiu {deck-board} con vostede.",
"Deck board" : "Taboleiro do Tarxeteiro",
"Owned by %1$s" : "Propiedade de %1$s",
@@ -111,7 +111,7 @@ OC.L10N.register(
"Path is already shared with this card" : "A ruta xa está compartida con esta tarxeta",
"Invalid date, date format must be YYYY-MM-DD" : "Data incorrecta, o formato da date debe ser AAAA-MM-DD",
"Personal planning and team project organization" : "Planificación persoal e organización de proxectos de equipo",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Tarxeteiro é unha ferramenta de organización de estilo kanban dirixida a planificación persoal e organización de proxectos para equipos integrados con Nextcloud. \n\n\n- 📥 Engada as súas tarefas ás tarxetas e fagas ordenadas\n- 📄 Escriba notas adicionais en Markdown\n- 🔖 Asigne etiquetas para unha mellor organización\n- 👥 Comparta co seu equipo, amigos ou a súa familia\n- 📎 Anexe ficheiros e insíraos na súa descrición de Markdown\n- 💬 Debata co seu equipo usando os comentarios\n- ⚡ Faga un seguimento dos cambios no fluxo de actividade\n- 🚀 Teña o seu proxecto organizado",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Tarxeteiro é unha ferramenta de organización de estilo kanban dirixida a planificación persoal e organización de proxectos para equipos integrados con Nextcloud. \n\n\n- 📥 Engada as súas tarefas ás tarxetas e fagas ordenadas\n- 📄 Escriba notas adicionais en Markdown\n- 🔖 Asigne etiquetas para unha mellor organización\n- 👥 Comparta co seu equipo, amigos ou a súa familia\n- 📎 Anexe ficheiros e integreos na súa descrición de Markdown\n- 💬 Debata co seu equipo usando os comentarios\n- ⚡ Faga un seguimento dos cambios no fluxo de actividade\n- 🚀 Teña o seu proxecto organizado",
"Add board" : "Engadir taboleiro",
"Select the board to link to a project" : "Seleccione o taboleiro para ligar a un proxecto",
"Search by board title" : "Buscar polo título do taboleiro",
@@ -128,7 +128,7 @@ OC.L10N.register(
"Create card" : "Crear tarxeta",
"Select a card" : "Seleccione unha tarxeta",
"Select the card to link to a project" : "Seleccione a tarxeta para ligar a un proxecto",
"Link to card" : "Ligar á tarxeta",
"Link to card" : "Ligazón á tarxeta",
"File already exists" : "O ficheiro xa existe",
"A file with the name {filename} already exists." : "Xa existe un ficheiro co nome {filename}.",
"Do you want to overwrite it?" : "Quere sobrescribilo?",
@@ -202,7 +202,7 @@ OC.L10N.register(
"Members" : "Membros",
"Upload new files" : "Enviar novos ficheiros",
"Share from Files" : "Compartir dende «Ficheiros»",
"Pending share" : "Recurso compartido pendente",
"Pending share" : "Compartición pendente",
"Add this attachment" : "Engadir este anexo",
"Show in Files" : "Amosar en Ficheiros",
"Download" : "Descargar",
@@ -265,7 +265,7 @@ OC.L10N.register(
"seconds ago" : "segundos atrás",
"All boards" : "Todos os taboleiros",
"Archived boards" : "Taboleiros arquivados",
"Shared with you" : "Compartido con vostede",
"Shared with you" : "Compartido con Vde.",
"Deck settings" : "Axustes do Tarxeteiro",
"Use bigger card view" : "Usa a vista de tarxeta máis grande",
"Show card ID badge" : "Amosar o distintivo de identificación da tarxeta",
@@ -295,18 +295,18 @@ OC.L10N.register(
"No due" : "Sen caducidade",
"Search for {searchQuery} in all boards" : "Resultados de busca para {searchQuery} en todos os taboleiros",
"No results found" : "Non se atoparon resultados",
"Deck board {name}\n* Last modified on {lastMod}" : "Taboleiro do Tarxeteiro {nome}\n* Última modificación en {lastMod}",
"Deck board {name}\n* Last modified on {lastMod}" : "Taboleiro do Tarxeteiro {name}\n* Última modificación en {lastMod}",
"{stack} in {board}" : "{stack} en {board}",
"Click to expand description" : "Prema para ampliar a descrición",
"Click to expand description" : "Prema para despregar a descrición",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creado o {created}\n* Última modificación o {lastMod}\n* {nbAttachments} anexos\n* {nbComments} comentarios",
"{nbCards} cards" : "{nbCards} tarxetas",
"Click to expand comment" : "Prema para ampliar o comentario",
"Click to expand comment" : "Prema para despregar o comentario",
"No upcoming cards" : "Non hai tarxetas próximas",
"upcoming cards" : "tarxetas próximas",
"New card" : "Nova tarxeta",
"Due on {date}" : "Caduca o {date}",
"Link to a board" : "Ligar a un taboleiro",
"Link to a card" : "Ligar a unha tarxeta",
"Link to a board" : "Ligazón a un taboleiro",
"Link to a card" : "Ligazón a unha tarxeta",
"Create a card" : "Crear unha tarxeta",
"Message from {author} in {conversationName}" : "Mensaxe de {author} en {conversationName}",
"Something went wrong" : "Algo foi mal",

View File

@@ -1,65 +1,65 @@
{ "translations": {
"You have created a new board {board}" : "Vostede creou o novo taboleiro {board}",
"You have created a new board {board}" : "Vde. creou o novo taboleiro {board}",
"{user} has created a new board {board}" : "{user} creou o novo taboleiro {board}",
"You have deleted the board {board}" : "Vostede eliminou o taboleiro {board}",
"You have deleted the board {board}" : "Vde. eliminou o taboleiro {board}",
"{user} has deleted the board {board}" : "{user} eliminou o taboleiro {board}",
"You have restored the board {board}" : "Vostede restaurou o taboleiro {board}",
"You have restored the board {board}" : "Vde. restaurou o taboleiro {board}",
"{user} has restored the board {board}" : "{user} restaurou o taboleiro {board}",
"You have shared the board {board} with {acl}" : "Vostede compartiu o taboleiro {board} con {acl}",
"You have shared the board {board} with {acl}" : "Vde. compartiu o taboleiro {board} con {acl}",
"{user} has shared the board {board} with {acl}" : "{user} compartiu o taboleiro {board} con {acl}",
"You have removed {acl} from the board {board}" : "Vostede retirou a {acl} do taboleiro {board}",
"You have removed {acl} from the board {board}" : "Vde. retirou a {acl} do taboleiro {board}",
"{user} has removed {acl} from the board {board}" : "{user} retirou a {acl} do taboleiro {board}",
"You have renamed the board {before} to {board}" : "Vostede renomeou o taboleiro {before} como {board}",
"You have renamed the board {before} to {board}" : "Vde. renomeou o taboleiro {before} como {board}",
"{user} has renamed the board {before} to {board}" : "{user} renomeou o taboleiro {before} como {board}",
"You have archived the board {board}" : "Vostede arquivou o taboleiro {board}",
"You have archived the board {board}" : "Vde. arquivou o taboleiro {board}",
"{user} has archived the board {before}" : "{user} arquivou o taboleiro {before}",
"You have unarchived the board {board}" : "Vostede desarquivou o taboleiro {board}",
"You have unarchived the board {board}" : "Vde. desarquivou o taboleiro {board}",
"{user} has unarchived the board {before}" : "{user} desarquivou o taboleiro {before}",
"You have created a new list {stack} on board {board}" : "Vostede creou unha nova lista {stack} no taboleiro {board}",
"You have created a new list {stack} on board {board}" : "Vde. creou unha nova lista {stack} no taboleiro {board}",
"{user} has created a new list {stack} on board {board}" : "{user} creou unha nova lista {stack} no taboleiro {board}",
"You have renamed list {before} to {stack} on board {board}" : "Vostede renomeou a lista {before} no taboleiro {board}",
"You have renamed list {before} to {stack} on board {board}" : "Vde. renomeou a lista {before} no taboleiro {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} renomeou a lista {before} como {stack} no taboleiro {board}",
"You have deleted list {stack} on board {board}" : "Vostede eliminou a lista {stack} do taboleiro {board}",
"You have deleted list {stack} on board {board}" : "Vde. eliminou a lista {stack} do taboleiro {board}",
"{user} has deleted list {stack} on board {board}" : "{user} eliminou a lista {stack} do taboleiro {board}",
"You have created card {card} in list {stack} on board {board}" : "Vostede creou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have created card {card} in list {stack} on board {board}" : "Vde. creou a tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} creou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Vostede eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Vde. eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have renamed the card {before} to {card}" : "Renomeou a tarxeta {before} a {card}",
"{user} has renamed the card {before} to {card}" : "{user} renomeou a tarxeta {before} a {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Vostede engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
"You have added a description to card {card} in list {stack} on board {board}" : "Vde. engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Vostede actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Vde. actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
"You have archived card {card} in list {stack} on board {board}" : "Vostede arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have archived card {card} in list {stack} on board {board}" : "Vde. arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Vostede desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Vde. desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have removed the due date of card {card}" : "Vostede retirou a caducidade da tarxeta {card}",
"You have removed the due date of card {card}" : "Vde. retirou a caducidade da tarxeta {card}",
"{user} has removed the due date of card {card}" : "{user} retirou a caducidade da tarxeta {card}",
"You have set the due date of card {card} to {after}" : "Vostede estabeleceu a caducidade da tarxeta {card} a {after}",
"You have set the due date of card {card} to {after}" : "Vde. estabeleceu a caducidade da tarxeta {card} a {after}",
"{user} has set the due date of card {card} to {after}" : "{user} estabeleceu a caducidade da tarxeta {card} a {after}",
"You have updated the due date of card {card} to {after}" : "Vostede actualizou a caducidade da tarxeta {card} a {after}",
"You have updated the due date of card {card} to {after}" : "Vde. actualizou a caducidade da tarxeta {card} a {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} actualizou a caducidade da tarxeta {card} a {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Vostede engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Vde. engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Vostede retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Vde. retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Vostede asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Vde. asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Vostede desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Vde. desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Vostede moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Vde. moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
"You have added the attachment {attachment} to card {card}" : "Vostede engadiu o anexo {attachment} na tarxeta {card}",
"You have added the attachment {attachment} to card {card}" : "Vde. engadiu o anexo {attachment} na tarxeta {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} engadiu o anexo {attachment} na tarxeta {card}",
"You have updated the attachment {attachment} on card {card}" : "Vostede actualizou o anexo {attachment} na tarxeta {card}",
"You have updated the attachment {attachment} on card {card}" : "Vde. actualizou o anexo {attachment} na tarxeta {card}",
"{user} has updated the attachment {attachment} on card {card}" : "{user} actualizou o anexo {attachment} na tarxeta {card}",
"You have deleted the attachment {attachment} from card {card}" : "Vostede eliminou o anexo {attachment} da tarxeta {card}",
"You have deleted the attachment {attachment} from card {card}" : "Vde. eliminou o anexo {attachment} da tarxeta {card}",
"{user} has deleted the attachment {attachment} from card {card}" : "{user} eliminou o anexo {attachment} da tarxeta {card}",
"You have restored the attachment {attachment} to card {card}" : "Vostede restaurou o anexo {attachment} na tarxeta {card}",
"You have restored the attachment {attachment} to card {card}" : "Vde. restaurou o anexo {attachment} na tarxeta {card}",
"{user} has restored the attachment {attachment} to card {card}" : "{user} restaurou o anexo {attachment} da tarxeta {card}",
"You have commented on card {card}" : "Vostede comentou na tarxeta {card}",
"You have commented on card {card}" : "Vde. comentou na tarxeta {card}",
"{user} has commented on card {card}" : "{user} comentou na tarxeta {card}",
"A <strong>card description</strong> inside the Deck app has been changed" : "Cambiouse a <strong>descripción da tarxeta</strong> dentro da aplicación Tarxeteiro",
"Deck" : "Tarxeteiro",
@@ -68,13 +68,13 @@
"Upcoming cards" : "Tarxetas próximas",
"Load more" : "Cargar máis",
"Personal" : "Persoal",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "A tarxeta «%s» en «%s» foi asignada a vostede por %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} asignoulle a tarxeta {deck-card} en {deck-board} a vostede.",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "A tarxeta «%s» en «%s» foi asignada a Vde. por %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} asignoulle a tarxeta {deck-card} en {deck-board} a Vde.",
"The card \"%s\" on \"%s\" has reached its due date." : "A tarxeta «%s» en «%s» acadou a súa data de caducidade.",
"The card {deck-card} on {deck-board} has reached its due date." : "A tarxeta {deck-card} en {deck-board} chegou á súa data de caducidade.",
"%s has mentioned you in a comment on \"%s\"." : "%s mencionouno a vostede nun comentario en «%s».",
"{user} has mentioned you in a comment on {deck-card}." : "{user} mencionouno a vostede nun comentario en {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "O taboleiro «%s» foi compartido con vostede por %s.",
"%s has mentioned you in a comment on \"%s\"." : "%s mencionouno a Vde. nun comentario en «%s».",
"{user} has mentioned you in a comment on {deck-card}." : "{user} mencionouno a Vde. nun comentario en {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "O taboleiro «%s» foi compartido con Vde. por %s.",
"{user} has shared {deck-board} with you." : "{user} compartiu {deck-board} con vostede.",
"Deck board" : "Taboleiro do Tarxeteiro",
"Owned by %1$s" : "Propiedade de %1$s",
@@ -109,7 +109,7 @@
"Path is already shared with this card" : "A ruta xa está compartida con esta tarxeta",
"Invalid date, date format must be YYYY-MM-DD" : "Data incorrecta, o formato da date debe ser AAAA-MM-DD",
"Personal planning and team project organization" : "Planificación persoal e organización de proxectos de equipo",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Tarxeteiro é unha ferramenta de organización de estilo kanban dirixida a planificación persoal e organización de proxectos para equipos integrados con Nextcloud. \n\n\n- 📥 Engada as súas tarefas ás tarxetas e fagas ordenadas\n- 📄 Escriba notas adicionais en Markdown\n- 🔖 Asigne etiquetas para unha mellor organización\n- 👥 Comparta co seu equipo, amigos ou a súa familia\n- 📎 Anexe ficheiros e insíraos na súa descrición de Markdown\n- 💬 Debata co seu equipo usando os comentarios\n- ⚡ Faga un seguimento dos cambios no fluxo de actividade\n- 🚀 Teña o seu proxecto organizado",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Tarxeteiro é unha ferramenta de organización de estilo kanban dirixida a planificación persoal e organización de proxectos para equipos integrados con Nextcloud. \n\n\n- 📥 Engada as súas tarefas ás tarxetas e fagas ordenadas\n- 📄 Escriba notas adicionais en Markdown\n- 🔖 Asigne etiquetas para unha mellor organización\n- 👥 Comparta co seu equipo, amigos ou a súa familia\n- 📎 Anexe ficheiros e integreos na súa descrición de Markdown\n- 💬 Debata co seu equipo usando os comentarios\n- ⚡ Faga un seguimento dos cambios no fluxo de actividade\n- 🚀 Teña o seu proxecto organizado",
"Add board" : "Engadir taboleiro",
"Select the board to link to a project" : "Seleccione o taboleiro para ligar a un proxecto",
"Search by board title" : "Buscar polo título do taboleiro",
@@ -126,7 +126,7 @@
"Create card" : "Crear tarxeta",
"Select a card" : "Seleccione unha tarxeta",
"Select the card to link to a project" : "Seleccione a tarxeta para ligar a un proxecto",
"Link to card" : "Ligar á tarxeta",
"Link to card" : "Ligazón á tarxeta",
"File already exists" : "O ficheiro xa existe",
"A file with the name {filename} already exists." : "Xa existe un ficheiro co nome {filename}.",
"Do you want to overwrite it?" : "Quere sobrescribilo?",
@@ -200,7 +200,7 @@
"Members" : "Membros",
"Upload new files" : "Enviar novos ficheiros",
"Share from Files" : "Compartir dende «Ficheiros»",
"Pending share" : "Recurso compartido pendente",
"Pending share" : "Compartición pendente",
"Add this attachment" : "Engadir este anexo",
"Show in Files" : "Amosar en Ficheiros",
"Download" : "Descargar",
@@ -263,7 +263,7 @@
"seconds ago" : "segundos atrás",
"All boards" : "Todos os taboleiros",
"Archived boards" : "Taboleiros arquivados",
"Shared with you" : "Compartido con vostede",
"Shared with you" : "Compartido con Vde.",
"Deck settings" : "Axustes do Tarxeteiro",
"Use bigger card view" : "Usa a vista de tarxeta máis grande",
"Show card ID badge" : "Amosar o distintivo de identificación da tarxeta",
@@ -293,18 +293,18 @@
"No due" : "Sen caducidade",
"Search for {searchQuery} in all boards" : "Resultados de busca para {searchQuery} en todos os taboleiros",
"No results found" : "Non se atoparon resultados",
"Deck board {name}\n* Last modified on {lastMod}" : "Taboleiro do Tarxeteiro {nome}\n* Última modificación en {lastMod}",
"Deck board {name}\n* Last modified on {lastMod}" : "Taboleiro do Tarxeteiro {name}\n* Última modificación en {lastMod}",
"{stack} in {board}" : "{stack} en {board}",
"Click to expand description" : "Prema para ampliar a descrición",
"Click to expand description" : "Prema para despregar a descrición",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creado o {created}\n* Última modificación o {lastMod}\n* {nbAttachments} anexos\n* {nbComments} comentarios",
"{nbCards} cards" : "{nbCards} tarxetas",
"Click to expand comment" : "Prema para ampliar o comentario",
"Click to expand comment" : "Prema para despregar o comentario",
"No upcoming cards" : "Non hai tarxetas próximas",
"upcoming cards" : "tarxetas próximas",
"New card" : "Nova tarxeta",
"Due on {date}" : "Caduca o {date}",
"Link to a board" : "Ligar a un taboleiro",
"Link to a card" : "Ligar a unha tarxeta",
"Link to a board" : "Ligazón a un taboleiro",
"Link to a card" : "Ligazón a unha tarxeta",
"Create a card" : "Crear unha tarxeta",
"Message from {author} in {conversationName}" : "Mensaxe de {author} en {conversationName}",
"Something went wrong" : "Algo foi mal",

View File

@@ -47,6 +47,7 @@ OC.L10N.register(
"seconds ago" : "วินาทีที่ผ่านมา",
"Shared with you" : "แชร์กับคุณ",
"Edit board" : "แก้ไขกระดาน",
"No notifications" : "ไม่มีการแจ้งเตือน",
"Delete board" : "ลบกระดาน",
"An error occurred" : "เกิดข้อผิดพลาด",
"Share" : "แชร์"

View File

@@ -45,6 +45,7 @@
"seconds ago" : "วินาทีที่ผ่านมา",
"Shared with you" : "แชร์กับคุณ",
"Edit board" : "แก้ไขกระดาน",
"No notifications" : "ไม่มีการแจ้งเตือน",
"Delete board" : "ลบกระดาน",
"An error occurred" : "เกิดข้อผิดพลาด",
"Share" : "แชร์"

View File

@@ -2,7 +2,7 @@ OC.L10N.register(
"deck",
{
"You have created a new board {board}" : "Ви створили нову дошку {board}",
"{user} has created a new board {board}" : "{user} створив нову дошку {board}",
"{user} has created a new board {board}" : "{user} створив(-ла) нову дошку {board}",
"You have deleted the board {board}" : "Ви вилучили дошку {board}",
"{user} has deleted the board {board}" : "{user} вилучив дошку {board}",
"You have restored the board {board}" : "Ви відновили дошку {board}",
@@ -18,19 +18,19 @@ OC.L10N.register(
"You have unarchived the board {board}" : "Ви розархівували дошку {board}",
"{user} has unarchived the board {before}" : "{user} розархівував дошку {перед}",
"You have created a new list {stack} on board {board}" : "Ви створили новий список {stack} на борту {board}",
"{user} has created a new list {stack} on board {board}" : "{user} створив новий список {stack} на дошці {board}",
"{user} has created a new list {stack} on board {board}" : "{user} створив(-ла) новий список {stack} на дошці {board}",
"You have renamed list {before} to {stack} on board {board}" : "Ви перейменували список {before} на {stack} на дошці {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} змінив(-ла) назву списку {before} на {stack} на дошці {board}",
"You have deleted list {stack} on board {board}" : "Ви видалили список {stack} на дошці {board}",
"{user} has deleted list {stack} on board {board}" : "{user} видалив список {stack} на дошці {board}",
"{user} has deleted list {stack} on board {board}" : "{user} вилучив(-ла) список {stack} на дошці {board}",
"You have created card {card} in list {stack} on board {board}" : "Ви створили картку {card} у списку {stack} на дошці {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} створив картку {card} у списку {stack} на дошці {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} створив(-ла) картку {card} у списку {stack} на дошці {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Ви видалили картку {card} у списку {stack} на дошці {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} видалив картку {card} у списку {stack} на дошці {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} вилучив(-ла) картку {card} у списку {stack} на дошці {board}",
"You have renamed the card {before} to {card}" : "Ви перейменували картку {before} на {card}",
"{user} has renamed the card {before} to {card}" : "{user} змінив(-ла) назву картки {before} на {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Ви додали опис картки {card} у списку {stack} на дошці {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} додав опис до картки {card} у списку {stack} на дошці {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} додав(-ла) опис до картки {card} у списку {stack} на дошці {board}",
"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>",
@@ -86,7 +86,7 @@ OC.L10N.register(
"Add list" : "Додати список",
"List name" : "Назва списку",
"Apply filter" : "Відфільтрувати",
"Filter by tag" : "Відібрати за позначками",
"Filter by tag" : "Відібрати за мітками",
"Filter by assigned user" : "Відібрати за призначеним користувачем",
"Unassigned" : "Скасовано призначення",
"Filter by due date" : "Відібрати за датою завершення",
@@ -98,12 +98,13 @@ OC.L10N.register(
"Hide archived cards" : "Приховати архівні картки",
"Show archived cards" : "Показати архівні картки",
"Toggle compact mode" : "Перемкнути компактний вигляд",
"Open details" : "Показати деталі",
"Details" : "Деталі",
"Loading board" : "Завантаження дошки",
"Create a new list to add cards to this board" : "Створіть список щоб додати картки на цю дошку",
"Board not found" : "Дошку не знайдено",
"Sharing" : "Поділитися",
"Tags" : "Теги",
"Tags" : "Мітки",
"Deleted items" : "Вилучені елементи",
"Timeline" : "Дії",
"Deleted lists" : "Вилучені списки",
@@ -122,7 +123,7 @@ OC.L10N.register(
"Delete list" : "Вилучити список",
"Add a new card" : "Додати нову картку",
"Edit" : "Редагувати",
"Add a new tag" : "Додати нову позначку",
"Add a new tag" : "Додати нову мітку",
"title and color value must be provided" : "потрібно зазначити назву та колір",
"Board name" : "Назва дошки",
"Members" : "Учасники",
@@ -140,7 +141,7 @@ OC.L10N.register(
"Modified" : "Змінено",
"Created" : "Створено",
"No comments yet. Begin the discussion!" : "Коментарів немає, почніть обговорення!",
"Assign a tag to this card…" : "Додати позначку до цієї картки",
"Assign a tag to this card…" : "Додати мітку до цієї картки",
"Assign to users" : "Призначити користувачам",
"Assign to users/groups/circles" : "Призначити користувачам/групам/колам",
"Assign a user to this card…" : "Призначити користувачеві цю картку",

View File

@@ -1,6 +1,6 @@
{ "translations": {
"You have created a new board {board}" : "Ви створили нову дошку {board}",
"{user} has created a new board {board}" : "{user} створив нову дошку {board}",
"{user} has created a new board {board}" : "{user} створив(-ла) нову дошку {board}",
"You have deleted the board {board}" : "Ви вилучили дошку {board}",
"{user} has deleted the board {board}" : "{user} вилучив дошку {board}",
"You have restored the board {board}" : "Ви відновили дошку {board}",
@@ -16,19 +16,19 @@
"You have unarchived the board {board}" : "Ви розархівували дошку {board}",
"{user} has unarchived the board {before}" : "{user} розархівував дошку {перед}",
"You have created a new list {stack} on board {board}" : "Ви створили новий список {stack} на борту {board}",
"{user} has created a new list {stack} on board {board}" : "{user} створив новий список {stack} на дошці {board}",
"{user} has created a new list {stack} on board {board}" : "{user} створив(-ла) новий список {stack} на дошці {board}",
"You have renamed list {before} to {stack} on board {board}" : "Ви перейменували список {before} на {stack} на дошці {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} змінив(-ла) назву списку {before} на {stack} на дошці {board}",
"You have deleted list {stack} on board {board}" : "Ви видалили список {stack} на дошці {board}",
"{user} has deleted list {stack} on board {board}" : "{user} видалив список {stack} на дошці {board}",
"{user} has deleted list {stack} on board {board}" : "{user} вилучив(-ла) список {stack} на дошці {board}",
"You have created card {card} in list {stack} on board {board}" : "Ви створили картку {card} у списку {stack} на дошці {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} створив картку {card} у списку {stack} на дошці {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} створив(-ла) картку {card} у списку {stack} на дошці {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Ви видалили картку {card} у списку {stack} на дошці {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} видалив картку {card} у списку {stack} на дошці {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} вилучив(-ла) картку {card} у списку {stack} на дошці {board}",
"You have renamed the card {before} to {card}" : "Ви перейменували картку {before} на {card}",
"{user} has renamed the card {before} to {card}" : "{user} змінив(-ла) назву картки {before} на {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Ви додали опис картки {card} у списку {stack} на дошці {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} додав опис до картки {card} у списку {stack} на дошці {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} додав(-ла) опис до картки {card} у списку {stack} на дошці {board}",
"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>",
@@ -84,7 +84,7 @@
"Add list" : "Додати список",
"List name" : "Назва списку",
"Apply filter" : "Відфільтрувати",
"Filter by tag" : "Відібрати за позначками",
"Filter by tag" : "Відібрати за мітками",
"Filter by assigned user" : "Відібрати за призначеним користувачем",
"Unassigned" : "Скасовано призначення",
"Filter by due date" : "Відібрати за датою завершення",
@@ -96,12 +96,13 @@
"Hide archived cards" : "Приховати архівні картки",
"Show archived cards" : "Показати архівні картки",
"Toggle compact mode" : "Перемкнути компактний вигляд",
"Open details" : "Показати деталі",
"Details" : "Деталі",
"Loading board" : "Завантаження дошки",
"Create a new list to add cards to this board" : "Створіть список щоб додати картки на цю дошку",
"Board not found" : "Дошку не знайдено",
"Sharing" : "Поділитися",
"Tags" : "Теги",
"Tags" : "Мітки",
"Deleted items" : "Вилучені елементи",
"Timeline" : "Дії",
"Deleted lists" : "Вилучені списки",
@@ -120,7 +121,7 @@
"Delete list" : "Вилучити список",
"Add a new card" : "Додати нову картку",
"Edit" : "Редагувати",
"Add a new tag" : "Додати нову позначку",
"Add a new tag" : "Додати нову мітку",
"title and color value must be provided" : "потрібно зазначити назву та колір",
"Board name" : "Назва дошки",
"Members" : "Учасники",
@@ -138,7 +139,7 @@
"Modified" : "Змінено",
"Created" : "Створено",
"No comments yet. Begin the discussion!" : "Коментарів немає, почніть обговорення!",
"Assign a tag to this card…" : "Додати позначку до цієї картки",
"Assign a tag to this card…" : "Додати мітку до цієї картки",
"Assign to users" : "Призначити користувачам",
"Assign to users/groups/circles" : "Призначити користувачам/групам/колам",
"Assign a user to this card…" : "Призначити користувачеві цю картку",

View File

@@ -1,31 +1,31 @@
OC.L10N.register(
"deck",
{
"You have created a new board {board}" : "您创建了一个新面板 {board}",
"{user} has created a new board {board}" : "{user} 创建了一个新面板 {board}",
"You have deleted the board {board}" : "您删除了面板 {board}",
"{user} has deleted the board {board}" : "{user} 删除了面板 {board}",
"You have restored the board {board}" : "您恢复了面板 {board}",
"{user} has restored the board {board}" : "{user} 恢复了 {board}",
"You have shared the board {board} with {acl}" : "您已共享 {board}{acl}",
"{user} has shared the board {board} with {acl}" : "{user} 已使用 {acl}享面板 {board}",
"You have removed {acl} from the board {board}" : "您从面板 {board} 中移除了 {acl}",
"{user} has removed {acl} from the board {board}" : "{user} 从面板 {board} 中移除了 {acl} ",
"You have renamed the board {before} to {board}" : "您将面板 {before} 重命名为 {board}",
"{user} has renamed the board {before} to {board}" : "{user} 将面板 {before} 重命名为 {board}",
"You have archived the board {board}" : "您已将面板 {board} 归档",
"{user} has archived the board {before}" : "{user} 已将面板 {before} 归档",
"You have unarchived the board {board}" : "您已将面板 {board} 撤销归档",
"{user} has unarchived the board {before}" : "{user} 已将面板 {before} 撤销归档",
"You have created a new list {stack} on board {board}" : "您在 {board} 上创建了一个新列表 {stack}面板",
"{user} has created a new list {stack} on board {board}" : "{user}{board} 上创建了一个新列表 {stack}",
"You have renamed list {before} to {stack} on board {board}" : "您将面板 {board} 上的列表 {before} 重命名为 {stack}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} 将面板 {board} 上的列表 {before} 重命名为 {stack}",
"You have deleted list {stack} on board {board}" : "您删除了面板 {board} 上的列表 {stack}",
"{user} has deleted list {stack} on board {board}" : "{user} 删除了面板 {board} 上的列表 {stack}",
"You have created card {card} in list {stack} on board {board}" : "您在面板 {board} 上的列表 {stack} 中创建了卡片 {card}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} 在面板 {board} 上的列表 {stack} 中创建了卡片 {card}",
"You have deleted card {card} in list {stack} on board {board}" : "您在面板 {board} 上的列表 {stack} 中删除了卡片 {card}",
"You have created a new board {board}" : "您创建了一个新面板{board}",
"{user} has created a new board {board}" : "{user} 创建了一个新面板{board}",
"You have deleted the board {board}" : "您删除了面板{board}",
"{user} has deleted the board {board}" : "{user}删除了面板{board}",
"You have restored the board {board}" : "您还原了面板{board}",
"{user} has restored the board {board}" : "{user}还原了{board}",
"You have shared the board {board} with {acl}" : "您已分享{board}{acl}",
"{user} has shared the board {board} with {acl}" : "{user}已使用{acl}享面板{board}",
"You have removed {acl} from the board {board}" : "您从面板{board}中移除了{acl}",
"{user} has removed {acl} from the board {board}" : "{user}从面板{board}中移除了{acl} ",
"You have renamed the board {before} to {board}" : "您将面板{before}重命名为{board}",
"{user} has renamed the board {before} to {board}" : "{user}将面板{before}重命名为{board}",
"You have archived the board {board}" : "您已将面板{board}归档",
"{user} has archived the board {before}" : "{user}已将面板{before}归档",
"You have unarchived the board {board}" : "您已将面板{board}取消归档",
"{user} has unarchived the board {before}" : "{user}已将面板{before}取消归档",
"You have created a new list {stack} on board {board}" : "您在{board}上创建了一个新列表{stack}面板",
"{user} has created a new list {stack} on board {board}" : "{user}{board}上创建了一个新列表{stack}",
"You have renamed list {before} to {stack} on board {board}" : "您将面板{board}上的列表{before}重命名为{stack}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user}将面板{board}上的列表{before}重命名为{stack}",
"You have deleted list {stack} on board {board}" : "您删除了面板{board}上的列表{stack}",
"{user} has deleted list {stack} on board {board}" : "{user}删除了面板{board}上的列表{stack}",
"You have created card {card} in list {stack} on board {board}" : "您在面板{board}上的列表{stack}中创建了卡片{card}",
"{user} has created card {card} in list {stack} on board {board}" : "{user}在面板 {board}上的列表{stack}中创建了卡片{card}",
"You have deleted card {card} in list {stack} on board {board}" : "您在面板{board}上的列表{stack}中删除了卡片{card}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} 在面板 {board} 上的列表 {stack} 中删除了卡片 {card}",
"You have renamed the card {before} to {card}" : "您将卡片 {before} 重命名为 {card}",
"{user} has renamed the card {before} to {card}" : "{user} 将卡片 {before} 重命名为 {card}",
@@ -77,14 +77,14 @@ OC.L10N.register(
"%s has mentioned you in a comment on \"%s\"." : "%s 在 “%s” 的评论中提到了您。",
"{user} has mentioned you in a comment on {deck-card}." : "{user} 在 {deck-card} 的一条评论中提到了你",
"The board \"%s\" has been shared with you by %s." : "面板 \"%s\" 已由 %s 共享给您。",
"{user} has shared {deck-board} with you." : "{user} 与你分享了 {deck-board}",
"Deck board" : "Deck 看板",
"{user} has shared {deck-board} with you." : "{user}与你分享了{deck-board}",
"Deck board" : "看板",
"Owned by %1$s" : "由 %1$s 拥有",
"Deck boards, cards and comments" : "Deck 看板、卡片和评论",
"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" : "Deck 面板及卡片",
"Deck boards and cards" : "板及卡片",
"No data was provided to create an attachment." : "未能提供数据以创建附件",
"Finished" : "已完成",
"To review" : "待复核",
@@ -111,7 +111,7 @@ OC.L10N.register(
"Path is already shared with this card" : "已和这张卡片分享了路径",
"Invalid date, date format must be YYYY-MM-DD" : "无效日期,日期格式必须为 YYYY-MM-DD",
"Personal planning and team project organization" : "个人规划和团队项目安排",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck是一个看板风格的管理工具旨在为与Nextcloud集成的团队进行个人规划和项目管理。\n\n\n- 📥 添加您的任务到卡片并将之整理好\n- 📄 用 Markdown 写下额外的注释\n- 🔖 分配标签以更好地管理您的工作\n- 👥 与您的团队、朋友或家人分享\n- 📎 附件文件并将其嵌入到您的 Markdown 描述中 \n- 💬 使用评论与您的团队沟通\n- ⚡ 在活动流中跟踪变更情况\n- 🚀 让您的项目井井有条",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "看板应用程序是一个看板风格的管理工具旨在为与Nextcloud集成的团队进行个人规划和项目管理。\n\n\n- 📥 添加您的任务到卡片并将之整理好\n- 📄 用Markdown写下额外的注释\n- 🔖 分配标签以更好地管理您的工作\n- 👥 与您的团队、朋友或家人分享\n- 📎 附件文件并将其嵌入到您的Markdown描述中\n- 💬 使用评论与您的团队沟通\n- ⚡ 在活动流中跟踪变更情况\n- 🚀 让您的项目井井有条",
"Add board" : "添加面板",
"Select the board to link to a project" : "选择要链接到一个项目的面板",
"Search by board title" : "通过标题搜索面板",
@@ -295,7 +295,7 @@ OC.L10N.register(
"No due" : "没有到期的",
"Search for {searchQuery} in all boards" : "在所有看板中搜索 {searchQuery}",
"No results found" : "未找到结果",
"Deck board {name}\n* Last modified on {lastMod}" : "看板面板 {name}\n* 最后修改于 {lastMod}",
"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} 个评论",

View File

@@ -1,29 +1,29 @@
{ "translations": {
"You have created a new board {board}" : "您创建了一个新面板 {board}",
"{user} has created a new board {board}" : "{user} 创建了一个新面板 {board}",
"You have deleted the board {board}" : "您删除了面板 {board}",
"{user} has deleted the board {board}" : "{user} 删除了面板 {board}",
"You have restored the board {board}" : "您恢复了面板 {board}",
"{user} has restored the board {board}" : "{user} 恢复了 {board}",
"You have shared the board {board} with {acl}" : "您已共享 {board}{acl}",
"{user} has shared the board {board} with {acl}" : "{user} 已使用 {acl}享面板 {board}",
"You have removed {acl} from the board {board}" : "您从面板 {board} 中移除了 {acl}",
"{user} has removed {acl} from the board {board}" : "{user} 从面板 {board} 中移除了 {acl} ",
"You have renamed the board {before} to {board}" : "您将面板 {before} 重命名为 {board}",
"{user} has renamed the board {before} to {board}" : "{user} 将面板 {before} 重命名为 {board}",
"You have archived the board {board}" : "您已将面板 {board} 归档",
"{user} has archived the board {before}" : "{user} 已将面板 {before} 归档",
"You have unarchived the board {board}" : "您已将面板 {board} 撤销归档",
"{user} has unarchived the board {before}" : "{user} 已将面板 {before} 撤销归档",
"You have created a new list {stack} on board {board}" : "您在 {board} 上创建了一个新列表 {stack}面板",
"{user} has created a new list {stack} on board {board}" : "{user}{board} 上创建了一个新列表 {stack}",
"You have renamed list {before} to {stack} on board {board}" : "您将面板 {board} 上的列表 {before} 重命名为 {stack}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} 将面板 {board} 上的列表 {before} 重命名为 {stack}",
"You have deleted list {stack} on board {board}" : "您删除了面板 {board} 上的列表 {stack}",
"{user} has deleted list {stack} on board {board}" : "{user} 删除了面板 {board} 上的列表 {stack}",
"You have created card {card} in list {stack} on board {board}" : "您在面板 {board} 上的列表 {stack} 中创建了卡片 {card}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} 在面板 {board} 上的列表 {stack} 中创建了卡片 {card}",
"You have deleted card {card} in list {stack} on board {board}" : "您在面板 {board} 上的列表 {stack} 中删除了卡片 {card}",
"You have created a new board {board}" : "您创建了一个新面板{board}",
"{user} has created a new board {board}" : "{user} 创建了一个新面板{board}",
"You have deleted the board {board}" : "您删除了面板{board}",
"{user} has deleted the board {board}" : "{user}删除了面板{board}",
"You have restored the board {board}" : "您还原了面板{board}",
"{user} has restored the board {board}" : "{user}还原了{board}",
"You have shared the board {board} with {acl}" : "您已分享{board}{acl}",
"{user} has shared the board {board} with {acl}" : "{user}已使用{acl}享面板{board}",
"You have removed {acl} from the board {board}" : "您从面板{board}中移除了{acl}",
"{user} has removed {acl} from the board {board}" : "{user}从面板{board}中移除了{acl} ",
"You have renamed the board {before} to {board}" : "您将面板{before}重命名为{board}",
"{user} has renamed the board {before} to {board}" : "{user}将面板{before}重命名为{board}",
"You have archived the board {board}" : "您已将面板{board}归档",
"{user} has archived the board {before}" : "{user}已将面板{before}归档",
"You have unarchived the board {board}" : "您已将面板{board}取消归档",
"{user} has unarchived the board {before}" : "{user}已将面板{before}取消归档",
"You have created a new list {stack} on board {board}" : "您在{board}上创建了一个新列表{stack}面板",
"{user} has created a new list {stack} on board {board}" : "{user}{board}上创建了一个新列表{stack}",
"You have renamed list {before} to {stack} on board {board}" : "您将面板{board}上的列表{before}重命名为{stack}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user}将面板{board}上的列表{before}重命名为{stack}",
"You have deleted list {stack} on board {board}" : "您删除了面板{board}上的列表{stack}",
"{user} has deleted list {stack} on board {board}" : "{user}删除了面板{board}上的列表{stack}",
"You have created card {card} in list {stack} on board {board}" : "您在面板{board}上的列表{stack}中创建了卡片{card}",
"{user} has created card {card} in list {stack} on board {board}" : "{user}在面板 {board}上的列表{stack}中创建了卡片{card}",
"You have deleted card {card} in list {stack} on board {board}" : "您在面板{board}上的列表{stack}中删除了卡片{card}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} 在面板 {board} 上的列表 {stack} 中删除了卡片 {card}",
"You have renamed the card {before} to {card}" : "您将卡片 {before} 重命名为 {card}",
"{user} has renamed the card {before} to {card}" : "{user} 将卡片 {before} 重命名为 {card}",
@@ -75,14 +75,14 @@
"%s has mentioned you in a comment on \"%s\"." : "%s 在 “%s” 的评论中提到了您。",
"{user} has mentioned you in a comment on {deck-card}." : "{user} 在 {deck-card} 的一条评论中提到了你",
"The board \"%s\" has been shared with you by %s." : "面板 \"%s\" 已由 %s 共享给您。",
"{user} has shared {deck-board} with you." : "{user} 与你分享了 {deck-board}",
"Deck board" : "Deck 看板",
"{user} has shared {deck-board} with you." : "{user}与你分享了{deck-board}",
"Deck board" : "看板",
"Owned by %1$s" : "由 %1$s 拥有",
"Deck boards, cards and comments" : "Deck 看板、卡片和评论",
"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" : "Deck 面板及卡片",
"Deck boards and cards" : "板及卡片",
"No data was provided to create an attachment." : "未能提供数据以创建附件",
"Finished" : "已完成",
"To review" : "待复核",
@@ -109,7 +109,7 @@
"Path is already shared with this card" : "已和这张卡片分享了路径",
"Invalid date, date format must be YYYY-MM-DD" : "无效日期,日期格式必须为 YYYY-MM-DD",
"Personal planning and team project organization" : "个人规划和团队项目安排",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck是一个看板风格的管理工具旨在为与Nextcloud集成的团队进行个人规划和项目管理。\n\n\n- 📥 添加您的任务到卡片并将之整理好\n- 📄 用 Markdown 写下额外的注释\n- 🔖 分配标签以更好地管理您的工作\n- 👥 与您的团队、朋友或家人分享\n- 📎 附件文件并将其嵌入到您的 Markdown 描述中 \n- 💬 使用评论与您的团队沟通\n- ⚡ 在活动流中跟踪变更情况\n- 🚀 让您的项目井井有条",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "看板应用程序是一个看板风格的管理工具旨在为与Nextcloud集成的团队进行个人规划和项目管理。\n\n\n- 📥 添加您的任务到卡片并将之整理好\n- 📄 用Markdown写下额外的注释\n- 🔖 分配标签以更好地管理您的工作\n- 👥 与您的团队、朋友或家人分享\n- 📎 附件文件并将其嵌入到您的Markdown描述中\n- 💬 使用评论与您的团队沟通\n- ⚡ 在活动流中跟踪变更情况\n- 🚀 让您的项目井井有条",
"Add board" : "添加面板",
"Select the board to link to a project" : "选择要链接到一个项目的面板",
"Search by board title" : "通过标题搜索面板",
@@ -293,7 +293,7 @@
"No due" : "没有到期的",
"Search for {searchQuery} in all boards" : "在所有看板中搜索 {searchQuery}",
"No results found" : "未找到结果",
"Deck board {name}\n* Last modified on {lastMod}" : "看板面板 {name}\n* 最后修改于 {lastMod}",
"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} 个评论",

View File

@@ -96,7 +96,7 @@ class UserExport extends Command {
$data[$board->getId()] = (array)$fullBoard->jsonSerialize();
$stacks = $this->stackMapper->findAll($board->getId());
foreach ($stacks as $stack) {
$data[$board->getId()]['stacks'][] = (array)$stack->jsonSerialize();
$data[$board->getId()]['stacks'][$stack->getId()] = (array)$stack->jsonSerialize();
$cards = $this->cardMapper->findAllByStack($stack->getId());
foreach ($cards as $card) {
$fullCard = $this->cardMapper->find($card->getId());

View File

@@ -29,11 +29,12 @@ use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
class AttachmentApiController extends ApiController {
private $attachmentService;
public function __construct($appName, IRequest $request, AttachmentService $attachmentService) {
public function __construct(
$appName,
IRequest $request,
private AttachmentService $attachmentService,
) {
parent::__construct($appName, $request);
$this->attachmentService = $attachmentService;
}
/**

View File

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

View File

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

View File

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

View File

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

View File

@@ -38,21 +38,22 @@ use OCP\IRequest;
* @package OCA\Deck\Controller
*/
class CardApiController extends ApiController {
private $cardService;
private $userId;
private $assignmentService;
/**
* @param string $appName
* @param IRequest $request
* @param CardService $cardService
* @param AssignmentService $assignmentService
* @param $userId
*/
public function __construct($appName, IRequest $request, CardService $cardService, AssignmentService $assignmentService, $userId) {
public function __construct(
string $appName,
IRequest $request,
private CardService $cardService,
private AssignmentService $assignmentService,
private $userId,
) {
parent::__construct($appName, $request);
$this->cardService = $cardService;
$this->userId = $userId;
$this->assignmentService = $assignmentService;
}
/**

View File

@@ -29,15 +29,14 @@ use OCP\AppFramework\Controller;
use OCP\IRequest;
class CardController extends Controller {
private $userId;
private $cardService;
private $assignmentService;
public function __construct($appName, IRequest $request, CardService $cardService, AssignmentService $assignmentService, $userId) {
public function __construct(
$appName,
IRequest $request,
private CardService $cardService,
private AssignmentService $assignmentService,
private $userId,
) {
parent::__construct($appName, $request);
$this->userId = $userId;
$this->cardService = $cardService;
$this->assignmentService = $assignmentService;
}
/**

View File

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

View File

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

View File

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

View File

@@ -28,11 +28,12 @@ use OCP\AppFramework\Controller;
use OCP\IRequest;
class LabelController extends Controller {
private $labelService;
public function __construct($appName, IRequest $request, LabelService $labelService) {
public function __construct(
$appName,
IRequest $request,
private LabelService $labelService,
) {
parent::__construct($appName, $request);
$this->labelService = $labelService;
}
/**

View File

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

View File

@@ -44,37 +44,23 @@ use OCP\IRequest;
use OCP\IURLGenerator;
class PageController extends Controller {
private PermissionService $permissionService;
private IInitialStateService $initialState;
private ConfigService $configService;
private IEventDispatcher $eventDispatcher;
private CardMapper $cardMapper;
private IURLGenerator $urlGenerator;
private CardService $cardService;
private IConfig $config;
public function __construct(
string $AppName,
IRequest $request,
PermissionService $permissionService,
private PermissionService $permissionService,
IInitialStateService $initialStateService,
ConfigService $configService,
IEventDispatcher $eventDispatcher,
CardMapper $cardMapper,
IURLGenerator $urlGenerator,
CardService $cardService,
IConfig $config
private ConfigService $configService,
private IEventDispatcher $eventDispatcher,
private CardMapper $cardMapper,
private IURLGenerator $urlGenerator,
private CardService $cardService,
private IConfig $config,
) {
parent::__construct($AppName, $request);
$this->permissionService = $permissionService;
$this->initialState = $initialStateService;
$this->configService = $configService;
$this->eventDispatcher = $eventDispatcher;
$this->cardMapper = $cardMapper;
$this->urlGenerator = $urlGenerator;
$this->cardService = $cardService;
$this->config = $config;
}
/**

View File

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

View File

@@ -34,20 +34,13 @@ use OCP\AppFramework\OCSController;
use OCP\IRequest;
class SessionController extends OCSController {
private SessionService $sessionService;
private PermissionService $permissionService;
private BoardMapper $boardMapper;
public function __construct($appName,
IRequest $request,
SessionService $sessionService,
PermissionService $permissionService,
BoardMapper $boardMapper
private SessionService $sessionService,
private PermissionService $permissionService,
private BoardMapper $boardMapper,
) {
parent::__construct($appName, $request);
$this->sessionService = $sessionService;
$this->permissionService = $permissionService;
$this->boardMapper = $boardMapper;
}
/**

View File

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

View File

@@ -30,12 +30,13 @@ use OCP\AppFramework\Controller;
use OCP\IRequest;
class StackController extends Controller {
private $userId;
private $stackService;
public function __construct($appName, IRequest $request, StackService $stackService, $userId) {
public function __construct(
string $appName,
IRequest $request,
private StackService $stackService,
private $userId,
) {
parent::__construct($appName, $request);
$this->userId = $userId;
$this->stackService = $stackService;
}
/**

View File

@@ -239,8 +239,8 @@ class Notifier implements INotifier {
],
'user' => [
'type' => 'user',
'id' => $params[1],
'name' => $dn,
'id' => $params[1] ?? '',
'name' => $dn ?? '',
]
]
);

View File

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

2656
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -31,20 +31,20 @@
},
"dependencies": {
"@babel/polyfill": "^7.12.1",
"@babel/runtime": "^7.22.5",
"@babel/runtime": "^7.22.6",
"@nextcloud/auth": "^2.1.0",
"@nextcloud/axios": "^2.3.0",
"@nextcloud/axios": "^2.4.0",
"@nextcloud/dialogs": "^4.1.0",
"@nextcloud/event-bus": "^3.1.0",
"@nextcloud/files": "^2.1.0",
"@nextcloud/initial-state": "^2.0.0",
"@nextcloud/l10n": "^2.1.0",
"@nextcloud/initial-state": "^2.1.0",
"@nextcloud/l10n": "^2.2.0",
"@nextcloud/moment": "^1.2.1",
"@nextcloud/notify_push": "^1.1.3",
"@nextcloud/router": "^2.1.2",
"@nextcloud/vue": "^7.12.0",
"@nextcloud/vue": "^7.12.1",
"blueimp-md5": "^2.19.0",
"dompurify": "^3.0.3",
"dompurify": "^3.0.5",
"lodash": "^4.17.21",
"markdown-it": "^13.0.1",
"markdown-it-link-attributes": "^4.0.1",
@@ -52,7 +52,7 @@
"moment": "^2.29.4",
"nextcloud-vue-collections": "^0.11.1",
"p-queue": "^7.3.4",
"url-search-params-polyfill": "^8.2.3",
"url-search-params-polyfill": "^8.2.4",
"vue": "^2.7.14",
"vue-at": "^2.5.1",
"vue-click-outside": "^1.1.0",
@@ -81,10 +81,10 @@
"@relative-ci/agent": "^4.1.5",
"@vue/test-utils": "^1.3.6",
"@vue/vue2-jest": "^29.2.4",
"cypress": "^12.15.0",
"cypress": "^12.17.1",
"eslint-plugin-cypress": "^2.13.3",
"eslint-webpack-plugin": "^4.0.1",
"jest": "^29.5.0",
"jest": "^29.6.1",
"jest-serializer-vue": "^3.1.0",
"stylelint-webpack-plugin": "^4.1.1",
"vue-template-compiler": "^2.7.14"