Compare commits

..

70 Commits

Author SHA1 Message Date
Nextcloud bot
5439304c49 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-19 00:35:55 +00:00
Julius Härtl
210b4a2033 chore: Update devcontainer image to PHP 8.1
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-07-18 22:13:38 +02:00
Julius Härtl
876b769f34 docs: Fix standalone container mount
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-07-18 22:12:47 +02:00
Julius Härtl
0d876b4bc9 Merge pull request #6115 from nextcloud/fix/remove-redundant-log 2024-07-18 19:29:04 +02:00
Luka Trovic
21248b4d1e fix: remove redundant log
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2024-07-18 16:12:39 +02:00
Julius Härtl
c7e9ac7bce Merge pull request #6113 from nextcloud/fix/design-review-issues
fix: design review issues
2024-07-18 14:24:11 +02:00
Luka Trovic
9bc601c7a9 fix: design review issues
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2024-07-17 18:51:46 +02:00
Nextcloud bot
76594bf95c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-17 00:37:54 +00:00
Nextcloud bot
a6914124ca Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-16 00:39:03 +00:00
Julius Härtl
a072cc0502 Merge pull request #6101 from nextcloud/dependabot/npm_and_yarn/main/babel/runtime-7.24.8 2024-07-15 07:34:56 +02:00
Julius Härtl
f5eb7dc213 Merge pull request #6103 from nextcloud/dependabot/composer/justinrainbow/json-schema-5.3.0 2024-07-15 07:34:42 +02:00
Julius Härtl
31e8a4092f Merge pull request #6104 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.31.1 2024-07-15 07:34:22 +02:00
Julius Härtl
6baa938fcd Merge pull request #6105 from nextcloud/dependabot/github_actions/actions/setup-node-4.0.3 2024-07-15 07:34:10 +02:00
Julius Härtl
b9e53951be Merge pull request #6106 from nextcloud/dependabot/github_actions/alexwilson/enable-github-automerge-action-3a349b20acc6235b856fb0b1c95a36cb5373da2f 2024-07-15 07:33:57 +02:00
Julius Härtl
b81b92b1bc Merge pull request #6110 from nextcloud/automated/noid/main-update-nextcloud-ocp
[main] Update nextcloud/ocp dependency
2024-07-15 07:18:28 +02:00
Nextcloud bot
a1f850573c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-15 00:36:54 +00:00
nextcloud-command
aa4bc9de24 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2024-07-14 03:02:17 +00:00
Nextcloud bot
78fc485239 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-14 00:37:41 +00:00
dependabot[bot]
d81c2ad0bc Chore(deps): Bump alexwilson/enable-github-automerge-action
Bumps [alexwilson/enable-github-automerge-action](https://github.com/alexwilson/enable-github-automerge-action) from 772cbfd2817d6418fff7dfcfff0962d0af42d813 to 3a349b20acc6235b856fb0b1c95a36cb5373da2f.
- [Release notes](https://github.com/alexwilson/enable-github-automerge-action/releases)
- [Commits](772cbfd281...3a349b20ac)

---
updated-dependencies:
- dependency-name: alexwilson/enable-github-automerge-action
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-13 01:37:31 +00:00
dependabot[bot]
a7f479092d Chore(deps): Bump actions/setup-node from 4.0.2 to 4.0.3
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.2 to 4.0.3.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4.0.2...v4.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-13 01:37:28 +00:00
dependabot[bot]
18346382c9 Chore(deps): Bump shivammathur/setup-php from 2.31.0 to 2.31.1
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.31.0 to 2.31.1.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.31.0...2.31.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-13 01:37:22 +00:00
dependabot[bot]
bc827c6f00 Chore(deps): Bump justinrainbow/json-schema from 5.2.13 to 5.3.0
Bumps [justinrainbow/json-schema](https://github.com/justinrainbow/json-schema) from 5.2.13 to 5.3.0.
- [Release notes](https://github.com/justinrainbow/json-schema/releases)
- [Changelog](https://github.com/jsonrainbow/json-schema/blob/master/CHANGELOG.md)
- [Commits](https://github.com/justinrainbow/json-schema/compare/5.2.13...5.3.0)

---
updated-dependencies:
- dependency-name: justinrainbow/json-schema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-13 01:28:51 +00:00
dependabot[bot]
8af8e80b17 Chore(deps): Bump @babel/runtime from 7.24.7 to 7.24.8
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.24.7 to 7.24.8.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.24.8/packages/babel-runtime)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-13 01:16:10 +00:00
Nextcloud bot
9c82b34bdf Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-13 00:39:37 +00:00
Julius Härtl
463475fb88 Merge pull request #6088 from pschopen/main
Fix: incorrect height of editing windows and edit bar
2024-07-12 08:42:03 +02:00
Philip
7d295bee80 Update Description.vue
Signed-off-by: Philip <65334274+pschopen@users.noreply.github.com>
2024-07-11 10:56:51 +02:00
Philip
f2699d61c7 Update CardSidebar.vue
Signed-off-by: Philip <65334274+pschopen@users.noreply.github.com>
2024-07-11 10:45:20 +02:00
Andy Scherzinger
ed290f048d Merge pull request #6084 from nextcloud/chore/noid/reuse-toml
Migrate REUSE to TOML format
2024-07-09 08:45:25 +02:00
Andy Scherzinger
4f9507b4ad chore: Migrate REUSE to TOML format
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-07-08 20:55:59 +02:00
github-actions[bot]
89da0d2f47 Merge pull request #6081 from nextcloud/automated/noid/main-update-nextcloud-ocp
[main] Update nextcloud/ocp dependency
2024-07-07 03:58:27 +00:00
nextcloud-command
42589fe001 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2024-07-07 02:43:22 +00:00
Julius Härtl
aaad943e27 Merge pull request #6076 from nextcloud/dependabot/github_actions/alexwilson/enable-github-automerge-action-772cbfd2817d6418fff7dfcfff0962d0af42d813 2024-07-06 10:25:52 +02:00
dependabot[bot]
5abee105fa Merge pull request #6071 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/vue-8.14.0 2024-07-06 02:58:20 +00:00
dependabot[bot]
a01d17843f Chore(deps): Bump alexwilson/enable-github-automerge-action
Bumps [alexwilson/enable-github-automerge-action](https://github.com/alexwilson/enable-github-automerge-action) from 95df6f3009ad99156b8b23cd8b0f26b815333981 to 772cbfd2817d6418fff7dfcfff0962d0af42d813.
- [Release notes](https://github.com/alexwilson/enable-github-automerge-action/releases)
- [Commits](95df6f3009...772cbfd281)

---
updated-dependencies:
- dependency-name: alexwilson/enable-github-automerge-action
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-06 01:35:19 +00:00
dependabot[bot]
e1ad1ae138 Chore(deps): Bump @nextcloud/vue from 8.13.0 to 8.14.0
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.13.0 to 8.14.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.13.0...v8.14.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-06 01:18:06 +00:00
dependabot[bot]
0a51aaedd6 Merge pull request #6070 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/dialogs-5.3.5 2024-07-06 01:17:26 +00:00
dependabot[bot]
9842b0dba3 Merge pull request #6072 from nextcloud/dependabot/npm_and_yarn/main/dompurify-3.1.6 2024-07-06 01:17:20 +00:00
dependabot[bot]
f0be9749b7 Merge pull request #6073 from nextcloud/dependabot/npm_and_yarn/main/cypress-13.13.0 2024-07-06 01:15:27 +00:00
dependabot[bot]
a2676bce7a Chore(deps-dev): Bump cypress from 13.12.0 to 13.13.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 13.12.0 to 13.13.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v13.12.0...v13.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-06 01:06:42 +00:00
dependabot[bot]
93b405d84a Chore(deps): Bump dompurify from 3.1.5 to 3.1.6
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.1.5 to 3.1.6.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.1.5...3.1.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-06 01:06:25 +00:00
dependabot[bot]
aa345fe8d0 Chore(deps): Bump @nextcloud/dialogs from 5.3.4 to 5.3.5
Bumps [@nextcloud/dialogs](https://github.com/nextcloud-libraries/nextcloud-dialogs) from 5.3.4 to 5.3.5.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-dialogs/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-dialogs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-dialogs/compare/v5.3.4...v5.3.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-06 01:06:01 +00:00
Andy Scherzinger
1c89cf8284 Merge pull request #6068 from nextcloud/feat/workflow-auto-update-reuse.yml
chore(CI): Updating reuse.yml workflow from template
2024-07-04 22:34:06 +02:00
Nextcloud bot
b4111b00ef chore(CI): Updating reuse.yml workflow from template
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-04 19:38:36 +00:00
Julius Härtl
fa915f7dbe Merge pull request #6065 from nextcloud/fix/deprecated-bindParam
fix: Remove bindParam usage with simpler query
2024-07-03 12:56:36 +02:00
Julius Härtl
19e35fdee4 fix: Remove bindParam usage with simpler query
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-07-03 10:24:50 +02:00
Jonas
6dfb01fa02 Merge pull request #6062 from nextcloud/fix/groupfolder-share-object-storage
Only check path for being accessible when the storage is a object home
2024-07-02 10:53:08 +02:00
Jonas
df5b5690a0 Only check path for being accessible when the storage is a object home
Forward-ported https://github.com/nextcloud/server/pull/24103

Signed-off-by: Jonas <jonas@freesources.org>
2024-07-02 10:37:56 +02:00
Julius Härtl
2a4ea73023 Merge pull request #6051 from nextcloud/dependabot/npm_and_yarn/main/relative-ci/agent-4.2.9
Chore(deps-dev): Bump @relative-ci/agent from 4.2.8 to 4.2.9
2024-07-01 09:34:19 +02:00
Julius Härtl
9c5498a050 Merge pull request #6053 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/dialogs-5.3.4
Chore(deps): Bump @nextcloud/dialogs from 5.3.3 to 5.3.4
2024-07-01 09:34:11 +02:00
Julius Härtl
24a1666c36 Merge pull request #6055 from nextcloud/dependabot/github_actions/alexwilson/enable-github-automerge-action-95df6f3009ad99156b8b23cd8b0f26b815333981
Chore(deps): Bump alexwilson/enable-github-automerge-action from 835faa041540d2234ea4530506a7abd42c847dfc to 95df6f3009ad99156b8b23cd8b0f26b815333981
2024-07-01 09:33:19 +02:00
github-actions[bot]
de5c625e86 Merge pull request #6059 from nextcloud/automated/noid/main-update-nextcloud-ocp
[main] Update nextcloud/ocp dependency
2024-06-30 04:43:02 +00:00
nextcloud-command
544581bbdc chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2024-06-30 02:49:23 +00:00
dependabot[bot]
3852119f4f Merge pull request #6054 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.31.0 2024-06-29 03:44:02 +00:00
dependabot[bot]
fd540be9c2 Merge pull request #6052 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/vue-8.13.0 2024-06-29 03:24:32 +00:00
dependabot[bot]
cfcfaad6c6 Chore(deps): Bump alexwilson/enable-github-automerge-action
Bumps [alexwilson/enable-github-automerge-action](https://github.com/alexwilson/enable-github-automerge-action) from 835faa041540d2234ea4530506a7abd42c847dfc to 95df6f3009ad99156b8b23cd8b0f26b815333981.
- [Release notes](https://github.com/alexwilson/enable-github-automerge-action/releases)
- [Commits](835faa0415...95df6f3009)

---
updated-dependencies:
- dependency-name: alexwilson/enable-github-automerge-action
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-29 03:00:36 +00:00
dependabot[bot]
040df707b2 Chore(deps): Bump shivammathur/setup-php from 2.30.5 to 2.31.0
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.30.5 to 2.31.0.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.30.5...2.31.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-29 03:00:31 +00:00
dependabot[bot]
4a00ce2e45 Chore(deps): Bump @nextcloud/dialogs from 5.3.3 to 5.3.4
Bumps [@nextcloud/dialogs](https://github.com/nextcloud-libraries/nextcloud-dialogs) from 5.3.3 to 5.3.4.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-dialogs/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-dialogs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-dialogs/compare/v5.3.3...v5.3.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-29 02:24:33 +00:00
dependabot[bot]
80a51d64b6 Chore(deps): Bump @nextcloud/vue from 8.12.0 to 8.13.0
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.12.0 to 8.13.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.12.0...v8.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-29 02:24:19 +00:00
dependabot[bot]
c741c1190b Chore(deps-dev): Bump @relative-ci/agent from 4.2.8 to 4.2.9
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.2.8 to 4.2.9.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.2.8...v4.2.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-29 02:23:45 +00:00
Julius Härtl
2f5d39fc5b Merge pull request #6008 from nextcloud/chore/comments-event-legacy
chore: Move comments event handler to use proper event dispatcher
2024-06-28 16:16:19 +02:00
Julius Härtl
a6b31d6a5f Merge pull request #6029 from nextcloud/StCyr-patch-1-1
Update User_documentation_en.md
2024-06-28 14:31:22 +02:00
Julius Härtl
261e6d0362 chore: Move comments event handler to use proper event dispatcher
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-06-28 14:20:38 +02:00
Nextcloud bot
8ceed06aca Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-27 00:37:38 +00:00
Julius Härtl
02f63d9967 Merge pull request #6010 from nextcloud/perf/permission-skip-enhance 2024-06-26 23:57:01 +02:00
Julius Härtl
206a735c55 Merge pull request #6033 from nextcloud/fix/symlink
docs: Fix symlink to readme
2024-06-26 10:26:51 +02:00
Julius Härtl
ab94a5cc32 docs: Fix symlink to readme
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-06-26 10:23:40 +02:00
Julius Härtl
4b2c191e21 Merge pull request #6005 from nextcloud/fix/5628-deck-card-descriptions-not-saved
don't reset update time when no update was written to db
2024-06-26 10:15:17 +02:00
Julius Härtl
d4ea088cd2 perf: Avoid fetching labels and owner details on permission check
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-06-25 17:01:30 +02:00
Cyrille Bollu
979c1be7f3 Update User_documentation_en.md
Adds documentation how permissions are granted when sharing boards, based on what I have found here: ea4655b24e/lib/Service/PermissionService.php (L169)

Signed-off-by: Cyrille Bollu <StCyr@users.noreply.github.com>
2024-06-24 17:28:42 +02:00
grnd-alt
3c5ca27eb8 don't reset update time when no update was written to db
Signed-off-by: grnd-alt <salimbelakkaf@outlook.de>
2024-06-17 13:43:12 +02:00
67 changed files with 310 additions and 280 deletions

View File

@@ -1,5 +1,5 @@
{
"image": "ghcr.io/juliushaertl/nextcloud-dev-php80:latest",
"image": "ghcr.io/juliushaertl/nextcloud-dev-php81:latest",
"forwardPorts": [80],
"containerEnv": {
"NEXTCLOUD_AUTOINSTALL_APPS": "deck",

View File

@@ -18,13 +18,13 @@ jobs:
steps:
- uses: actions/checkout@v4.1.7
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
uses: actions/setup-node@v4.0.3
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7
run: npm i -g npm@7
- name: Setup PHP
uses: shivammathur/setup-php@2.30.5
uses: shivammathur/setup-php@2.31.1
with:
php-version: '7.4'
tools: composer

View File

@@ -56,7 +56,7 @@ jobs:
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
# Skip if no package.json
if: ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -72,7 +72,7 @@ jobs:
filename: ${{ env.APP_NAME }}/appinfo/info.xml
- name: Set up php ${{ steps.php-versions.outputs.php-min }}
uses: shivammathur/setup-php@fc14643b0a99ee9db10a3c025a33d76544fa3761 # v2
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2
with:
php-version: ${{ steps.php-versions.outputs.php-min }}
coverage: none

View File

@@ -41,7 +41,7 @@ jobs:
steps:
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
uses: actions/setup-node@v4.0.3
with:
node-version: ${{ matrix.node-version }}
@@ -91,7 +91,7 @@ jobs:
restore-keys: ${{ steps.extcache.outputs.key }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.30.5
uses: shivammathur/setup-php@2.31.1
with:
php-version: ${{ matrix.php-versions }}
extensions: ${{ env.extensions }}

View File

@@ -78,7 +78,7 @@ jobs:
path: apps/activity
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.30.5
uses: shivammathur/setup-php@2.31.1
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, apcu

View File

@@ -63,7 +63,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View File

@@ -25,7 +25,7 @@ jobs:
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Set up php8.2
uses: shivammathur/setup-php@fc14643b0a99ee9db10a3c025a33d76544fa3761 # v2
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2
with:
php-version: 8.2
coverage: none

View File

@@ -28,7 +28,7 @@ jobs:
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@fc14643b0a99ee9db10a3c025a33d76544fa3761 # v2
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2
with:
php-version: ${{ matrix.php-versions }}
coverage: none

View File

@@ -32,7 +32,7 @@ jobs:
fallbackNpm: '^9'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View File

@@ -14,7 +14,7 @@ jobs:
steps:
- uses: actions/checkout@v4.1.7
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
uses: actions/setup-node@v4.0.3
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7

View File

@@ -36,7 +36,7 @@ jobs:
fallbackNpm: '^9'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View File

@@ -92,7 +92,7 @@ jobs:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@fc14643b0a99ee9db10a3c025a33d76544fa3761 # v2
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation

View File

@@ -80,7 +80,7 @@ jobs:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@fc14643b0a99ee9db10a3c025a33d76544fa3761 # v2
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation

View File

@@ -69,7 +69,7 @@ jobs:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@fc14643b0a99ee9db10a3c025a33d76544fa3761 # v2
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation

View File

@@ -21,7 +21,7 @@ jobs:
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Set up php8.2
uses: shivammathur/setup-php@fc14643b0a99ee9db10a3c025a33d76544fa3761 # v2
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2
with:
php-version: 8.2
coverage: none

View File

@@ -9,12 +9,14 @@
name: REUSE Compliance Check
on: pull_request
on: [pull_request]
jobs:
reuse-compliance-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: REUSE Compliance Check
uses: fsfe/reuse-action@a46482ca367aef4454a87620aa37c2be4b2f8106 # v3.0.0
uses: fsfe/reuse-action@3ae3c6bdf1257ab19397fab11fd3312144692083 # v4.0.0

View File

@@ -43,7 +43,7 @@ jobs:
# Enable GitHub auto merge
- name: Auto merge
uses: alexwilson/enable-github-automerge-action@835faa041540d2234ea4530506a7abd42c847dfc # main
uses: alexwilson/enable-github-automerge-action@3a349b20acc6235b856fb0b1c95a36cb5373da2f # main
if: startsWith(steps.branchname.outputs.branch, 'automated/noid/') && endsWith(steps.branchname.outputs.branch, 'update-nextcloud-ocp')
with:
github-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -31,7 +31,7 @@ jobs:
- name: Set up php8.2
if: steps.checkout.outcome == 'success'
uses: shivammathur/setup-php@fc14643b0a99ee9db10a3c025a33d76544fa3761 # v2
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2
with:
php-version: 8.2
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation

View File

@@ -1,16 +0,0 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: deck
Upstream-Contact: Nextcloud <info@nextcloud.com>
Source: https://github.com/nextcloud/deck
Files: .gitattributes .github/* .editorconfig babel.config.js .php-cs-fixer.dist.php package-lock.json package.json composer.json composer.lock webpack.js stylelint.config.js .eslintrc.js .gitignore .jshintrc .l10nignore action/.gitignore action/package.json action/package-lock.json action/dist/index.js tests/* psalm.xml cypress/.env cypress/.eslintrc.js cypress/docker-compose.yml cypress/plugins/index.js cypress/tsconfig.json cypress.config.ts vendor-bin/*/composer.json stylelint.config.cjs vendor-bin/*/composer.lock .tx/config webpack.config.js tsconfig.json vite.config.ts js/vendor.LICENSE.txt krankerl.toml .npmignore cypress/fixtures/* postcss.config.js cypress/dockerNode.ts jest.config.js cypress.config.js relativeci.config.js .nextcloudignore .devcontainer/devcontainer.json
Copyright: none
License: CC0-1.0
Files: l10n/*.js l10n/*.json js/*.js.map js/*.js js/*.mjs js/*.mjs.map js/templates/*.handlebars lib/Service/Importer/fixtures/config-deckJson-schema.json lib/Service/Importer/fixtures/config-trelloApi-schema.json lib/Service/Importer/fixtures/config-trelloJson-schema.json screenshots/screenshot1.png src/assets/file-placeholder.svg img/favicon.ico img/favicon.png img/favicon.svg img/activity.svg img/activity-dark.svg img/deck.svg img/deck-current.svg img/deck-dark.svg img/details-white.svg img/card.svg
Copyright: 2019 Nextcloud GmbH and Nextcloud contributors
License: AGPL-3.0-or-later
Files: img/attach.svg img/description.svg img/details.svg img/toggle-view-expand.svg img/toggle-view-collapse.svg img/filter.svg img/filter_set.svg img/circles-dark.svg img/circles.svg img/color_picker.svg img/color_picker-dark.svg img/notifications-dark.svg img/archive.svg img/add-white.svg img/calendar-dark.svg img/calendar-white.svg
Copyright: 2018-2024 Google LLC
License: Apache-2.0

View File

@@ -91,8 +91,8 @@ You can enable HMR (Hot module replacement) to avoid page reloads when working o
```
docker run --rm \
-p 8080:80 \
-v ~/path/to/app:/var/www/html/apps-extra/app \
ghcr.io/juliushaertl/nextcloud-dev-php80:latest
-v $PWD:/var/www/html/apps-extra/deck \
ghcr.io/juliushaertl/nextcloud-dev-php81:latest
```
### Full Nextcloud development environment

24
REUSE.toml Normal file
View File

@@ -0,0 +1,24 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
version = 1
SPDX-PackageName = "deck"
SPDX-PackageSupplier = "Nextcloud <info@nextcloud.com>"
SPDX-PackageDownloadLocation = "https://github.com/nextcloud/deck"
[[annotations]]
path = [".gitattributes", ".github/**", ".editorconfig", "babel.config.js", ".php-cs-fixer.dist.php", "package-lock.json", "package.json", "composer.json", "composer.lock", "webpack.js", "stylelint.config.js", ".eslintrc.js", ".gitignore", ".jshintrc", ".l10nignore", "action/.gitignore", "action/package.json", "action/package-lock.json", "action/dist/index.js", "tests/**", "psalm.xml", "cypress/.env", "cypress/.eslintrc.js", "cypress/docker-compose.yml", "cypress/plugins/index.js", "cypress/tsconfig.json", "cypress.config.ts", "vendor-bin/**/composer.json", "stylelint.config.cjs", "vendor-bin/**/composer.lock", ".tx/config", "webpack.config.js", "tsconfig.json", "vite.config.ts", "js/vendor.LICENSE.txt", "krankerl.toml", ".npmignore", "cypress/fixtures/**", "postcss.config.js", "cypress/dockerNode.ts", "jest.config.js", "cypress.config.js", "relativeci.config.js", ".nextcloudignore", ".devcontainer/devcontainer.json"]
precedence = "aggregate"
SPDX-FileCopyrightText = "none"
SPDX-License-Identifier = "CC0-1.0"
[[annotations]]
path = ["l10n/**.js", "l10n/**.json", "js/**.js.map", "js/**.js", "js/**.mjs", "js/**.mjs.map", "js/templates/**.handlebars", "lib/Service/Importer/fixtures/config-deckJson-schema.json", "lib/Service/Importer/fixtures/config-trelloApi-schema.json", "lib/Service/Importer/fixtures/config-trelloJson-schema.json", "screenshots/screenshot1.png", "src/assets/file-placeholder.svg", "img/favicon.ico", "img/favicon.png", "img/favicon.svg", "img/activity.svg", "img/activity-dark.svg", "img/deck.svg", "img/deck-current.svg", "img/deck-dark.svg", "img/details-white.svg", "img/card.svg"]
precedence = "aggregate"
SPDX-FileCopyrightText = "2019 Nextcloud GmbH and Nextcloud contributors"
SPDX-License-Identifier = "AGPL-3.0-or-later"
[[annotations]]
path = ["img/attach.svg", "img/description.svg", "img/details.svg", "img/toggle-view-expand.svg", "img/toggle-view-collapse.svg", "img/filter.svg", "img/filter_set.svg", "img/circles-dark.svg", "img/circles.svg", "img/color_picker.svg", "img/color_picker-dark.svg", "img/notifications-dark.svg", "img/archive.svg", "img/add-white.svg", "img/calendar-dark.svg", "img/calendar-white.svg"]
precedence = "aggregate"
SPDX-FileCopyrightText = "2018-2024 Google LLC"
SPDX-License-Identifier = "Apache-2.0"

31
composer.lock generated
View File

@@ -8,20 +8,20 @@
"packages": [
{
"name": "justinrainbow/json-schema",
"version": "v5.2.13",
"version": "5.3.0",
"source": {
"type": "git",
"url": "https://github.com/justinrainbow/json-schema.git",
"reference": "fbbe7e5d79f618997bc3332a6f49246036c45793"
"url": "https://github.com/jsonrainbow/json-schema.git",
"reference": "feb2ca6dd1cebdaf1ed60a4c8de2e53ce11c4fd8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/fbbe7e5d79f618997bc3332a6f49246036c45793",
"reference": "fbbe7e5d79f618997bc3332a6f49246036c45793",
"url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/feb2ca6dd1cebdaf1ed60a4c8de2e53ce11c4fd8",
"reference": "feb2ca6dd1cebdaf1ed60a4c8de2e53ce11c4fd8",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
"php": ">=7.1"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1",
@@ -32,11 +32,6 @@
"bin/validate-json"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "5.0.x-dev"
}
},
"autoload": {
"psr-4": {
"JsonSchema\\": "src/JsonSchema/"
@@ -71,10 +66,10 @@
"schema"
],
"support": {
"issues": "https://github.com/justinrainbow/json-schema/issues",
"source": "https://github.com/justinrainbow/json-schema/tree/v5.2.13"
"issues": "https://github.com/jsonrainbow/json-schema/issues",
"source": "https://github.com/jsonrainbow/json-schema/tree/5.3.0"
},
"time": "2023-09-26T02:20:38+00:00"
"time": "2024-07-06T21:00:26+00:00"
}
],
"packages-dev": [
@@ -254,12 +249,12 @@
"source": {
"type": "git",
"url": "https://github.com/nextcloud-deps/ocp.git",
"reference": "bdeabb2fbb4691ac3d72dc27f56dd52aa6c61725"
"reference": "13c7fcd3f86213789ab064e3e1bf58e9d5133db6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/bdeabb2fbb4691ac3d72dc27f56dd52aa6c61725",
"reference": "bdeabb2fbb4691ac3d72dc27f56dd52aa6c61725",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/13c7fcd3f86213789ab064e3e1bf58e9d5133db6",
"reference": "13c7fcd3f86213789ab064e3e1bf58e9d5133db6",
"shasum": ""
},
"require": {
@@ -291,7 +286,7 @@
"issues": "https://github.com/nextcloud-deps/ocp/issues",
"source": "https://github.com/nextcloud-deps/ocp/tree/master"
},
"time": "2024-06-18T00:36:38+00:00"
"time": "2024-07-13T00:37:22+00:00"
},
{
"name": "nikic/php-parser",

View File

@@ -11,3 +11,13 @@
background-image: url(../img/deck.svg);
filter: var(--background-invert-if-dark);
}
input[type=submit].icon-confirm {
border-color: var(--color-border-maxcontrast) !important;
border-left: none;
}
input[type=text]:focus+input[type=submit].icon-confirm,
input[type=text]:hover+input[type=submit].icon-confirm {
border-color: var(--color-main-text) !important;
}

View File

@@ -1,5 +1 @@
<!--
- SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
../README.md

2
docs/index.md.license Normal file
View File

@@ -0,0 +1,2 @@
SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later

View File

@@ -321,16 +321,16 @@ OC.L10N.register(
"Unarchive board" : "Atera taula artxibotik",
"Archive board" : "Artxibatu taula",
"Export board" : "Esportatu taula",
"Turn on due date reminders" : "Aktibatu epemugako abisuak",
"Turn off due date reminders" : "Desaktibatu epemugako abisuak",
"Due date reminders" : "Epemugako abisuak",
"Turn on due date reminders" : "Aktibatu epemuga gogorarazpenak",
"Turn off due date reminders" : "Desaktibatu epemuga gogorarazpenak",
"Due date reminders" : "Epemuga gogorarazpenak",
"All cards" : "Txartel guztiak",
"Assigned cards" : "Esleitutako txartelak",
"No notifications" : "Jakinarazpenik ez",
"Delete board" : "Ezabatu taula",
"Board {0} deleted" : "{0} taula ezabatu da",
"Only assigned cards" : "Bakarrik esleitutako txartelak",
"No reminder" : "Abisurik ez",
"No reminder" : "Gogorarazpenik ez",
"An error occurred" : "Errore bat gertatu da",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Ziur zaude {title} taula ezabatu nahi duzula? Honek taula honen datu guztiak ezabatuko ditu, artxibatutako txartelak barne.",
"Delete the board?" : "Taula ezabatu?",

View File

@@ -319,16 +319,16 @@
"Unarchive board" : "Atera taula artxibotik",
"Archive board" : "Artxibatu taula",
"Export board" : "Esportatu taula",
"Turn on due date reminders" : "Aktibatu epemugako abisuak",
"Turn off due date reminders" : "Desaktibatu epemugako abisuak",
"Due date reminders" : "Epemugako abisuak",
"Turn on due date reminders" : "Aktibatu epemuga gogorarazpenak",
"Turn off due date reminders" : "Desaktibatu epemuga gogorarazpenak",
"Due date reminders" : "Epemuga gogorarazpenak",
"All cards" : "Txartel guztiak",
"Assigned cards" : "Esleitutako txartelak",
"No notifications" : "Jakinarazpenik ez",
"Delete board" : "Ezabatu taula",
"Board {0} deleted" : "{0} taula ezabatu da",
"Only assigned cards" : "Bakarrik esleitutako txartelak",
"No reminder" : "Abisurik ez",
"No reminder" : "Gogorarazpenik ez",
"An error occurred" : "Errore bat gertatu da",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Ziur zaude {title} taula ezabatu nahi duzula? Honek taula honen datu guztiak ezabatuko ditu, artxibatutako txartelak barne.",
"Delete the board?" : "Taula ezabatu?",

View File

@@ -43,8 +43,8 @@ OC.L10N.register(
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user} marcou a tarxeta {card} como sen facer na lista {stack} no taboleiro {board}",
"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}" : "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 set the due date of card {card} to {after}" : "Vde. definiu a caducidade da tarxeta {card} a {after}",
"{user} has set the due date of card {card} to {after}" : "{user} definiu 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}" : "Vde. engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
@@ -117,7 +117,7 @@ OC.L10N.register(
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Este comentario ten máis de %s caracteres.\nEngadido como anexo á tarxeta co nome %s.\nAccesíbel no URL: %s.",
"Card not found" : "Non se atopou a tarxeta",
"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",
"Invalid date, date format must be YYYY-MM-DD" : "Data incorrecta, o formato da data 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" : "Gabeta é 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",
@@ -252,7 +252,7 @@ OC.L10N.register(
"Write a description …" : "Escriba unha descrición…",
"Choose attachment" : "Escoller o anexo",
"Assign a due date to this card…" : "Asignar unha data de caducidade a esta tarxeta…",
"Set a due date" : "Estabelecer a data de caducidade",
"Set a due date" : "Definir a data de caducidade",
"Add due date" : "Engadir a data de remate",
"Choose a date" : "Escoller a data",
"Remove due date" : "Retirar a data de caducidade",

View File

@@ -41,8 +41,8 @@
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user} marcou a tarxeta {card} como sen facer na lista {stack} no taboleiro {board}",
"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}" : "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 set the due date of card {card} to {after}" : "Vde. definiu a caducidade da tarxeta {card} a {after}",
"{user} has set the due date of card {card} to {after}" : "{user} definiu 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}" : "Vde. engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
@@ -115,7 +115,7 @@
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Este comentario ten máis de %s caracteres.\nEngadido como anexo á tarxeta co nome %s.\nAccesíbel no URL: %s.",
"Card not found" : "Non se atopou a tarxeta",
"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",
"Invalid date, date format must be YYYY-MM-DD" : "Data incorrecta, o formato da data 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" : "Gabeta é 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",
@@ -250,7 +250,7 @@
"Write a description …" : "Escriba unha descrición…",
"Choose attachment" : "Escoller o anexo",
"Assign a due date to this card…" : "Asignar unha data de caducidade a esta tarxeta…",
"Set a due date" : "Estabelecer a data de caducidade",
"Set a due date" : "Definir a data de caducidade",
"Add due date" : "Engadir a data de remate",
"Choose a date" : "Escoller a data",
"Remove due date" : "Retirar a data de caducidade",

View File

@@ -37,6 +37,10 @@ OC.L10N.register(
"{user} has archived card {card} in list {stack} on board {board}" : "{user}がボード{board}のリスト{stack}にカード{card}をアーカイブしました",
"You have unarchived card {card} in list {stack} on board {board}" : "ボード {board}のリスト {stack}にあるカード {card} をアーカイブ解除しました",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user}がボード {board}のリスト {stack}にあるカード {card} をアーカイブ解除しました",
"You have marked the card {card} as done in list {stack} on board {board}" : "ボード{board}のリスト{stack}で、カード{card}に完了のマークを付けました。",
"{user} has marked card {card} as done in list {stack} on board {board}" : "{user}は、ボード{board}のリスト{stack}で、カード{card}に完了のマークを付けました。",
"You have marked the card {card} as undone in list {stack} on board {board}" : "ボード{board}のリスト{stack}でカード{card}に未完成のマークを付けました。",
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user}は、ボード{board}のリスト{stack}でカード{card}に未完成のマークを付けました。",
"You have removed the due date of card {card}" : "カード{card}の期日を削除しました",
"{user} has removed the due date of card {card}" : "{user}がカード{card}の期日を削除しました",
"You have set the due date of card {card} to {after}" : "カード{card}の期日を{after}に設定しました",
@@ -145,6 +149,7 @@ OC.L10N.register(
"Filter by tag" : "タグによるフィルター",
"Filter by assigned user" : "割当ユーザーでフィルター",
"Unassigned" : "未割り当て",
"Filter by status" : "ステータスによるフィルター",
"Open and completed" : "開いて完成",
"Open" : "開く",
"Completed" : "完了",
@@ -310,6 +315,7 @@ OC.L10N.register(
"Show card ID badge" : "カードIDバジを表示",
"Show boards in calendar/tasks" : "カレンダー/タスクでボードを表示する",
"Limit board creation to some groups" : "ボード作成は一部のグループに制限する",
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "これらのグループ以外のユーザーは、独自のボードを作成することはできませんが、共有されているボードで作業することはできます。",
"Board details" : "ボードの詳細",
"Edit board" : "ボードを編集",
"Clone board" : "ボードを複製",
@@ -327,6 +333,7 @@ OC.L10N.register(
"Only assigned cards" : "割り当てられたカードのみ",
"No reminder" : "リマインダーなし",
"An error occurred" : "エラーが発生しました",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "ボード{title}を削除しますか? これにより、アーカイブされたカードを含むこのボードのすべてのデータが削除されます。",
"Delete the board?" : "ボードを削除しますか?",
"Loading filtered view" : "フィルタされたビューを読み込み中",
"Today" : "今日",
@@ -338,6 +345,7 @@ OC.L10N.register(
"Deck board {name}\n* Last modified on {lastMod}" : "デッキボード{name}\n最終更新日{lastMod}",
"{stack} in {board}" : "{board} 内の {stack}",
"Click to expand description" : "説明を展開するにはクリックしてください",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 作成: {created}\n* 最終変更: {lastMod}\n* {nbAttachments} 添付ファイル\n* {nbComments} コメント",
"{nbCards} cards" : "{nbCards} カード",
"Click to expand comment" : "コメントを展開するにはクリックしてください",
"Create a new card" : "新しいカードを作成する",

View File

@@ -35,6 +35,10 @@
"{user} has archived card {card} in list {stack} on board {board}" : "{user}がボード{board}のリスト{stack}にカード{card}をアーカイブしました",
"You have unarchived card {card} in list {stack} on board {board}" : "ボード {board}のリスト {stack}にあるカード {card} をアーカイブ解除しました",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user}がボード {board}のリスト {stack}にあるカード {card} をアーカイブ解除しました",
"You have marked the card {card} as done in list {stack} on board {board}" : "ボード{board}のリスト{stack}で、カード{card}に完了のマークを付けました。",
"{user} has marked card {card} as done in list {stack} on board {board}" : "{user}は、ボード{board}のリスト{stack}で、カード{card}に完了のマークを付けました。",
"You have marked the card {card} as undone in list {stack} on board {board}" : "ボード{board}のリスト{stack}でカード{card}に未完成のマークを付けました。",
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user}は、ボード{board}のリスト{stack}でカード{card}に未完成のマークを付けました。",
"You have removed the due date of card {card}" : "カード{card}の期日を削除しました",
"{user} has removed the due date of card {card}" : "{user}がカード{card}の期日を削除しました",
"You have set the due date of card {card} to {after}" : "カード{card}の期日を{after}に設定しました",
@@ -143,6 +147,7 @@
"Filter by tag" : "タグによるフィルター",
"Filter by assigned user" : "割当ユーザーでフィルター",
"Unassigned" : "未割り当て",
"Filter by status" : "ステータスによるフィルター",
"Open and completed" : "開いて完成",
"Open" : "開く",
"Completed" : "完了",
@@ -308,6 +313,7 @@
"Show card ID badge" : "カードIDバジを表示",
"Show boards in calendar/tasks" : "カレンダー/タスクでボードを表示する",
"Limit board creation to some groups" : "ボード作成は一部のグループに制限する",
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "これらのグループ以外のユーザーは、独自のボードを作成することはできませんが、共有されているボードで作業することはできます。",
"Board details" : "ボードの詳細",
"Edit board" : "ボードを編集",
"Clone board" : "ボードを複製",
@@ -325,6 +331,7 @@
"Only assigned cards" : "割り当てられたカードのみ",
"No reminder" : "リマインダーなし",
"An error occurred" : "エラーが発生しました",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "ボード{title}を削除しますか? これにより、アーカイブされたカードを含むこのボードのすべてのデータが削除されます。",
"Delete the board?" : "ボードを削除しますか?",
"Loading filtered view" : "フィルタされたビューを読み込み中",
"Today" : "今日",
@@ -336,6 +343,7 @@
"Deck board {name}\n* Last modified on {lastMod}" : "デッキボード{name}\n最終更新日{lastMod}",
"{stack} in {board}" : "{board} 内の {stack}",
"Click to expand description" : "説明を展開するにはクリックしてください",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 作成: {created}\n* 最終変更: {lastMod}\n* {nbAttachments} 添付ファイル\n* {nbComments} コメント",
"{nbCards} cards" : "{nbCards} カード",
"Click to expand comment" : "コメントを展開するにはクリックしてください",
"Create a new card" : "新しいカードを作成する",

View File

@@ -149,6 +149,7 @@ OC.L10N.register(
"Filter by tag" : "Filtrer på knagg",
"Filter by assigned user" : "Filtrer på tildelt bruker",
"Unassigned" : "Ikke tildelt",
"Filter by status" : "Filtrer etter status",
"Open and completed" : "Åpen og fullført",
"Open" : "Åpne",
"Completed" : "Ferdig",
@@ -257,6 +258,7 @@ OC.L10N.register(
"Remove due date" : "Fjern forfallsdato",
"Mark as done" : "Marker som fullført",
"Due at:" : "Forfaller den:",
"Not done" : "Ikke fullført",
"Unarchive card" : "Hent kort fra arkiv",
"Archive card" : "Arkiver kort",
"Select Date" : "Velg dato",

View File

@@ -147,6 +147,7 @@
"Filter by tag" : "Filtrer på knagg",
"Filter by assigned user" : "Filtrer på tildelt bruker",
"Unassigned" : "Ikke tildelt",
"Filter by status" : "Filtrer etter status",
"Open and completed" : "Åpen og fullført",
"Open" : "Åpne",
"Completed" : "Ferdig",
@@ -255,6 +256,7 @@
"Remove due date" : "Fjern forfallsdato",
"Mark as done" : "Marker som fullført",
"Due at:" : "Forfaller den:",
"Not done" : "Ikke fullført",
"Unarchive card" : "Hent kort fra arkiv",
"Archive card" : "Arkiver kort",
"Select Date" : "Velg dato",

View File

@@ -129,10 +129,13 @@ OC.L10N.register(
"Archived cards" : "Arhivirane naloge",
"Add list" : "Dodaj seznam",
"List name" : "Ime seznama",
"Active filters" : "Dejavni filtri",
"Apply filter" : "Uveljavi filter",
"Filter by tag" : "Filtriraj po oznaki",
"Filter by assigned user" : "Filtriraj po dodeljenem uporabniku",
"Unassigned" : "Nedodeljeno",
"Filter by status" : "Filtri po stanju",
"Open and completed" : "Odprto in končano",
"Open" : "Odpri",
"Completed" : "Končano",
"Filter by due date" : "Filtriraj po datumu preteka",
@@ -142,6 +145,8 @@ OC.L10N.register(
"Next 30 days" : "Naslednjih 30 dni",
"No due date" : "Ni datuma preteka",
"Clear filter" : "Počisti filter",
"View Modes" : "Načini pogleda",
"Toggle View Modes" : "Preklopi načine pogleda",
"Hide archived cards" : "Skrij arhivirane naloge",
"Show archived cards" : "Prikaži arhivirane naloge",
"Toggle compact mode" : "Preklopi način prikaza",

View File

@@ -127,10 +127,13 @@
"Archived cards" : "Arhivirane naloge",
"Add list" : "Dodaj seznam",
"List name" : "Ime seznama",
"Active filters" : "Dejavni filtri",
"Apply filter" : "Uveljavi filter",
"Filter by tag" : "Filtriraj po oznaki",
"Filter by assigned user" : "Filtriraj po dodeljenem uporabniku",
"Unassigned" : "Nedodeljeno",
"Filter by status" : "Filtri po stanju",
"Open and completed" : "Odprto in končano",
"Open" : "Odpri",
"Completed" : "Končano",
"Filter by due date" : "Filtriraj po datumu preteka",
@@ -140,6 +143,8 @@
"Next 30 days" : "Naslednjih 30 dni",
"No due date" : "Ni datuma preteka",
"Clear filter" : "Počisti filter",
"View Modes" : "Načini pogleda",
"Toggle View Modes" : "Preklopi načine pogleda",
"Hide archived cards" : "Skrij arhivirane naloge",
"Show archived cards" : "Prikaži arhivirane naloge",
"Toggle compact mode" : "Preklopi način prikaza",

View File

@@ -117,7 +117,7 @@ OC.L10N.register(
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Овај коментар има више од %s карактера.\nДодат је као прилог картици под именом %s.\nДоступно је на URL адреси: %s.",
"Card not found" : "Картица није нађена",
"Path is already shared with this card" : "Путања се већ дели са овом картицом",
"Invalid date, date format must be YYYY-MM-DD" : "Неисправан датим, формат датума мора бити ГГГГ-ММ-ДД",
"Invalid date, date format must be 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" : "Шпил је организациони алат у канбан стилу који је намењен личном планирању и организацији пројекта у тимовима интегрисаним са Nextcloud.\n\n\n- 📥 Додајте своје задатке у картице и поређајте их по редоследу\n- 📄 Напишите додатне белешке употребом Markdown синтаксе\n- 🔖 Доделите ознаке у циљу још боље организације\n- 👥 Делите са својим тимом, пријатељима или породицом\n- 📎 Прикачите фајлове и уградите их у свој Markdown опис\n- 💬 Дискутујте са својим тимом користећи коментаре\n- ⚡ Пратите измене у току активности\n- 🚀 Организујте свој пројекат",
"Add board" : "Додај таблу",

View File

@@ -115,7 +115,7 @@
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Овај коментар има више од %s карактера.\nДодат је као прилог картици под именом %s.\nДоступно је на URL адреси: %s.",
"Card not found" : "Картица није нађена",
"Path is already shared with this card" : "Путања се већ дели са овом картицом",
"Invalid date, date format must be YYYY-MM-DD" : "Неисправан датим, формат датума мора бити ГГГГ-ММ-ДД",
"Invalid date, date format must be 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" : "Шпил је организациони алат у канбан стилу који је намењен личном планирању и организацији пројекта у тимовима интегрисаним са Nextcloud.\n\n\n- 📥 Додајте своје задатке у картице и поређајте их по редоследу\n- 📄 Напишите додатне белешке употребом Markdown синтаксе\n- 🔖 Доделите ознаке у циљу још боље организације\n- 👥 Делите са својим тимом, пријатељима или породицом\n- 📎 Прикачите фајлове и уградите их у свој Markdown опис\n- 💬 Дискутујте са својим тимом користећи коментаре\n- ⚡ Пратите измене у току активности\n- 🚀 Организујте свој пројекат",
"Add board" : "Додај таблу",

View File

@@ -9,7 +9,6 @@ namespace OCA\Deck\AppInfo;
use Closure;
use Exception;
use OCA\Circles\Events\CircleDestroyedEvent;
use OCA\Deck\Activity\CommentEventHandler;
use OCA\Deck\Capabilities;
use OCA\Deck\Collaboration\Resources\ResourceProvider;
use OCA\Deck\Collaboration\Resources\ResourceProviderCard;
@@ -28,6 +27,7 @@ use OCA\Deck\Event\CardUpdatedEvent;
use OCA\Deck\Event\SessionClosedEvent;
use OCA\Deck\Event\SessionCreatedEvent;
use OCA\Deck\Listeners\BeforeTemplateRenderedListener;
use OCA\Deck\Listeners\CommentEventListener;
use OCA\Deck\Listeners\FullTextSearchEventListener;
use OCA\Deck\Listeners\LiveUpdateListener;
use OCA\Deck\Listeners\ParticipantCleanupListener;
@@ -56,7 +56,7 @@ use OCP\Collaboration\Reference\RenderReferenceEvent;
use OCP\Collaboration\Resources\IProviderManager;
use OCP\Collaboration\Resources\LoadAdditionalScriptsEvent;
use OCP\Comments\CommentsEntityEvent;
use OCP\Comments\ICommentsManager;
use OCP\Comments\CommentsEvent;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Group\Events\GroupDeletedEvent;
use OCP\IConfig;
@@ -91,7 +91,6 @@ class Application extends App implements IBootstrap {
public function boot(IBootContext $context): void {
$context->injectFn(Closure::fromCallable([$this, 'registerCommentsEntity']));
$context->injectFn(Closure::fromCallable([$this, 'registerCommentsEventHandler']));
$context->injectFn(Closure::fromCallable([$this, 'registerCollaborationResources']));
$context->injectFn(function (IManager $shareManager) {
@@ -141,6 +140,7 @@ class Application extends App implements IBootstrap {
$context->registerEventListener(AclCreatedEvent::class, FullTextSearchEventListener::class);
$context->registerEventListener(AclUpdatedEvent::class, FullTextSearchEventListener::class);
$context->registerEventListener(AclDeletedEvent::class, FullTextSearchEventListener::class);
$context->registerEventListener(CommentsEvent::class, CommentEventListener::class);
// Handling cache invalidation for collections
$context->registerEventListener(AclCreatedEvent::class, ResourceListener::class);
@@ -184,12 +184,6 @@ class Application extends App implements IBootstrap {
});
}
protected function registerCommentsEventHandler(ICommentsManager $commentsManager): void {
$commentsManager->registerEventHandler(function () {
return $this->getContainer()->query(CommentEventHandler::class);
});
}
protected function registerCollaborationResources(IProviderManager $resourceManager): void {
$resourceManager->registerResourceProvider(ResourceProvider::class);
$resourceManager->registerResourceProvider(ResourceProviderCard::class);

View File

@@ -113,7 +113,7 @@ class CardMapper extends QBMapper implements IPermissionMapper {
return parent::update($cardUpdate);
}
public function find($id): Card {
public function find($id, bool $enhance = true): Card {
$qb = $this->db->getQueryBuilder();
$qb->select('*')
->from('deck_cards')
@@ -122,9 +122,11 @@ class CardMapper extends QBMapper implements IPermissionMapper {
->addOrderBy('id');
/** @var Card $card */
$card = $this->findEntity($qb);
$labels = $this->labelMapper->findAssignedLabelsForCard($card->getId());
$card->setLabels($labels);
$this->mapOwner($card);
if ($enhance) {
$labels = $this->labelMapper->findAssignedLabelsForCard($card->getId());
$card->setLabels($labels);
$this->mapOwner($card);
}
return $card;
}
@@ -560,12 +562,15 @@ class CardMapper extends QBMapper implements IPermissionMapper {
}
public function isOwner($userId, $id): bool {
$sql = 'SELECT owner FROM `*PREFIX*deck_boards` WHERE `id` IN (SELECT board_id FROM `*PREFIX*deck_stacks` WHERE id IN (SELECT stack_id FROM `*PREFIX*deck_cards` WHERE id = ?))';
$stmt = $this->db->prepare($sql);
$stmt->bindParam(1, $id, \PDO::PARAM_INT, 0);
$stmt->execute();
$row = $stmt->fetch();
return ($row['owner'] === $userId);
$qb = $this->db->getQueryBuilder();
$qb->select('c.id')
->from($this->getTableName(), 'c')
->innerJoin('c', 'deck_stacks', 's', 'c.stack_id = s.id')
->innerJoin('s', 'deck_boards', 'b', 'b.id = s.board_id')
->where($qb->expr()->eq('c.id', $qb->createNamedParameter($id, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->eq('b.owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)));
return count($qb->executeQuery()->fetchAll()) > 0;
}
public function findBoardId($id): ?int {

View File

@@ -1,43 +1,37 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\Deck\Activity;
namespace OCA\Deck\Listeners;
use OCA\Deck\Activity\ActivityManager;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Db\ChangeHelper;
use OCA\Deck\Notification\NotificationHelper;
use OCP\Comments\CommentsEvent;
use OCP\Comments\IComment;
use OCP\Comments\ICommentsEventHandler;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
class CommentEventHandler implements ICommentsEventHandler {
/** @template-implements IEventListener<CommentsEvent|Event> */
class CommentEventListener implements IEventListener {
/** @var ActivityManager */
private $activityManager;
/** @var NotificationHelper */
private $notificationHelper;
/** @var CardMapper */
private $cardMapper;
/** @var ChangeHelper */
private $changeHelper;
public function __construct(ActivityManager $activityManager, NotificationHelper $notificationHelper, CardMapper $cardMapper, ChangeHelper $changeHelper) {
$this->notificationHelper = $notificationHelper;
$this->activityManager = $activityManager;
$this->cardMapper = $cardMapper;
$this->changeHelper = $changeHelper;
public function __construct(
private ActivityManager $activityManager,
private NotificationHelper $notificationHelper,
private CardMapper $cardMapper,
private ChangeHelper $changeHelper,
) {
}
/**
* @param CommentsEvent $event
*/
public function handle(CommentsEvent $event) {
public function handle(Event $event): void {
if (!$event instanceof CommentsEvent) {
return;
}
if ($event->getComment()->getObjectType() !== 'deckCard') {
return;
}
@@ -61,20 +55,13 @@ class CommentEventHandler implements ICommentsEventHandler {
}
}
/**
* @param CommentsEvent $event
*/
private function activityHandler(CommentsEvent $event) {
/** @var IComment $comment */
private function activityHandler(CommentsEvent $event): void {
$comment = $event->getComment();
$card = $this->cardMapper->find($comment->getObjectId());
$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_CARD, $card, ActivityManager::SUBJECT_CARD_COMMENT_CREATE, ['comment' => $comment]);
}
/**
* @param CommentsEvent $event
*/
private function notificationHandler(CommentsEvent $event) {
private function notificationHandler(CommentsEvent $event): void {
$this->notificationHelper->sendMention($event->getComment());
}
}

View File

@@ -119,7 +119,7 @@ class PermissionService {
if ($permissions[$permission] === true) {
if (!$allowDeletedCard && $mapper instanceof CardMapper) {
$card = $mapper->find((int)$id);
$card = $mapper->find((int)$id, false);
if ($card->getDeletedAt() > 0) {
throw new NoPermissionException('Card is deleted');
}

View File

@@ -831,7 +831,7 @@ class DeckShareProvider implements \OCP\Share\IShareProvider {
$pathSections = explode('/', $data['path'], 2);
// FIXME: would not detect rare md5'd home storage case properly
if ($pathSections[0] !== 'files'
&& in_array(explode(':', $data['storage_string_id'], 2)[0], ['home', 'object'])) {
&& (strpos($data['storage_string_id'], 'home::') === 0 || strpos($data['storage_string_id'], 'object::user') === 0)) {
return false;
}
return true;

152
package-lock.json generated
View File

@@ -10,11 +10,11 @@
"license": "agpl",
"dependencies": {
"@babel/polyfill": "^7.12.1",
"@babel/runtime": "^7.24.7",
"@babel/runtime": "^7.24.8",
"@nextcloud/auth": "^2.3.0",
"@nextcloud/axios": "^2.5.0",
"@nextcloud/capabilities": "^1.2.0",
"@nextcloud/dialogs": "^5.3.3",
"@nextcloud/dialogs": "^5.3.5",
"@nextcloud/event-bus": "^3.3.1",
"@nextcloud/files": "^3.5.1",
"@nextcloud/initial-state": "^2.2.0",
@@ -22,10 +22,10 @@
"@nextcloud/moment": "^1.3.1",
"@nextcloud/notify_push": "^1.3.0",
"@nextcloud/router": "^3.0.1",
"@nextcloud/vue": "^8.12.0",
"@nextcloud/vue": "^8.14.0",
"blueimp-md5": "^2.19.0",
"chroma-js": "^2.4.2",
"dompurify": "^3.1.5",
"dompurify": "^3.1.6",
"lodash": "^4.17.21",
"markdown-it": "^14.1.0",
"markdown-it-link-attributes": "^4.0.1",
@@ -52,10 +52,10 @@
"@nextcloud/eslint-config": "^8.4.1",
"@nextcloud/stylelint-config": "^3.0.1",
"@nextcloud/webpack-vue-config": "^6.0.0",
"@relative-ci/agent": "^4.2.8",
"@relative-ci/agent": "^4.2.9",
"@vue/test-utils": "^2.4.6",
"@vue/vue2-jest": "^29.2.6",
"cypress": "^13.12.0",
"cypress": "^13.13.0",
"eslint-plugin-cypress": "^3.3.0",
"eslint-webpack-plugin": "^4.2.0",
"jest": "^29.7.0",
@@ -1917,9 +1917,9 @@
"peer": true
},
"node_modules/@babel/runtime": {
"version": "7.24.7",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz",
"integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==",
"version": "7.24.8",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.8.tgz",
"integrity": "sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==",
"dependencies": {
"regenerator-runtime": "^0.14.0"
},
@@ -1994,9 +1994,9 @@
"dev": true
},
"node_modules/@bundle-stats/plugin-webpack-validate": {
"version": "4.13.2",
"resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-validate/-/plugin-webpack-validate-4.13.2.tgz",
"integrity": "sha512-Rfdipz+uBsAIIDUo1D+ylD0RxXLCcznaxpodz9QCcd0/P5tkD8gnWh1MZcfZmLFaCnxvTyJMdKJHyjIJ7xyCbA==",
"version": "4.13.3",
"resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-validate/-/plugin-webpack-validate-4.13.3.tgz",
"integrity": "sha512-R7qGmWsWq5rhv/Zu6pS+d1S29gV1rxogl/udmbH/L4LysX+TxcotFENsCKn9J7nNBlmLyqDVZpynfGm14ywXjg==",
"dev": true,
"dependencies": {
"lodash": "4.17.21",
@@ -3525,9 +3525,9 @@
}
},
"node_modules/@nextcloud/dialogs": {
"version": "5.3.3",
"resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-5.3.3.tgz",
"integrity": "sha512-K5ZdwRch3vrt7ZQXp04rUHGid4GcSeRnG0SkvccwfhiVg85wut9YZd+i2YiMPw+VYURKEjr2ZOK7R5afnViWag==",
"version": "5.3.5",
"resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-5.3.5.tgz",
"integrity": "sha512-v2+M2zN90IqkZby7QZ575Ej/VsSQXcI6EurMVp51mRGLTeO2bJw8IVdfumDJhSA+3rn/nSHmkz3zWcHUInqzTg==",
"dependencies": {
"@mdi/js": "^7.4.47",
"@nextcloud/auth": "^2.3.0",
@@ -3538,7 +3538,7 @@
"@nextcloud/l10n": "^3.1.0",
"@nextcloud/router": "^3.0.1",
"@nextcloud/sharing": "^0.2.2",
"@nextcloud/typings": "^1.8.0",
"@nextcloud/typings": "^1.9.0",
"@types/toastify-js": "^1.12.3",
"@vueuse/core": "^10.11.0",
"cancelable-promise": "^4.3.1",
@@ -3876,14 +3876,24 @@
"stylelint-config-recommended-vue": "^1.5.0"
}
},
"node_modules/@nextcloud/typings": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-1.8.0.tgz",
"integrity": "sha512-q9goE0wc+1BCI9Ku0MebCHmqOMwz2K7ESKQrcHDs6O+HqbKA8zGiEtXL5XGrMS7Ovtl1YOIwxlP9kEvgvXt52Q==",
"node_modules/@nextcloud/timezones": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/@nextcloud/timezones/-/timezones-0.1.1.tgz",
"integrity": "sha512-ldLuLyz605sszetnp6jy6mtlThu4ICKsZThxHIZwn6t4QzjQH3xr+k8mRU7GIvKq9egUFDqBp4gBjxm3/ROZig==",
"dependencies": {
"@types/jquery": "3.5.16",
"vue": "^2.7.15",
"vue-router": "<4"
"ical.js": "^2.0.1"
},
"engines": {
"node": "^20.0.0",
"npm": "^10.0.0"
}
},
"node_modules/@nextcloud/typings": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-1.9.1.tgz",
"integrity": "sha512-i0l/L5gKW8EACbXHVxXM6wn3sUhY2qmnL2OijppzU4dENC7/hqySMQDer7/+cJbNSNG7uHF/Z+9JmHtDfRfuGg==",
"dependencies": {
"@types/jquery": "3.5.16"
},
"engines": {
"node": "^20.0.0",
@@ -3891,27 +3901,27 @@
}
},
"node_modules/@nextcloud/vue": {
"version": "8.12.0",
"resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-8.12.0.tgz",
"integrity": "sha512-MHL12+XGIDvpsSdrJn79pYKYrTVUouEymc4No91lKTNZTWDN6bciDSprmMs553hECXrqj7sfwxu6sepj0zcR3Q==",
"version": "8.14.0",
"resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-8.14.0.tgz",
"integrity": "sha512-hB3dG7tZWpItC74PfbTLW02754qYXFDH+h7Ksq6b7e8WlhnKLWrhNGKhSpNDt9/g+vb5bSIOxbiDZIJZ63hAuQ==",
"dependencies": {
"@floating-ui/dom": "^1.1.0",
"@linusborg/vue-simple-portal": "^0.1.5",
"@nextcloud/auth": "^2.2.1",
"@nextcloud/axios": "^2.4.0",
"@nextcloud/browser-storage": "^0.4.0",
"@nextcloud/calendar-js": "^7.0.0",
"@nextcloud/capabilities": "^1.1.0",
"@nextcloud/event-bus": "^3.1.0",
"@nextcloud/initial-state": "^2.1.0",
"@nextcloud/l10n": "^3.0.1",
"@nextcloud/logger": "^3.0.1",
"@nextcloud/router": "^3.0.0",
"@nextcloud/timezones": "^0.1.1",
"@nextcloud/vue-select": "^3.25.0",
"@vueuse/components": "^10.9.0",
"@vueuse/core": "^10.9.0",
"clone": "^2.1.2",
"debounce": "2.0.0",
"debounce": "2.1.0",
"dompurify": "^3.0.5",
"emoji-mart-vue-fast": "^15.0.1",
"escape-html": "^1.0.3",
@@ -3935,6 +3945,7 @@
"vue": "^2.7.16",
"vue-color": "^2.8.1",
"vue-frag": "^1.4.3",
"vue-router": "^3.6.5",
"vue2-datepicker": "^3.11.0"
},
"engines": {
@@ -3966,19 +3977,6 @@
"@floating-ui/core": "^1.0.5"
}
},
"node_modules/@nextcloud/vue/node_modules/@nextcloud/calendar-js": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/@nextcloud/calendar-js/-/calendar-js-7.0.0.tgz",
"integrity": "sha512-CvCcO4hFPjMfIB2AKW0QLNYukGoHFS7QQVvIC8khJjzNfVGS6qMJd2oaZtD9Q9w1fLpvwp1X7orcYGYmosDkAA==",
"engines": {
"node": "^20.0.0",
"npm": "^10.0.0"
},
"peerDependencies": {
"ical.js": "^2.0.1",
"uuid": "^9.0.0"
}
},
"node_modules/@nextcloud/vue/node_modules/@types/unist": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz",
@@ -4062,19 +4060,6 @@
"url": "https://opencollective.com/unified"
}
},
"node_modules/@nextcloud/vue/node_modules/uuid": {
"version": "9.0.1",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
"integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
"funding": [
"https://github.com/sponsors/broofa",
"https://github.com/sponsors/ctavan"
],
"peer": true,
"bin": {
"uuid": "dist/bin/uuid"
}
},
"node_modules/@nextcloud/vue/node_modules/vfile": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz",
@@ -4200,16 +4185,16 @@
}
},
"node_modules/@relative-ci/agent": {
"version": "4.2.8",
"resolved": "https://registry.npmjs.org/@relative-ci/agent/-/agent-4.2.8.tgz",
"integrity": "sha512-GbmBZ1LlMkLGkypOakINfSfsrI5l0USom7EFqv9EPHmcKhxWu0TIrnTBhIGPO29A8m9yLKIz9ZTzHCA1ROKF1Q==",
"version": "4.2.9",
"resolved": "https://registry.npmjs.org/@relative-ci/agent/-/agent-4.2.9.tgz",
"integrity": "sha512-VrpE0eHi6DMVnfS5epTzo6Z9aGC3l7QuwqP/h2NQrpKMyXfLjqBrYNVzttHueIqxvLP9FzBXmpYm7OxjcTYJuQ==",
"dev": true,
"dependencies": {
"@bundle-stats/plugin-webpack-filter": "4.13.2",
"@bundle-stats/plugin-webpack-validate": "4.13.2",
"@bundle-stats/plugin-webpack-filter": "4.13.3",
"@bundle-stats/plugin-webpack-validate": "4.13.3",
"core-js": "3.37.1",
"cosmiconfig": "9.0.0",
"debug": "4.3.4",
"debug": "4.3.5",
"dotenv": "16.4.5",
"env-ci": "7.3.0",
"fs-extra": "11.2.0",
@@ -4233,9 +4218,9 @@
}
},
"node_modules/@relative-ci/agent/node_modules/@bundle-stats/plugin-webpack-filter": {
"version": "4.13.2",
"resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-filter/-/plugin-webpack-filter-4.13.2.tgz",
"integrity": "sha512-FU1i0DYBhIzY2hElvKSSEdazka4lpc9zP2zAYGmOmYkF6g4Omz+1DWH6a7MZv0cZhee8yIxaRNGkGy1R/llmtQ==",
"version": "4.13.3",
"resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-filter/-/plugin-webpack-filter-4.13.3.tgz",
"integrity": "sha512-jMMt2Hz5FgHMBT+52L2zsB14RJBLVjV9UxnFhpd8iH1JWgxTvQFmUG/FpubMdzhIXZx6QAHFslrtCSExgMYgtQ==",
"dev": true,
"engines": {
"node": ">= 14.0"
@@ -7732,9 +7717,9 @@
"integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA=="
},
"node_modules/cypress": {
"version": "13.12.0",
"resolved": "https://registry.npmjs.org/cypress/-/cypress-13.12.0.tgz",
"integrity": "sha512-udzS2JilmI9ApO/UuqurEwOvThclin5ntz7K0BtnHBs+tg2Bl9QShLISXpSEMDv/u8b6mqdoAdyKeZiSqKWL8g==",
"version": "13.13.0",
"resolved": "https://registry.npmjs.org/cypress/-/cypress-13.13.0.tgz",
"integrity": "sha512-ou/MQUDq4tcDJI2FsPaod2FZpex4kpIK43JJlcBgWrX8WX7R/05ZxGTuxedOuZBfxjZxja+fbijZGyxiLP6CFA==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
@@ -7777,7 +7762,7 @@
"request-progress": "^3.0.0",
"semver": "^7.5.3",
"supports-color": "^8.1.1",
"tmp": "~0.2.1",
"tmp": "~0.2.3",
"untildify": "^4.0.0",
"yauzl": "^2.10.0"
},
@@ -7996,9 +7981,9 @@
"license": "MIT"
},
"node_modules/debounce": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/debounce/-/debounce-2.0.0.tgz",
"integrity": "sha512-xRetU6gL1VJbs85Mc4FoEGSjQxzpdxRyFhe3lmWFyy2EzydIcD4xzUvRJMD+NPDfMwKNhxa3PvsIOU32luIWeA==",
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/debounce/-/debounce-2.1.0.tgz",
"integrity": "sha512-OkL3+0pPWCqoBc/nhO9u6TIQNTK44fnBnzuVtJAbp13Naxw9R6u21x+8tVTka87AhDZ3htqZ2pSSsZl9fqL2Wg==",
"engines": {
"node": ">=18"
},
@@ -8007,9 +7992,9 @@
}
},
"node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"version": "4.3.5",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
"integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
"dependencies": {
"ms": "2.1.2"
},
@@ -8357,9 +8342,9 @@
}
},
"node_modules/dompurify": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.5.tgz",
"integrity": "sha512-lwG+n5h8QNpxtyrJW/gJWckL+1/DQiYMX8f7t8Z2AZTPw1esVrqjI63i7Zc2Gz0aKzLVMYC1V1PL/ky+aY/NgA=="
"version": "3.1.6",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.6.tgz",
"integrity": "sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ=="
},
"node_modules/domutils": {
"version": "3.1.0",
@@ -11239,8 +11224,7 @@
"node_modules/ical.js": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ical.js/-/ical.js-2.0.1.tgz",
"integrity": "sha512-uYYb1CwTXbd9NP/xTtgQZ5ivv6bpUjQu9VM98s3X78L3XRu00uJW5ZtmnLwyxhztpf5fSiRyDpFW7ZNCePlaPw==",
"peer": true
"integrity": "sha512-uYYb1CwTXbd9NP/xTtgQZ5ivv6bpUjQu9VM98s3X78L3XRu00uJW5ZtmnLwyxhztpf5fSiRyDpFW7ZNCePlaPw=="
},
"node_modules/iconv-lite": {
"version": "0.4.24",
@@ -17673,6 +17657,7 @@
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
"peer": true,
"dependencies": {
"glob": "^7.1.3"
},
@@ -19284,15 +19269,12 @@
}
},
"node_modules/tmp": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
"integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz",
"integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==",
"dev": true,
"dependencies": {
"rimraf": "^3.0.0"
},
"engines": {
"node": ">=8.17.0"
"node": ">=14.14"
}
},
"node_modules/tmpl": {

View File

@@ -31,11 +31,11 @@
},
"dependencies": {
"@babel/polyfill": "^7.12.1",
"@babel/runtime": "^7.24.7",
"@babel/runtime": "^7.24.8",
"@nextcloud/auth": "^2.3.0",
"@nextcloud/axios": "^2.5.0",
"@nextcloud/capabilities": "^1.2.0",
"@nextcloud/dialogs": "^5.3.3",
"@nextcloud/dialogs": "^5.3.5",
"@nextcloud/event-bus": "^3.3.1",
"@nextcloud/files": "^3.5.1",
"@nextcloud/initial-state": "^2.2.0",
@@ -43,10 +43,10 @@
"@nextcloud/moment": "^1.3.1",
"@nextcloud/notify_push": "^1.3.0",
"@nextcloud/router": "^3.0.1",
"@nextcloud/vue": "^8.12.0",
"@nextcloud/vue": "^8.14.0",
"blueimp-md5": "^2.19.0",
"chroma-js": "^2.4.2",
"dompurify": "^3.1.5",
"dompurify": "^3.1.6",
"lodash": "^4.17.21",
"markdown-it": "^14.1.0",
"markdown-it-link-attributes": "^4.0.1",
@@ -80,10 +80,10 @@
"@nextcloud/eslint-config": "^8.4.1",
"@nextcloud/stylelint-config": "^3.0.1",
"@nextcloud/webpack-vue-config": "^6.0.0",
"@relative-ci/agent": "^4.2.8",
"@relative-ci/agent": "^4.2.9",
"@vue/test-utils": "^2.4.6",
"@vue/vue2-jest": "^29.2.6",
"cypress": "^13.12.0",
"cypress": "^13.13.0",
"eslint-plugin-cypress": "^3.3.0",
"eslint-webpack-plugin": "^4.2.0",
"jest": "^29.7.0",

View File

@@ -120,7 +120,7 @@ export default {
margin-left: 10px;
}
.activity--message {
margin-left: 44px;
margin-left: var(--default-clickable-area);
color: var(--color-text-light);
margin-bottom: 10px;
}

View File

@@ -476,8 +476,8 @@ export default {
.controls {
display: flex;
margin: 5px;
height: 44px;
padding-left: 44px;
height: var(--default-clickable-area);
padding-left: var(--default-clickable-area);
.board-title {
display: flex;
@@ -507,8 +507,8 @@ export default {
#app-navigation-toggle-custom {
position: static;
width: 44px;
height: 44px;
width: var(--default-clickable-area);
height: var(--default-clickable-area);
cursor: pointer;
opacity: 1;
display: inline-block !important;
@@ -567,8 +567,8 @@ export default {
.filter-button {
padding: 0;
border-radius: 50%;
width: 44px;
height: 44px;
width: var(--default-clickable-area);
height: var(--default-clickable-area);
&[data-popper-shown] {
background-color: var(--color-background-hover);

View File

@@ -56,7 +56,7 @@ export default {
<style scoped lang="scss">
.avatar-list {
min-height: 44px;
min-height: var(--default-clickable-area);
align-items: center;
padding-right: 0.5em;
border: none;

View File

@@ -250,7 +250,7 @@ export default {
.board {
padding-left: $board-spacing;
position: relative;
max-height: calc(100% - 44px);
max-height: calc(100% - var(--default-clickable-area));
overflow: hidden;
overflow-x: auto;
flex-grow: 1;

View File

@@ -1,6 +1,6 @@
<!--
- SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
- SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
<template>
@@ -100,3 +100,12 @@ export default {
},
}
</script>
<style scoped lang="scss">
:deep {
.app-sidebar-tabs__tab-caption,
.app-sidebar-tabs__nav .checkbox-content__text {
white-space: normal !important;
}
}
</style>

View File

@@ -4,7 +4,7 @@
-->
<template>
<div>
<h3>{{ t('deck', 'Deleted lists') }}</h3>
<h5>{{ t('deck', 'Deleted lists') }}</h5>
<ul>
<li v-for="deletedStack in deletedStacks" :key="deletedStack.id">
<span class="icon icon-deck" />
@@ -18,7 +18,7 @@
</li>
</ul>
<h3>{{ t('deck', 'Deleted cards') }}</h3>
<h5>{{ t('deck', 'Deleted cards') }}</h5>
<ul>
<li v-for="deletedCard in deletedCards" :key="deletedCard.id">
<div class="icon icon-deck" />
@@ -102,7 +102,7 @@ export default {
}
* {
flex-basis: 44px;
flex-basis: var(--default-clickable-area);
}
.title {

View File

@@ -1,6 +1,6 @@
<!--
- SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
- SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
<template>
@@ -261,7 +261,7 @@ export default {
},
startEditing(stack) {
if (this.dragging) {
return
return
}
this.copiedStack = Object.assign({}, stack)
@@ -322,7 +322,7 @@ export default {
padding-left: $card-spacing;
padding-right: $card-spacing;
cursor: grab;
min-height: 44px;
min-height: var(--default-clickable-area);
// Smooth fade out of the cards at the top
&:before {
@@ -374,6 +374,7 @@ export default {
border-radius: 3px;
margin: 6px;
padding: 4px 4px;
font-size: 120%;
&:focus-visible {
outline: 2px solid var(--color-border-dark);
@@ -384,10 +385,17 @@ export default {
form {
margin: 2px 0;
}
:deep {
.action-item,
.v-popper--theme-dropdown {
display: flex;
}
}
}
.stack__card-add {
height: 44px;
height: var(--default-clickable-area);
flex-shrink: 0;
z-index: 100;
display: flex;

View File

@@ -173,7 +173,7 @@ export default {
}
</script>
<style scoped lang="scss">
$clickable-area: 44px;
$clickable-area: var(--default-clickable-area);
.labels li {
display: flex;

View File

@@ -62,7 +62,7 @@ export default {
<style lang="scss">
.board-list {
margin-top: -44px;
margin-top: - var(--default-clickable-area); //@TODO
.board-list-row {
align-items: center;
@@ -77,7 +77,7 @@ export default {
.board-list-header-row {
color: var(--color-text-lighter);
height: 44px;
height: var(--default-clickable-area);
}
.board-list-bullet-cell,

View File

@@ -253,10 +253,10 @@ export default {
gap: calc(var(--default-grid-baseline) * 3);
.icon-upload, .icon-folder {
padding-left: 44px;
padding-left: var(--default-clickable-area);
background-position: 16px center;
flex-grow: 1;
height: 44px;
height: var(--default-clickable-area);
margin-bottom: 12px;
text-align: left;
}
@@ -291,7 +291,7 @@ export default {
li.attachment {
display: flex;
padding: 3px;
min-height: 44px;
min-height: var(--default-clickable-area);
&.deleted {
opacity: .5;
@@ -339,7 +339,7 @@ export default {
}
}
button.icon-history {
width: 44px;
width: var(--default-clickable-area);
}
progress {
margin-top: 3px;

View File

@@ -221,7 +221,7 @@ section.app-sidebar__tab--active {
right: 0;
max-width: calc(100% - #{$modal-padding * 2});
padding: 0 14px;
height: auto;
height: 97%;
overflow: initial;
user-select: text;
-webkit-user-select: text;

View File

@@ -213,7 +213,7 @@ export default {
@import '../../css/comments';
.reply {
margin: 0 0 0 44px;
margin: 0 0 0 var(--default-clickable-area);
&.reply--preview {
margin: 4px 0;

View File

@@ -187,7 +187,6 @@ export default {
},
onUpdate: ({ markdown }) => {
if (this.description === markdown) {
this.descriptionLastEdit = 0
return
}
this.description = markdown
@@ -283,7 +282,9 @@ export default {
return
}
this.descriptionSaving = true
await this.$store.dispatch('updateCardDesc', { ...this.card, description: this.description })
if (this.card.id !== undefined) {
await this.$store.dispatch('updateCardDesc', { ...this.card, description: this.description })
}
this.$emit('change', this.description)
this.descriptionLastEdit = 0
this.descriptionSaving = false
@@ -366,7 +367,7 @@ h5 {
}
.description__text :deep(.ProseMirror) {
padding-bottom: 44px;
padding-bottom: var(--default-clickable-area);
}
</style>
@@ -422,6 +423,6 @@ h5 {
}
.modal__card .description__text .text-menubar {
top: 142px !important;
top: 0;
}
</style>

View File

@@ -338,7 +338,7 @@ export default {
}
}
.card-menu {
height: 44px;
height: var(--default-clickable-area);
align-self: end;
}
}
@@ -391,7 +391,7 @@ export default {
}
.compact {
min-height: 44px;
min-height: var(--default-clickable-area);
.duedate {
margin-right: 0;

View File

@@ -73,7 +73,7 @@ export default {
.board-create {
order: 1;
display: flex;
height: 44px;
height: var(--default-clickable-area);
form {
display: flex;
@@ -86,8 +86,8 @@ export default {
}
.app-navigation-entry-bullet-wrapper {
width: 44px;
height: 44px;
width: var(--default-clickable-area);
height: var(--default-clickable-area);
.color0 {
width: 30px !important;
margin: 5px;

View File

@@ -319,10 +319,10 @@ export default {
<style lang="scss" scoped>
.board-edit {
margin-left: 44px;
margin-left: var(--default-clickable-area);
order: 1;
display: flex;
height: 44px;
height: var(--default-clickable-area);
form {
display: flex;
@@ -335,8 +335,8 @@ export default {
}
.app-navigation-entry-bullet-wrapper {
width: 44px;
height: 44px;
width: var(--default-clickable-area);
height: var(--default-clickable-area);
.color0 {
width: 30px !important;
margin: 5px;

View File

@@ -158,7 +158,7 @@ export default {
.overview {
position: relative;
height: calc(100% - 44px);
height: calc(100% - var(--default-clickable-area));
overflow-x: scroll;
display: flex;
align-items: stretch;

View File

@@ -59,7 +59,7 @@ export default {
<style lang="scss" scoped>
@import '../../css/variables';
$clickable-area: 44px;
$clickable-area: var(--default-clickable-area);
.card--placeholder {
width: $stack-width;

View File

@@ -9,7 +9,7 @@
.editor__content:deep {
flex-grow: 1;
margin-left: 44px;
margin-left: var(--default-clickable-area);
.ProseMirror {
width: 100%;
@@ -17,8 +17,8 @@
}
input[type='submit'] {
width: 44px;
height: 44px;
width: var(--default-clickable-area);
height: var(--default-clickable-area);
margin: 0;
padding: 13px;
background-color: transparent;
@@ -51,6 +51,6 @@
}
.comment--content {
margin-left: 44px;
margin-left: var(--default-clickable-area);
word-break: break-word;
}

View File

@@ -2,6 +2,7 @@
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
const rawToParsed = (text) => {
text = text.replace(/<br>/g, '\n')
text = text.replace(/&nbsp;/g, ' ')

View File

@@ -2,6 +2,7 @@
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
const xmlToJson = (xml) => {
let obj = {}
if (xml.nodeType === 1) {

View File

@@ -18,8 +18,6 @@ Vue.prototype.OC = OC
window.addEventListener('DOMContentLoaded', () => {
if (OCA.Sharing && OCA.Sharing.ShareSearch) {
OCA.Sharing.ShareSearch.addNewResult(FileSharingPicker)
} else {
console.error('OCA.Sharing.ShareSearch not ready')
}
window.OCP.Collaboration.registerType('deck', {

View File

@@ -21,8 +21,9 @@
*
*/
namespace OCA\Deck\Activity;
namespace OCA\Deck\Listeners;
use OCA\Deck\Activity\ActivityManager;
use OCA\Deck\Db\Card;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Db\ChangeHelper;
@@ -31,9 +32,9 @@ use OCP\Comments\CommentsEvent;
use OCP\Comments\IComment;
use PHPUnit\Framework\TestCase;
class CommentEventHandlerTest extends TestCase {
class CommentEventListenerTest extends TestCase {
/** @var CommentEventHandler */
/** @var CommentEventListener */
private $commentEventHandler;
/** @var ActivityManager */
private $activityManager;
@@ -49,7 +50,7 @@ class CommentEventHandlerTest extends TestCase {
$this->notificationHelper = $this->createMock(NotificationHelper::class);
$this->cardMapper = $this->createMock(CardMapper::class);
$this->changeHelper = $this->createMock(ChangeHelper::class);
$this->commentEventHandler = new CommentEventHandler(
$this->commentEventHandler = new CommentEventListener(
$this->activityManager,
$this->notificationHelper,
$this->cardMapper,