Compare commits

...

1029 Commits

Author SHA1 Message Date
Salvatore Martire
b3d95d60af feat: detect N+1 setupForPath calls and setup parent instead [skip ci]
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-13 12:16:53 +01:00
Salvatore Martire
828cd544ac fix: mark paths as set up even if no mounts inside
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-13 12:13:11 +01:00
Salvatore Martire
eabf571982 fix: get mount from memory if already setup
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-13 12:11:43 +01:00
Salvatore Martire
7a5379cd13 fix: check if path is set up earlier
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-13 12:09:35 +01:00
Salvatore Martire
4987175abb fix: avoid recomputing list of mounts by provider
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-12 14:04:47 +01:00
Kate
0fc06b3b87 Merge pull request #58237 from nextcloud/share-target-repair-circles 2026-02-11 17:58:51 +01:00
Robin Appelman
f216bf5798 fix: handle circle shares in share target repair
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-11 15:39:11 +01:00
Louis
d21351701a Merge pull request #58140 from nextcloud/artonge/fix/ignore_abort_error
fix(files): Do not show abort error to the user
2026-02-11 15:03:02 +01:00
nextcloud-command
6c04307e13 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-11 13:42:45 +00:00
Louis Chmn
a4f396e648 fix(files): Do not show abort error to the user
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-02-11 13:40:33 +00:00
Kate
615d343d96 Merge pull request #58256 from nextcloud/fix/iresult/fetch-all-conditional-return-type 2026-02-11 09:26:55 +01:00
provokateurin
83fbc64c99 fix(IResult): Use more accurate conditional return type for fetchAll
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-11 08:50:13 +01:00
Nextcloud bot
4a9e04962c fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-11 00:20:55 +00:00
Anna
feaebeb97e Merge pull request #58223 from nextcloud/fix/oracle-truncate-table
fix: quote tablenames for truncating in oracle
2026-02-10 23:29:34 +01:00
grnd-alt
bc5771b0ff fix: correctly quote tablenames for truncating with oracle
Signed-off-by: grnd-alt <git@belakkaf.net>
2026-02-10 22:48:02 +01:00
Sebastian Krupinski
63eb9679c2 Merge pull request #58228 from nextcloud/fix/group-shares-cleanup
fix: delete CalDav and CardDav shares upon group deletion
2026-02-10 11:49:15 -05:00
Kate
98cb8b6155 Merge pull request #55632 from nextcloud/feat/preview/expire-previews
feat(preview): Expire previews
2026-02-10 17:35:28 +01:00
Maximilian Martin
6e5baa6928 fix: delete CalDav and CardDav shares upon group deletion
Signed-off-by: Maximilian Martin <maximilian_martin@gmx.de>
2026-02-10 11:14:40 -05:00
Maksim Sukharev
a096c89c66 Merge pull request #58218 from nextcloud/fix/57804/clear-status-this-week 2026-02-10 16:56:23 +01:00
nextcloud-command
6563214204 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-10 15:36:54 +00:00
Cristian Scheid
2ddf73f89f fix(user_status): use getFirstDay() from @nextcloud/l10n
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-02-10 16:27:51 +01:00
provokateurin
fe9e43c165 feat(preview): Expire previews
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-10 15:35:38 +01:00
Ferdinand Thiessen
1a5679b176 Merge pull request #58208 from nextcloud/chore/update-files-4rc3
chore: update `@nextcloud/files` to v4.0.0-rc.3
2026-02-10 15:22:34 +01:00
Ferdinand Thiessen
7b7d74fda2 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-10 14:53:19 +01:00
Ferdinand Thiessen
f075051f4a test: remove testing internal of libraries and test only app code
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-10 14:50:41 +01:00
Ferdinand Thiessen
0e361550f1 fix(files): add legacy wrapper for upload library
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-10 14:50:41 +01:00
Ferdinand Thiessen
38644873f2 refactor(files): migrate to files registry for reactive file actions
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-10 14:50:41 +01:00
Ferdinand Thiessen
643a815557 refactor(files): migrate file list actions to new files registry
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-10 14:50:41 +01:00
Ferdinand Thiessen
c73b85aecb refactor(files): port file list headers to new files registry
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-10 14:50:41 +01:00
Ferdinand Thiessen
4a284f61e6 refactor(files): port filters store to new files registry
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-10 14:50:41 +01:00
Ferdinand Thiessen
e088473929 refactor(files_sharing): adjust note to recipient files header
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-10 14:50:41 +01:00
Ferdinand Thiessen
29b47c93ab chore(deps): update @nextcloud/files to v4.0.0-rc.3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-10 14:50:40 +01:00
github-actions[bot]
935cd2910f Merge pull request #58213 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/axios-1.13.5
chore(deps): Bump axios from 1.12.2 to 1.13.5 in /build/frontend-legacy
2026-02-10 13:21:20 +00:00
nextcloud-command
422bca31bf chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-10 12:39:26 +00:00
dependabot[bot]
adce834b4f chore(deps): Bump axios from 1.12.2 to 1.13.5 in /build/frontend-legacy
Bumps [axios](https://github.com/axios/axios) from 1.12.2 to 1.13.5.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.12.2...v1.13.5)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.13.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-10 13:23:36 +01:00
Andy Scherzinger
7da7f50203 Merge pull request #58209 from nextcloud/carl/local-preview-fix
fix(preview): Fix scanning preview
2026-02-10 12:38:58 +01:00
Anna
8c01737a63 Merge pull request #58206 from nextcloud/fix/preview-637/cast-snowflake-id-to-int
fix(snowflake): cast lastId to string
2026-02-10 11:46:07 +01:00
Kate
e0c282d531 Merge pull request #58195 from nextcloud/ci/rector-apply
ci: Add workflow to apply rector changes weekly
2026-02-10 10:36:25 +01:00
Nextcloud bot
d65aa0b7c3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-10 00:21:48 +00:00
Carl Schwan
543b46f3aa fix(preview): Fix scanning preview
Make sure we set the mimetype string representation and not int
representation.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-09 22:49:59 +01:00
Anna Larch
99a1150ec2 fix(snowflake): cast lastId to int
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-02-09 21:36:20 +01:00
Robin Appelman
9cd337bebe Merge pull request #57745 from nextcloud/share-transfered-event
Share mount validation fixes
2026-02-09 16:46:15 +01:00
Robin Appelman
83810aec99 Merge pull request #57926 from nextcloud/share-target-repair-no-providers
fix: don't rely on share providers being avaiable in CleanupShareTarget
2026-02-09 16:44:01 +01:00
Sebastian Krupinski
c373b8e614 Merge pull request #58197 from nextcloud/fix/calendar-federation-additional-properties
fix: federated calendar additional properties
2026-02-09 10:19:57 -05:00
Andy Scherzinger
39ff32a33b Merge pull request #58134 from nextcloud/carl/lock-propagator-order
fix(propagator): Improve lock behavior of propagator
2026-02-09 16:04:38 +01:00
SebastianKrupinski
566e598a4e fix: federated calendar additional properties
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-02-09 09:26:33 -05:00
provokateurin
0469f57a3a ci: Add workflow to apply rector changes weekly
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-09 14:55:54 +01:00
Kate
431a37e71e Merge pull request #58194 from nextcloud/feat/rector/safe-declare-strict-types
feat(rector): Enable SafeDeclareStrictTypesRector
2026-02-09 12:38:21 +01:00
Carl Schwan
95b3bd98d9 fix(propagator): Lock rows also in propagateChange
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-09 12:11:21 +01:00
Carl Schwan
f3778bc9c7 fix(propagator): Improve lock behavior of propagator
Fix possible dead locks when running the propagator caused by two
requests updating the same amount rows in transactions.

- Lock rows always in the same deterministic order by sorting the
  path_hash first

- On all database outside of sqlite, also do first a SELECT FOR UPDATE
  to lock all the rows used in batch UPDATE calls, afterward to decrease
  the risk of two requests trying to lock the same rows

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-09 12:10:56 +01:00
provokateurin
f12cecb684 feat(rector): Enable SafeDeclareStrictTypesRector
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-09 10:59:31 +01:00
Nextcloud bot
53a67966c0 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-09 00:21:30 +00:00
Robin Appelman
7efdfd161b Merge pull request #58121 from nextcloud/move-share-out-share-reshare
fix: don't trigger moveShareInOrOutOfShare for reshares
2026-02-08 19:37:59 +01:00
Nextcloud bot
eb08dddcf5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-08 00:20:46 +00:00
github-actions[bot]
823d0dcb7c Merge pull request #58161 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/vue-8.36.0
chore(deps): Bump @nextcloud/vue from 8.35.3 to 8.36.0 in /build/frontend-legacy
2026-02-07 18:14:53 +00:00
nextcloud-command
36f4423887 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-07 15:27:03 +00:00
dependabot[bot]
f70f7be416 chore(deps): Bump @nextcloud/vue in /build/frontend-legacy
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.35.3 to 8.36.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/v8.36.0/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.35.3...v8.36.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 16:15:53 +01:00
github-actions[bot]
e586ca0071 Merge pull request #58163 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/libphonenumber-js-1.12.36
chore(deps): Bump libphonenumber-js from 1.12.35 to 1.12.36 in /build/frontend-legacy
2026-02-07 15:14:07 +00:00
nextcloud-command
b4c7dcbf58 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-07 14:58:52 +00:00
dependabot[bot]
35e315bd91 chore(deps): Bump libphonenumber-js in /build/frontend-legacy
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.35 to 1.12.36.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.35...v1.12.36)

---
updated-dependencies:
- dependency-name: libphonenumber-js
  dependency-version: 1.12.36
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 14:56:40 +00:00
github-actions[bot]
21fff5160a Merge pull request #58158 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/webdav-5.9.0
chore(deps): Bump webdav from 5.8.0 to 5.9.0 in /build/frontend-legacy
2026-02-07 14:43:40 +00:00
nextcloud-command
5fd4b9fe52 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-07 14:26:57 +00:00
dependabot[bot]
6a2e9814af chore(deps): Bump webdav from 5.8.0 to 5.9.0 in /build/frontend-legacy
Bumps [webdav](https://github.com/perry-mitchell/webdav-client) from 5.8.0 to 5.9.0.
- [Changelog](https://github.com/perry-mitchell/webdav-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/perry-mitchell/webdav-client/compare/v5.8.0...v5.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 15:19:33 +01:00
github-actions[bot]
79600b0c9f Merge pull request #58151 from nextcloud/dependabot/npm_and_yarn/jsdom-28.0.0
chore(deps-dev): Bump jsdom from 27.4.0 to 28.0.0
2026-02-07 14:17:41 +00:00
dependabot[bot]
38f1063be7 chore(deps-dev): Bump jsdom from 27.4.0 to 28.0.0
Bumps [jsdom](https://github.com/jsdom/jsdom) from 27.4.0 to 28.0.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/27.4.0...28.0.0)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-version: 28.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 14:02:13 +00:00
github-actions[bot]
878cb525a3 Merge pull request #58147 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.3.6
chore(deps-dev): Bump rector/rector from 2.3.4 to 2.3.6 in /vendor-bin/rector
2026-02-07 14:58:19 +01:00
github-actions[bot]
0b36e05965 Merge pull request #58157 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/babel/node-7.29.0
chore(deps-dev): Bump @babel/node from 7.28.6 to 7.29.0 in /build/frontend-legacy
2026-02-07 13:36:27 +00:00
github-actions[bot]
1081e32e55 Merge pull request #58154 from nextcloud/dependabot/npm_and_yarn/webdav-5.9.0
chore(deps): Bump webdav from 5.8.0 to 5.9.0
2026-02-07 13:24:07 +00:00
github-actions[bot]
9770eeae66 Merge pull request #58149 from nextcloud/dependabot/npm_and_yarn/cypress-split-1.24.28
chore(deps-dev): Bump cypress-split from 1.24.25 to 1.24.28
2026-02-07 13:10:26 +00:00
nextcloud-command
caf1c669f1 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-07 13:07:05 +00:00
dependabot[bot]
ec60d74b70 chore(deps): Bump webdav from 5.8.0 to 5.9.0
Bumps [webdav](https://github.com/perry-mitchell/webdav-client) from 5.8.0 to 5.9.0.
- [Changelog](https://github.com/perry-mitchell/webdav-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/perry-mitchell/webdav-client/compare/v5.8.0...v5.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 13:58:57 +01:00
github-actions[bot]
06fed8d96b Merge pull request #58153 from nextcloud/dependabot/npm_and_yarn/cypress-15.10.0
chore(deps-dev): Bump cypress from 15.9.0 to 15.10.0
2026-02-07 12:54:42 +00:00
github-actions[bot]
481bf459b8 Merge pull request #58152 from nextcloud/dependabot/npm_and_yarn/msw-2.12.9
chore(deps-dev): Bump msw from 2.12.7 to 2.12.9
2026-02-07 12:54:21 +00:00
github-actions[bot]
db9f03c1bb Merge pull request #58146 from nextcloud/dependabot/composer/bamarni/composer-bin-plugin-1.9.1
chore(deps-dev): Bump bamarni/composer-bin-plugin from 1.8.3 to 1.9.1
2026-02-07 12:52:26 +00:00
github-actions[bot]
2f57e9f520 Merge pull request #58162 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/webpack-5.105.0
chore(deps-dev): Bump webpack from 5.104.1 to 5.105.0 in /build/frontend-legacy
2026-02-07 12:52:12 +00:00
github-actions[bot]
559c04662e Merge pull request #58159 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/msw-2.12.9
chore(deps-dev): Bump msw from 2.12.7 to 2.12.9 in /build/frontend-legacy
2026-02-07 13:50:33 +01:00
github-actions[bot]
639f8ec974 Merge pull request #58155 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.8.17
chore(deps-dev): Bump @zip.js/zip.js from 2.8.16 to 2.8.17
2026-02-07 12:47:19 +00:00
github-actions[bot]
4d6d4bd579 Merge pull request #58156 from nextcloud/dependabot/npm_and_yarn/nextcloud/stylelint-config-3.2.1
chore(deps-dev): Bump @nextcloud/stylelint-config from 3.2.0 to 3.2.1
2026-02-07 12:46:31 +00:00
github-actions[bot]
50e85a1622 Merge pull request #58150 from nextcloud/dependabot/npm_and_yarn/stylelint-17.1.1
chore(deps-dev): Bump stylelint from 17.1.0 to 17.1.1
2026-02-07 13:35:30 +01:00
nextcloud-command
85ab6a683a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-07 12:32:02 +00:00
dependabot[bot]
4bf784459d chore(deps-dev): Bump webpack in /build/frontend-legacy
Bumps [webpack](https://github.com/webpack/webpack) from 5.104.1 to 5.105.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack/compare/v5.104.1...v5.105.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 13:24:04 +01:00
github-actions[bot]
1c299fef9c Merge pull request #58164 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/p-limit-7.3.0
chore(deps): Bump p-limit from 7.2.0 to 7.3.0 in /build/frontend-legacy
2026-02-07 08:06:52 +00:00
nextcloud-command
6b36b15c2f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-07 07:51:27 +00:00
dependabot[bot]
fa26f4f6ab chore(deps): Bump p-limit from 7.2.0 to 7.3.0 in /build/frontend-legacy
Bumps [p-limit](https://github.com/sindresorhus/p-limit) from 7.2.0 to 7.3.0.
- [Release notes](https://github.com/sindresorhus/p-limit/releases)
- [Commits](https://github.com/sindresorhus/p-limit/compare/v7.2.0...v7.3.0)

---
updated-dependencies:
- dependency-name: p-limit
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:15:16 +00:00
dependabot[bot]
c353e0bc3a chore(deps-dev): Bump msw in /build/frontend-legacy
Bumps [msw](https://github.com/mswjs/msw) from 2.12.7 to 2.12.9.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mswjs/msw/compare/v2.12.7...v2.12.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:13:14 +00:00
dependabot[bot]
6a56f766cf chore(deps-dev): Bump @babel/node in /build/frontend-legacy
Bumps [@babel/node](https://github.com/babel/babel/tree/HEAD/packages/babel-node) from 7.28.6 to 7.29.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.29.0/packages/babel-node)

---
updated-dependencies:
- dependency-name: "@babel/node"
  dependency-version: 7.29.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:12:35 +00:00
dependabot[bot]
1292b552a3 chore(deps-dev): Bump @nextcloud/stylelint-config from 3.2.0 to 3.2.1
Bumps [@nextcloud/stylelint-config](https://github.com/nextcloud-libraries/stylelint-config) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/nextcloud-libraries/stylelint-config/releases)
- [Changelog](https://github.com/nextcloud-libraries/stylelint-config/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/stylelint-config/compare/v3.2.0...v3.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:12:00 +00:00
dependabot[bot]
ddfd854d76 chore(deps-dev): Bump @zip.js/zip.js from 2.8.16 to 2.8.17
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.8.16 to 2.8.17.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.8.16...v2.8.17)

---
updated-dependencies:
- dependency-name: "@zip.js/zip.js"
  dependency-version: 2.8.17
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:11:45 +00:00
dependabot[bot]
c1f2108c4b chore(deps-dev): Bump cypress from 15.9.0 to 15.10.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 15.9.0 to 15.10.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/v15.9.0...v15.10.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:11:13 +00:00
dependabot[bot]
2909f66d47 chore(deps-dev): Bump msw from 2.12.7 to 2.12.9
Bumps [msw](https://github.com/mswjs/msw) from 2.12.7 to 2.12.9.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mswjs/msw/compare/v2.12.7...v2.12.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:10:52 +00:00
dependabot[bot]
daf1ee91c1 chore(deps-dev): Bump stylelint from 17.1.0 to 17.1.1
Bumps [stylelint](https://github.com/stylelint/stylelint) from 17.1.0 to 17.1.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/17.1.0...17.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:10:14 +00:00
dependabot[bot]
34558b1f9a chore(deps-dev): Bump cypress-split from 1.24.25 to 1.24.28
Bumps [cypress-split](https://github.com/bahmutov/cypress-split) from 1.24.25 to 1.24.28.
- [Release notes](https://github.com/bahmutov/cypress-split/releases)
- [Commits](https://github.com/bahmutov/cypress-split/compare/v1.24.25...v1.24.28)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:09:53 +00:00
dependabot[bot]
8b17197245 chore(deps-dev): Bump rector/rector in /vendor-bin/rector
Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.3.4 to 2.3.6.
- [Release notes](https://github.com/rectorphp/rector/releases)
- [Commits](https://github.com/rectorphp/rector/compare/2.3.4...2.3.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:08:22 +00:00
dependabot[bot]
4f23d5e49d chore(deps-dev): Bump bamarni/composer-bin-plugin from 1.8.3 to 1.9.1
Bumps [bamarni/composer-bin-plugin](https://github.com/bamarni/composer-bin-plugin) from 1.8.3 to 1.9.1.
- [Release notes](https://github.com/bamarni/composer-bin-plugin/releases)
- [Commits](https://github.com/bamarni/composer-bin-plugin/compare/1.8.3...1.9.1)

---
updated-dependencies:
- dependency-name: bamarni/composer-bin-plugin
  dependency-version: 1.9.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-07 02:08:05 +00:00
Nextcloud bot
cc45cf6138 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-07 00:20:59 +00:00
Ferdinand Thiessen
c10f35333e Merge pull request #57797 from nextcloud/fix/proper-handling-404
fix(FileDisplayResponse): return 404 if not found
2026-02-06 20:07:23 +01:00
Andy Scherzinger
b0c02b91b4 Merge pull request #58059 from nextcloud/fix/add-missing-user-id-header
fix: add X-User-Id header to logout response
2026-02-06 18:17:39 +01:00
Ferdinand Thiessen
762ae4520a fix(InMemoryFile): allow to stream read the contents
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 17:29:26 +01:00
Ferdinand Thiessen
6eddda147b fix(FileDisplayResponse): return 404 if not found
If the linked file is not found (anymore) return proper 404
status code.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 17:29:26 +01:00
Robin Appelman
6c9418880f Merge pull request #57757 from nextcloud/getowner-no-mountpoints
fix: don't include the mountpoints when getting fileinfo for getOwner
2026-02-06 17:22:51 +01:00
Robin Appelman
9c10593021 fix: prevent recursion in SharesUpdatedListener
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-06 16:55:14 +01:00
Robin Appelman
3b70d0fcf8 fix: remove validate-user-shares-once optimization
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-06 16:55:14 +01:00
Robin Appelman
c49665f5cd feat: add event for tranfered shares
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-06 16:55:12 +01:00
F. E Noel Nfebe
3e25c28d68 Merge pull request #58087 from nextcloud/fix/54700/file-list-scroll-jump
fix(files): Prevent file list from jumping when selecting visible files
2026-02-06 16:15:21 +01:00
Carl Schwan
1dbaf178c3 Merge pull request #56496 from nextcloud/carl/rector
Run rector on lib/private
2026-02-06 16:09:55 +01:00
Robin Appelman
3c7124d670 fix: don't trigger moveShareInOrOutOfShare for reshares
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-06 15:41:49 +01:00
Robin Appelman
c801d63e5a fix: don't include the mountpoints when getting fileinfo for getOwner
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-06 15:19:30 +01:00
Robin Appelman
da6bf8b116 fix: target-repair: handle cases where the parent folder doesn't exist
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-06 14:41:29 +01:00
Robin Appelman
cfe19dbb5a fix: don't stop the entire share target repair on an error
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-06 14:39:06 +01:00
Robin Appelman
70607a0d11 fix: don't rely on share providers being avaiable in CleanupShareTarget
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-06 14:39:06 +01:00
Carl Schwan
9a26169323 fix(WatcherTest): Properly mock getCache and getScanner in IStorage
Otherwise we end up with trying to assign null to a property which has
strict types.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-06 14:21:41 +01:00
Carl Schwan
e56e42e7e7 refactor(navigation-manager): Cleanup implementation and add type hinting
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:55:40 +01:00
Carl Schwan
c96ece0bcb refactor: Add more typing
- repairs job
- database
- redis

And remove Helpertest which was unused outside of some tests.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:55:39 +01:00
Carl Schwan
fb3f9fe2de refactor: Update repairs jobs
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:54:24 +01:00
Carl Schwan
3979c493f9 refactor: Apply second batch of comments
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:52:51 +01:00
Carl Schwan
acda4ff072 fix(ShareAPIControllerTest): Fix return types of DateTimeZone
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:50:47 +01:00
Carl Schwan
fa75c1b659 fix(ExpressionBuilderTest): Fix test and improve typing
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:50:47 +01:00
Carl Schwan
65e769a861 refactor: Apply comments
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:50:46 +01:00
Carl Schwan
6e48f9fedb fix(IAppContainer): Expose more correct type
OC\ServerContainer is not inherinting from IServerContainer so expose
the most near type.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:50:23 +01:00
Carl Schwan
7b6078875b refactor: Run rector on lib/private
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:50:18 +01:00
Carl Schwan
5d0d0c17e5 chore(rector): Run rector on apps, core and tests directory
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:23:23 +01:00
nextcloud-command
80a10068d0 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-06 12:12:48 +00:00
nfebe
b0bf531c19 test(files): Update scrolling tests for new visible buffer behavior
Adjust test assertions to match the new behavior where scrolling is
skipped for files already in the visible buffer. Tests now verify file
existence rather than full visibility for files within the buffer.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-02-06 13:04:42 +01:00
nfebe
f296e5e652 fix(files): Prevent file list from jumping when selecting visible files
Skip scrolling when a file is clicked if it's already within the
visible viewport, avoiding the confusing list jump behavior.

Fixes #54700

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-02-06 12:47:17 +01:00
Ferdinand Thiessen
9def7a8ba7 Merge pull request #58108 from nextcloud/chore/update-files
chore(deps): update `@nextcloud/files` to v4.0.0-rc.1
2026-02-06 12:42:24 +01:00
Ferdinand Thiessen
e3068bfe6b chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 11:46:47 +01:00
Ferdinand Thiessen
aac91a8df9 refactor(files): adjust for files library interfaces
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 11:46:46 +01:00
Ferdinand Thiessen
a023b5b2d5 refactor(files_external): adjust for files library interfaces
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 10:28:57 +01:00
Ferdinand Thiessen
47c4e3bbe2 refactor(comments): adjust for files library interfaces
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 10:28:57 +01:00
Ferdinand Thiessen
f01d974b5c refactor(files_reminders): adjust for files library interfaces and remove sideeffects
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 10:28:57 +01:00
Ferdinand Thiessen
7a60e43dd5 refactor(files_sharing): adjust for files library interfaces and remove sideeffects
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 10:28:57 +01:00
Ferdinand Thiessen
752ff74170 refactor(systemtags): adjust for files library interfaces
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 10:28:57 +01:00
Ferdinand Thiessen
009aad6eb7 refactor(files_trashbin): adjust for files library interfaces
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 10:28:57 +01:00
Ferdinand Thiessen
a042fbfa60 chore(deps): update @nextcloud/files to v4.0.0-rc.1
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-06 10:28:57 +01:00
Nextcloud bot
209c5c3f1d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-06 00:41:14 +00:00
Ferdinand Thiessen
f26d3294b9 Merge pull request #57993 from nextcloud/fix/copy-move
fix(files): improve handling of copy-move action
2026-02-06 01:16:48 +01:00
Kate
256e89b6f6 Merge pull request #58095 from nextcloud/fix/exhaustive-list-for-serialized-classes
fix(dav): Use an exhaustive list for allowed serialized classes
2026-02-05 23:51:25 +01:00
Ferdinand Thiessen
6d35886f88 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-05 23:26:55 +01:00
Ferdinand Thiessen
904b946611 fix(files): improve handling of copy-move action
1. only show 1 loading toast instead of N for N files in batch
   operation.
2. Reuse more code to reduce duplicated logic.
3. Show the conflict picker once for all files instead of opening a new
   conflict picker for every file to copy / move.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-05 23:26:50 +01:00
Cristian Scheid
9cfaf9b3b3 Merge pull request #57782 from nextcloud/feat/2303/contacts-allow-federated-team-member-search
feat(contacts): support federated users/groups search when adding team members
2026-02-05 14:57:23 -03:00
Andy Scherzinger
29e1ac3c02 Merge pull request #58041 from nextcloud/fix/renaming
feat(files): warn when file would be hidden
2026-02-05 18:27:26 +01:00
Maksim Sukharev
170d17a067 Merge pull request #58096 from nextcloud/fix/noid/app-update-showcurrent
feat(occ): show current version with occ app:update command
2026-02-05 18:14:44 +01:00
Joas Schilling
15906306c3 Merge pull request #57854 from nextcloud/feat/add-twofactor-warning
feat: Add SetupCheck to warn about missing second factor provider
2026-02-05 16:25:18 +01:00
Julius Knorr
625d79d1ab Merge pull request #58100 from nextcloud/enh/svg-handling-link-previews
chore: Improve SVG handling in link previews
2026-02-05 15:58:33 +01:00
Andy Scherzinger
428e7b4adb Merge pull request #58015 from nextcloud/fix/text-to-image-scheduling
fix(TextToImage): Refactor scheduling mechanism
2026-02-05 15:53:37 +01:00
Andy Scherzinger
c7588d7e06 Merge pull request #58011 from nextcloud/fix/taskprocessing-text2image-fallback-refactor
fix(TaskProcessing): Refactor TextToImage fallback
2026-02-05 15:52:57 +01:00
Carl Schwan
4709829271 Merge pull request #58094 from nextcloud/carl/getbyid
perf: Replace getById call with getFirstNodeById
2026-02-05 14:42:42 +01:00
Côme Chilliet
669ff56fa1 fix(dav): Use an exhaustive list for allowed serialized classes
This is simpler and clearer than trying to guess namespace.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-05 14:03:13 +01:00
Benjamin Frueh
160f4e11ad chore: Improve SVG handling in link previews
Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>
2026-02-05 13:43:32 +01:00
Carl Schwan
c091ae4098 perf: Replace getById call with getFirstNodeById
Avoid looking at all the mounts

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-05 12:55:18 +01:00
Cristian Scheid
265abc3b91 test(files_sharing): update ShareesAPIController mock to include FederatedShareProvider dependency
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-02-05 08:22:13 -03:00
Maksim Sukharev
43bf6bc26b feat(occ): show current version with occ app:update command
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2026-02-05 12:20:22 +01:00
Ferdinand Thiessen
f950c97ec0 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-05 12:18:31 +01:00
Ferdinand Thiessen
536503d0a4 feat(files): add dialog to confirm when about to hide a file
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-05 12:15:42 +01:00
Ferdinand Thiessen
c215bbf495 fix(files): ensure that new names are checked even for hidden files
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-05 12:15:42 +01:00
Kate
18d5dedb29 Merge pull request #58002 from nextcloud/fix/let-user-backend-lock-fields
feat: Allow user backends to manage property permissions
2026-02-05 12:11:07 +01:00
Andy Scherzinger
08e1d9b83e Merge pull request #58025 from nextcloud/carl/refactor-share-mountprovider
refactor(mount-provider): Refactor share mount provider
2026-02-05 11:50:40 +01:00
Julius Knorr
b933156a3a Merge pull request #57914 from nextcloud/feat/extendable-propfind
feat(dav): allow extending propfind properties via event
2026-02-05 10:49:59 +01:00
Côme Chilliet
51ccc8a838 fix: Fix integration tests
Birthdate was missing in editable fields while being editable, and the
 order was checked while having no importance.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-05 10:40:23 +01:00
Andy Scherzinger
9c842faf35 Merge pull request #57741 from nextcloud/feat/configurable-share-permission-in-bundled
feat(sharing): Make share permission in bundled edit configurable
2026-02-05 10:09:53 +01:00
Benjamin Gaussorgues
c5253d9fc3 Merge pull request #58052 from nextcloud/chore/export_only_real_files_count
chore(openmetrics): export only "real" files count
2026-02-05 09:55:28 +01:00
nfebe
b7dceb0b17 feat(sharing): Make share permission in bundled edit configurable
Add config option shareapi_bundle_reshare_with_edit to include reshare
permission in "Allow editing" bundle. Default is true to maintain
backward compatibility.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
Signed-off-by: Carl Schwan <carlschwan@kde.org>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-05 07:36:04 +01:00
Nextcloud bot
dc63c92faa fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-05 00:20:49 +00:00
Robin Appelman
2a690fd154 Merge pull request #57910 from nextcloud/setup-root-path-children
fix: still setup for user when setting up root path with children
2026-02-04 19:40:40 +01:00
Andy Scherzinger
5f54a06994 Merge pull request #57930 from nextcloud/artonge/fix/share_resolution
fix(files_sharing): stop ignoring shares without a usergroup entry when filtering by path
2026-02-04 19:15:26 +01:00
Robin Appelman
134fa6779b chore: update psalm baseline
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-04 18:23:35 +01:00
Robin Appelman
bea82ac656 test: adjust tests to updated getById
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-04 18:23:35 +01:00
Robin Appelman
72150d6deb fix: getById: don't setup for all users with access by default
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-04 18:23:34 +01:00
Robin Appelman
be2c26a75b test: adjust tests to new getById
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-04 18:23:33 +01:00
Robin Appelman
b51d332719 fix: make sure all mounts are setup in getById
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-04 18:23:33 +01:00
Robin Appelman
82d33b7727 fix: still setup for user when setting up root path with children
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-04 18:23:32 +01:00
Robin Appelman
aa47e85c25 Merge pull request #58023 from nextcloud/ext-partial-mount-provider-slash
fix: fix partial external storage provider not finding root mount
2026-02-04 18:23:00 +01:00
Salvatore Martire
7d95a88958 fix: add X-User-Id header to logout response before clearing the user session
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-04 18:18:39 +01:00
Louis Chmn
79c07d38aa fix(files_sharing): Move path filtering to group share resolution
Previously, this was preventing users without a specific USERGROUP entry to see GROUP shares.

Signed-off-by: Louis Chmn <louis@chmn.me>
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-04 16:53:10 +01:00
Marcel Klehr
dd4dfe6af2 fix(TextToImage): Refactor scheduling mechanism 2026-02-04 13:48:32 +01:00
Marcel Klehr
c13d95809a Fix: Run cs:fix 2026-02-04 13:26:29 +01:00
Marcel Klehr
c48a09f27d fix(TaskProcessing): Refactor TextToImage fallback
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-02-04 13:26:29 +01:00
Carl Schwan
8f81b91733 refactor(mount-provider): Refactor share mount provider
- Add more precise types
- Remove dead code

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-04 12:46:14 +01:00
Cristian Scheid
1136ce09cb refactor(teams): adjust expected itemType and remove remote group type from member search controller
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-02-04 08:23:43 -03:00
Cristian Scheid
bc24c28529 feat(contacts): support federated users/groups search when adding team members
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-02-04 08:23:42 -03:00
Benjamin Gaussorgues
4112b9f7ba chore(openmetrics): export only "real" files count
Other files like files in trashbin or file versions should be exported
by related app

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-02-04 11:12:44 +01:00
Benjamin Gaussorgues
687261fc8c Merge pull request #57921 from nextcloud/fix/snowflake_lock_dir
fix(snowflakes): create file lock files into lock directory
2026-02-04 11:12:23 +01:00
Joas Schilling
2d0a24f042 Merge pull request #58050 from nextcloud/test/noid/greener-ci
test(settings): Fix CI after parallel merges
2026-02-04 11:04:09 +01:00
Joas Schilling
6112526fbc Merge pull request #58043 from nextcloud/bugfix/noid/limit-comments-report
fix(comments): Put a limit to the limit
2026-02-04 10:01:27 +01:00
Joas Schilling
ba88bf4727 test(settings): Fix CI after parallel merges
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-04 09:50:24 +01:00
Joas Schilling
0478825fac test(Updater): Harden flaky test
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-04 09:44:56 +01:00
Joas Schilling
af33953078 fix(comments): Put a limit to the limit
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-04 08:44:18 +01:00
Nextcloud bot
7a0093c163 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-04 00:20:54 +00:00
Andy Scherzinger
d09b8c99de Merge pull request #57934 from nextcloud/dependabot/npm_and_yarn/stylelint-17.1.0
build(deps-dev): bump stylelint from 17.0.0 to 17.1.0
2026-02-03 21:29:26 +01:00
Andy Scherzinger
65b985efde Merge pull request #57932 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.8.16
build(deps-dev): bump @zip.js/zip.js from 2.8.15 to 2.8.16
2026-02-03 21:28:32 +01:00
Andy Scherzinger
5ada35c153 Merge pull request #57933 from nextcloud/dependabot/npm_and_yarn/nextcloud/eslint-config-9.0.0-rc.8
build(deps-dev): bump @nextcloud/eslint-config from 9.0.0-rc.7 to 9.0.0-rc.8
2026-02-03 21:27:03 +01:00
Andy Scherzinger
227371c0de Merge pull request #57909 from nextcloud/dependabot/composer/vendor-bin/behat/phpunit/phpunit-11.5.50
build(deps-dev): bump phpunit/phpunit from 11.5.44 to 11.5.50 in /vendor-bin/behat
2026-02-03 21:21:20 +01:00
Julius Knorr
8372533cff Merge pull request #57555 from nextcloud/feat/office-switcher
feat: Add office switcher with feature comparison
2026-02-03 20:40:01 +01:00
Joas Schilling
45750b3f29 Merge pull request #57974 from nextcloud/dependabot/github_actions/github-actions-276f5d5cec
build(deps): bump the github-actions group with 5 updates
2026-02-03 20:22:18 +01:00
nextcloud-command
9561ce24f5 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-03 19:12:22 +01:00
Julius Knorr
edeba296b3 feat: Add office switcher with feature comparison
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2026-02-03 19:12:22 +01:00
Andy Scherzinger
3310ec30c4 Merge pull request #58020 from nextcloud/artonge/fix/getById
fix: Migrate `getById` to `getFirstNodeById`
2026-02-03 18:04:45 +01:00
Benjamin Gaussorgues
e15b429aea chore(snowflakes): don't remove file lock directory during tests
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-02-03 17:01:28 +01:00
Benjamin Gaussorgues
65c9e346da fix(snowflakes): create file lock files into lock directory
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-02-03 17:01:28 +01:00
Robin Appelman
720e588727 test: add tests for getMountsForUserAndPath
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-03 16:50:58 +01:00
Robin Appelman
522663b9f0 fix: partial external storage config matching non-child mounts
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-03 16:50:57 +01:00
Robin Appelman
b79af98a31 fix: fix partial external storage provider not finding root mount
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-03 16:16:22 +01:00
Andy Scherzinger
1bdc27202a Merge pull request #57924 from nextcloud/carl/fix-external-partialmountprovider
fix(external-storage): Rtrim trailing slash at the end
2026-02-03 15:57:27 +01:00
Côme Chilliet
26cec2d117 feat: Add info level result if 2FA is not enforced
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-03 15:50:50 +01:00
Andy Scherzinger
f46eea1eac Merge pull request #57978 from karaolidis/declarative-salt-secret
feat: declarative password salt, secret config
2026-02-03 15:44:24 +01:00
Louis Chmn
315241fb44 fix: Migrate getById to getFirstNodeById
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-02-03 15:28:37 +01:00
Côme Chilliet
173a338f76 chore: Adapt provisioning_api tests to code changes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-03 15:01:50 +01:00
Nikolaos Karaolidis
d73d5a25cb feat: declarative password salt, secret config
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2026-02-03 13:21:38 +01:00
Côme Chilliet
af760d174f feat: Implement new interface in LDAP user backend to reflect permissions
This will prevent users from editing profile fields if those are
 configured to be sync from LDAP.
I did not include the avatar in this because it has a special handling.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-03 10:22:26 +01:00
Côme Chilliet
82ec3df396 chore: Update psalm baseline
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-03 10:22:26 +01:00
Côme Chilliet
de011ee668 feat: Allow user backends to manage property permissions
Not yet reflected in the UI apart from displayname/email/avatar

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-03 10:22:26 +01:00
Joas Schilling
34c2125217 Merge pull request #58009 from nextcloud/bugfix/noid/dont-validate-empty-strings
fix(federation): Don't ask the database for an empty url
2026-02-03 09:08:12 +01:00
Joas Schilling
70fd0e3348 Merge pull request #58010 from nextcloud/test/noid/add-tests-with-input-0
test(dispatcher): Add some tests with input 0
2026-02-03 09:07:05 +01:00
Joas Schilling
9caa4e20e5 test(dispatcher): Add some tests with input 0
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-03 08:32:43 +01:00
Joas Schilling
ce19caa37e fix(federation): Don't ask the database for an empty url
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-03 07:46:28 +01:00
Nextcloud bot
128d708ac3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-03 00:20:53 +00:00
Elizabeth Danzberger
b5092e598f Merge pull request #57533 from nextcloud/fix/limit-app-to-group-initial-state
fix(app-settings): limit app to group initial state
2026-02-02 13:22:23 -05:00
Côme Chilliet
550b15a19a Merge pull request #57737 from nextcloud/feat/add-twofactor-to-presets
feat: Add twofactor applications to most of the presets
2026-02-02 15:12:08 +01:00
Andy Scherzinger
55fe320359 Merge pull request #57990 from nextcloud/fix/properly-forward
fix(files): keep current folder on drag-n-drop
2026-02-02 15:04:57 +01:00
Benjamin Gaussorgues
370d9f4d47 Merge pull request #57915 from nextcloud/feat/user-mount-cache-perf-sharding 2026-02-02 14:49:39 +01:00
Stephan Orbaugh
e10805fb35 Merge pull request #57793 from pac0san/patch-1
fix(files_external): Respect explicit port configuration
2026-02-02 13:57:44 +01:00
nextcloud-command
c3ddf91572 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-02 12:34:04 +00:00
Côme Chilliet
8475bed525 fix(settings): Only consider primary providers for 2FA setup check
In practice this filters out backup codes. Also fixed the english
 formulation and the copyright year.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-02 11:55:17 +01:00
Côme Chilliet
1f5e6cbbb4 feat: Add SetupCheck to warn about missing second factor provider
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-02 11:55:16 +01:00
Benjamin Frueh
9d4b11587e feat(dav): allow extending propfind properties via event
Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>

Update lib/public/Files/Events/BeforePropfindEvent.php

Co-authored-by: Julius Knorr <jus@bitgrid.net>
Signed-off-by: Benjamin Früh <134610227+benjaminfrueh@users.noreply.github.com>

Update lib/public/Files/Events/BeforePropfindEvent.php

Co-authored-by: Julius Knorr <jus@bitgrid.net>
Signed-off-by: Benjamin Früh <134610227+benjaminfrueh@users.noreply.github.com>

refactor: rename BeforePropfindEvent to BeforeRemotePropfindEvent

Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>

chore: update composer autoloader for new event class

Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>

Update lib/public/Files/Events/BeforeRemotePropfindEvent.php

Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Benjamin Früh <134610227+benjaminfrueh@users.noreply.github.com>
2026-02-02 11:45:10 +01:00
pac0san
e48f871bd0 fix(files_external): Respect explicit port configuration
It allows the use of the alternative SFTP port defined in the GUI (external storage), instead of the default port (22).

Signed-off-by: pac0san <7056343+pac0san@users.noreply.github.com>
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-02 11:27:42 +01:00
Ferdinand Thiessen
1f6fe21527 fix(files): keep current folder on drag-n-drop
When drag and drop a file we only want to scroll to the uploaded file
not changing the current view.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-02 10:36:43 +01:00
Nextcloud bot
4775ce4266 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-02 00:20:40 +00:00
dependabot[bot]
b1fbfc693d build(deps-dev): bump @nextcloud/eslint-config
Bumps [@nextcloud/eslint-config](https://github.com/nextcloud-libraries/eslint-config) from 9.0.0-rc.7 to 9.0.0-rc.8.
- [Release notes](https://github.com/nextcloud-libraries/eslint-config/releases)
- [Changelog](https://github.com/nextcloud-libraries/eslint-config/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/eslint-config/compare/v9.0.0-rc.7...v9.0.0-rc.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-01 13:35:57 +01:00
dependabot[bot]
418f9598c3 build(deps-dev): bump @zip.js/zip.js from 2.8.15 to 2.8.16
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.8.15 to 2.8.16.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.8.15...v2.8.16)

---
updated-dependencies:
- dependency-name: "@zip.js/zip.js"
  dependency-version: 2.8.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-01 10:00:49 +01:00
Nextcloud bot
ba99550d06 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-01 00:20:40 +00:00
dependabot[bot]
e76cc5a7d0 build(deps): bump the github-actions group with 5 updates
Bumps the github-actions group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `5.0.0` | `6.0.2` |
| [shivammathur/setup-php](https://github.com/shivammathur/setup-php) | `2.35.4` | `2.36.0` |
| [github/codeql-action](https://github.com/github/codeql-action) | `4.31.10` | `4.32.0` |
| [cypress-io/github-action](https://github.com/cypress-io/github-action) | `7.0.0` | `7.1.1` |
| [LizardByte/actions](https://github.com/lizardbyte/actions) | `2026.116.208` | `2026.129.194351` |


Updates `actions/checkout` from 5.0.0 to 6.0.2
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...de0fac2e4500dabe0009e67214ff5f5447ce83dd)

Updates `shivammathur/setup-php` from 2.35.4 to 2.36.0
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.35.4...44454db4f0199b8b9685a5d763dc37cbf79108e1)

Updates `github/codeql-action` from 4.31.10 to 4.32.0
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](cdefb33c0f...b20883b0cd)

Updates `cypress-io/github-action` from 7.0.0 to 7.1.1
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md)
- [Commits](dca986193e...0f330ebf0d)

Updates `LizardByte/actions` from 2026.116.208 to 2026.129.194351
- [Release notes](https://github.com/lizardbyte/actions/releases)
- [Commits](e6bc045033...09a6e10dc8)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: shivammathur/setup-php
  dependency-version: 2.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-version: 4.32.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: cypress-io/github-action
  dependency-version: 7.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: LizardByte/actions
  dependency-version: 2026.129.194351
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-31 23:15:54 +00:00
dependabot[bot]
2386328401 build(deps-dev): bump phpunit/phpunit in /vendor-bin/behat
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 11.5.44 to 11.5.50.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/11.5.50/ChangeLog-11.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/11.5.44...11.5.50)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-version: 11.5.50
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-31 13:22:07 +01:00
Joas Schilling
4a4c30af55 Merge pull request #57952 from nextcloud/automated/noid/master-update-code-signing-crl
[master] fix(security): Update code signing revocation list
2026-01-31 11:17:45 +01:00
nextcloud-command
264cfed5f4 fix(security): Update code signing revocation list
Signed-off-by: GitHub <noreply@github.com>
2026-01-31 03:37:17 +00:00
dependabot[bot]
11d0f8b6d7 build(deps-dev): bump stylelint from 17.0.0 to 17.1.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 17.0.0 to 17.1.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/17.0.0...17.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-31 02:08:48 +00:00
Nextcloud bot
5e238a68f6 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-31 00:20:43 +00:00
Carl Schwan
761a6979a7 fix(external-storage): Rtrim trailing slash at the end
Otherwise we don't have any matches when $forChildren is false

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-30 15:50:19 +01:00
Robin Appelman
51a4bc519b fix: make getMountsForFileId work with sharding again
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-30 09:52:18 +01:00
Nextcloud bot
f61ef6d7e6 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-30 00:20:39 +00:00
Andy Scherzinger
a08aec2dbd Merge pull request #57881 from nextcloud/share-target-repair
Add repair step for share targets with excess (2)
2026-01-29 19:33:13 +01:00
Robin Appelman
5d0acf80dd test: add test for share target repair
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-29 18:19:18 +01:00
Robin Appelman
aedae2c601 fix: add repair step for cleanup shares with excess (2)
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-29 18:19:16 +01:00
Benjamin Gaussorgues
4a077c3454 Merge pull request #57815 from nextcloud/feat/user-mount-cache-perf 2026-01-29 16:35:54 +01:00
Joas Schilling
2066eb4275 Merge pull request #57908 from nextcloud/fix/2fa/allow-null-redirect-url-challenge
fix(2fa): allow null redirect URL on 2FA challenge page
2026-01-29 15:30:41 +01:00
Kate
400fe317e9 Merge pull request #57893 from nextcloud/carl/cachemountinfo-refactor 2026-01-29 15:10:22 +01:00
Christoph Wurst
a228601ed0 fix(2fa): allow null redirect URL on 2FA challenge page
Signed-off-by: Christoph Wurst <1374172+ChristophWurst@users.noreply.github.com>
2026-01-29 14:41:27 +01:00
Andy Scherzinger
8160f0af8a Merge pull request #57892 from nextcloud/carl/binary-search-findIn
perf(MountManager): use binary search to find mount in path
2026-01-29 13:53:47 +01:00
Andy Scherzinger
b1a114ded5 Merge pull request #54876 from nextcloud/carl/cleanup-commands-trash
refactor: Commands and background jobs for the trashbin
2026-01-29 13:44:17 +01:00
Andy Scherzinger
f2373f1102 Merge pull request #57497 from nextcloud/carl/external-storage-ipartialmountpoint
feat(external-storage): Implement IPartialMountPoint
2026-01-29 13:14:12 +01:00
Carl Schwan
04ddeeec4a perf(MountManager): use binary search to find mount in path
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-29 11:41:58 +01:00
Benjamin Gaussorgues
37dbe1324e Merge pull request #57890 from nextcloud/carl/perf-invert-condition 2026-01-29 10:55:08 +01:00
Benjamin Gaussorgues
7f71b46942 Merge pull request #57882 from nextcloud/useStrictComparisonOperator 2026-01-29 09:20:18 +01:00
Simon L.
e140081811 Merge pull request #57590 from nextcloud/enh/52997/refactor-logging
fix: log memory usage for requests based on configured memory limit
2026-01-29 09:15:55 +01:00
Simon L.
b08fca0abe fix: fall-back to hardcoded values if debug mode is enabled
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-29 08:52:04 +01:00
Simon L.
cdc951ea45 fix: log memory usage for requests based on configured memory limit
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-29 08:52:04 +01:00
Carl Schwan
33d6f1e984 refactor(CacheMountInfo): Use constructor paramater promotion
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-29 01:45:48 +01:00
Nextcloud bot
6e40f6e8a6 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-29 00:20:43 +00:00
Carl Schwan
668ad4faac perf(UserMountCache): Invert condition so that we avoid some SQL queries
getStorageId creates some SQL queries, while the other queries don't, so
compare that last.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-28 23:09:08 +01:00
Kate
cf1fc78175 Merge pull request #57878 from nextcloud/fix/view/put-fileinfo-cacheentry 2026-01-28 23:07:47 +01:00
Kate
21ab477b35 Merge pull request #55474 from nextcloud/carl/missing-attributes 2026-01-28 22:55:35 +01:00
Carl Schwan
c6c11d474b Merge pull request #55649 from nextcloud/carl/on-demand-preview-migration
feat(preview): On demand preview migration
2026-01-28 22:33:48 +01:00
Carl Schwan
8bb13df6cf refactor(AppFramework): Change version to 34
This didn't manage to get into NC 33

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-28 21:48:17 +01:00
Carl Schwan
f81475445d refactor: Move hasAnnotationOrAttribute to MiddlewareUtils
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-28 21:48:16 +01:00
Carl Schwan
6408ed0b51 feat(AppFramework): Add missing NoSameSiteCookieRequired attribute
Allow to replace the old annotation.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-01-28 21:48:16 +01:00
Carl Schwan
b040fb1c73 feat(AppFramework): Add missing NoTwoFactorRequired attribute
It's in our documentation but was never implemented.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-01-28 21:48:16 +01:00
Carl Schwan
0390c067ab Merge pull request #57879 from nextcloud/carl/fix-type-entity
doc(Entity): Add type for getUpdatedField in doc
2026-01-28 21:46:00 +01:00
Carl Schwan
a8d69ffed1 refactor: Commands and background jobs for the trashbin
- Use modern node and SetupManager API
- Avoid passing the user by id and instead use IUser

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-28 21:44:30 +01:00
Carl Schwan
ef226e9ec6 Merge pull request #57826 from nextcloud/carl/setupmanager
feat(OCP): Expose setup manager to OCP
2026-01-28 21:39:15 +01:00
Git'Fellow
080335009b refactor: use strict comparison operator
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-01-28 21:11:47 +01:00
Andy Scherzinger
8d671640d9 Merge pull request #57864 from nextcloud/edit-browserlist
fix: Add support for AscDesktopEditor browser user agent
2026-01-28 20:37:59 +01:00
Andy Scherzinger
ac2257a202 Merge pull request #57876 from nextcloud/fix/faulty-version
fix(core): adjust faulty migration version number
2026-01-28 18:56:06 +01:00
nextcloud-command
53be1f245d chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-28 17:41:44 +00:00
Carl Schwan
ff2b182df4 Merge pull request #54277 from nextcloud/combine-query-cache-entry-deleted
feat(filecache): Scale DB query created when deleting file from filecache
2026-01-28 18:40:54 +01:00
Enjeck C.
cad90ac28a fix: Add support for AscDesktopEditor browser user agent
Signed-off-by: Enjeck C. <patrathewhiz@gmail.com>
2026-01-28 18:28:01 +01:00
Carl Schwan
7100c71166 perf(metadata): Add optimized sharding for metadata deletion
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-28 17:18:33 +01:00
Carl Schwan
916ce3f8ec feat(external-storage): Implement IPartialMountPoint
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-28 17:09:22 +01:00
Carl Schwan
fd3878448b feat(filecache): Scale DB query created when deleting file from filecache
Instead of creating a CacheEntryRemovedEvent for each deleted files,
create a single CacheEntriesRemovedEvent which wrap multiple
CacheEntryRemovedEvent.

This allow listener to optimize the query they do when multiple files
are deleted at the same time (e.g. when deleting a folder).

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2026-01-28 16:07:57 +01:00
Kate
ebfdbf86b9 Merge pull request #57860 from nextcloud/fix/files-batch-action-displayname 2026-01-28 15:55:33 +01:00
Carl Schwan
c04c320e61 fix(Entity): Add type for getUpdatedField in doc
The method is very confusing as the updated fields are the keys of the
returned array.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-28 15:46:02 +01:00
provokateurin
d7fa94b90b fix(View): Handle ICacheEntry returned by FileInfo->getData()
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-28 15:33:46 +01:00
nextcloud-command
bcbb64443b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-28 13:51:40 +00:00
Ferdinand Thiessen
45a924cafd fix(core): adjust faulty migration version number
Its Nextcloud 33 not 34.
Better fix before the release.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-28 14:42:22 +01:00
nfebe
730b30381f fix(files): use correct API for action displayName in batch actions
The displayName call was still using the old positional arguments
(nodes, view) instead of the new object parameter format (actionContext)
after the @nextcloud/files 4.0.0 update.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-01-28 14:16:36 +01:00
Daniel
dde7b7cf87 Merge pull request #57859 from nextcloud/docs/valid-render-as-for-template-response
docs: annotate valid renderAs values
2026-01-28 12:58:22 +01:00
Benjamin Gaussorgues
8d08553f0c Merge pull request #57844 from nextcloud/fix/fix-crash-on-long-LDAP-dns 2026-01-28 11:50:38 +01:00
Ferdinand Thiessen
79155a956f Merge pull request #57861 from nextcloud/test/postscript
test(preview): properly test postscript preview provider
2026-01-28 11:24:24 +01:00
Kate
442efad6b4 Merge pull request #57522 from nextcloud/feature/add_postinstall_event 2026-01-28 10:48:56 +01:00
Misha M.-Kupriyanov
abe86a9bc2 feat(install): dispatch InstallationCompletedEvent in Setup
Integrate event dispatching into Setup class:
- Inject IEventDispatcher dependency
- Dispatch InstallationCompletedEvent after successful installation
- Add Setup tests for event integration
- Update composer autoload for new class

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2026-01-28 09:24:24 +01:00
Misha M.-Kupriyanov
9775923137 feat(install): add InstallationCompletedEvent for post-installation hooks
Add InstallationCompletedEvent class in public API (OCP namespace) that
provides installation details: data directory, admin username, and admin
email. Event will be dispatched after successful installation.

Include comprehensive unit tests covering all event scenarios.

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2026-01-28 09:24:24 +01:00
Nextcloud bot
61a9fe6655 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-28 00:20:51 +00:00
Ferdinand Thiessen
4b015568fc test(preview): properly test postscript preview provider
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-28 01:09:27 +01:00
github-actions[bot]
11b36dfd22 Merge pull request #57862 from nextcloud/dependabot/composer/vendor-bin/phpunit/phpunit/phpunit-11.5.50
build(deps): bump phpunit/phpunit from 11.5.42 to 11.5.50 in /vendor-bin/phpunit
2026-01-27 23:49:07 +00:00
dependabot[bot]
69bac42bba build(deps): bump phpunit/phpunit in /vendor-bin/phpunit
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 11.5.42 to 11.5.50.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/11.5.50/ChangeLog-11.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/11.5.42...11.5.50)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-version: 11.5.50
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-27 23:23:47 +00:00
Andy Scherzinger
fa1f6e2efb Merge pull request #57855 from nextcloud/refactor/systemtags-vue
refactor(systemtags): migrate to Vue 3 and `script setup`
2026-01-28 00:22:07 +01:00
Ferdinand Thiessen
b4b5986be9 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-27 23:52:40 +01:00
Ferdinand Thiessen
16fbf5ac9b fix(systemtags): remove duplicated event listener
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-27 23:52:40 +01:00
Ferdinand Thiessen
50c849ebf9 refactor(systemtags): migrate to Vue 3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-27 23:52:40 +01:00
Daniel Kesselberg
bf5c11a8fa fix(workflowengine): use constant to render template
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2026-01-27 22:57:24 +01:00
Daniel Kesselberg
46f87f6e46 docs: annotate valid renderAs values
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2026-01-27 22:51:17 +01:00
Kate
7da87dcbfd Merge pull request #57767 from nextcloud/setup-provider-all-authoritative 2026-01-27 21:59:57 +01:00
Benjamin Gaussorgues
f71f19c0c7 feat: optimize user mount cache
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-27 16:31:32 +01:00
Côme Chilliet
027bb149a4 chore: Remove broken PresetManager tests
Those are not Unit tests but integration tests with bad side effects on
 other tests. I failed to clean them up so removing them.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-27 16:31:22 +01:00
Robin Appelman
8443e166af fix: don't do full setup in setupForProvider if all requested providers are authoritative
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-27 15:52:31 +01:00
Joas Schilling
1e8374d509 Merge pull request #57848 from nextcloud/ci/noid/zizmor-actions
ci(actions): Satisfy zizmor
2026-01-27 15:50:17 +01:00
Ferdinand Thiessen
de4f41bc78 Merge pull request #57842 from nextcloud/fix/files-sidebar
fix(files): do not reset active tab when re-opening
2026-01-27 15:35:57 +01:00
Côme Chilliet
b2e332fa69 fix: Add missing @throws annotations in UserConfig
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-27 15:21:23 +01:00
Carl Schwan
ae73f7aaf5 refactor(setup-manager): Use ISetupManager instead of SetupManager
Keep using the OC API in the mount manager and OC_Utils, but the rest is
now using the public API.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-27 15:19:19 +01:00
Joas Schilling
dbee8cf5d8 ci(rector): Update actions and add versions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-27 15:02:51 +01:00
nextcloud-command
5c85757f4f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-27 13:57:36 +00:00
Joas Schilling
2fbcbc0eaf ci(action): Assign permission as low as possible
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-27 14:56:50 +01:00
Joas Schilling
c378e95ad6 ci(actions): Satisfy zizmor and show that we trust ourselves
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-27 14:53:58 +01:00
Ferdinand Thiessen
b41bf5c7ef fix(files): do not reset active tab when re-opening
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-27 14:43:51 +01:00
Benjamin Gaussorgues
149c8b31e1 Merge pull request #57811 from nextcloud/fix/openmetrics_exporters 2026-01-27 14:36:45 +01:00
Côme Chilliet
f2a5a8d70e fix(user_ldap): Fix crash in some code path when a DN is longer that 64
UserConfig throws in this case.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-27 14:05:53 +01:00
Kate
a17f4d4eb1 Merge pull request #57575 from nextcloud/carl/typing-share 2026-01-27 13:36:01 +01:00
Carl Schwan
c8989d853c refactor(IShare): Add typing for node
This might also improve a bit the performance.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-27 11:19:33 +01:00
Kate
85ba4e0fa1 Merge pull request #56522 from nextcloud/feat/strict-php-checks 2026-01-27 11:11:09 +01:00
Benjamin Gaussorgues
128f56c8c8 Merge pull request #57820 from nextcloud/carl/fix-return-type-systemtagobjectmapper 2026-01-27 10:45:00 +01:00
Andy Scherzinger
93c254f451 Merge pull request #57731 from hmt/patch-1
Calendar: Fix typos in import/export
2026-01-27 10:35:26 +01:00
Côme Chilliet
5bc3ae7a75 Merge pull request #57785 from nextcloud/reactorShareByMail
refactor(shareByMail): Strict types and code simplification
2026-01-27 10:20:43 +01:00
Benjamin Gaussorgues
e81f01e5a0 chore(openmetrics): add more complete test for controller
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-27 10:13:07 +01:00
Benjamin Gaussorgues
34fe033ace fix(openmetrics): ensure unit is a suffix of metric name
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-27 10:12:25 +01:00
Benjamin Gaussorgues
873ae96c6b fix(openmetrics): remove superfluous empty lines
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-27 10:11:49 +01:00
provokateurin
8713730419 feat(rector): Add strict config for new code
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-27 09:04:02 +01:00
provokateurin
3d09e8d912 feat(psalm): Add strict config for new code
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-27 09:02:21 +01:00
Kate
3950ef8b16 Merge pull request #57829 from nextcloud/setup-path-root 2026-01-27 08:55:46 +01:00
Kate
d56b24112e Merge pull request #57810 from nextcloud/fix/composer/serve-overwrite-cli-url 2026-01-27 07:23:16 +01:00
Ferdinand Thiessen
50cc3439af Merge pull request #57791 from nextcloud/refactor/settings-navigation-vue
refactor(settings): use `NcAppNavigation` for the settings navigation
2026-01-27 03:48:39 +01:00
Ferdinand Thiessen
e4522ca961 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-27 03:22:47 +01:00
Ferdinand Thiessen
105eaeae74 test: adjust cypress tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-27 02:43:35 +01:00
Ferdinand Thiessen
2e4ede0320 refactor(settings): use NcAppNavigation for the settings navigation
Migrate away from jQuery and Snap.js for the navigation.
This is required to finally drop both dependencies.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-27 02:29:41 +01:00
Nextcloud bot
87022e1ae1 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-27 00:20:44 +00:00
Carl Schwan
2d648e36b9 fix(systemtags): Correct the return type of system tag object mapper
Currently, it is documented in some places as returning a string but
returns a int or a string depending on the database used.

This then breaks then using strict comparaison in https://github.com/nextcloud/approval/pull/362

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-26 21:52:01 +01:00
Robin Appelman
a6bcb1075f fix: don't try to setup for a user when setting up /
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-26 21:10:15 +01:00
Sebastian Krupinski
929e165466 Merge pull request #55132 from nextcloud/fix/favourite-icon-without-imagick-svg-support
fix: generate favourite icon without imagick svg support
2026-01-26 14:33:10 -05:00
SebastianKrupinski
e2c4db1541 fix: generate favourite icon without imagick svg support
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-01-26 13:57:22 -05:00
Elizabeth Danzberger
b7c6240327 fix(test): remove group limitation when done
Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
2026-01-26 13:46:59 -05:00
Andy Scherzinger
92d9ca66cd Merge pull request #57130 from nextcloud/chore/update-badges
chore(img): Update mobile app store badges
2026-01-26 19:01:12 +01:00
Elizabeth Danzberger
90deae46c5 test: limit app to group
Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
2026-01-26 12:46:35 -05:00
Elizabeth Danzberger
fc94930b16 fix(app-settings): provide groups by initial state
Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
2026-01-26 12:46:24 -05:00
Carl Schwan
0fe01de26c feat(OCP): Expose setup manager to OCP
It's used by a lot of apps so expose just the two methods that are most
of the time used, to prevent the apps to relly on private APIs.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-26 17:12:02 +01:00
Git'Fellow
61a5371ec6 Merge pull request #57761 from nextcloud/searchTagsAllElementsIncluded
fix(search): All elements are included regardless of their keys
2026-01-26 16:39:33 +01:00
Benjamin Gaussorgues
2437046e25 Merge pull request #57756 from nextcloud/carl/function-builder 2026-01-26 14:14:51 +01:00
Ferdinand Thiessen
a93ada7112 Merge pull request #57798 from nextcloud/fix/remove-x
chore: remove X from social links
2026-01-26 14:02:53 +01:00
Ferdinand Thiessen
60b6e834cc chore: remove X from social links
Nextcloud does not use X anymore.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-26 13:22:51 +01:00
Andy Scherzinger
0ba517b1b0 Merge pull request #57802 from nextcloud/bugfix/noid/upstream-appstore-changes
fix(apps): Update info.xsd with changes in appstore repository
2026-01-26 12:28:51 +01:00
Stephan Orbaugh
9b547f5c8d Merge pull request #57733 from nextcloud/carl/propagator-rollback
fix(Propagator): rollback transaction if it fails
2026-01-26 11:27:21 +01:00
provokateurin
30fa7e5390 fix(composer): Set overwrite.cli.url in serve script
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-26 10:43:11 +01:00
Côme Chilliet
fae36e04ea feat: Add twofactor applications to most of the presets
All presets which are unlikely to have SSO in place should enable
 twofactor applications.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-26 10:18:09 +01:00
Kate
ed6bb52821 Merge pull request #57800 from nextcloud/feat/flake/reuse-cli 2026-01-26 09:59:36 +01:00
Andy Scherzinger
588f7cdf96 Merge pull request #57480 from iasdeoupxe/mimetypes
feat(mimetypes): Add mimetype aliases/mapping/names for .toml and .ovpn
2026-01-26 08:22:50 +01:00
Joas Schilling
bfed45ffe3 fix(apps): Update info.xsd with changes in appstore repository
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-26 07:47:38 +01:00
iasdeoupxe
afde920978 feat: Add mimetype aliases/mapping/names for .toml and .ovpn
Signed-off-by: iasdeoupxe <39667843+iasdeoupxe@users.noreply.github.com>
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-26 07:20:37 +01:00
provokateurin
c258ea9338 chore(deps): Update flake.lock
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-26 07:12:10 +01:00
Kate
afe1c1ebde Merge pull request #57781 from nextcloud/bugfix/57766/allow-openmetrics-infoxml 2026-01-26 07:11:00 +01:00
provokateurin
0d6a469321 feat(flake): Add reuse cli
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-26 07:08:14 +01:00
Nextcloud bot
955478a853 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-26 00:20:49 +00:00
github-actions[bot]
7321ec7f23 Merge pull request #57695 from nextcloud/dependabot/npm_and_yarn/nextcloud/eslint-config-9.0.0-rc.7
build(deps-dev): bump @nextcloud/eslint-config from 9.0.0-rc.6 to 9.0.0-rc.7
2026-01-25 23:37:40 +00:00
Andy Scherzinger
0747954803 Merge pull request #57672 from nextcloud/fix/ocm/manage-4xx-status
fix(ocm): manage 4xx on ocm requests
2026-01-26 00:29:14 +01:00
nextcloud-command
80c0945b47 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-25 23:17:47 +00:00
Andy Scherzinger
ebf9cbf4a1 Merge pull request #57570 from nextcloud/carl/perf/normalized-path
perf(normalization): Optimize path normalization
2026-01-26 00:16:03 +01:00
Ferdinand Thiessen
e25f864e28 chore(legacy): fix @stylistic/exp-list-style ESLint rule
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-26 00:05:29 +01:00
Ferdinand Thiessen
efdf1ccf36 chore(legacy): fix vue/component-options-name-casing ESLint rule
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-26 00:05:29 +01:00
Ferdinand Thiessen
790a1bfca8 chore: fix jsdoc ESLint rules
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-25 23:47:39 +01:00
Ferdinand Thiessen
59b68e1248 chore: fix vue/attribute-hyphenation ESLint rule
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-25 23:47:39 +01:00
Ferdinand Thiessen
12f1b91ee1 chore: fix vue/v-on-event-hyphenation ESLint rule
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-25 23:47:39 +01:00
Ferdinand Thiessen
a0871deec4 chore: fix vue/custom-event-name-casing ESLint rule
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-25 23:47:39 +01:00
dependabot[bot]
772e0349fc build(deps-dev): bump @nextcloud/eslint-config
Bumps [@nextcloud/eslint-config](https://github.com/nextcloud-libraries/eslint-config) from 9.0.0-rc.6 to 9.0.0-rc.7.
- [Release notes](https://github.com/nextcloud-libraries/eslint-config/releases)
- [Changelog](https://github.com/nextcloud-libraries/eslint-config/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/eslint-config/compare/v9.0.0-rc.6...v9.0.0-rc.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-25 23:47:39 +01:00
Benjamin Gaussorgues
8af5e06b62 Merge pull request #57764 from nextcloud/fix/openmetrics_labels 2026-01-25 22:51:25 +01:00
Kate
1f64141928 Merge pull request #57759 from nextcloud/feat/openmetrics_loglevel 2026-01-25 17:11:37 +01:00
github-actions[bot]
60eb0c4e27 Merge pull request #57706 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/sass-1.97.3
build(deps-dev): bump sass from 1.97.2 to 1.97.3 in /build/frontend-legacy
2026-01-25 12:35:27 +00:00
dependabot[bot]
652b06c1ce build(deps-dev): bump sass in /build/frontend-legacy
Bumps [sass](https://github.com/sass/dart-sass) from 1.97.2 to 1.97.3.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.97.2...1.97.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-25 13:18:11 +01:00
github-actions[bot]
0756782610 Merge pull request #57698 from nextcloud/dependabot/npm_and_yarn/sass-1.97.3
build(deps-dev): bump sass from 1.97.2 to 1.97.3
2026-01-25 12:11:40 +00:00
dependabot[bot]
ec30829842 build(deps-dev): bump sass from 1.97.2 to 1.97.3
Bumps [sass](https://github.com/sass/dart-sass) from 1.97.2 to 1.97.3.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.97.2...1.97.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-25 12:26:27 +01:00
github-actions[bot]
8b0ff5c401 Merge pull request #57700 from nextcloud/dependabot/npm_and_yarn/vue-3.5.27
build(deps): bump vue from 3.5.26 to 3.5.27
2026-01-25 11:10:31 +00:00
nextcloud-command
00ce0d86b1 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-25 09:46:15 +00:00
dependabot[bot]
623196ad97 build(deps): bump vue from 3.5.26 to 3.5.27
Bumps [vue](https://github.com/vuejs/core) from 3.5.26 to 3.5.27.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.26...v3.5.27)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-25 10:38:37 +01:00
github-actions[bot]
e632cc0b73 Merge pull request #57773 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/focus-trap-7.8.0
build(deps): bump focus-trap from 7.6.6 to 7.8.0 in /build/frontend-legacy
2026-01-25 10:15:03 +01:00
Nextcloud bot
b5dc337623 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-25 00:20:48 +00:00
nextcloud-command
9cc50debfe chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-24 23:17:41 +00:00
dependabot[bot]
9784edc7c9 build(deps): bump focus-trap in /build/frontend-legacy
Bumps [focus-trap](https://github.com/focus-trap/focus-trap) from 7.6.6 to 7.8.0.
- [Release notes](https://github.com/focus-trap/focus-trap/releases)
- [Changelog](https://github.com/focus-trap/focus-trap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/focus-trap/focus-trap/compare/v7.6.6...v7.8.0)

---
updated-dependencies:
- dependency-name: focus-trap
  dependency-version: 7.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 23:05:37 +00:00
github-actions[bot]
8047f7211c Merge pull request #57689 from nextcloud/dependabot/composer/vendor-bin/behat/behat/behat-3.29.0
build(deps-dev): bump behat/behat from 3.27.0 to 3.29.0 in /vendor-bin/behat
2026-01-24 22:53:48 +00:00
github-actions[bot]
03198238ad Merge pull request #57690 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.3.4
build(deps-dev): bump rector/rector from 2.3.1 to 2.3.4 in /vendor-bin/rector
2026-01-24 22:52:56 +00:00
github-actions[bot]
1342adffc0 Merge pull request #57703 from nextcloud/dependabot/npm_and_yarn/types/dockerode-4.0.1
build(deps-dev): bump @types/dockerode from 4.0.0 to 4.0.1
2026-01-24 22:44:40 +00:00
github-actions[bot]
2894734384 Merge pull request #57683 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/lodash-4.17.23
build(deps): bump lodash from 4.17.21 to 4.17.23 in /build/frontend-legacy
2026-01-24 23:36:26 +01:00
nextcloud-command
d66f2e082f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-24 18:45:17 +00:00
Git'Fellow
ce9119a708 refactor(shareByMail): Strict types and code simplification
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-01-24 19:02:32 +01:00
Git'Fellow
7352aaff03 fix(search): All elements are included regardless of their keys
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-01-24 18:03:29 +01:00
dependabot[bot]
a7a82991ce build(deps): bump lodash in /build/frontend-legacy
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 16:33:36 +00:00
dependabot[bot]
d4966cf913 build(deps-dev): bump @types/dockerode from 4.0.0 to 4.0.1
Bumps [@types/dockerode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/dockerode) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/dockerode)

---
updated-dependencies:
- dependency-name: "@types/dockerode"
  dependency-version: 4.0.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 16:32:41 +00:00
github-actions[bot]
e2cea7b286 Merge pull request #57774 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/core-js-3.48.0
build(deps): bump core-js from 3.47.0 to 3.48.0 in /build/frontend-legacy
2026-01-24 16:21:41 +00:00
nextcloud-command
0555d5754a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-24 16:05:20 +00:00
dependabot[bot]
966dd1ba68 build(deps): bump core-js in /build/frontend-legacy
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.47.0 to 3.48.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.48.0/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-version: 3.48.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 16:57:52 +01:00
github-actions[bot]
810986b2a0 Merge pull request #57775 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/libphonenumber-js-1.12.35
build(deps): bump libphonenumber-js from 1.12.34 to 1.12.35 in /build/frontend-legacy
2026-01-24 15:57:22 +00:00
github-actions[bot]
fa778b7d03 Merge pull request #57723 from nextcloud/dependabot/github_actions/github-actions-56188969f1
build(deps): bump the github-actions group with 4 updates
2026-01-24 16:57:08 +01:00
nextcloud-command
a5afae38ad chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-24 15:40:45 +00:00
dependabot[bot]
a02710ea57 build(deps): bump libphonenumber-js in /build/frontend-legacy
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.34 to 1.12.35.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.34...v1.12.35)

---
updated-dependencies:
- dependency-name: libphonenumber-js
  dependency-version: 1.12.35
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 16:33:21 +01:00
github-actions[bot]
963dcba6cc Merge pull request #57772 from nextcloud/dependabot/npm_and_yarn/vitest-007c43aa68
build(deps-dev): bump the vitest group across 2 directories with 3 updates
2026-01-24 15:25:25 +00:00
dependabot[bot]
33eee07176 build(deps-dev): bump the vitest group across 2 directories with 3 updates
Bumps the vitest group with 1 update in the / directory: [@vitest/coverage-istanbul](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul).
Bumps the vitest group with 2 updates in the /build/frontend-legacy directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) and [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8).


Updates `@vitest/coverage-istanbul` from 4.0.17 to 4.0.18
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.18/packages/coverage-istanbul)

Updates `vitest` from 4.0.17 to 4.0.18
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.18/packages/vitest)

Updates `vitest` from 4.0.17 to 4.0.18
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.18/packages/vitest)

Updates `@vitest/coverage-v8` from 4.0.17 to 4.0.18
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.18/packages/coverage-v8)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-istanbul"
  dependency-version: 4.0.18
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-version: 4.0.18
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-version: 4.0.18
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 4.0.18
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 15:11:19 +00:00
Andy Scherzinger
e186d494f0 Merge pull request #57682 from nextcloud/dependabot/npm_and_yarn/lodash-4.17.23
build(deps): bump lodash from 4.17.21 to 4.17.23
2026-01-24 15:58:43 +01:00
github-actions[bot]
65d7c0342f Merge pull request #57777 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/vue-8.35.3
build(deps): bump @nextcloud/vue from 8.35.2 to 8.35.3 in /build/frontend-legacy
2026-01-24 15:56:50 +01:00
Benjamin Gaussorgues
481fe1574a fix(openmetrics): fix label names and add test for them
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-24 15:54:35 +01:00
nextcloud-command
e2dc31de77 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-24 14:26:14 +00:00
dependabot[bot]
831cfba8dd build(deps): bump @nextcloud/vue in /build/frontend-legacy
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.35.2 to 8.35.3.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/v8.35.3/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.35.2...v8.35.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-24 15:18:37 +01:00
Joas Schilling
cc6f49b762 fix(openmetrics): Make openmetrics always an array like all other infoxml fields
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-24 14:17:35 +01:00
Ferdinand Thiessen
58b404a31c Merge pull request #57676 from nextcloud/feat/allow-filter-contacts-by-team
feat: allow to filter contacts by team
2026-01-24 13:40:03 +01:00
Joas Schilling
45bae0ea48 fix(openmetrics): Allow openmetrics in info.xml
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-24 13:11:18 +01:00
Nextcloud bot
7c83a5bb99 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-24 00:20:53 +00:00
Git'Fellow
0c83a9da35 Merge pull request #57758 from nextcloud/fixNoBaseComponentFound
fix(caldav): Enhance UID check for base component
2026-01-23 19:24:52 +01:00
Kate
739b018312 Merge pull request #57765 from nextcloud/fix/noid/openmetrics-multiple-app-exporters 2026-01-23 19:21:31 +01:00
Marcel Müller
9cc4daed56 fix(openmetrics): Multiple exporters per app
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2026-01-23 17:35:38 +01:00
Git'Fellow
59bb049de0 fix(caldav): Enhance UID check for base component
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-01-23 17:24:42 +01:00
Carl Schwan
b4dfdf6492 refactor: Prefer using IFunctionBuilder than createFunction
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-23 16:58:38 +01:00
Benjamin Gaussorgues
4da7137278 feat(openmetrics): add log level
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-23 16:02:04 +01:00
Ferdinand Thiessen
644d07d835 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-23 14:56:31 +01:00
Ferdinand Thiessen
503acb0ed6 feat: allow to filter contacts by team
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-23 14:54:41 +01:00
Joas Schilling
d9d1d04e2e Merge pull request #57750 from nextcloud/carl/fix-cacheentry-groupfolder
fix(cache): Fix parsing cache entry from groupfolder
2026-01-23 12:51:40 +01:00
Joas Schilling
f81948690d Merge pull request #57726 from nextcloud/fix/noid/add-since-for-param
fix: add since param for activity manager
2026-01-23 12:47:28 +01:00
Joas Schilling
26f40c457b Merge pull request #57735 from nextcloud/fix/add-missing-translator-hint
fix: Add translator hints to avoid confusion between big and large
2026-01-23 12:46:59 +01:00
Carl Schwan
dd26a8b7eb fix(cache): Fix parsing cache entry from groupfolder and collectives
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-23 10:52:44 +01:00
Nextcloud bot
dd8b274550 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-23 00:21:28 +00:00
Ferdinand Thiessen
e5c08cca40 Merge pull request #57664 from nextcloud/feat/filters
feat(files): render file list filters in top bar and allow to collapse into overflow menu
2026-01-22 21:15:55 +01:00
Côme Chilliet
407d7cb101 fix: Add translator hints to avoid confusion between big and large
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-22 17:16:09 +01:00
Carl Schwan
3900c45ea4 fix(Propagator): rollback transaction if it fails 2026-01-22 17:08:57 +01:00
Ferdinand Thiessen
4e2e49b3dd chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-22 16:34:05 +01:00
Ferdinand Thiessen
ed7fb12b3f test: adjust Cypress tests for refactored files app UI
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-22 16:31:48 +01:00
Ferdinand Thiessen
d8b05ec6c3 refactor(files): re-position "new"-menu and make it primary
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-22 16:31:48 +01:00
Ferdinand Thiessen
4ca9fb836d feat(files): move "reload" and "share" breadcrumb actions to menu
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-22 16:31:48 +01:00
Ferdinand Thiessen
985b66c64f feat(files): render filters in top bar
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-22 16:31:48 +01:00
Ferdinand Thiessen
871f037dda refactor(files): handle file list width break points in one central point
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-22 16:31:47 +01:00
hmt
2ad593cc3a Calendar: Fix typos in import/export 2026-01-22 16:22:29 +01:00
Robin Appelman
3f9849d921 Merge pull request #57295 from nextcloud/share-mount-validation-on-share
feat: perform share mount validation on share instead of on mount
2026-01-22 13:32:11 +01:00
Anna Larch
95ee9a0b7d fix: add since param for activity manager
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-01-22 11:32:38 +01:00
dependabot[bot]
5457d38581 build(deps): bump the github-actions group with 4 updates
Bumps the github-actions group with 4 updates: [shivammathur/setup-php](https://github.com/shivammathur/setup-php), [webiny/action-conventional-commits](https://github.com/webiny/action-conventional-commits), [cypress-io/github-action](https://github.com/cypress-io/github-action) and [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request).


Updates `shivammathur/setup-php` from 2.35.5 to 2.36.0
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.35.5...44454db4f0199b8b9685a5d763dc37cbf79108e1)

Updates `webiny/action-conventional-commits` from 1.3.0 to 1.3.1
- [Release notes](https://github.com/webiny/action-conventional-commits/releases)
- [Commits](8bc41ff4e7...faccb24fc2)

Updates `cypress-io/github-action` from 6.10.8 to 7.0.0
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md)
- [Commits](2ad32e649e...dca986193e)

Updates `peter-evans/create-pull-request` from 8.0.0 to 8.1.0
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](98357b18bf...c0f553fe54)

---
updated-dependencies:
- dependency-name: shivammathur/setup-php
  dependency-version: 2.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: webiny/action-conventional-commits
  dependency-version: 1.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: cypress-io/github-action
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: peter-evans/create-pull-request
  dependency-version: 8.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-22 09:33:11 +00:00
dependabot[bot]
7c5ed698bd build(deps-dev): bump rector/rector in /vendor-bin/rector
Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.3.1 to 2.3.4.
- [Release notes](https://github.com/rectorphp/rector/releases)
- [Commits](https://github.com/rectorphp/rector/compare/2.3.1...2.3.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-22 09:18:11 +00:00
dependabot[bot]
daf3617931 build(deps-dev): bump behat/behat in /vendor-bin/behat
Bumps [behat/behat](https://github.com/Behat/Behat) from 3.27.0 to 3.29.0.
- [Release notes](https://github.com/Behat/Behat/releases)
- [Changelog](https://github.com/Behat/Behat/blob/3.x/CHANGELOG.md)
- [Commits](https://github.com/Behat/Behat/compare/v3.27.0...v3.29.0)

---
updated-dependencies:
- dependency-name: behat/behat
  dependency-version: 3.29.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-22 09:17:52 +00:00
Joas Schilling
dde6681542 Merge pull request #57684 from nextcloud/master-is-now-34
Master is now 34
2026-01-22 10:15:51 +01:00
Joas Schilling
ce8a97b1c7 chore(assets): Recompile assets
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-22 09:35:19 +01:00
Joas Schilling
5e35fdd380 chore: Bump 3rdparty to last master commit
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-22 09:34:56 +01:00
Joas Schilling
1d78386806 chore: Bump app versions and requirements
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-22 08:59:28 +01:00
Joas Schilling
9530b810f1 chore(release): Bump version to 34
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-22 08:44:56 +01:00
Joas Schilling
2ae3988c23 fix(security): Update Expires time
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-22 08:43:39 +01:00
Joas Schilling
afb0446435 ci(actions): Update stable33
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-22 08:42:11 +01:00
Joas Schilling
bd39402570 ci(dependabot): Update stable33
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-22 08:38:13 +01:00
Nextcloud bot
a251294fbb fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-22 00:17:39 +00:00
dependabot[bot]
a374c3a37b build(deps): bump lodash from 4.17.21 to 4.17.23
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-21 23:24:26 +00:00
Ferdinand Thiessen
01e79e718d Merge pull request #57583 from nextcloud/chore/drop-whats-new
chore: drop legacy `WhatsNew`
2026-01-22 00:15:58 +01:00
Ferdinand Thiessen
0e750439b2 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-21 23:23:11 +01:00
Ferdinand Thiessen
428e76214e chore: drop legacy WhatsNew
This feature was not used in 8 years and from frontend did not even
properly work anymore and was implemented using deprecated API.
So get rid of it.

The last version that was using a changelog from the changelog server
was Nextcloud 20.

We use the firstrunwizard nowadays for informing about Nextcloud
changes in new releases.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-21 23:23:10 +01:00
Andy Scherzinger
a9f3534bc4 Merge pull request #57655 from nextcloud/fix/noid/typing-activity-manager
fix(activity): allow string types for snowflake IDs
2026-01-21 19:07:36 +01:00
Anna Larch
f9a159e2ef fix(activity): allow string types for snowflake IDs
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-01-21 17:37:45 +01:00
Robin Appelman
34fc215133 fix: adjust SharesUpdatedListener to event change
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-21 16:35:56 +01:00
Robin Appelman
b4315066b1 perf: only update shares for users once
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-21 16:35:56 +01:00
Robin Appelman
94f33463ff test: adjust tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-21 16:35:55 +01:00
Robin Appelman
43a9335355 fix: attempt to make share conflict resolution more resilient to false positives
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-21 16:35:54 +01:00
Robin Appelman
d71c6796ca feat: perform share mount validation on share instead of on mount
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-21 16:35:53 +01:00
Kate
677d42555e Merge pull request #57511 from nextcloud/fix/userplugin/rewrite 2026-01-21 15:10:11 +01:00
Carl Schwan
09a1ca3981 perf(normalization): Optimize path normalization
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-21 14:58:05 +01:00
provokateurin
bf49f62da3 feat(UserPlugin): Also full match on additional email addresses
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 14:36:37 +01:00
provokateurin
7539fdbb72 test(UserPlugin): Cover full match email with sharee enumeration limited to group
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 14:36:32 +01:00
provokateurin
cfa25ece7e fix(UserPlugin): Rewrite from scratch
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 14:29:58 +01:00
provokateurin
ad65bcb653 test(UserPlugin): Rewrite unit tests as integration tests
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 14:29:58 +01:00
provokateurin
ae53c2016b test(ShareesContext): Reset all shareapi related system configs
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 14:19:36 +01:00
Maxence Lange
4dba1455a6 fix(ocm): manage 4xx on ocm requests
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2026-01-21 10:09:21 -01:00
Nextcloud bot
e2eb3bd5f7 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-21 00:18:14 +00:00
F. E Noel Nfebe
0e515dbe96 Merge pull request #57631 from nextcloud/fix/remove-share-permission-from-allow-editing
feat(sharing): remove share permission from "Allow editing" default
2026-01-20 22:20:33 +01:00
Ferdinand Thiessen
bc98f61410 Merge pull request #57643 from nextcloud/chore/files
chore(files): add missing component import
2026-01-20 21:02:59 +01:00
nextcloud-command
f3ddd0d967 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-20 19:16:46 +00:00
nfebe
80ab68369f test(sharing): expand advanced settings before accessing its elements
Tests that access elements inside the Advanced Settings section
(hide download, share label, grid view, etc.) must first click
"Advanced settings" to expand it. Previously these tests relied on
buggy auto-expand behavior that occurred when permissions didn't
match bundled values.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-01-20 19:39:55 +01:00
nfebe
2cdbd7fa15 fix(sharing): strip share permission before comparing to bundled perms
Handle backward compatibility when config.defaultPermissions includes
the SHARE permission (value 31) which was previously part of
BUNDLED_PERMISSIONS.ALL. Now that ALL no longer includes SHARE, the
comparison must strip SHARE before checking against bundled permissions.

This fixes an issue where the Advanced Settings section would be
auto-expanded for new shares, causing a toggle to close it instead
of opening it.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-01-20 19:30:47 +01:00
nfebe
8526999ad5 feat(sharing): remove share permission from "Allow editing" default
Remove PERMISSION_SHARE from bundled permissions for ALL and ALL_FILE.
Update quick share selector to consistently strip share permission
when comparing, ensuring backwards compatibility with existing shares.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-01-20 19:30:47 +01:00
Ferdinand Thiessen
71e5a8e717 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-20 18:33:36 +01:00
Ferdinand Thiessen
8270ccb017 chore(files): add missing component import
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-20 18:32:27 +01:00
Ferdinand Thiessen
81400d9021 Merge pull request #57598 from nextcloud/ci/timeout-setup
ci: add timeout for PHP setup
2026-01-20 18:22:05 +01:00
Louis
4fd59a272c Merge pull request #57327 from castillo92/patch-3
fix(settings): Improve sharing form labels
2026-01-20 17:41:11 +01:00
nextcloud-command
553c99ff74 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-01-20 16:51:27 +01:00
Castillo
263a96faec fix(settings): Improve sharing form labels
Signed-off-by: Castillo <37965565+castillo92@users.noreply.github.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-01-20 16:37:10 +01:00
Benjamin Gaussorgues
9663465765 Merge pull request #57651 from nextcloud/release/33.0.0_beta_5 2026-01-20 16:27:20 +01:00
Benjamin Gaussorgues
41ec34c05e Merge pull request #57168 from abhinavohri/56572 2026-01-20 16:15:19 +01:00
Côme Chilliet
a467589328 Merge pull request #57573 from nextcloud/fix/fix-beforezipcreatedlistener
fix(files_sharing): Fix BeforeZipCreatedListener path handling
2026-01-20 16:08:05 +01:00
Carl Schwan
4c79c2faff Merge pull request #57591 from nextcloud/carl/query-exception
refactor(QueryException): Remove most usage of QueryException
2026-01-20 15:59:56 +01:00
Joas Schilling
b12987f210 Merge pull request #57658 from nextcloud/feat/noid/enable-totp-by-default
fix(apps): Enable TwoFactor TOTP by default
2026-01-20 15:25:08 +01:00
Louis Chmn
e721556b9f chore: Compile assets
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-01-20 15:14:50 +01:00
Abhinav Ohri
0b405f108a refactor(files): remove success toast on file rename
Signed-off-by: Abhinav Ohri <abhinavohri13@gmail.com>
2026-01-20 15:04:21 +01:00
Côme Chilliet
0720e2644f chore: fix or suppress psalm errors for BeforeZipCreatedEvent
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-20 14:32:58 +01:00
Joas Schilling
b05b58d3cf fix(apps): Enable TwoFactor TOTP by default
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-20 14:15:01 +01:00
Côme Chilliet
433e3da4d3 Merge pull request #56794 from nextcloud/feat/hide-developer-docs-conditionally
docs(settings): Removing the developerDocsUrl
2026-01-20 14:07:31 +01:00
Côme Chilliet
4e64c0774b Merge pull request #57653 from nextcloud/fix/fix-icon-ratio
fix(theming): Fix favicon and touchicon ratios
2026-01-20 14:03:57 +01:00
Joas Schilling
00c49cc8c4 Merge pull request #57561 from nextcloud/ci/noid/thin-matrix
ci(phpunit): thin out testing matrix
2026-01-20 13:26:43 +01:00
Côme Chilliet
67d93c6b04 fix(theming): Fix favicon and touchicon ratios
On some systems (depending on imagick version I think) the ratio would
 be messed up on the touchicon, favicon and link preview images.
This fixes it without breaking other systems.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-20 11:44:45 +01:00
Joas Schilling
313ac05a3b ci(external): Also test with some files related apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-20 11:44:14 +01:00
nextcloud-command
c492b0db4a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-20 09:57:20 +00:00
Worker Builder
6f66cf212b build(hub): 33.0.0 beta 5
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2026-01-20 09:38:20 +00:00
Ferdinand Thiessen
d996029bec Merge pull request #57644 from nextcloud/chore/refactor-oc-eventsource
refactor(core): migrate `OC.EventSource` from jQuery to native API
2026-01-20 10:03:08 +01:00
Arsalan Ul Haq Sohni
02dc7f1f79 docs: remove developer documentation link
Signed-off-by: Arsalan Ul Haq Sohni <arsalan-ul-haq.sohni@strato.de>
2026-01-20 09:40:03 +01:00
Ferdinand Thiessen
f8c88146b6 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-20 02:39:29 +01:00
Ferdinand Thiessen
6e29885128 refactor(core): migrate OC.EventSource from jQuery to native API
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-20 02:35:34 +01:00
Ferdinand Thiessen
5d20278d06 ci: add timeout for PHP setup
Currently it sometimes deadlocks and then loads forever.
Should be safe to apply 5 minutes limit.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-20 02:34:52 +01:00
github-actions[bot]
8920dad2de Merge pull request #57637 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/dialogs-7.2.0
build(deps): bump @nextcloud/dialogs from 7.1.0 to 7.2.0 in /build/frontend-legacy
2026-01-20 02:24:59 +01:00
Ferdinand Thiessen
bb33094bf2 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-20 01:42:04 +01:00
dependabot[bot]
304fe15a76 build(deps): bump @nextcloud/dialogs in /build/frontend-legacy
Bumps [@nextcloud/dialogs](https://github.com/nextcloud-libraries/nextcloud-dialogs) from 7.1.0 to 7.2.0.
- [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/v7.1.0...v7.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-20 01:39:30 +01:00
Nextcloud bot
c1dfdace98 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-20 00:14:00 +00:00
Joas Schilling
cf453e5f57 Merge pull request #57566 from nextcloud/ci/noid/speedup-lint
ci(lint): Lint multiple files at once when possible
2026-01-19 20:22:07 +01:00
Christoph Wurst
e5339543cf Merge pull request #57641 from nextcloud/fix/taskprocessing-cli-cast
fix(TaskProcessing): Fix occ commands to cast strings to integer
2026-01-19 19:04:40 +01:00
Ferdinand Thiessen
772471da4f Merge pull request #57642 from nextcloud/chore/xhr
chore: drop duplicated legacy Ajax error handling
2026-01-19 17:09:46 +01:00
Joas Schilling
f5abf9296d ci(lint): Use multi file argument in lint
Since PHP 8.3 the linting command "php -l" can consume multiple files at once.
This drastically speeds up the time necessary for the linting from ~3 minutes
to few seconds.
By also running the linting on multiple cores, the time can be dropped to < 1s

Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-19 16:57:34 +01:00
Joas Schilling
6ea3c2ac84 chore: Bump 3rdparty
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-19 16:57:34 +01:00
github-actions[bot]
2b985ac053 Merge pull request #57634 from nextcloud/dependabot/npm_and_yarn/nextcloud/stylelint-config-3.2.0
build(deps-dev): bump @nextcloud/stylelint-config from 3.1.1 to 3.2.0
2026-01-19 15:56:02 +00:00
nextcloud-command
65351bde59 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-19 15:35:52 +00:00
Ferdinand Thiessen
a3bd996e7c chore: drop duplicated legacy Ajax error handling
The XHR error handling was duplicated, as we already handle this in
`core/src/init.js` where we intercept Fetch API and XHR API.
So we can drop this jQuery specific duplicate.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-19 16:28:25 +01:00
github-actions[bot]
6b6fdc2bbf Merge pull request #57635 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/p-queue-9.1.0
build(deps): bump p-queue from 9.0.1 to 9.1.0 in /build/frontend-legacy
2026-01-19 15:26:54 +00:00
Ferdinand Thiessen
971cae8eef chore: add license files
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-19 15:01:31 +00:00
Ferdinand Thiessen
0001c3000e chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-19 15:40:09 +01:00
Ferdinand Thiessen
7ff0804e90 chore: adjust styles for new stylelint config
- replace renamed `word-wrap` with new name `overflow-wrap` (CSS3)
- use extensions for `@use`

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-19 15:33:39 +01:00
dependabot[bot]
dd18425f78 build(deps-dev): bump @nextcloud/stylelint-config from 3.1.1 to 3.2.0
Bumps [@nextcloud/stylelint-config](https://github.com/nextcloud-libraries/stylelint-config) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/nextcloud-libraries/stylelint-config/releases)
- [Changelog](https://github.com/nextcloud-libraries/stylelint-config/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/stylelint-config/compare/v3.1.1...v3.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-19 15:33:39 +01:00
dependabot[bot]
e09c70a74a build(deps): bump p-queue from 9.0.1 to 9.1.0 in /build/frontend-legacy
Bumps [p-queue](https://github.com/sindresorhus/p-queue) from 9.0.1 to 9.1.0.
- [Release notes](https://github.com/sindresorhus/p-queue/releases)
- [Commits](https://github.com/sindresorhus/p-queue/compare/v9.0.1...v9.1.0)

---
updated-dependencies:
- dependency-name: p-queue
  dependency-version: 9.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-19 15:22:25 +01:00
Marcel Klehr
1f12126715 fix(TaskProcessing): Fix occ commands to cast strings to integer
fixes #57111

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-01-19 15:12:37 +01:00
grnd-alt
2c718d81e5 Merge pull request #54234 from nextcloud/fix/49673-less-confusing-unified-search-folder-picker
fix: update unified search folder picker text
2026-01-19 15:09:38 +01:00
grnd-alt
83eee50e95 chore: update nextcloud/dialogs to 7.2.0 in frontend-legacy
Signed-off-by: grnd-alt <git@belakkaf.net>
2026-01-19 13:56:42 +01:00
grnd-alt
0b99043b06 fix: update unified search folder picker text
Signed-off-by: grnd-alt <git@belakkaf.net>
2026-01-19 13:55:18 +01:00
Kate
b273338183 Merge pull request #57439 from nextcloud/enh/50636/show-teams-memberships-profile 2026-01-19 13:52:00 +01:00
nextcloud-command
6067f1ca99 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-19 12:12:58 +00:00
Cristian Scheid
ed486167d6 refactor: change method name from getMemberships to getTeamsForUser
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-01-19 12:10:15 +00:00
Cristian Scheid
efd348fab1 refactor: use probeCircles instead of getCircles
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-01-19 12:10:15 +00:00
Cristian Scheid
3e7d68360a refactor: replace array_map with foreach to guarantee list<> type
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-01-19 12:10:15 +00:00
Cristian Scheid
d3dd2f41d5 refactor: use list<> syntax and remove unecessary check
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Cristian Scheid <74515775+cristianscheid@users.noreply.github.com>
2026-01-19 12:10:15 +00:00
Cristian Scheid
a109ed365f refactor: improve code quality and doc block in PersonalInfo
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Cristian Scheid <74515775+cristianscheid@users.noreply.github.com>
2026-01-19 12:10:14 +00:00
Cristian Scheid
7e1b5af9e8 chore: fix code style in PersonalInfo
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-01-19 12:10:14 +00:00
Cristian Scheid
5c1b795cb5 feat(profile): show Teams memberships on account details
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-01-19 12:10:14 +00:00
Côme Chilliet
460d63772b fix(files_sharing): Switch back event path to be relative to user folder
This is clearly the original intent, the parameter name in ViewOnly is
 $userFolder, and the similar event for single file download uses
 paths relative to user folder as well.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-19 11:22:17 +01:00
github-actions[bot]
7fa568b453 Merge pull request #57636 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/babel/node-7.28.6
build(deps-dev): bump @babel/node from 7.28.0 to 7.28.6 in /build/frontend-legacy
2026-01-19 09:02:39 +01:00
github-actions[bot]
9d068e5e3f Merge pull request #57639 from nextcloud/dependabot/github_actions/github-actions-86cd8d4df5
build(deps): bump the github-actions group with 3 updates
2026-01-19 09:02:13 +01:00
github-actions[bot]
256ed95b08 Merge pull request #57638 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/libphonenumber-js-1.12.34
build(deps): bump libphonenumber-js from 1.12.31 to 1.12.34 in /build/frontend-legacy
2026-01-19 07:46:01 +00:00
nextcloud-command
ee35782e8b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-19 06:59:53 +00:00
dependabot[bot]
e074f980e2 build(deps): bump libphonenumber-js in /build/frontend-legacy
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.31 to 1.12.34.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.31...v1.12.34)

---
updated-dependencies:
- dependency-name: libphonenumber-js
  dependency-version: 1.12.34
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-19 07:41:27 +01:00
dependabot[bot]
1063be7d38 build(deps): bump the github-actions group with 3 updates
Bumps the github-actions group with 3 updates: [github/codeql-action](https://github.com/github/codeql-action), [actions/setup-node](https://github.com/actions/setup-node) and [LizardByte/actions](https://github.com/lizardbyte/actions).


Updates `github/codeql-action` from 4.31.9 to 4.31.10
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](5d4e8d1aca...cdefb33c0f)

Updates `actions/setup-node` from 6.1.0 to 6.2.0
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](395ad32622...6044e13b5d)

Updates `LizardByte/actions` from 2025.1227.191137 to 2026.116.208
- [Release notes](https://github.com/lizardbyte/actions/releases)
- [Commits](c2e99809a2...e6bc045033)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: actions/setup-node
  dependency-version: 6.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: LizardByte/actions
  dependency-version: 2026.116.208
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-19 00:22:22 +00:00
Nextcloud bot
036bab5017 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-19 00:13:42 +00:00
dependabot[bot]
6425c6d107 build(deps-dev): bump @babel/node in /build/frontend-legacy
Bumps [@babel/node](https://github.com/babel/babel/tree/HEAD/packages/babel-node) from 7.28.0 to 7.28.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.28.6/packages/babel-node)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-19 00:12:23 +00:00
Andy Scherzinger
853e895f4d Merge pull request #57164 from nextcloud/useMoreUpToDatePreviewImage
chore: Change preview image in README.md
2026-01-19 00:11:50 +01:00
kramo
b378a21733 chore(img): Update mobile app store badges
Signed-off-by: kramo <git@kramo.page>
2026-01-18 23:59:42 +01:00
Andy Scherzinger
2f4a6f1e8b Merge pull request #57082 from nextcloud/automated/noid/-update-min-supported-desktop-version
chore: Update minimum supported desktop version to 3.1.50
2026-01-18 23:40:30 +01:00
Andy Scherzinger
0ec75efdb2 Merge pull request #57296 from nextcloud/fix/add-icons-to-settings
fix(FilesAppSettings): Add icons to default view
2026-01-18 23:35:29 +01:00
nextcloud-command
6d978db663 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-18 22:10:06 +00:00
kramo
c643bb7ee4 fix(FilesAppSettings): Add icons to default view
Signed-off-by: kramo <git@kramo.page>
2026-01-18 23:02:00 +01:00
nextcloud-command
dd6a947a2a chore: Update minimum supported desktop version
Signed-off-by: GitHub <noreply@github.com>
2026-01-18 21:54:53 +01:00
Kate
31d82bf351 Merge pull request #57629 from nextcloud/chore/noid/hub26Winter 2026-01-18 18:39:00 +01:00
Andy Scherzinger
6f6291e21a chore(version): Hub 25 Autumn -> Hub 26 Winter
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2026-01-18 17:00:21 +01:00
github-actions[bot]
7c253500a3 Merge pull request #57473 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/sass-1.97.2
build(deps-dev): bump sass from 1.97.1 to 1.97.2 in /build/frontend-legacy
2026-01-18 15:18:55 +00:00
Ferdinand Thiessen
8be2fd1a04 Merge pull request #51593 from nextcloud/chore/support-longer-names
fix: support longer index and table names
2026-01-18 15:58:43 +01:00
github-actions[bot]
9524c6a543 Merge pull request #57472 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/msw-2.12.7
build(deps-dev): bump msw from 2.12.6 to 2.12.7 in /build/frontend-legacy
2026-01-18 14:54:26 +00:00
github-actions[bot]
a57841e3b6 Merge pull request #57467 from nextcloud/dependabot/npm_and_yarn/eslint-plugin-cypress-5.2.1
build(deps-dev): bump eslint-plugin-cypress from 5.2.0 to 5.2.1
2026-01-18 15:46:21 +01:00
dependabot[bot]
33070ad57a build(deps-dev): bump sass in /build/frontend-legacy
Bumps [sass](https://github.com/sass/dart-sass) from 1.97.1 to 1.97.2.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.97.1...1.97.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-18 14:41:43 +00:00
dependabot[bot]
c14fe998c4 build(deps-dev): bump msw in /build/frontend-legacy
Bumps [msw](https://github.com/mswjs/msw) from 2.12.6 to 2.12.7.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mswjs/msw/compare/v2.12.6...v2.12.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-18 14:38:07 +00:00
github-actions[bot]
e96eb33ecd Merge pull request #57303 from nextcloud/dependabot/github_actions/github-actions-17597a4202
build(deps): bump the github-actions group across 1 directory with 11 updates
2026-01-18 15:35:56 +01:00
github-actions[bot]
fbf557abde Merge pull request #57469 from nextcloud/dependabot/npm_and_yarn/sass-1.97.2
build(deps-dev): bump sass from 1.97.1 to 1.97.2
2026-01-18 15:19:02 +01:00
Ferdinand Thiessen
67eef32b07 fix(DB): support up to 63 character long table and index names
We do not support Oracle 11 anymore but at least Oracle 12c (12.2).
So the limitation is gone (Oracle now supports up to 128 character long
names).

Instead we are now limited by MySQL (64 characters) and PostgreSQL (63
characters).

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-18 14:50:34 +01:00
dependabot[bot]
425fb98e91 build(deps): bump the github-actions group across 1 directory with 11 updates
Bumps the github-actions group with 11 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `6.0.0` | `6.0.1` |
| [shivammathur/setup-php](https://github.com/shivammathur/setup-php) | `2.35.5` | `2.36.0` |
| [github/codeql-action](https://github.com/github/codeql-action) | `4.31.5` | `4.31.9` |
| [actions/setup-node](https://github.com/actions/setup-node) | `6.0.0` | `6.1.0` |
| [cypress-io/github-action](https://github.com/cypress-io/github-action) | `6.10.4` | `6.10.8` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact) | `5.0.0` | `6.0.0` |
| [codecov/codecov-action](https://github.com/codecov/codecov-action) | `5.5.1` | `5.5.2` |
| [codecov/test-results-action](https://github.com/codecov/test-results-action) | `1.1.1` | `1.2.1` |
| [LizardByte/actions](https://github.com/lizardbyte/actions) | `2025.1028.23217` | `2025.1227.191137` |
| [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) | `7.0.9` | `8.0.0` |
| [actions/stale](https://github.com/actions/stale) | `10.1.0` | `10.1.1` |



Updates `actions/checkout` from 6.0.0 to 6.0.1
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](1af3b93b68...8e8c483db8)

Updates `shivammathur/setup-php` from 2.35.5 to 2.36.0
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](bf6b4fbd49...44454db4f0)

Updates `github/codeql-action` from 4.31.5 to 4.31.9
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](fdbfb4d275...5d4e8d1aca)

Updates `actions/setup-node` from 6.0.0 to 6.1.0
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](2028fbc5c2...395ad32622)

Updates `cypress-io/github-action` from 6.10.4 to 6.10.8
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md)
- [Commits](7ef72e250a...2ad32e649e)

Updates `actions/upload-artifact` from 5.0.0 to 6.0.0
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](330a01c490...b7c566a772)

Updates `codecov/codecov-action` from 5.5.1 to 5.5.2
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](5a1091511a...671740ac38)

Updates `codecov/test-results-action` from 1.1.1 to 1.2.1
- [Release notes](https://github.com/codecov/test-results-action/releases)
- [Commits](47f89e9acb...0fa95f0e1e)

Updates `LizardByte/actions` from 2025.1028.23217 to 2025.1227.191137
- [Release notes](https://github.com/lizardbyte/actions/releases)
- [Commits](329b1bcefe...c2e99809a2)

Updates `peter-evans/create-pull-request` from 7.0.9 to 8.0.0
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](84ae59a2cd...98357b18bf)

Updates `actions/stale` from 10.1.0 to 10.1.1
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](5f858e3efb...997185467f)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: shivammathur/setup-php
  dependency-version: 2.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-version: 4.31.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: actions/setup-node
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: cypress-io/github-action
  dependency-version: 6.10.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: actions/upload-artifact
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: codecov/codecov-action
  dependency-version: 5.5.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: codecov/test-results-action
  dependency-version: 1.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: LizardByte/actions
  dependency-version: 2025.1227.191137
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: peter-evans/create-pull-request
  dependency-version: 8.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: actions/stale
  dependency-version: 10.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-18 14:41:44 +01:00
dependabot[bot]
2134d998d4 build(deps-dev): bump eslint-plugin-cypress from 5.2.0 to 5.2.1
Bumps [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) from 5.2.0 to 5.2.1.
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v5.2.0...v5.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-18 13:41:39 +00:00
github-actions[bot]
eb9a3d371a Merge pull request #57600 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.3.1
build(deps-dev): bump rector/rector from 2.3.0 to 2.3.1 in /vendor-bin/rector
2026-01-18 12:58:05 +00:00
github-actions[bot]
fb0f9d8763 Merge pull request #57466 from nextcloud/dependabot/npm_and_yarn/vite-64d30ac355
build(deps-dev): bump the vite group across 2 directories with 1 update
2026-01-18 12:44:01 +00:00
nextcloud-command
bf74d5b111 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-18 11:53:25 +00:00
dependabot[bot]
8be0d421a1 build(deps-dev): bump rector/rector in /vendor-bin/rector
Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/rectorphp/rector/releases)
- [Commits](https://github.com/rectorphp/rector/compare/2.3.0...2.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-18 11:44:58 +00:00
dependabot[bot]
71f043604b build(deps-dev): bump the vite group across 2 directories with 1 update
Bumps the vite group with 1 update in the / directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).
Bumps the vite group with 1 update in the /build/frontend-legacy directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 7.3.0 to 7.3.1
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.1/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.1/packages/vite)

Updates `vite` from 7.3.0 to 7.3.1
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.1/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.1/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.3.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
- dependency-name: vite
  dependency-version: 7.3.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vite
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-18 12:44:34 +01:00
github-actions[bot]
b5c4032134 Merge pull request #57607 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/babel/plugin-transform-private-methods-7.28.6
build(deps-dev): bump @babel/plugin-transform-private-methods from 7.27.1 to 7.28.6 in /build/frontend-legacy
2026-01-18 12:28:44 +01:00
github-actions[bot]
2a188ea169 Merge pull request #57605 from nextcloud/dependabot/npm_and_yarn/types/dockerode-4.0.0
build(deps-dev): bump @types/dockerode from 3.3.47 to 4.0.0
2026-01-18 12:19:06 +01:00
dependabot[bot]
0e78d316a2 build(deps-dev): bump sass from 1.97.1 to 1.97.2
Bumps [sass](https://github.com/sass/dart-sass) from 1.97.1 to 1.97.2.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.97.1...1.97.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-18 12:01:52 +01:00
dependabot[bot]
443a0600bd build(deps-dev): bump @types/dockerode from 3.3.47 to 4.0.0
Bumps [@types/dockerode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/dockerode) from 3.3.47 to 4.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/dockerode)

---
updated-dependencies:
- dependency-name: "@types/dockerode"
  dependency-version: 4.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-18 10:28:53 +00:00
github-actions[bot]
bf73333a44 Merge pull request #57606 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.8.15
build(deps-dev): bump @zip.js/zip.js from 2.8.14 to 2.8.15
2026-01-18 11:24:42 +01:00
Nextcloud bot
66000c17fa fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-18 00:13:26 +00:00
github-actions[bot]
e7b642c1be Merge pull request #57602 from nextcloud/dependabot/npm_and_yarn/cypress-15.9.0
build(deps-dev): bump cypress from 15.8.1 to 15.9.0
2026-01-17 14:35:27 +01:00
github-actions[bot]
989e2206df Merge pull request #57608 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/vue-8.35.2
build(deps): bump @nextcloud/vue from 8.35.0 to 8.35.2 in /build/frontend-legacy
2026-01-17 13:00:09 +01:00
Ferdinand Thiessen
5137526923 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-17 12:28:05 +01:00
dependabot[bot]
5f8f6b3037 build(deps): bump @nextcloud/vue in /build/frontend-legacy
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.35.0 to 8.35.2.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/v8.35.2/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.35.0...v8.35.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-17 12:25:55 +01:00
github-actions[bot]
8d168bd729 Merge pull request #57601 from nextcloud/dependabot/npm_and_yarn/vitest-19d2c6073a
build(deps-dev): bump the vitest group across 2 directories with 3 updates
2026-01-17 11:37:51 +01:00
Ferdinand Thiessen
5777b6605f Merge pull request #57586 from nextcloud/chore/update-files-rc0
chore: update `@nextcloud/files` to v4.0.0-rc.0
2026-01-17 11:30:59 +01:00
dependabot[bot]
a043d950cd build(deps-dev): bump @babel/plugin-transform-private-methods
Bumps [@babel/plugin-transform-private-methods](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-private-methods) from 7.27.1 to 7.28.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.28.6/packages/babel-plugin-transform-private-methods)

---
updated-dependencies:
- dependency-name: "@babel/plugin-transform-private-methods"
  dependency-version: 7.28.6
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-17 02:12:07 +00:00
dependabot[bot]
27dd1a8548 build(deps-dev): bump @zip.js/zip.js from 2.8.14 to 2.8.15
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.8.14 to 2.8.15.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.8.14...v2.8.15)

---
updated-dependencies:
- dependency-name: "@zip.js/zip.js"
  dependency-version: 2.8.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-17 02:11:39 +00:00
dependabot[bot]
3197453d5f build(deps-dev): bump cypress from 15.8.1 to 15.9.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 15.8.1 to 15.9.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/v15.8.1...v15.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-17 02:10:00 +00:00
dependabot[bot]
edf0c40533 build(deps-dev): bump the vitest group across 2 directories with 3 updates
Bumps the vitest group with 1 update in the / directory: [@vitest/coverage-istanbul](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul).
Bumps the vitest group with 2 updates in the /build/frontend-legacy directory: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) and [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8).


Updates `@vitest/coverage-istanbul` from 4.0.16 to 4.0.17
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.17/packages/coverage-istanbul)

Updates `vitest` from 4.0.16 to 4.0.17
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.17/packages/vitest)

Updates `vitest` from 4.0.16 to 4.0.17
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.17/packages/vitest)

Updates `@vitest/coverage-v8` from 4.0.16 to 4.0.17
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.17/packages/coverage-v8)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-istanbul"
  dependency-version: 4.0.17
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-version: 4.0.17
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: vitest
  dependency-version: 4.0.17
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 4.0.17
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-17 02:09:13 +00:00
Nextcloud bot
447d3272a5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-17 00:13:34 +00:00
Ferdinand Thiessen
fa7869504a chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 22:22:57 +01:00
Ferdinand Thiessen
d3813798bf chore: update @nextcloud/files to v4.0.0-rc.0
- update library
- adjust sidebar tab handling

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 22:22:57 +01:00
Ferdinand Thiessen
60a43694cc Merge pull request #57352 from nextcloud/fix/active-files
fix(files): properly handle currently active node and files action hotkeys
2026-01-16 20:47:44 +01:00
Ferdinand Thiessen
c9a7654a9d Merge pull request #57592 from nextcloud/refactor/oc-msg
refactor(core): migrate `OC.msg` away from jQuery
2026-01-16 18:29:24 +01:00
Ferdinand Thiessen
5597718a8d chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 18:06:15 +01:00
Ferdinand Thiessen
b63aca792f test: move integration testing of hotkeys to Cypress
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 18:06:15 +01:00
Ferdinand Thiessen
e19d0e4c12 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 17:51:13 +01:00
Ferdinand Thiessen
f175e421b3 refactor(core): migrate OC.msg away from jQuery
Make the class jQuery free to be able to drop it as a dependency.
Also added some unit tests for it.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 17:48:49 +01:00
Ferdinand Thiessen
24b3059de7 refactor(systemtags): properly register hotkey in the files app
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 17:26:28 +01:00
Ferdinand Thiessen
b135e36350 fix(files): properly register file action hotkeys
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 17:26:28 +01:00
Ferdinand Thiessen
03ffa39909 fix(files): properly handle currently active node
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 17:26:28 +01:00
Ferdinand Thiessen
6a67456574 Merge pull request #57594 from nextcloud/refactor/ocp-comments
refactor(core): migrate `OCP.Comments` away from jQuery
2026-01-16 17:25:52 +01:00
nextcloud-command
c16a68a8bf chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-16 13:43:13 +00:00
Kate
fb1dc43889 Merge pull request #57564 from nextcloud/feat/files_sharing/share-access-updated-event-multiple-users 2026-01-16 14:31:06 +01:00
Ferdinand Thiessen
1163638d3d refactor(core): migrate OCP.Comments away from jQuery
The API was not yet deprecated but is not used anymore,
so 1. added a deprecation so we can get rid of it in the future.
But until then we need to drop jQuery so refactored the code to use
vanilla JS.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 14:21:52 +01:00
Benjamin Gaussorgues
0ff9de1a06 Merge pull request #57404 from nextcloud/carl/fix-psalm-tests1 2026-01-16 14:09:36 +01:00
Benjamin Gaussorgues
aba8a7ff86 Merge pull request #57549 from nextcloud/carl/optimize-getdirectory-content 2026-01-16 14:09:14 +01:00
Andy Scherzinger
a7ea180317 Merge pull request #57576 from nextcloud/missing-cache-entry-data
fix: dont error on missing path_hash/checksum CacheEntry fields
2026-01-16 14:04:46 +01:00
Ferdinand Thiessen
5740f8e507 Merge pull request #57587 from nextcloud/chore/jquery-query
refactor: migrate `OC.*QueryString` from jQuery
2026-01-16 13:53:20 +01:00
Ferdinand Thiessen
1f3aaeecfe chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 12:40:05 +01:00
Ferdinand Thiessen
29a59c3822 refactor: migrate OC.*QueryString from jQuery
Use native `URLSearchParams` to remove jQuery and deprecate it.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 12:38:14 +01:00
Ferdinand Thiessen
df2afa9565 Merge pull request #57584 from nextcloud/chore/appconfig-cleanup
refactor(core): migrate OCP.AppConfig from jQuery to axios
2026-01-16 12:35:23 +01:00
Carl Schwan
11cf69d8ba fix(psalm): Fix static analysis issues in apps/*/tests
There are still 1200 more to fix before we can enable static analysis
for the tests.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-16 12:00:51 +01:00
Carl Schwan
9a8d45d81f refactor(QueryException): Remove most usage of QueryException
This is preparation to move QueryException from OCP to OC as part of
Nextcloud 34.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-16 11:55:06 +01:00
Ferdinand Thiessen
31ae610bb1 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 11:19:20 +01:00
Ferdinand Thiessen
bbe3d92a38 refactor(core): migrate OCP.AppConfig from jQuery to axios
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 11:17:02 +01:00
Carl Schwan
eadcd1cc84 refactor: Use str_starts_with
Co-authored-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2026-01-16 10:58:16 +01:00
Stephan Orbaugh
3a9173015c Merge pull request #57525 from nextcloud/carl/usermountcache-loop-optimization
perf(UserMountCache): Optimize loop
2026-01-16 10:50:27 +01:00
Louis
2716b0f6a6 Merge pull request #57292 from nextcloud/feature/54562/files-sharing-authoritative
feat(files_sharing): implement partial mount providers
2026-01-16 10:37:36 +01:00
Louis Chmn
b6e90acdb6 fix(DefaultSHareProvider): Specify join alias when accessing columns
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-01-16 08:32:14 +01:00
Louis Chmn
7323680779 feat(files_sharing): Add indexes for target on share and share_external
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-01-16 08:32:14 +01:00
Louis Chmn
7c9c74f4f0 feat(files_sharing): Implement partial mount providers
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-01-16 08:32:14 +01:00
Ferdinand Thiessen
5db140d101 Merge pull request #57393 from nextcloud/fix/viewer-sidebar
fix(files): properly handle viewer integration of sidebar
2026-01-16 02:13:50 +01:00
Ferdinand Thiessen
b78699acd7 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 01:49:39 +01:00
Ferdinand Thiessen
6491f6ec9a fix(files): properly handle viewer integration of sidebar
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 01:45:44 +01:00
Ferdinand Thiessen
10661bf49f Merge pull request #57556 from nextcloud/refactor/updater
refactor(core): migrate web updater to Vue
2026-01-16 01:16:04 +01:00
Nextcloud bot
75a43ff352 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-16 00:13:48 +00:00
Simon L.
fb8cf0d593 Merge pull request #57585 from nextcloud/rakekniven-patch-2
chore(i18n): Improved grammar
2026-01-16 00:43:05 +01:00
Ferdinand Thiessen
bf190c4141 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 00:31:53 +01:00
Ferdinand Thiessen
f7dad729e4 refactor(core): migrate web updater to Vue
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 00:29:19 +01:00
Ferdinand Thiessen
2a385fd5b8 Merge pull request #57571 from nextcloud/refactor/public-share-auth
refactor(core): migrate public share authentication to Vue
2026-01-16 00:21:19 +01:00
nextcloud-command
382a237fba chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-15 22:54:47 +00:00
Ferdinand Thiessen
48171a4f63 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 23:35:38 +01:00
rakekniven
678450a6c7 chore(i18n): Improved grammar
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2026-01-15 23:30:22 +01:00
Ferdinand Thiessen
752a62133a chore: fix or ignore linter issues
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 23:30:21 +01:00
rakekniven
86e142c051 chore(i18n): Improved grammar
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2026-01-15 23:26:48 +01:00
Ferdinand Thiessen
ba0615b33e refactor(core): migrate public share authentication to Vue
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 23:26:19 +01:00
Arthur Schiwon
748206fc66 Merge pull request #57545 from nextcloud/release/33.0.0_beta_4
33.0.0 beta 4
2026-01-15 23:24:06 +01:00
Joas Schilling
80c16e76be Merge pull request #57579 from nextcloud/fix/57572/remove-only-existing-index
fix(mounts): only remove existing index
2026-01-15 23:14:51 +01:00
Ferdinand Thiessen
13718c4de1 Merge pull request #57565 from nextcloud/chore/remove-dead-code
chore(settings): remove dead legacy code
2026-01-15 23:04:22 +01:00
Sebastian Krupinski
4c6981b99b Merge pull request #56924 from nextcloud/feat/tentative-invitations
feat: automated appointment creation
2026-01-15 15:01:33 -05:00
SebastianKrupinski
16198d2b37 feat: automated appointment creation
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-01-15 13:31:44 -05:00
Maxence Lange
1628390ccf fix(mounts): only remove existing index
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2026-01-15 16:15:40 -01:00
Robin Appelman
a79bf069a3 fix: dont error on missing path_hash/checksum cacheentry fields
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-15 18:02:41 +01:00
Côme Chilliet
5e693b5398 fix(files_sharing): Fix BeforeZipCreatedListener path handling
Path of directory is relative to root folder, not user folder.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-15 16:57:42 +01:00
Ferdinand Thiessen
ddff2cbff2 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 16:20:36 +01:00
Ferdinand Thiessen
04fc1a4418 chore(settings): remove dead legacy code
The `security_password` was last used in the personal setting security
section, but already migrated to vue.
So it can be safely removed.

The styles can also be removed by moving the required ones directly to
the Vue component.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 16:13:35 +01:00
Benjamin Gaussorgues
0ff8b35578 Merge pull request #57550 from nextcloud/setup-path-not-found-fallback 2026-01-15 16:12:23 +01:00
Kate
3c498275e5 Merge pull request #57504 from nextcloud/implementCacheChunkGcTtl 2026-01-15 15:39:13 +01:00
Benjamin Gaussorgues
8f8b4411cd Merge pull request #57553 from nextcloud/getMountsForPath-args 2026-01-15 14:35:51 +01:00
Louis
b9e670d1b4 Merge pull request #57552 from nextcloud/artonge/debt/files_sharing_unify_methods
debt(files_sharing): Unify `getSharedWithByPath` and `getSharedWith`
2026-01-15 14:21:26 +01:00
Andy Scherzinger
06b064e5f2 Merge pull request #57514 from nextcloud/carl/optimize-cacheentry
perf(files): Optimize CacheEntry creation
2026-01-15 12:57:42 +01:00
Carl Schwan
06827970a8 fix(cache): Handle groupfolder specific entries in cacheEntryFromData
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-15 11:47:59 +01:00
Carl Schwan
0b8eae7789 perf(files): Optimize CacheEntry creation
Avoid many copy on writes and create array only once.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-15 11:47:41 +01:00
Robin Appelman
53b160ce9b fix: add some extra checks for getMountsForPath arguments
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-15 11:31:54 +01:00
Robin Appelman
83ac1c6030 fix: clearify meaning of getMountsForPath arguments
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-15 11:31:54 +01:00
provokateurin
653d2a05b4 feat(files_sharing): Support multiples users in UserShareAccessUpdatedEvent
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-15 11:07:15 +01:00
Louis Chmn
bba8e90c62 fix(files_sharing): Unify getSharedWithByPath and getSharedWith
Follow-up of https://github.com/nextcloud/server/pull/57285

This ensure that the behavior is the same and reduce code duplication.

Salvatore's version seems to be more optimized, but I prefer those change to be done separately and for both methods.

Signed-off-by: Louis Chmn <louis@chmn.me>
2026-01-15 10:22:44 +01:00
Joas Schilling
9545bfb419 ci(mariadb): Thin out mariadb matrix
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-15 09:26:42 +01:00
Joas Schilling
a68fa8ba02 ci(coverage): Also don't upload coverage from object-storage tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-15 08:52:32 +01:00
Joas Schilling
666e5ee295 ci(external-storage): Only run storage tests when filesystem was modified
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-15 08:52:03 +01:00
Joas Schilling
44b76e64d2 ci(phpunit): Thin out DB matrix
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-15 08:51:15 +01:00
Ferdinand Thiessen
902d8b042a Merge pull request #57544 from nextcloud/refactor/mail-settings-vue
refactor(settings): migrate mail settings to Vue
2026-01-15 02:44:38 +01:00
Ferdinand Thiessen
6ec212fed1 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 02:12:03 +01:00
Ferdinand Thiessen
7d21350040 feat(settings): add option to allow self-signed mail certificates
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 02:12:03 +01:00
Ferdinand Thiessen
265d2c3f87 refactor(settings): migrate mail settings to Vue
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-15 02:12:03 +01:00
Nextcloud bot
c9ac8cfd54 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-15 00:14:00 +00:00
Ferdinand Thiessen
55469c96c0 Merge pull request #57529 from nextcloud/chore/update-files-4-b9
chore(deps): update `@nextcloud/files` to v4.0.0-beta.9
2026-01-14 22:21:59 +01:00
Andy Scherzinger
524ee376e6 Merge pull request #57540 from nextcloud/fix-smb-sso-summary-name
chore: fix name of kerberos sso summary workflow
2026-01-14 18:36:15 +01:00
Robin Appelman
68cdd1b1ef fix: fallback to full user setup if we cant find the expected mount root
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-14 18:04:13 +01:00
Carl Schwan
27339601f6 perf(View): Optimize getDirectoryContent hot-loop
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-14 18:03:51 +01:00
Andy Scherzinger
abe5499e14 Merge pull request #57498 from nextcloud/carl/rename-imountproviderargs
refactor(files): Rename IMountProviderArgs
2026-01-14 17:50:43 +01:00
Andy Scherzinger
6a0e7e318b Merge pull request #57513 from nextcloud/carl/shareplugin
refactor(dav): Remove dead property
2026-01-14 17:50:22 +01:00
Worker Builder
1c9598d922 build(hub): 33.0.0 beta 4
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2026-01-14 14:07:00 +00:00
Robin Appelman
62d7165124 Merge pull request #57370 from nextcloud/authoritative-mount-setup
Authoritative mount setup
2026-01-14 14:19:03 +01:00
Carl Schwan
7a025ffb0b feat(preview): Make it possible to disable on preview migration
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-14 14:09:07 +01:00
Robin Appelman
3cfdc26ae1 chore: fix name of kerberos sso summary workflow
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-14 13:12:32 +01:00
Robin Appelman
47530ef95f feat: add a debug config option to disable authoritative mount optimizations
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-14 13:03:01 +01:00
Ferdinand Thiessen
cd3dbbb04c chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-14 12:37:01 +01:00
Ferdinand Thiessen
2940cd0bb8 chore(deps): update @nextcloud/files to v4.0.0-beta.9
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-14 12:35:21 +01:00
Ferdinand Thiessen
22ebf79e90 Merge pull request #57503 from nextcloud/chore/drop-moment
refactor: drop moment from new bundles
2026-01-14 12:33:56 +01:00
Robin Appelman
9fde2523e6 Merge pull request #57493 from nextcloud/smb-invalid-arg-unavailable
fix: handle InvalidArumentException as availability failure in smb->getFileInfo
2026-01-14 12:00:03 +01:00
Kate
ad8576f02d Merge pull request #57185 from nextcloud/fix/fix-files-external-tests 2026-01-14 11:46:28 +01:00
Robin Appelman
e5497c7731 fix: protect against infinite loops in setup
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-14 11:21:27 +01:00
Robin Appelman
6eb8e8d6fd Merge pull request #57519 from nextcloud/get-existing-api
feat: add api to get a user object without verifying they exist
2026-01-14 11:15:42 +01:00
github-actions[bot]
a4cf7145cd Merge pull request #57471 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.8.14
build(deps-dev): bump @zip.js/zip.js from 2.8.11 to 2.8.14
2026-01-14 11:13:41 +01:00
Kate
7d1b1de155 Merge pull request #54697 from nextcloud/fix/unit-test-for-storage-auto-expire-list 2026-01-14 11:00:33 +01:00
yemkareems
fb2716ab4b fix: php lint fix
Signed-off-by: yemkareems <yemkareems@gmail.com>
2026-01-14 14:58:32 +05:30
Ferdinand Thiessen
a623bffb00 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-14 10:27:02 +01:00
yemkareems
f0b90e6378 fix: removed the message
Signed-off-by: yemkareems <yemkareems@gmail.com>
2026-01-14 14:57:02 +05:30
Ferdinand Thiessen
8ac1602402 refactor: drop moment from new bundles
On the Vue 3 side lets remove the dependency on Moment as this is a
pretty huge dependency. Instead use plain Intl API for formatting.

This reduces the bundle size by ~1.5MiB.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-14 10:25:37 +01:00
yemkareems
5f6a777c5b fix: refactored testBucketKeepsLatest to add invalid data assert
Signed-off-by: yemkareems <yemkareems@gmail.com>
2026-01-14 14:46:48 +05:30
grnd-alt
dac8fe4034 Merge pull request #57405 from nextcloud/3rdparty/justinrainbow/json-schema
chore: update justinrainbow/json-schema to 6.6.4
2026-01-14 09:27:53 +01:00
Ferdinand Thiessen
891d0fc481 Merge pull request #57526 from nextcloud/refactor/loginflow-to-vue
refactor(core): migrate login flow ui from jQuery to Vue
2026-01-14 03:10:07 +01:00
dependabot[bot]
172698e61a build(deps-dev): bump @zip.js/zip.js from 2.8.11 to 2.8.14
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.8.11 to 2.8.14.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.8.11...v2.8.14)

---
updated-dependencies:
- dependency-name: "@zip.js/zip.js"
  dependency-version: 2.8.14
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-14 01:16:57 +01:00
Ferdinand Thiessen
942a92f072 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-14 01:15:01 +01:00
Ferdinand Thiessen
d26ec02aa1 refactor(core): migrate login flow ui from jQuery to Vue
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-14 01:15:01 +01:00
Nextcloud bot
a8369cdbee fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-14 00:13:54 +00:00
Ferdinand Thiessen
038d940df1 Merge pull request #57515 from nextcloud/refactor/encryption-vue3
refactor(encryption): migrate to Vue 3 and Typescript and script setup
2026-01-14 00:29:17 +01:00
Ferdinand Thiessen
a2d0d8b26b chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 22:51:07 +01:00
Ferdinand Thiessen
108858daef refactor(encryption): migrate to Vue 3 and Typescript and script setup
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 22:49:18 +01:00
Ferdinand Thiessen
ab8e4e60ea Merge pull request #57502 from nextcloud/chore/theming-js
refactor(theming): move from `js/` to `src/`
2026-01-13 22:41:44 +01:00
Ferdinand Thiessen
c59ad1f847 Merge pull request #57355 from nextcloud/refactor/oc-settings
refactor: consolidate `OC.Settings`
2026-01-13 22:35:40 +01:00
nextcloud-command
fa535d0e20 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-13 19:04:13 +00:00
Ferdinand Thiessen
41e1a995a9 refactor(theming): move from js/ to src/
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 18:47:28 +01:00
Carl Schwan
94dd919b88 perf(UserMountCache): Optimize loop
These loops since to be called around 60 000 times in one trace I saw.
So it makes sense to use the faster foreach construct.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-13 18:37:51 +01:00
Benjamin Gaussorgues
6248afe544 Merge pull request #57441 from nextcloud/release/33.0.0_beta_3 2026-01-13 16:58:49 +01:00
Benjamin Gaussorgues
e3f951b804 Merge pull request #57455 from nextcloud/feat/nextcloudignore 2026-01-13 16:58:32 +01:00
Robin Appelman
467487ecd8 feat: dont reload authoritative mount providers when doing by-path setup
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-13 16:42:48 +01:00
Robin Appelman
ae74dbef2b Merge pull request #56499 from nextcloud/authoritative-mount-provider-files_external
Add api for authoritative mount providers and implement it for files_external
2026-01-13 16:36:33 +01:00
Robin Appelman
663f6822c7 test: use a different smb image for smb testing
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-13 16:11:21 +01:00
Robin Appelman
5924a2e3ec feat: add api to get a user object without verifying they exist
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-13 15:59:07 +01:00
Ferdinand Thiessen
bd664cb8fd chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 15:42:00 +01:00
Ferdinand Thiessen
805805767f refactor: consolidate OC.Settings
1. Remove unused legacy parts (no code match in the whole github
organization).
2. Consolidate `OC.Settings` in `core/src/OC` for consistency.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 15:41:59 +01:00
Ferdinand Thiessen
0fa396d0b8 Merge pull request #57509 from nextcloud/fix/use-strict-array-search
Use strict array search
2026-01-13 15:22:20 +01:00
Carl Schwan
5acb93a5be Merge pull request #57510 from nextcloud/carl/callback-optimization
perf(dav): Avoid getting DB Connection inside callback
2026-01-13 15:01:54 +01:00
Carl Schwan
ea40ade012 refactor(dav): Remove dead property
The user folder is no longer used.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-13 14:09:05 +01:00
Maxence Lange
048037b629 Merge pull request #57495 from nextcloud/fix/noid/no-data-response
fix(ocm): empty response
2026-01-13 11:21:03 -01:00
Côme Chilliet
f31f4eba7f chore: While at it use strict array search in build/integration
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-13 11:48:59 +01:00
Côme Chilliet
dc843f6d0a fix: Use strict array search in other shipped apps as well
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-13 11:48:36 +01:00
Côme Chilliet
3c80b7f2b3 fix: Use strict array comparisons in lib/
To avoid surprises with corner cases.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-13 11:48:04 +01:00
Carl Schwan
a1979c9cd1 perf(dav): Avoid getting DB Connection inside callback
Fetch it once outside instead and pass it to the callback.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-13 11:47:11 +01:00
Côme Chilliet
c1dd559965 fix: Use strict array comparisons in user_ldap
Otherwise there are issues with string values looking like numbers.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-13 11:46:57 +01:00
Côme Chilliet
166febb940 fix(tests): Use absolute paths for files_external tests configuration files
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-13 11:07:27 +01:00
Joas Schilling
408f9e8256 Merge pull request #57491 from nextcloud/fix/taskprocessing-userfacingerrormessage-responsedef
fix(TaskProcessing): Expose userFacingErrorMessage on ResponseDefinitions#CoreTaskProcessingTask
2026-01-13 10:27:01 +01:00
grnd-alt
0461301597 chore: update justinrainbow/json-schema to 6.6.4
Signed-off-by: grnd-alt <git@belakkaf.net>
2026-01-13 10:14:53 +01:00
Git'Fellow
df018cf994 fix(gc): Implement cache_chunk_gc_ttl
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-01-13 09:00:32 +01:00
Ferdinand Thiessen
08d4ccb36f Merge pull request #57237 from nextcloud/refactor/files-external-vue3-ts
refactor(files_external): migrate to script-setup and Vue 3
2026-01-13 03:04:49 +01:00
nextcloud-command
31957add33 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-13 01:33:19 +00:00
Ferdinand Thiessen
e76f9284ce refactor(files_external): adjust files integration
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
a05c285979 feat(files_external): implement storage table
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
1ec308a9dd feat(files_external): provide new API to register AuthMechanisms
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
0e22ae1efe refactor(files_external): migrate public key auth to Vue 3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
5ed7c4fd97 fix(files_external): adjust settings
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
545c72becb chore: remove non working and legacy OAuth2 auth schema
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
e1133ec926 feat(files_external): Migrate settings to Vue
Template parameters are migrated to initial state, common state between admin and user settings is shared in the CommonSettingsTrait.
The template is cleaned and replaced with only a stub for the Vue mount.
Code only used for the frontend of the settings is moved from the MountConfig to the CommonSettingsTrait (the missing dependency messages).

On the frontend a wrapper view is created that currently holds the global credentials settings and the external storages settings.
- The global credentials sections is now a stand-alone sections - fully implemented.
- The external storages section holds the table + user config + warnings on missing dependencies

The legacy UI is temporarly renamed but will be removed in a following commit.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
d4674060dc fix(files_external): return correct type for new user defined storages
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
38ed0a8283 fix: hard type controllers where the type is required to match
Prevent HTTP 500 errors where a 400 would be the correct response

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
4c8b9deca0 feat(files_external): Move script loading to CommonSettingsTrait to reduce duplicated code between admin and user settings
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
5c652484e3 refactor(files_external): migrate files integration to script-setup and Vue 3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-13 01:30:37 +00:00
Nextcloud bot
a5225bdf99 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-13 00:13:56 +00:00
Ferdinand Thiessen
ac3d09d817 Merge pull request #57499 from nextcloud/feat/migrate-user-ldap-renew
refactor(user_ldap): migrate jQuery UI of password renewal to Vue
2026-01-12 22:56:09 +01:00
Ferdinand Thiessen
2c3872f325 Merge pull request #57095 from nextcloud/fix/public-upload
fix(files): ensure creating folders in public shares work
2026-01-12 22:31:47 +01:00
Ferdinand Thiessen
bad5531860 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-12 21:48:13 +01:00
Ferdinand Thiessen
29e31ffdb1 refactor(user_ldap): migrate jQuery UI of password renewal to Vue
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-12 21:48:13 +01:00
nextcloud-command
bdd379e82e chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-12 20:07:13 +00:00
Ferdinand Thiessen
8c93d4a9e1 fix(files): ensure creating folders in public shares work
The root of the webdav client needs to be the public share root,
as accessing the `/files` folder is not possible for public shares.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-12 20:39:54 +01:00
Ferdinand Thiessen
5f33fee58f Merge pull request #56941 from nextcloud/fix/importmaps
fix(template): add import map for JS module entry points
2026-01-12 20:38:58 +01:00
Kate
258b30606f Merge pull request #57357 from Freiheitswolke/fix/NavigationManager/Remove-break-to-return-all-defaultEntryIds 2026-01-12 19:29:18 +01:00
Marcel Klehr
1182b6d4f0 chore: Update openapi specs
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-01-12 18:32:33 +01:00
Marcel Klehr
a45978789b fix(TaskProcessing): Expose userFacingErrorMessage on ResponseDefinitions#CoreTaskProcessingTask
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-01-12 18:32:33 +01:00
Carl Schwan
7b05c8f797 refactor(files): Rename IMountProviderArgs
It's not an interface so the I-prefix is inadequate.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-12 17:33:52 +01:00
Maxence Lange
42d745e17b fix(ocm): empty response
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2026-01-12 15:22:08 -01:00
Robin Appelman
4dcd4223de fix: make smb auth failure on forbidden exception more reliable
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-12 15:23:57 +01:00
Robin Appelman
43727cb72c fix: handle InvalidArumentException as availability failure in smb->getFileInfo
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-12 15:23:57 +01:00
Benjamin Gaussorgues
89166cbf9a Merge pull request #57054 from nextcloud/fix/federated-vue 2026-01-12 15:11:40 +01:00
Carl Schwan
6149168129 feat(preview): On demand preview migration
When requesting previews, which we don't find in oc_previews, search in
IAppData first before creating them.

Move the logic from MovepreviewJob to PreviewMigrationService and reuse
that in the Preview Generator.

At the same time rename MovePreviewJob to PreviewMigrationJob as it is a
better name.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-01-12 14:20:09 +01:00
Joas Schilling
6bdda55733 Merge pull request #57453 from nextcloud/feat/noid/qr-code-in-account-menu
Improve usability of QR code login
2026-01-12 14:01:10 +01:00
Ferdinand Thiessen
f0e020f97d fix(template): add import map for JS module entry points
Currently apps are broken if they have exports in the JS entry point,
because they then will import from the entry point but because they do
not know about the Nextcloud cache buster they will import without cache
buster.

This results in two problem:
1. The module might be outdated (old cached)
2. The module is duplicated, so the module will be loaded twice and will
   have two different - out of sync - states. This also means it will
   re-run sideeffects of the entry point.

To fix this we generate an import map which basically maps the plain
entry point script to the script with cache buster added.

(Some background: Bundler will try to minimize chunks (reduce page
loading time) so they can inline modules into entry points and thus
extend the entry point exports and then this issue would be caused).

For example:
```js
// entry.mjs
console.error('called')

async function onClick() {
  await import('./chunk.mjs')
}

export const name = 'foo'

// chunk.mjs
import { name } from './entry.mjs'

console.error(name)
```

When calling `onClick` without this fix the output will be:
> called
> called
> foo

With this fix:
> called
> foo

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-12 13:34:11 +01:00
Joas Schilling
0e99c60da1 Merge pull request #57450 from nextcloud/3rdparty/sabre-vobject-iTipBroker-replies
fix: add send participation reply on fresh event patch
2026-01-12 12:27:43 +01:00
Benjamin Gaussorgues
98619ca6fb Merge pull request #56524 from nextcloud/fix/group-displayname-in-user-edit 2026-01-12 12:25:19 +01:00
Joas Schilling
8b4491ae1c fix: Add translation for temporary app password names
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-12 11:58:45 +01:00
Robin Appelman
2a2cd291d5 Merge pull request #57392 from nextcloud/user-share-access-event
feat: add event for apps that a users share access might have changed
2026-01-12 11:58:00 +01:00
Ferdinand Thiessen
835d507d64 Merge pull request #57354 from nextcloud/fix/comments-node-api
fix(comments): adjust Activity integration for changed Node API
2026-01-12 11:28:58 +01:00
nextcloud-command
954945a26b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-12 10:10:52 +00:00
Joas Schilling
f4acd8a7ab fix: Adjust and add new tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-12 11:07:44 +01:00
Benjamin Gaussorgues
bd90e7c122 Merge pull request #57442 from nextcloud/carl/entity-id-type 2026-01-12 11:03:33 +01:00
Benjamin Gaussorgues
8d50027e78 Merge pull request #57142 from nextcloud/carl/dashboard-psalm 2026-01-12 11:03:17 +01:00
Ferdinand Thiessen
29488d6a78 fix(federatedfilesharing): pre must not be a child of p
Fix the problem reported:
> [plugin vite:vue] apps/federatedfilesharing/src/components/PersonalSettings.vue: <pre> cannot be child of <p>, according to HTML specifications.
> This can cause hydration errors or potentially disrupt future functionality.

`p` only allows inline elements, but pre is none.
We either need to use `div` instead of `p` or `code` instead of `pre`.
But in this case we want a block of code, so we use `div` and inner
`<pre><code>`.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-12 10:45:58 +01:00
Carl Schwan
716513164f Merge pull request #57452 from nextcloud/fix/noid/ldap-get-displayname-backend
fix: Make User_Proxy IGetDisplayNameBackend complient
2026-01-12 10:19:10 +01:00
Benjamin Gaussorgues
e0e5cdf3e1 Merge pull request #57449 from nextcloud/feat/unstable/moving-out-of-unstable-signature 2026-01-12 09:39:21 +01:00
nextcloud-command
9e2058d199 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-12 08:38:06 +00:00
Ferdinand Thiessen
a1503481f3 fix(comments): adjust Activity integration for changed Node API
The activity app integration was changed to use the files Node API
instead of the legacy FileInfo API. So the comments app needs to be
adjusted for it.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-12 09:23:57 +01:00
Benjamin Gaussorgues
b9c3e47b82 feat(build): add .nextcloudignore file to match Krankerl behaviour
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-12 09:17:58 +01:00
Christoph Wurst
18a7369bb9 Merge pull request #57020 from abhinavohri/fix_warnings
fix: Reduce deprecation warnings in phpunit_nodb CI jobs
2026-01-12 08:58:26 +01:00
Abhinav Ohri
f89613b507 refactor(testing): Rename mock trait classes for clarity
Signed-off-by: Abhinav Ohri <abhinavohri13@gmail.com>
2026-01-12 07:59:41 +01:00
Abhinav Ohri
252956d6b2 test: fix PHPUnit deprecations and mocking issues
Signed-off-by: Abhinav Ohri <abhinavohri13@gmail.com>
2026-01-12 07:59:41 +01:00
Nextcloud bot
3e9d2fe208 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-12 00:13:44 +00:00
Nextcloud bot
7335927bed fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-11 00:13:41 +00:00
SebastianKrupinski
6ce24383c2 fix: add send participation reply on fresh event patch
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-01-10 11:35:08 -05:00
nextcloud-command
a17a4f4958 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-10 11:26:58 +01:00
Benjamin Frueh
2b97afa829 fix(settings): Display group displayName consistently when editing a user
Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>
2026-01-10 11:26:58 +01:00
Nextcloud bot
d341c2011f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-10 00:27:12 +00:00
Raphael Gradenwitz
7eea3b7742 Merge pull request #55433 from nextcloud/ernolf/enh/http2-brotli-client
perf(client): enable HTTP/2 and brotli support in internal HTTP client
2026-01-10 01:09:17 +01:00
Raphael Gradenwitz
7c526b4de3 Merge branch 'master' into ernolf/enh/http2-brotli-client 2026-01-10 00:00:47 +01:00
Maxence Lange
327d691c23 feat(signed-request): moving out of unstable
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2026-01-09 20:16:24 -01:00
Sebastian Krupinski
635e26dfdc Merge pull request #57231 from nextcloud/feat/restrict-calendar-invitation-users
feat: restrict calendar invitation participants
2026-01-09 13:42:12 -05:00
Maksim Sukharev
80f6856ce7 chore: Recompile assets
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2026-01-09 19:07:08 +01:00
Joas Schilling
2510020b33 fix: Recompile openapi
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00
Joas Schilling
927bea2b4d fix(psalm): Satisfy psalm
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00
Joas Schilling
3713f40d5b fix(app-password): Require strict password confirmation
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00
Joas Schilling
a82827dff5 feat(app-passwords): Add config to disallow creating app-passwords
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00
Joas Schilling
6c20e3e103 fix(onetime): Allow longer duration via app config
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00
Joas Schilling
bacb4323de fix: add app config to control onetime case
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00
Joas Schilling
e7d0ed2020 fix(sessions): Hide one-time app passwords
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00
Joas Schilling
6b121c37da feat: Allow to create one-time app passwords that only allow loading an app-password
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00
Marcel Müller
3b9ec2d119 feat(qrcode-login): Add QR code login option directly in the user menu
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2026-01-09 19:07:07 +01:00
Robin Appelman
c2cd236411 Merge pull request #57191 from nextcloud/dav-x-user-id
feat: also send x-user-id for dav responses
2026-01-09 18:43:36 +01:00
Marcel Müller
f870041943 fix: Make User_Proxy IGetDisplayNameBackend complient
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2026-01-09 18:31:55 +01:00
SebastianKrupinski
acfec22652 feat: restrict calendar invitation participants
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-01-09 12:07:18 -05:00
Robin Appelman
272d6141ca fix: improve handling updated storages
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:55 +01:00
Robin Appelman
be3bbf22e0 fix: better applicable check for updating external mounts
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:54 +01:00
Robin Appelman
c14948f629 test: update cypress test for new files_external mount behavior
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:54 +01:00
Robin Appelman
fa61c4c57d fix: don't error when checking login credential storage from cli
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:53 +01:00
Robin Appelman
6dd6d06606 fix: update external storage mounts on login
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:53 +01:00
Robin Appelman
9dffca2f07 fix: improve handling of unavailable storages
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:52 +01:00
Robin Appelman
73e84f9bf5 perf: cache root cache entries for external storage in MountCacheService
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:51 +01:00
Robin Appelman
d64f7eb939 feat: listen to user/group events and update external storage mounts
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:51 +01:00
Robin Appelman
5565cdb390 feat: make external storage mount provider authoritative
Signed-off-by: Robin Appelman <robin@icewind.nl>

# Conflicts:
#	apps/files_external/lib/AppInfo/Application.php
2026-01-09 17:53:50 +01:00
Robin Appelman
765d1af2a6 feat: yield user by id in IUserManager::getSeenUsers
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:49 +01:00
Robin Appelman
c80c980e29 feat: add typed events for external storage config changes
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:49 +01:00
Robin Appelman
e3551e576c feat: add api for authoritative mount providers to update the user mounts
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:48 +01:00
Robin Appelman
198d500ac6 feat: add interface to mark mount providers as authoritative
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:42 +01:00
Robin Appelman
328a4608aa Merge pull request #57454 from nextcloud/fix/session/handle-null-logger
fix(session): handle null logger
2026-01-09 17:51:04 +01:00
Christoph Wurst
7e188433a1 fix(session): handle null logger
Signed-off-by: Christoph Wurst <1374172+ChristophWurst@users.noreply.github.com>
2026-01-09 16:42:39 +01:00
Benjamin Gaussorgues
acb3e68a93 Merge pull request #56725 from nextcloud/rakekniven-patch-3 2026-01-09 14:38:37 +01:00
nextcloud-command
fbb551311e chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-09 09:24:00 +00:00
Carl Schwan
81a21fb718 refactor(entity): Don't type id
Some apps overwrite this and this breaks them.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-09 10:19:34 +01:00
rakekniven
c2ae99a668 chore(i18n): Remove strings from i18n and adapted casing
Reported at Transifex

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-09 10:13:22 +01:00
Worker Builder
8265e4b489 build(hub): 33.0.0 beta 3
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2026-01-09 08:53:57 +00:00
ernolf
932523e844 style(tests): apply cs-fixer formatting to ClientTest
Signed-off-by: ernolf <raphael.gradenwitz@googlemail.com>
2026-01-09 01:29:59 +01:00
Nextcloud bot
6fd76bfa0e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-09 00:14:00 +00:00
Raphael Gradenwitz
510c203dfe Merge branch 'master' into ernolf/enh/http2-brotli-client
Signed-off-by: Raphael Gradenwitz <39901936+ernolf@users.noreply.github.com>
2026-01-08 21:02:07 +01:00
Benjamin Gaussorgues
0514ecfb96 Merge pull request #57398 from nextcloud/release/33.0.0_beta_2 2026-01-08 17:06:21 +01:00
Benjamin Gaussorgues
91a544ef45 Merge pull request #53414 from nextcloud/fix/49584-background-worker-remove-interval 2026-01-08 15:57:05 +01:00
Louis
a0c922cc7f Merge pull request #56404 from nextcloud/share-sidebar-hide-external
feat: hide "External Shares" section if no external shares can be created
2026-01-08 14:32:11 +01:00
Côme Chilliet
2da078f258 Merge pull request #55861 from nextcloud/feat/allow-decrypt-all-with-encryption-disabled
feat(encryption): Support running decrypt-all when encryption is already disabled
2026-01-08 14:19:06 +01:00
Benjamin Gaussorgues
36b0d7c189 Merge pull request #55265 from nextcloud/perf/log-slow-dns 2026-01-08 14:06:31 +01:00
Benjamin Gaussorgues
fe34ea5ec7 Merge pull request #57407 from nextcloud/carl/fix-php-85-deprecation-image 2026-01-08 13:57:11 +01:00
Benjamin Gaussorgues
ae250777fd Merge pull request #56899 from nextcloud/feat/noid/ocm-capabilities 2026-01-08 13:46:09 +01:00
Benjamin Gaussorgues
17aa77e29f Merge pull request #57427 from nextcloud/fix/openmetrics_classes 2026-01-08 13:45:55 +01:00
Salvatore Martire
43f2470f90 fix: use interval value in JobWorker
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-01-08 13:45:11 +01:00
Joas Schilling
d5eab95414 Merge pull request #57428 from nextcloud/dependabot/composer/aws/aws-sdk-php-3.369.3
build(deps): bump aws/aws-sdk-php from 3.349.3 to 3.369.9
2026-01-08 13:40:04 +01:00
nextcloud-command
7e4c4f2f3c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-08 11:54:41 +00:00
Robin Appelman
de286709f8 feat: hide "External Shares" section if no external shares can be created
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-08 11:49:02 +00:00
Andy Scherzinger
d86975e9fa Merge pull request #56923 from nextcloud/fix/update-all
fix(settings): update all button only updates a single app
2026-01-08 12:48:34 +01:00
Joas Schilling
03adb7e184 build(deps): bump aws/aws-sdk-php from 3.349.3 to 3.369.9
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-08 11:52:50 +01:00
Kate
8eb24155c4 Merge pull request #56518 from nextcloud/jtr/feat-appmanager-cleanappid-log 2026-01-08 11:42:04 +01:00
Git'Fellow
377de23bf5 Merge pull request #57291 from nextcloud/fixTypoAdminAuditLog
fix(admin_audit) Fix typo in visibility log message
2026-01-08 11:41:45 +01:00
Louis
73dd45be4f Merge pull request #57289 from nextcloud/feature/54562/drop-mounts-on-full-or-provider-setup
Feature/54562/drop mounts on full or provider setup
2026-01-08 11:26:50 +01:00
Christoph Wurst
adf7ea5f0b perf: log slow DNS operations
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2026-01-08 11:22:15 +01:00
Christoph Wurst
cc89a2a2b8 refactor: extract slow operation logging into trait
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2026-01-08 11:22:15 +01:00
Benjamin Gaussorgues
5403284b23 Merge pull request #55293 from nextcloud/jtr/refactor-dav-quotaplugin 2026-01-08 11:18:02 +01:00
Benjamin Gaussorgues
f56f747f46 Merge pull request #57245 from nextcloud/jtr/refactor-versions-DAV-plugin 2026-01-08 11:12:50 +01:00
Benjamin Gaussorgues
7a2606b894 Merge pull request #57267 from nextcloud/jtr/refactor-trashbin-sabre-plugin 2026-01-08 11:11:37 +01:00
Joas Schilling
eb91d8671d Merge pull request #57348 from nextcloud/fix/adjust-public-page-footer-logic
fix: adjust public page footer logic
2026-01-08 11:10:07 +01:00
Benjamin Gaussorgues
1a5ad32063 fix(openmetrics): import right classes
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-08 10:39:46 +01:00
Benjamin Gaussorgues
a1fbd55992 Merge pull request #57395 from nextcloud/feat/exapp-task-proc-endpoints 2026-01-08 09:52:50 +01:00
Benjamin Gaussorgues
a6a320498b Merge pull request #55252 from nextcloud/chore/chunked_orphan_delete 2026-01-08 09:50:09 +01:00
Anupam Kumar
3e4e544096 feat(TaskProcessing): add endpoints for ExApp access without userId
Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
2026-01-08 11:36:08 +05:30
Nextcloud bot
1a7f2f878e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-08 00:13:49 +00:00
nextcloud-command
f6a783e07b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-07 19:21:14 +00:00
Thomas Lamant
7436340f4c fix: update() function does not return a Promise
Signed-off-by: Thomas Lamant <tom@tmlmt.com>
2026-01-07 19:18:29 +00:00
Thomas Lamant
58c6a8387b fix: update all button only updates a single app
Signed-off-by: Thomas Lamant <tom@tmlmt.com>
2026-01-07 19:18:29 +00:00
Maxence Lange
6af64a5495 feat(ocm): event on ocm discovery and ocm request
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2026-01-07 17:54:26 -01:00
Joas Schilling
66c8f9c4dc Merge pull request #57414 from nextcloud/bugfix/noid/clean-language
fix(l10n): Fix language selection
2026-01-07 19:05:41 +01:00
Joas Schilling
52cfd57af9 Merge pull request #57413 from nextcloud/bugfix/noid/support-native-int-range
fix(controller): Support native int ranges
2026-01-07 19:05:19 +01:00
Ferdinand Thiessen
6a75cd9454 Merge pull request #57347 from nextcloud/refactor/drop-deprecated-composable
refactor(files): migrate from deprecated `useNavigation` to `activeStore`
2026-01-07 18:06:41 +01:00
Daniel Calviño Sánchez
8e5ae53e02 Merge pull request #56938 from nextcloud/unify-handling-of-exclude-groups-in-contacts-menu-and-sharing
fix: Unify handling of exclude groups in contacts menu and sharing
2026-01-07 18:04:53 +01:00
Joas Schilling
ab122ac15d fix(l10n): Fix language selection
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 17:41:18 +01:00
Joas Schilling
f2e2e4ea21 fix(controller): Support native int ranges
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 17:36:57 +01:00
Robin Appelman
534632334c feat: add event for apps that a users share access might have changed
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-07 17:18:16 +01:00
Joas Schilling
15b45975e2 Merge pull request #57410 from nextcloud/bugfix/noid/fix-generate-id
fix(snowflake): Fix generateId() call for SnowflakeEntity
2026-01-07 17:17:33 +01:00
Salvatore Martire
2d22c4f654 fix: update information cached by mount point on rename
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-01-07 17:00:09 +01:00
Salvatore Martire
07eef5eaf4 fix: drop set up partial mounts on setupForUser
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-01-07 17:00:09 +01:00
nextcloud-command
09e0f06678 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-07 16:50:42 +01:00
Ferdinand Thiessen
47acb66b9c refactor(files): migrate from deprecated useNavigation to activeStore
Small preparation for upcoming Vue 3 migration of the files app.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-07 16:50:42 +01:00
SebastianKrupinski
6b3d3fd2d3 fix: adjust public page footer logic
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-01-07 10:16:35 -05:00
Joas Schilling
f42493bf1e Merge pull request #57409 from nextcloud/fix/ci-psalm
ci(static-code-analysis): add missing permissions to upload sarif file
2026-01-07 16:03:58 +01:00
Joas Schilling
fe393c5dbf fix(snowflake): Fix generateId() call for SnowflakeEntity
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 15:39:09 +01:00
Carl Schwan
bd815595d4 fix: Remove NOP ReflectionProperty::setAccessible calls
Doesn't do anything since PHP 8.1 and is deprecated since PHP 8.5
2026-01-07 15:23:20 +01:00
Ferdinand Thiessen
86c90221f1 ci(static-code-analysis): add missing permissions to upload sarif file
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-07 15:21:48 +01:00
Maxence Lange
0cdd19271d Merge pull request #56047 from nextcloud/feat/ocm/handle-new-ocm-endpoint
feat(ocm): handle /.well-known/ocm
2026-01-07 13:17:06 -01:00
Carl Schwan
513b37916f fix(image): Remove NOP imagedestroy call
This is NOP since 8.0 and deprecated since 8.5

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-07 15:13:07 +01:00
Joas Schilling
9e516beb85 Merge pull request #57403 from nextcloud/followup/noid/snowflake-entity
fix(snowflake): Allow SnowflakeAware to overwrite the field types
2026-01-07 15:10:09 +01:00
Joas Schilling
6b6deefee9 Merge pull request #57373 from nextcloud/carl/fix-deprecated-alias
fix: Usage of a deprecated alias
2026-01-07 14:35:32 +01:00
Joas Schilling
8d55b13641 Merge pull request #57367 from nextcloud/work/carl/psalm-unittests
refactor(psalm): Enable psalm for comments unit tests
2026-01-07 14:16:14 +01:00
Joas Schilling
2bd2cc71e5 fix(snowflake): Allow SnowflakeAware to overwrite the field types
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 14:06:18 +01:00
Joas Schilling
40b79f5af8 Merge pull request #56795 from nextcloud/feat/noid/extend-entity-to-be-snoflake-aware
feat(snowflake): extend Entity class to support snowflakes
2026-01-07 13:42:49 +01:00
Carl Schwan
6eb1609b35 fix(psalm): Fix InvalidArgument in FilesByType OpenMetrics exporter
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-07 13:22:39 +01:00
Carl Schwan
58de51160c fix(psalm): Fix return type of TokenService::getTokens
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-07 13:21:34 +01:00
Carl Schwan
a430702caa refactor(psalm): Enable psalm for comments unit tests
This is the first step to enable psalm for our test suite to find issues
also there.

At the moment, this already found some completely broken and unused
method in TestCase and prepare the way for making ICommentsManager work
with snowflake ids by using string instead of int for the ids
consistently.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-07 13:21:33 +01:00
Benjamin Gaussorgues
351351a832 Merge pull request #57371 from nextcloud/enh/noid/change-config-to-amr 2026-01-07 12:04:36 +01:00
Worker Builder
944341543e build(hub): 33.0.0 beta 2
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2026-01-07 10:53:53 +00:00
Joas Schilling
e5c989066f Merge pull request #57394 from nextcloud/bugfix/noid/theming-links
fix(settings): Allow clearing legal and privacy links
2026-01-07 11:06:33 +01:00
Benjamin Gaussorgues
62513dfd92 Merge pull request #57165 from nextcloud/feat/openmetrics 2026-01-07 10:43:56 +01:00
Joas Schilling
649e042568 fix(settings): Fix reset button for legal and privacy
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 09:45:48 +01:00
Benjamin Gaussorgues
71fa5937b2 feat(openapi): add OpenMetrics controller into OpenAPI
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-07 09:38:13 +01:00
Benjamin Gaussorgues
6ee8325b3e feat(files_sharing): add basic OpenMetrics exporter for files shares
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-07 09:38:13 +01:00
Benjamin Gaussorgues
47de164946 feat(comments): add basic OpenMetrics exporter
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-07 09:38:13 +01:00
Benjamin Gaussorgues
c57c4843e8 feat(openmetrics): introduce OpenMetrics exporter
Expose a `/metrics` endpoint with some basic metrics

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-07 09:38:13 +01:00
Joas Schilling
7c64394617 fix(settings): Allow clearing legal and privacy links
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 09:29:34 +01:00
Nextcloud bot
c09168e911 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-07 00:13:32 +00:00
Benjamin Gaussorgues
9f7d4d055e Merge pull request #57361 from nextcloud/release/33.0.0_beta_1 2026-01-06 16:56:21 +01:00
Joas Schilling
c3be0b8814 Merge pull request #57380 from nextcloud/automated/noid/master-update-code-signing-crl
[master] fix(security): Update code signing revocation list
2026-01-06 16:54:55 +01:00
nextcloud-command
1432c97584 fix(security): Update code signing revocation list
Signed-off-by: GitHub <noreply@github.com>
2026-01-06 15:38:16 +00:00
Simon L.
178fb77be8 feat(Config.php): change array_merge to array_replace_recursive when merging configs
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-06 16:03:38 +01:00
Benjamin Gaussorgues
86fe44d9f4 Merge pull request #56627 from nextcloud/fix/54953/value-is-already-team-id 2026-01-06 16:00:53 +01:00
Tobias Kaminsky
fdfaf6b363 Merge pull request #57372 from nextcloud/feat/adapt-webhook
Feat(webhook_listeners): adapt webhook payload format
2026-01-06 15:55:27 +01:00
Tobias Kaminsky
ad13a8acc7 Merge pull request #57235 from nextcloud/enh/noid/testing-ocr-provider
Add fake OCR taskprocessing provider in the testing app
2026-01-06 15:52:10 +01:00
Carl Schwan
693a2263cc fix(entity): Do not call getId when inserting and $id is null
Otherwise this breaks some existing code, in particular PublicKeyToken

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-06 15:42:03 +01:00
Jana Peper
65d44b0007 docs: adapt docblock
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2026-01-06 15:24:40 +01:00
Jana Peper
ec9cac90e0 feat: adapt webhook payload format
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2026-01-06 15:19:22 +01:00
Carl Schwan
e63c4afdab fix: Usage of a deprecated alias
The deprecated warning:

The requested alias "UserId" is deprecated. Please request "userId" directly.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-06 15:04:07 +01:00
Julien Veyssier
e1d19b2c24 feat: add fake OCR taskprocessing provider in the testing app
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-01-06 14:36:51 +01:00
Kate
72ad2edcd7 Merge pull request #57118 from nextcloud/test/delete-orphaned-files/improve-count-mounts 2026-01-06 14:36:05 +01:00
Robin Appelman
72632faaf1 Merge pull request #57284 from nextcloud/allow-cross-share-move-delete
fix: allow moving from of non-resharable to other share if the user has delete permissions
2026-01-06 14:23:51 +01:00
Côme Chilliet
ebab99ec9a Merge pull request #56779 from nextcloud/jtr/needUpgrade-refactor
feat: improve needUpgrade() output and refactor for clarity
2026-01-06 14:04:13 +01:00
Côme Chilliet
e6ac79d570 Merge branch 'master' into carl/dashboard-psalm
Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2026-01-06 13:07:32 +01:00
Carl Schwan
7c1a8a4060 feat: Adapt a bit the snowflake ids API
- Rename setId() -> generateId() in SnowflakeAwareEntity

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-06 12:57:17 +01:00
Anna Larch
5f797ebc32 refactor: move existing usages of snoflake IDs SnowflakeAwareEntity
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-01-06 12:57:17 +01:00
Anna Larch
a100ede789 feat: extend Entity and adjust QBMapper to support Snowflake IDs
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-01-06 12:57:17 +01:00
Anna Larch
f546daada7 refactor: Rename Snowflake Generator and Decoder
And introduce the Snowflake DTO

Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-01-06 12:57:04 +01:00
Côme Chilliet
c32009fd32 Merge pull request #57145 from nextcloud/carl/psalm-dav
refactor(dav): fix psalm for dav endpoints
2026-01-06 12:47:29 +01:00
Benjamin Gaussorgues
72be2f41b3 Merge pull request #57099 from nextcloud/carl/fix-32-bits-job-tests 2026-01-06 11:59:28 +01:00
Worker Builder
758a9c26db build(hub): 33.0.0 beta 1
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2026-01-06 10:34:50 +00:00
Ferdinand Thiessen
0c6565ea44 fix(birthday-service): Fix on 32 bits system
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-06 10:44:47 +01:00
Carl Schwan
33e5f2d345 fix(background-jobs): Fix unit tests with 32-bits tests
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-01-06 10:44:21 +01:00
Joda Stößer
16d8cc065a fix(NavigationManager): Remove break to return all defaultEntryIds
Otherwise only the first entry id is returned, breaking loading the value for the "Global Default App" option

Signed-off-by: Joda Stößer <git@simjo.st>
2026-01-06 02:41:37 +01:00
Nextcloud bot
0a3cc4dd6f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-06 00:13:48 +00:00
Ferdinand Thiessen
c6b095234e Merge pull request #57236 from nextcloud/refactor/profile-vue3-ts
refactor(profile): migrate to script setup and Vue 3
2026-01-05 22:52:49 +01:00
Ferdinand Thiessen
f9d4bb2ba8 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 22:21:43 +01:00
Ferdinand Thiessen
ad61aa7a30 refactor(profile): migrate to script setup and Vue 3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 22:16:48 +01:00
Ferdinand Thiessen
8cc588fc42 Merge pull request #57341 from nextcloud/refactor/federation-vue3
refactor(federation): migrate app frontend (admin settings) to Vue 3
2026-01-05 20:07:18 +01:00
nextcloud-command
35bfa1d2f0 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-05 17:16:35 +00:00
Ferdinand Thiessen
5d3e1f70b2 refactor(federation): migrate app frontend (admin settings) to Vue 3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 18:08:29 +01:00
Robin Appelman
8a05a3e01b Merge pull request #57186 from nextcloud/perbucket-without-multibucket
feat: don't gate perBucket object store configuration behind multibucket
2026-01-05 16:49:16 +01:00
Robin Appelman
afa23291d6 feat: don't gate perBucket object store configuration behind multibucket
a setup can have multiple bucket without having `multibucket` enabled trough things like per-groupfolder buckets

Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-05 16:09:25 +01:00
Ferdinand Thiessen
c50c5a9e6b Merge pull request #57277 from nextcloud/refactor/files-sidebar-nodeapi
refactor!: migrate files sidebar to Node API
2026-01-05 13:38:26 +01:00
Maxence Lange
eb0369705a Merge pull request #56240 from nextcloud/fix/noid/set-adr-book-local-but-not-system
fix(contacts): allow address book to be local but not system
2026-01-05 09:55:42 -01:00
Joas Schilling
fe0c56a1d7 Merge pull request #57332 from nextcloud/jtr/chore-drop-10n-xgettextfiles
chore(l10n): drop unused xgettextfiles
2026-01-05 10:00:42 +01:00
Ferdinand Thiessen
98a4b959ec chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 02:23:41 +01:00
Ferdinand Thiessen
fd96a32dda test: adjust cypress tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 02:23:30 +01:00
Ferdinand Thiessen
3726596ad0 refactor(systemtags): migrate to new files sidebar API
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 02:23:15 +01:00
Ferdinand Thiessen
f9a137ea87 refactor(files): migrate favorite sidebar action to new Sidebar API
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 02:23:15 +01:00
Ferdinand Thiessen
7077685bf8 refactor(files_sharing): migrate to new Files Sidebar API
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 02:23:15 +01:00
Ferdinand Thiessen
34511e9036 refactor(comments): migrate to new Files Sidebar API
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 02:23:15 +01:00
Ferdinand Thiessen
493c371a22 refactor(files_versions): adjust frontend for new files sidebar API
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 02:23:15 +01:00
Ferdinand Thiessen
4a9cdeb01f refactor!(files): migrate sidebar API to use Node API
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-05 02:23:15 +01:00
Nextcloud bot
7abd46fb53 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-05 00:13:26 +00:00
Ferdinand Thiessen
fb18804192 chore(deps): update @nextcloud/files to v4.0.0-beta.8
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-04 22:30:12 +01:00
github-actions[bot]
513c0cceb6 Merge pull request #57320 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/files-4.0.0-beta.8
build(deps): bump @nextcloud/files from 4.0.0-beta.7 to 4.0.0-beta.8 in /build/frontend-legacy
2026-01-04 08:29:45 +00:00
Josh
867a8d1088 chore(l10n): drop unused xgettextfiles
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-01-03 20:32:45 -05:00
Nextcloud bot
56658fc3ef fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-04 00:13:41 +00:00
nextcloud-command
dc5d199e3a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-03 20:41:28 +00:00
dependabot[bot]
41c739d370 build(deps): bump @nextcloud/files in /build/frontend-legacy
Bumps [@nextcloud/files](https://github.com/nextcloud-libraries/nextcloud-files) from 4.0.0-beta.7 to 4.0.0-beta.8.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-files/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-files/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-files/compare/v4.0.0-beta.7...v4.0.0-beta.8)

---
updated-dependencies:
- dependency-name: "@nextcloud/files"
  dependency-version: 4.0.0-beta.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-03 21:33:05 +01:00
github-actions[bot]
68149e01cb Merge pull request #57319 from nextcloud/dependabot/npm_and_yarn/nextcloud/files-4.0.0-beta.8
build(deps): bump @nextcloud/files from 4.0.0-beta.7 to 4.0.0-beta.8
2026-01-03 21:32:35 +01:00
nextcloud-command
44216b36e4 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-03 19:55:53 +00:00
dependabot[bot]
68b8e2662d build(deps): bump @nextcloud/files from 4.0.0-beta.7 to 4.0.0-beta.8
Bumps [@nextcloud/files](https://github.com/nextcloud-libraries/nextcloud-files) from 4.0.0-beta.7 to 4.0.0-beta.8.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-files/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-files/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-files/compare/v4.0.0-beta.7...v4.0.0-beta.8)

---
updated-dependencies:
- dependency-name: "@nextcloud/files"
  dependency-version: 4.0.0-beta.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-03 20:47:39 +01:00
github-actions[bot]
bc2bdeeac5 Merge pull request #57305 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/multi-c8afcbbcd8
build(deps): bump qs and express in /build/frontend-legacy
2026-01-03 19:34:16 +00:00
Nextcloud bot
a6bcb18db9 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-03 00:13:31 +00:00
Andy Scherzinger
cbaf6e73a5 Merge pull request #53634 from invario/preview-direct-download
feat(previews): allow ffmpeg to connect direct for AWS S3 buckets
2026-01-02 18:39:42 +01:00
Carl Schwan
98192fc17c feat(external-s3): Expose config option to enable direct s3 preview
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-02 17:13:43 +01:00
Carl Schwan
2ea1bd4cdc feat(movie-preview): Use getDirectDownloadById for generating preview
Allow to speed-up considerably the creation of previews for movies
stored on S3.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-02 17:13:41 +01:00
Robin Appelman
3580680f8f Merge pull request #56166 from nextcloud/dav-file-get-log-id
feat: add fileid to exception message when reading a dav file fails
2026-01-02 15:30:22 +01:00
Carl Schwan
1b12fd0df3 Merge pull request #57308 from nextcloud/jtr/fix-installer-isDownloaded-robustness
fix(installer): make isDownloaded robust + unify parameter naming
2026-01-02 15:07:45 +01:00
Stephan Orbaugh
97ba753e09 Merge pull request #57230 from nextcloud/fix/inodebypath-forbidden-responses
fix: drop readable check
2026-01-02 11:07:45 +01:00
invario
ffe91b48dc feat(previews): allow ffmpeg to connect direct for AWS S3 buckets
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: invario <67800603+invario@users.noreply.github.com>
2026-01-02 10:48:39 +01:00
nextcloud-command
9fed6d849a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-01-02 09:47:55 +00:00
Josh
30f2932817 chore: make lint happy about isDownloaded concat
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-01-01 11:49:02 -05:00
Josh
a46f3bd21c fix(installer): make isDownloaded robust + unify parameter naming
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-01-01 11:42:54 -05:00
dependabot[bot]
a1ab869381 build(deps): bump qs and express in /build/frontend-legacy
Bumps [qs](https://github.com/ljharb/qs) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together.

Updates `qs` from 6.14.0 to 6.14.1
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.14.0...v6.14.1)

Updates `express` from 4.21.2 to 4.22.1
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/v4.22.1/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.21.2...v4.22.1)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.14.1
  dependency-type: indirect
- dependency-name: express
  dependency-version: 4.22.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-01 13:35:19 +00:00
Nextcloud bot
7baca4264a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-01 00:13:23 +00:00
Josh
24ec0e85e5 feat(AppManager): log when cleanAppId drops invalid chars
Log a debug message if invalid characters are replaced in app IDs.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-31 14:30:05 -05:00
Robin Appelman
d21fa1c0b5 feat: add fileid to exception message when reading a dav file fails
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-31 14:06:46 +01:00
Kate
6a2e0f819c Merge pull request #52442 from nextcloud/ext-store-check-update-filter 2025-12-31 12:50:59 +01:00
Robin Appelman
047ff27e46 test: add tests for watcher check filter
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-31 12:23:04 +01:00
Robin Appelman
4720c39048 fix: use interfaces instead of classes in Cache\Watcher type hints
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-31 12:23:04 +01:00
Robin Appelman
5c625b7a07 feat: add an option to filter what paths get checked for updates
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-31 12:23:04 +01:00
Nextcloud bot
b33fdaf085 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-31 00:14:02 +00:00
Andy Scherzinger
d40263b2aa Merge pull request #57285 from nextcloud/feature/54562/support-partial-share-providers
feat: introduce API for partial share providers
2025-12-30 19:25:16 +01:00
Salvatore Martire
a449af6460 feat: introduce API for partial share providers
Adds support for retrieval of shares by path

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-30 16:43:09 +01:00
Salvatore Martire
ed6d0e59bb Merge pull request #57286 from nextcloud/fix/54562/add-forchildren-to-setupforpath
fix: add $forChildren parameter to IPartialMountProvider
2025-12-30 16:37:50 +01:00
Robin Appelman
c614a13d4b Merge pull request #57158 from nextcloud/users-for-share
feat: add api to get users for share
2025-12-30 14:24:10 +01:00
Andy Scherzinger
32327c6285 Merge pull request #56773 from nextcloud/carl/remove-sciencemesh
refactor(share): Remove code related to science mesh integration
2025-12-30 14:18:53 +01:00
Maksim Sukharev
752d90c57c Merge pull request #57233 from nextcloud/bugfix/prevent_admin_group_subadmin 2025-12-30 13:26:15 +01:00
nextcloud-command
a31d42d47a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-12-30 10:44:10 +00:00
Arsalan Ul Haq Sohni
c81422ed37 fix(NewUserDialog): update group selection to prevent admin group from being assigned as subadmin
Signed-off-by: Arsalan Ul Haq Sohni <arsalan-ul-haq.sohni@strato.de>
2025-12-30 11:33:28 +01:00
Git'Fellow
eafbb5a23c fix(admin_audit): Fix typo in visibility log message
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-12-30 10:09:08 +01:00
Salvatore Martire
6e9ba894a2 fix: add $forChildren parameter to IPartialMountProvider
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-29 18:06:12 +01:00
Robin Appelman
8cfb49012d test: update cross-share move tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-29 17:39:44 +01:00
Robin Appelman
39c8141f0c fix: allow moving from of non-resharable to other share if the user has delete permissions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-29 17:39:43 +01:00
Nextcloud bot
4283f4790b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-29 00:13:35 +00:00
github-actions[bot]
3945981f0d Merge pull request #57251 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/msw-2.12.6
build(deps-dev): bump msw from 2.12.4 to 2.12.6 in /build/frontend-legacy
2025-12-28 09:41:37 +00:00
Nextcloud bot
5d05c8d61e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-28 00:13:28 +00:00
github-actions[bot]
25ee57fc60 Merge pull request #57246 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.3.0
build(deps-dev): bump rector/rector from 2.2.14 to 2.3.0 in /vendor-bin/rector
2025-12-27 19:05:49 +01:00
github-actions[bot]
e90c114730 Merge pull request #57248 from nextcloud/dependabot/npm_and_yarn/jsdom-27.4.0
build(deps-dev): bump jsdom from 27.3.0 to 27.4.0
2025-12-27 18:49:43 +01:00
Joas Schilling
41feb5d29d Merge pull request #57262 from nextcloud/automated/noid/master-update-code-signing-crl
[master] fix(security): Update code signing revocation list
2025-12-27 12:45:34 +01:00
Josh
5c51b42d3f test(trashbin): Update DAV quotaProvider test cases
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-27 00:40:55 -05:00
Josh
80caedb050 chore: php-cs fixup
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-27 00:30:19 -05:00
Josh
853db93601 chore: typo fixup
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-27 00:26:11 -05:00
Josh
355d6637ff refactor(trashbin): restyle DAV handlers, enhance internal docs, refactor for clarity & robustness
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-27 00:07:19 -05:00
nextcloud-command
06d99eba17 fix(security): Update code signing revocation list
Signed-off-by: GitHub <noreply@github.com>
2025-12-27 02:53:11 +00:00
dependabot[bot]
6f6c655b46 build(deps-dev): bump msw in /build/frontend-legacy
Bumps [msw](https://github.com/mswjs/msw) from 2.12.4 to 2.12.6.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mswjs/msw/compare/v2.12.4...v2.12.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-27 02:14:45 +00:00
dependabot[bot]
0c4bc3e495 build(deps-dev): bump jsdom from 27.3.0 to 27.4.0
Bumps [jsdom](https://github.com/jsdom/jsdom) from 27.3.0 to 27.4.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/27.3.0...27.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-27 02:14:16 +00:00
dependabot[bot]
b307db6b19 build(deps-dev): bump rector/rector in /vendor-bin/rector
Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.2.14 to 2.3.0.
- [Release notes](https://github.com/rectorphp/rector/releases)
- [Commits](https://github.com/rectorphp/rector/compare/2.2.14...2.3.0)

---
updated-dependencies:
- dependency-name: rector/rector
  dependency-version: 2.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-27 02:08:27 +00:00
Nextcloud bot
d79cf95ece fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-27 00:13:32 +00:00
Josh
183136d166 chore: Fix comments and formatting in Plugin.php
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-26 19:07:13 -05:00
Josh
b872208285 refactor(files_versions): tidy up UA download header logic and modernize class structure
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-26 18:56:56 -05:00
Nextcloud bot
a366ec367a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-12-26 00:13:26 +00:00
yemkareems
9ed9a317f5 fix: added Test\TestCase namespace for failing tests
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-12-24 12:01:13 +05:30
yemkareems
674381e8c1 fix: php cs fix run
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-12-24 11:23:19 +05:30
yemkareems
bbbbc4de22 fix: offsets corrected, test added to have exact count when time is frozen and variable count when time is dynamic
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-12-24 11:16:43 +05:30
Salvatore Martire
678bf538bf fix: drop readable check
This check was introduced in a previous PR, causing disruptive
changes in PROPFIND responses in some cases.

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-22 18:48:10 +01:00
Robin Appelman
bbabf50984 feat: add api to get users for share
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-22 15:34:23 +01:00
Maxence Lange
b28176458d fix(contacts): not contact, not local
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-12-22 12:36:33 -01:00
Robin Appelman
69249a3ce3 feat: also send x-user-id for dav responses
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-19 18:20:01 +01:00
Git'Fellow
3593256e3d chore: Change preview image in README.md
Use a more up-to-date image (the same from the Nextcloud repo for consistency)

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-12-18 08:36:02 +01:00
Carl Schwan
3555e00754 refactor(dav): fix psalm for dav endpoints
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-17 15:09:48 +01:00
Carl Schwan
6111ecefbc refactor(dashboard): Fix all psalm issues
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-17 14:58:47 +01:00
Côme Chilliet
c11cc64470 chore: update psalm baseline
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-16 11:09:46 +01:00
Côme Chilliet
a6184661bd feat(encryption): Support running decrypt-all when encryption is already disabled
This was an arbitrary limitation since the first thing the command does
 is disabling encryption anyway, it makes little sence to force the admin
 to enable encryption first.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-16 11:09:46 +01:00
Maxence Lange
981e987bd0 fix(team-manager): team is already teamid
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-12-16 08:56:46 -01:00
provokateurin
f9157c85c2 test(DeleteOrphanedFilesTest): Improve counting mounts
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-16 09:11:27 +01:00
Daniel Calviño Sánchez
fbe2023d39 fix: Unify handling of exclude groups in contacts menu and sharing
If the current user belongs to both one or more groups excluded from
sharing and one or more groups not excluded from sharing the user is
allowed to share. However, in the contacts menu, as soon as the current
user belonged to a group excluded from sharing the user could not search
for local contacts. This has been unified now with the sharing
behaviour, so local contacts can still be searched if the user also
belongs to a group not excluded from sharing (or to no group at all,
which was also allowed before).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-09 19:16:59 +01:00
Daniel Calviño Sánchez
d59d8db1d6 test: Add unit test for excluded groups in contacts menu
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-09 19:16:59 +01:00
Daniel Calviño Sánchez
694651de3a test: Adjust unit test name to better reflect its behaviour
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-09 19:16:59 +01:00
Daniel Calviño Sánchez
70ed393b34 test: Add integration tests for excluded groups in contacts and sharees
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-09 19:16:59 +01:00
Carl Schwan
cc7655136c refactor(share): Remove code related to science mesh integration
The app was not updated for the past 2 years.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-03 14:11:58 +01:00
Josh
3de06a2b33 chore: lint happiness
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-01 12:26:03 -05:00
Josh
d3432482cc feat: improve needUpgrade() output and refactor for clarity
- Reorganized logic to improve clarity + eliminate duplication
- Switched app handling to non-deprecated IAppManager API
- Make the HintException clearer and more actionable
- Log disallowed downgrade attempts before throwing

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-01 12:10:52 -05:00
Maxence Lange
e456f116b8 feat(ocm): handle /well-known/ocm
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-11-07 08:55:16 -01:00
ernolf
b6ea2bc0f5 refactor(http-client): use direct HTTP/2 cURL hint and align tests
Signed-off-by: ernolf <raphael.gradenwitz@googlemail.com>
2025-10-22 12:17:17 +02:00
ernolf
65aa731ef3 test: add unit test for Accept-Encoding with Brotli support
Signed-off-by: ernolf <raphael.gradenwitz@googlemail.com>
2025-09-30 18:01:38 +02:00
ernolf
812f12ecc4 perf(client): enable HTTP/2 and brotli support in internal HTTP client
- Prefer HTTP/2 by setting RequestOptions::VERSION => "2.0" so clients
  that respect PSR-7 request version will prefer HTTP/2.
- Add a curl hint (CURLOPT_HTTP_VERSION) to prefer HTTP/2 via ALPN
  (CURL_HTTP_VERSION_2TLS or CURL_HTTP_VERSION_2_0 fallback) while allowing
  automatic fallback to HTTP/1.1.
- Advertise Brotli ("br") in Accept-Encoding when the php-brotli extension
  is available (detected via function_exists('brotli_uncompress')), otherwise
  fall back to gzip.

Notes:
- The PSR-7 request version is used as a hint for HTTP client libraries;
  setting the version to "2.0" signals a preference for HTTP/2 at the request
  abstraction level.
- The curl option is defensive: it prefers HTTP/2 where libcurl supports it
  (via ALPN), but will not break on older libcurl/builds (uses defined()).

Compatibility:
- Fully backwards compatible: if the php-brotli extension is not present,
  no Brotli usage will occur and behaviour remains equivalent to previous
  (gzip).

Signed-off-by: ernolf <raphael.gradenwitz@googlemail.com>
2025-09-30 17:01:07 +02:00
yemkareems
2ba3766bef Merge branch 'master' into fix/unit-test-for-storage-auto-expire-list 2025-09-30 17:58:16 +05:30
yemkareems
fbd99cef8f fix: since removed and copy right text changed
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-09-29 17:03:05 +05:30
Josh
a9b17a1a16 chore: Add OCP\Util import
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-26 13:42:47 -04:00
Josh
5f5bb77bf3 fix: Update QuotaPlugin to handle 32-bit numeric lengths correctly
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-26 13:40:59 -04:00
Josh
fbe5238d7f fix: review input
Co-authored-by: Carl Schwan <carl@carlschwan.eu>
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-26 13:17:47 -04:00
Josh
cc96a16df5 fix: Apply suggestions from code review
Co-authored-by: Carl Schwan <carl@carlschwan.eu>
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-26 13:11:51 -04:00
Josh
04f30cad62 chore: drop buildFileViewMock cast and give it a docblock
Updated the buildFileViewMock method to accept int, float, or false as quota type.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-24 20:53:57 -04:00
Josh
23546013e1 fix(dav): test hint time in buildFileViewMock method wrong
Doesn't match current interface.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-24 20:46:39 -04:00
Josh
45eb87ba6e chore: Change methods back to public for tests
Tagged with \@internal instead for now.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-24 18:32:54 -04:00
Josh
01e0ca7298 chore: lint compliance :)
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-24 18:21:49 -04:00
Josh
3bb5ed502a refactor(dav): Clean up QuotaPlugin and add new hints
Add new hints and improve documentation for the QuotaPlugin. This commit also removes unused code and tidies up some code, which improves readability and simplifies maintenance, without introducing breaking changes.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-24 18:13:48 -04:00
Benjamin Gaussorgues
13bfd8b292 chore: add chunked queries on occ sharing:delete-orphan-shares
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-09-22 11:12:06 +02:00
yemkareems
4914b4aff3 fix: added test to assert auto expire list preserve's version as per max_versions_per_interval
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-08-28 17:09:55 +05:30
4481 changed files with 96265 additions and 84751 deletions

View File

@@ -71,9 +71,8 @@ body:
Select Nextcloud Server version.
_Versions not listed here are not maintained and not supported anymore_
options:
- "30"
- "31"
- "32"
- "33"
- "master"
validations:
required: true
@@ -96,6 +95,7 @@ body:
Select PHP engine version serving Nextcloud Server.
_Describe in the "Additional info" section if you chose "Other"._
options:
- "PHP 8.5"
- "PHP 8.4"
- "PHP 8.3"
- "PHP 8.2"

View File

@@ -21,7 +21,7 @@ updates:
- package-ecosystem: composer
directories:
- "/"
- "/build/integration"
- "/vendor-bin/behat"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
@@ -64,9 +64,10 @@ updates:
- "@vitest/*"
# Latest stable release
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable32
target-branch: stable33
directories:
- "/"
- "/vendor-bin/behat"
@@ -74,6 +75,7 @@ updates:
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
- "/vendor-bin/rector"
schedule:
interval: weekly
day: saturday
@@ -87,11 +89,13 @@ updates:
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# Latest stable branch
# frontend dependencies
- package-ecosystem: npm
target-branch: stable32
directory: "/"
target-branch: stable33
directories:
- "/"
- "/build/frontend"
- "/build/frontend-legacy"
schedule:
interval: weekly
day: saturday
@@ -103,6 +107,15 @@ updates:
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
groups:
vite:
patterns:
- "vite"
- "@nextcloud/vite-config"
vitest:
patterns:
- "vitest"
- "@vitest/*"
ignore:
# no major updates on stable branches
- dependency-name: "*"
@@ -110,6 +123,49 @@ updates:
# Older stable releases
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable32
directories:
- "/"
- "/vendor-bin/behat"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
schedule:
interval: weekly
day: saturday
time: "04:30"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
ignore:
# only patch updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# frontend dependencies
- package-ecosystem: npm
target-branch: stable32
directory: "/"
schedule:
interval: weekly
day: saturday
time: "04:30"
timezone: Europe/Paris
open-pull-requests-limit: 20
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
ignore:
# no major updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major"]
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable31

View File

@@ -52,13 +52,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
@@ -81,13 +82,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite

View File

@@ -31,7 +31,7 @@ jobs:
- 'version.php'
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

View File

@@ -27,10 +27,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: webiny/action-conventional-commits@8bc41ff4e7d423d56fa4905f6ff79209a78776c7 # v1.3.0
- uses: webiny/action-conventional-commits@faccb24fc2550dd15c0390d944379d2d8ed9690e # v1.3.1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -32,18 +32,18 @@ jobs:
build-mode: none
steps:
- name: Checkout repository
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Initialize CodeQL
uses: github/codeql-action/init@fdbfb4d2750291e159f0156def62b853c2798ca2 # v4.31.5
uses: github/codeql-action/init@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v4.32.0
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql-config.yml
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@fdbfb4d2750291e159f0156def62b853c2798ca2 # v4.31.5
uses: github/codeql-action/analyze@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v4.32.0
with:
category: "/language:${{matrix.language}}"

View File

@@ -103,7 +103,7 @@ jobs:
key: git-repo
- name: Checkout ${{ needs.init.outputs.head_ref }}
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
# Needed to allow force push later
persist-credentials: true
@@ -124,7 +124,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.package-engines-versions.outputs.nodeVersion }}
cache: npm

View File

@@ -38,7 +38,7 @@ jobs:
id: comment-branch
- name: Checkout ${{ steps.comment-branch.outputs.head_ref }}
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
fetch-depth: 0

View File

@@ -48,7 +48,7 @@ jobs:
exit 1
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
# We need to checkout submodules for 3rdparty
@@ -72,7 +72,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -107,7 +107,7 @@ jobs:
services:
mysql:
# Only start mysql if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-mysql-8.4:latest' || ''}}
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-mysql-8.4:latest' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '3306/tcp'
env:
@@ -119,7 +119,7 @@ jobs:
mariadb:
# Only start mariadb if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'mariadb:11.4' || ''}}
image: ${{matrix.containers == 'setup' && 'mariadb:11.4' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '3306/tcp'
env:
@@ -131,7 +131,7 @@ jobs:
postgres:
# Only start postgres if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-postgres-17:latest' || ''}}
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-postgres-17:latest' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '5432/tcp'
env:
@@ -142,7 +142,7 @@ jobs:
oracle:
# Only start oracle if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/gvenzl/oracle-free:23' || ''}}
image: ${{matrix.containers == 'setup' && 'ghcr.io/gvenzl/oracle-free:23' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '1521'
env:
@@ -160,7 +160,7 @@ jobs:
path: ./
- name: Set up node ${{ needs.init.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ needs.init.outputs.nodeVersion }}
@@ -171,7 +171,7 @@ jobs:
run: ./node_modules/cypress/bin/cypress install
- name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
uses: cypress-io/github-action@7ef72e250a9e564efb4ed4c2433971ada4cc38b4 # v6.10.4
uses: cypress-io/github-action@0f330ebf0d60f87608ed72f1d6232e5644aa3171 # v7.1.1
with:
# We already installed the dependencies in the init job
install: false
@@ -195,7 +195,7 @@ jobs:
SETUP_TESTING: ${{ matrix.containers == 'setup' && 'true' || '' }}
- name: Upload snapshots and videos
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
if: always()
with:
name: snapshots_${{ matrix.containers }}
@@ -218,7 +218,7 @@ jobs:
run: docker exec nextcloud-e2e-test-server_${{ env.APP_NAME }} tar -cvjf - data > data.tar
- name: Upload data archive
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
if: failure() && matrix.containers != 'component'
with:
name: nc_data_${{ matrix.containers }}

View File

@@ -29,12 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-ftp:
runs-on: ubuntu-latest
@@ -55,7 +65,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
@@ -71,7 +81,8 @@ jobs:
if [[ "${{ matrix.ftpd }}" == 'pure-ftpd' ]]; then docker run --name ftp -d --net host -e "PUBLICHOST=localhost" -e FTP_USER_NAME=test -e FTP_USER_PASS=test -e FTP_USER_HOME=/home/test -v /tmp/ftp:/home/test -v /tmp/ftp:/etc/pure-ftpd/passwd stilliard/pure-ftpd; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -104,14 +115,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-ftp
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-ftp

View File

@@ -29,12 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-s3-minio:
runs-on: ubuntu-latest
@@ -64,13 +74,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -104,14 +115,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-s3
@@ -152,13 +163,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -185,14 +197,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-s3

View File

@@ -29,12 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-sftp:
runs-on: ubuntu-latest
@@ -55,7 +65,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
@@ -67,7 +77,8 @@ jobs:
if [[ '${{ matrix.sftpd }}' == 'openssh' ]]; then docker run -p 2222:22 --name sftp -d -v /tmp/sftp:/home/test atmoz/sftp 'test:test:::data'; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -93,14 +104,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-sftp
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-sftp

View File

@@ -29,12 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-smb-kerberos:
runs-on: ubuntu-latest
@@ -46,13 +56,13 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Checkout user_saml
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/user_saml
@@ -107,7 +117,7 @@ jobs:
echo "$FILEPATH:"
docker exec --user 33 apache cat $FILEPATH
sftp-summary:
smb-kerberos-sso-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-smb-kerberos]

View File

@@ -29,12 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-smb:
runs-on: ubuntu-latest
@@ -53,19 +63,26 @@ jobs:
services:
samba:
image: ghcr.io/nextcloud/continuous-integration-samba:latest # zizmor: ignore[unpinned-images]
image: ghcr.io/servercontainers/samba:smbd-only-a3.18.0-s4.18.2-r0
env:
ACCOUNT_test: test
UID_test: 1000
SAMBA_VOLUME_CONFIG_test: "[public]; path=/tmp; valid users = test; guest ok = no; read only = no; browseable = yes"
options: >-
--health-cmd=true
ports:
- 445:445
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -99,14 +116,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-smb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-smb

View File

@@ -29,12 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-webdav-apache:
runs-on: ubuntu-latest
@@ -60,13 +70,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -97,14 +108,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-webdav
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-webdav

View File

@@ -29,11 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-generic:
runs-on: ubuntu-latest
@@ -53,13 +64,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -85,14 +97,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-generic
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-generic

View File

@@ -24,14 +24,14 @@ jobs:
require: write
- name: Checkout github_helper
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/github_helper
path: github_helper
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
path: server
@@ -73,7 +73,8 @@ jobs:
fi
- name: Set up php 8.2
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: 8.2
coverage: none

View File

@@ -53,13 +53,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -70,7 +71,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Python
uses: LizardByte/actions/actions/setup_python@329b1bcefe1cbe1ef289177471c9f2b2af98e6ca # v2025.1028.23217
uses: LizardByte/actions/actions/setup_python@09a6e10dc8175f2933c20bdf35fde0a193a9c00e # v2026.129.194351
with:
python-version: '2.7'

View File

@@ -52,13 +52,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation

View File

@@ -27,14 +27,23 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/*.php'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- 'build/integration/**'
- '.php-cs-fixer.dist.php'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'build/integration/**'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
integration-s3-primary:
runs-on: ubuntu-latest
@@ -67,13 +76,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation

View File

@@ -97,14 +97,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Checkout Talk app
if: ${{ matrix.test-suite == 'videoverification_features' }}
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/spreed
@@ -113,7 +113,7 @@ jobs:
- name: Checkout Activity app
if: ${{ matrix.test-suite == 'sharing_features' }}
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/activity
@@ -121,7 +121,8 @@ jobs:
ref: ${{ matrix.activity-versions }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation

View File

@@ -56,7 +56,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
@@ -68,7 +68,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View File

@@ -48,12 +48,13 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: 8.2
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite

View File

@@ -53,12 +53,13 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite

View File

@@ -25,7 +25,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
@@ -37,7 +37,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View File

@@ -59,7 +59,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
@@ -71,7 +71,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View File

@@ -58,7 +58,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
@@ -70,7 +70,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -90,7 +90,7 @@ jobs:
run: npm run test:coverage
- name: Collect coverage
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./coverage/lcov.info,./coverage/legacy/lcov.info

View File

@@ -56,7 +56,7 @@ jobs:
name: NPM build
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
@@ -68,7 +68,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View File

@@ -26,6 +26,7 @@ jobs:
matrix:
branches:
- ${{ github.event.repository.default_branch }}
- 'stable33'
- 'stable32'
- 'stable31'
@@ -34,7 +35,7 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
ref: ${{ matrix.branches }}
@@ -48,7 +49,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -69,7 +70,7 @@ jobs:
- name: Create Pull Request
if: steps.checkout.outcome == 'success'
uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412 # v7.0.9
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(deps): Fix npm audit'

View File

@@ -29,16 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
azure-primary-tests:
runs-on: ubuntu-latest
@@ -52,7 +58,7 @@ jobs:
php-versions: ['8.2', '8.3']
include:
- php-versions: '8.4'
coverage: true
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-azure
@@ -73,13 +79,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -110,14 +117,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-azure
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-azure

View File

@@ -29,16 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
s3-primary-tests-minio:
runs-on: ubuntu-latest
@@ -52,7 +58,7 @@ jobs:
php-versions: ['8.2']
include:
- php-versions: '8.3'
coverage: true
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-s3
@@ -74,13 +80,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -116,14 +123,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-s3

View File

@@ -29,16 +29,22 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
swift-primary-tests:
runs-on: ubuntu-latest
@@ -52,7 +58,7 @@ jobs:
php-versions: ['8.2']
include:
- php-versions: '8.3'
coverage: true
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-swift
@@ -71,13 +77,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -106,14 +113,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-swift
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-swift

View File

@@ -26,12 +26,13 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: '8.2'
extensions: ctype, curl, dom, fileinfo, gd, json, libxml, mbstring, openssl, pcntl, pdo, posix, session, simplexml, xml, xmlreader, xmlwriter, zip, zlib

View File

@@ -35,14 +35,15 @@ jobs:
exit 1
- name: Checkout server before PR
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
ref: ${{ github.event.pull_request.base.ref }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
@@ -98,7 +99,7 @@ jobs:
- name: Upload profiles
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
with:
name: profiles
path: |

View File

@@ -33,7 +33,7 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true

View File

@@ -60,13 +60,13 @@ jobs:
fail-fast: false
matrix:
php-versions: ['8.2']
mariadb-versions: ['10.6', '10.11', '11.4', '11.8']
mariadb-versions: ['10.6']
include:
- php-versions: '8.3'
mariadb-versions: '10.11'
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
mariadb-versions: '11.8'
mariadb-versions: '11.4'
- php-versions: '8.5'
mariadb-versions: '11.8'
@@ -92,13 +92,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -131,14 +132,14 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-mariadb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-mariadb

View File

@@ -72,13 +72,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -103,14 +104,14 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-memcached
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-memcached

View File

@@ -121,13 +121,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -161,14 +162,14 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-mysql
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-mysql

View File

@@ -60,7 +60,7 @@ jobs:
fail-fast: false
matrix:
php-versions: ['8.2']
mysql-versions: ['8.0', '8.4']
mysql-versions: ['8.0']
include:
- mysql-versions: '8.0'
php-versions: '8.3'
@@ -92,13 +92,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -131,14 +132,14 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-mysql
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-mysql

View File

@@ -75,13 +75,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -109,14 +110,14 @@ jobs:
- name: Upload nodb code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.nodb.xml
flags: phpunit-nodb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-nodb

View File

@@ -72,13 +72,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite

View File

@@ -64,8 +64,6 @@ jobs:
php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
- oracle-versions: '21'
php-versions: '8.2'
- oracle-versions: '23'
php-versions: '8.3'
- oracle-versions: '23'
php-versions: '8.4'
@@ -101,13 +99,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -133,14 +132,14 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-oci
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-oci

View File

@@ -61,7 +61,7 @@ jobs:
matrix:
php-versions: ['8.2']
# To keep the matrix smaller we ignore PostgreSQL versions in between as we already test the minimum and the maximum
postgres-versions: ['14', '18']
postgres-versions: ['14']
include:
- php-versions: '8.3'
postgres-versions: '18'
@@ -92,13 +92,14 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -126,14 +127,14 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-postgres
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-postgres

View File

@@ -75,24 +75,28 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, imagick, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
run: |
sudo apt-get update
sudo apt-get install -y ghostscript
composer i
- name: Set up Nextcloud
run: |
@@ -106,24 +110,26 @@ jobs:
run: ./occ app:list && echo "======= System config =======" && ./occ config:list system
- name: PHPUnit database tests
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }} tests/lib/Preview/PostscriptTest.php
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-sqlite
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-sqlite
- name: Print logs
if: always()
run: |
gs --version
cat /etc/ImageMagick-6/policy.xml
cat data/nextcloud.log
summary:

68
.github/workflows/rector-apply.yml vendored Normal file
View File

@@ -0,0 +1,68 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Apply rector changes
on:
workflow_dispatch:
schedule:
# At 14:30 on Sundays
- cron: '30 14 * * 0'
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
name: rector-apply
steps:
- name: Checkout
id: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
ref: ${{ github.event.repository.default_branch }}
- name: Get php version
id: versions
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
- name: Set up php${{ steps.versions.outputs.php-min }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
with:
php-version: ${{ steps.versions.outputs.php-min }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: |
composer remove nextcloud/ocp --dev --no-scripts
composer i
- name: Rector
run: composer run rector
- name: Create Pull Request
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'refactor: Apply rector changes'
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: automated/noid/rector-changes
title: 'Apply rector changes'
labels: |
technical debt
3. to review

45
.github/workflows/rector.yml vendored Normal file
View File

@@ -0,0 +1,45 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: Rector
on:
pull_request:
permissions:
contents: read
concurrency:
group: rector-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
strict:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
with:
php-version: '8.2'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Rector
run: composer run rector:strict
- name: Show changes
if: always()
run: git diff --exit-code -- . ':!lib/composer'

View File

@@ -19,7 +19,7 @@ jobs:
runs-on: ubuntu-latest-low
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

View File

@@ -20,7 +20,7 @@ jobs:
issues: write
steps:
- uses: actions/stale@5f858e3efba33a5ca4407a664cc011ad407f2008 # v9
- uses: actions/stale@997185467fa4f803885201cee163a9f38240193d # v9
with:
repo-token: ${{ secrets.COMMAND_BOT_PAT }}
stale-issue-message: >

View File

@@ -28,13 +28,14 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: '8.2'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -57,15 +58,19 @@ jobs:
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
permissions:
security-events: write
steps:
- name: Checkout code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -83,7 +88,7 @@ jobs:
- name: Upload Security Analysis results to GitHub
if: always()
uses: github/codeql-action/upload-sarif@fdbfb4d2750291e159f0156def62b853c2798ca2 # v3
uses: github/codeql-action/upload-sarif@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v3
with:
sarif_file: results.sarif
@@ -94,13 +99,14 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -125,13 +131,14 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -144,3 +151,30 @@ jobs:
- name: Psalm
run: composer run psalm:ncu -- --threads=1 --monochrome --no-progress --output-format=github
static-code-analysis-strict:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm:strict -- --threads=1 --monochrome --no-progress --output-format=github

View File

@@ -17,12 +17,12 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
branches: ['master', 'stable33', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
name: update-ca-certificate-bundle-${{ matrix.branches }}
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
ref: ${{ matrix.branches }}
@@ -32,7 +32,7 @@ jobs:
run: curl --etag-compare build/ca-bundle-etag.txt --etag-save build/ca-bundle-etag.txt --output resources/config/ca-bundle.crt https://curl.se/ca/cacert.pem
- name: Create Pull Request
uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(security): Update CA certificate bundle'

View File

@@ -17,12 +17,12 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
branches: ['master', 'stable33', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
name: update-code-signing-crl-${{ matrix.branches }}
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
ref: ${{ matrix.branches }}
@@ -35,7 +35,7 @@ jobs:
run: openssl crl -verify -in resources/codesigning/root.crl -CAfile resources/codesigning/root.crt -noout
- name: Create Pull Request
uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(security): Update code signing revocation list'

View File

@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest-low
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
@@ -107,7 +107,7 @@ jobs:
fi
- name: Create Pull Request
uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0
if: steps.update-files.outputs.CHANGES_MADE == 'true'
with:
token: ${{ secrets.COMMAND_BOT_PAT }}

29
.nextcloudignore Normal file
View File

@@ -0,0 +1,29 @@
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-only
# Files removed at build time
# Global exclude
.editorconfig
.git
.git-blame-ignore-revs
.gitattributes
.github
.gitignore
.gitmodules
.idea
.l10nignore
.nextcloudignore
.noopenapi
.tx
cypress
tests
# Server specific
/.devcontainer
/__mocks__
/__tests__
/autotest*.sh
/build
/config/config.php
/contribute
/data

View File

@@ -11,7 +11,7 @@
**A safe home for all your data.**
![](https://raw.githubusercontent.com/nextcloud/screenshots/master/nextcloud-hub-files-25-preview.png)
![](https://raw.githubusercontent.com/nextcloud/screenshots/master/nextcloud-hub-25-files.png)
## Why is this so awesome? 🤩
@@ -35,8 +35,8 @@ Enterprise? Public Sector or Education user? You may want to have a look into [*
## Get in touch 💬
* [📋 Forum](https://help.nextcloud.com)
* [🦋 Bluesky](https://bsky.app/profile/nextcloud.bsky.social)
* [👥 Facebook](https://www.facebook.com/nextclouders)
* [🐣 Twitter](https://twitter.com/Nextclouders)
* [🐘 Mastodon](https://mastodon.xyz/@nextcloud)
You can also [get support for Nextcloud](https://nextcloud.com/support)!

View File

@@ -10,7 +10,7 @@
<name>Auditing / Logging</name>
<summary>Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.</summary>
<description>Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.</description>
<version>1.23.0</version>
<version>1.24.0</version>
<licence>agpl</licence>
<author>Nextcloud</author>
<namespace>AdminAudit</namespace>
@@ -20,7 +20,7 @@
<category>monitoring</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="33" max-version="33"/>
<nextcloud min-version="34" max-version="34"/>
</dependencies>
<background-jobs>
<job>OCA\AdminAudit\BackgroundJobs\Rotate</job>

View File

@@ -18,7 +18,7 @@ class TagManagement extends Action {
$this->log('System tag "%s" (%s, %s) created',
[
'name' => $tag->getName(),
'visbility' => $tag->isUserVisible() ? 'visible' : 'invisible',
'visibility' => $tag->isUserVisible() ? 'visible' : 'invisible',
'assignable' => $tag->isUserAssignable() ? 'user assignable' : 'system only',
],
['name', 'visibility', 'assignable']

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later

View File

@@ -148,18 +148,6 @@ class SharingEventListener extends Action implements IEventListener {
'id',
]
),
IShare::TYPE_SCIENCEMESH => $this->log(
'The %s "%s" with ID "%s" has been shared to the sciencemesh user "%s" with permissions "%s" (Share ID: %s)',
$params,
[
'itemType',
'path',
'itemSource',
'shareWith',
'permissions',
'id',
]
),
default => null
};
}
@@ -274,17 +262,6 @@ class SharingEventListener extends Action implements IEventListener {
'id',
]
),
IShare::TYPE_SCIENCEMESH => $this->log(
'The %s "%s" with ID "%s" has been unshared from the sciencemesh user "%s" (Share ID: %s)',
$params,
[
'itemType',
'fileTarget',
'itemSource',
'shareWith',
'id',
]
),
default => null
};
}

View File

@@ -9,7 +9,7 @@
<name>Cloud Federation API</name>
<summary>Enable clouds to communicate with each other and exchange data</summary>
<description>The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.</description>
<version>1.17.0</version>
<version>1.18.0</version>
<licence>agpl</licence>
<author>Bjoern Schiessle</author>
<namespace>CloudFederationAPI</namespace>
@@ -19,6 +19,6 @@
<category>integration</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="33" max-version="33"/>
<nextcloud min-version="34" max-version="34"/>
</dependencies>
</info>

View File

@@ -25,6 +25,15 @@ return [
'url' => '/invite-accepted',
'verb' => 'POST',
'root' => '/ocm',
]
],
// needs to be kept at the bottom of the list
[
'name' => 'OCMRequest#manageOCMRequests',
'url' => '/{ocmPath}',
'requirements' => ['ocmPath' => '.*'],
'verb' => ['GET', 'POST', 'PUT', 'DELETE'],
'root' => '/ocm',
],
],
];

View File

@@ -10,6 +10,7 @@ return array(
'OCA\\CloudFederationAPI\\AppInfo\\Application' => $baseDir . '/../lib/AppInfo/Application.php',
'OCA\\CloudFederationAPI\\Capabilities' => $baseDir . '/../lib/Capabilities.php',
'OCA\\CloudFederationAPI\\Config' => $baseDir . '/../lib/Config.php',
'OCA\\CloudFederationAPI\\Controller\\OCMRequestController' => $baseDir . '/../lib/Controller/OCMRequestController.php',
'OCA\\CloudFederationAPI\\Controller\\RequestHandlerController' => $baseDir . '/../lib/Controller/RequestHandlerController.php',
'OCA\\CloudFederationAPI\\Db\\FederatedInvite' => $baseDir . '/../lib/Db/FederatedInvite.php',
'OCA\\CloudFederationAPI\\Db\\FederatedInviteMapper' => $baseDir . '/../lib/Db/FederatedInviteMapper.php',

View File

@@ -25,6 +25,7 @@ class ComposerStaticInitCloudFederationAPI
'OCA\\CloudFederationAPI\\AppInfo\\Application' => __DIR__ . '/..' . '/../lib/AppInfo/Application.php',
'OCA\\CloudFederationAPI\\Capabilities' => __DIR__ . '/..' . '/../lib/Capabilities.php',
'OCA\\CloudFederationAPI\\Config' => __DIR__ . '/..' . '/../lib/Config.php',
'OCA\\CloudFederationAPI\\Controller\\OCMRequestController' => __DIR__ . '/..' . '/../lib/Controller/OCMRequestController.php',
'OCA\\CloudFederationAPI\\Controller\\RequestHandlerController' => __DIR__ . '/..' . '/../lib/Controller/RequestHandlerController.php',
'OCA\\CloudFederationAPI\\Db\\FederatedInvite' => __DIR__ . '/..' . '/../lib/Db/FederatedInvite.php',
'OCA\\CloudFederationAPI\\Db\\FederatedInviteMapper' => __DIR__ . '/..' . '/../lib/Db/FederatedInviteMapper.php',

View File

@@ -0,0 +1,8 @@
OC.L10N.register(
"cloud_federation_api",
{
"Cloud Federation API" : "API Federasi Cloud",
"Enable clouds to communicate with each other and exchange data" : "Memungkinkan cloud untuk saling berkomunikasi dan bertukar data",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "API Federasi Cloud memungkinkan berbagai instans Nextcloud untuk saling berkomunikasi dan bertukar data."
},
"nplurals=1; plural=0;");

View File

@@ -0,0 +1,6 @@
{ "translations": {
"Cloud Federation API" : "API Federasi Cloud",
"Enable clouds to communicate with each other and exchange data" : "Memungkinkan cloud untuk saling berkomunikasi dan bertukar data",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "API Federasi Cloud memungkinkan berbagai instans Nextcloud untuk saling berkomunikasi dan bertukar data."
},"pluralForm" :"nplurals=1; plural=0;"
}

View File

@@ -3,6 +3,6 @@ OC.L10N.register(
{
"Cloud Federation API" : "Cloud Federation API",
"Enable clouds to communicate with each other and exchange data" : "Увімкніть хмари аби спілкуватися один з одним і обмінюватися даними",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API дозволяє різним примірникам серверу хмари Nextcloud спілкуватися між собою та обмінюватися даними."
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API дозволяє різним примірникам сервера хмари Nextcloud спілкуватися між собою та обмінюватися даними."
},
"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);");

View File

@@ -1,6 +1,6 @@
{ "translations": {
"Cloud Federation API" : "Cloud Federation API",
"Enable clouds to communicate with each other and exchange data" : "Увімкніть хмари аби спілкуватися один з одним і обмінюватися даними",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API дозволяє різним примірникам серверу хмари Nextcloud спілкуватися між собою та обмінюватися даними."
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API дозволяє різним примірникам сервера хмари Nextcloud спілкуватися між собою та обмінюватися даними."
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
}

View File

@@ -1,8 +1,8 @@
OC.L10N.register(
"cloud_federation_api",
{
"Cloud Federation API" : "Asl faylni o'chirishda kutilmagan xatolik yuz berdi.",
"Cloud Federation API" : "Jamg'armaning bulutli APIsi",
"Enable clouds to communicate with each other and exchange data" : "Bulutlar bir-biri bilan aloqa qilish va ma'lumot almashish imkonini beradi",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API turli xil Nextcloud misollariga bir-biri bilan muloqot qilish va ma'lumotlarni almashish imkonini beradi."
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Jamoada API turli xil Nextcloud misollariga bir-biri bilan muloqot qilish va ma'lumotlarni almashish imkonini beradi."
},
"nplurals=1; plural=0;");

View File

@@ -1,6 +1,6 @@
{ "translations": {
"Cloud Federation API" : "Asl faylni o'chirishda kutilmagan xatolik yuz berdi.",
"Cloud Federation API" : "Jamg'armaning bulutli APIsi",
"Enable clouds to communicate with each other and exchange data" : "Bulutlar bir-biri bilan aloqa qilish va ma'lumot almashish imkonini beradi",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API turli xil Nextcloud misollariga bir-biri bilan muloqot qilish va ma'lumotlarni almashish imkonini beradi."
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Jamoada API turli xil Nextcloud misollariga bir-biri bilan muloqot qilish va ma'lumotlarni almashish imkonini beradi."
},"pluralForm" :"nplurals=1; plural=0;"
}

View File

@@ -0,0 +1,87 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\CloudFederationAPI\Controller;
use JsonException;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\Attribute\BruteForceProtection;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\Attribute\PublicPage;
use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Http\Response;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IRequest;
use OCP\OCM\Events\OCMEndpointRequestEvent;
use OCP\OCM\Exceptions\OCMArgumentException;
use OCP\OCM\IOCMDiscoveryService;
use OCP\Security\Signature\Exceptions\IncomingRequestException;
use Psr\Log\LoggerInterface;
class OCMRequestController extends Controller {
public function __construct(
string $appName,
IRequest $request,
private readonly IEventDispatcher $eventDispatcher,
private readonly IOCMDiscoveryService $ocmDiscoveryService,
private readonly LoggerInterface $logger,
) {
parent::__construct($appName, $request);
}
/**
* Method will catch any request done to /ocm/[...] and will broadcast an event.
* The first parameter of the remaining subpath (post-/ocm/) is defined as
* capability and should be used by listeners to filter incoming requests.
*
* @see OCMEndpointRequestEvent
* @see OCMEndpointRequestEvent::getArgs
*
* @param string $ocmPath
* @return Response
* @throws OCMArgumentException
*/
#[NoCSRFRequired]
#[PublicPage]
#[BruteForceProtection(action: 'receiveOcmRequest')]
public function manageOCMRequests(string $ocmPath): Response {
if (!mb_check_encoding($ocmPath, 'UTF-8')) {
throw new OCMArgumentException('path is not UTF-8');
}
try {
// if request is signed and well signed, no exceptions are thrown
// if request is not signed and host is known for not supporting signed request, no exceptions are thrown
$signedRequest = $this->ocmDiscoveryService->getIncomingSignedRequest();
} catch (IncomingRequestException $e) {
$this->logger->warning('incoming ocm request exception', ['exception' => $e]);
return new JSONResponse(['message' => $e->getMessage(), 'validationErrors' => []], Http::STATUS_BAD_REQUEST);
}
// assuming that ocm request contains a json array
$payload = $signedRequest?->getBody() ?? file_get_contents('php://input');
try {
$payload = ($payload) ? json_decode($payload, true, 512, JSON_THROW_ON_ERROR) : null;
} catch (JsonException $e) {
$this->logger->debug('json decode error', ['exception' => $e]);
$payload = null;
}
$event = new OCMEndpointRequestEvent(
$this->request->getMethod(),
preg_replace('@/+@', '/', $ocmPath),
$payload,
$signedRequest?->getOrigin()
);
$this->eventDispatcher->dispatchTyped($event);
return $event->getResponse() ?? new Response(Http::STATUS_NOT_FOUND);
}
}

View File

@@ -7,14 +7,6 @@
namespace OCA\CloudFederationAPI\Controller;
use NCU\Federation\ISignedCloudFederationProvider;
use NCU\Security\Signature\Exceptions\IdentityNotFoundException;
use NCU\Security\Signature\Exceptions\IncomingRequestException;
use NCU\Security\Signature\Exceptions\SignatoryNotFoundException;
use NCU\Security\Signature\Exceptions\SignatureException;
use NCU\Security\Signature\Exceptions\SignatureNotFoundException;
use NCU\Security\Signature\IIncomingSignedRequest;
use NCU\Security\Signature\ISignatureManager;
use OC\OCM\OCMSignatoryManager;
use OCA\CloudFederationAPI\Config;
use OCA\CloudFederationAPI\Db\FederatedInviteMapper;
@@ -39,11 +31,18 @@ use OCP\Federation\Exceptions\ProviderDoesNotExistsException;
use OCP\Federation\ICloudFederationFactory;
use OCP\Federation\ICloudFederationProviderManager;
use OCP\Federation\ICloudIdManager;
use OCP\Federation\ISignedCloudFederationProvider;
use OCP\IAppConfig;
use OCP\IGroupManager;
use OCP\IRequest;
use OCP\IURLGenerator;
use OCP\IUserManager;
use OCP\OCM\IOCMDiscoveryService;
use OCP\Security\Signature\Exceptions\IdentityNotFoundException;
use OCP\Security\Signature\Exceptions\IncomingRequestException;
use OCP\Security\Signature\Exceptions\SignatoryNotFoundException;
use OCP\Security\Signature\IIncomingSignedRequest;
use OCP\Security\Signature\ISignatureManager;
use OCP\Share\Exceptions\ShareNotFound;
use OCP\Util;
use Psr\Log\LoggerInterface;
@@ -74,8 +73,8 @@ class RequestHandlerController extends Controller {
private readonly IAppConfig $appConfig,
private ICloudFederationFactory $factory,
private ICloudIdManager $cloudIdManager,
private readonly IOCMDiscoveryService $ocmDiscoveryService,
private readonly ISignatureManager $signatureManager,
private readonly OCMSignatoryManager $signatoryManager,
private ITimeFactory $timeFactory,
) {
parent::__construct($appName, $request);
@@ -108,9 +107,9 @@ class RequestHandlerController extends Controller {
public function addShare($shareWith, $name, $description, $providerId, $owner, $ownerDisplayName, $sharedBy, $sharedByDisplayName, $protocol, $shareType, $resourceType) {
if (!$this->appConfig->getValueBool('core', OCMSignatoryManager::APPCONFIG_SIGN_DISABLED, lazy: true)) {
try {
// if request is signed and well signed, no exception are thrown
// if request is signed and well signed, no exceptions are thrown
// if request is not signed and host is known for not supporting signed request, no exception are thrown
$signedRequest = $this->getSignedRequest();
$signedRequest = $this->ocmDiscoveryService->getIncomingSignedRequest();
$this->confirmSignedOrigin($signedRequest, 'owner', $owner);
} catch (IncomingRequestException $e) {
$this->logger->warning('incoming request exception', ['exception' => $e]);
@@ -360,7 +359,7 @@ class RequestHandlerController extends Controller {
try {
// if request is signed and well signed, no exception are thrown
// if request is not signed and host is known for not supporting signed request, no exception are thrown
$signedRequest = $this->getSignedRequest();
$signedRequest = $this->ocmDiscoveryService->getIncomingSignedRequest();
$this->confirmNotificationIdentity($signedRequest, $resourceType, $notification);
} catch (IncomingRequestException $e) {
$this->logger->warning('incoming request exception', ['exception' => $e]);
@@ -434,37 +433,6 @@ class RequestHandlerController extends Controller {
}
/**
* returns signed request if available.
* throw an exception:
* - if request is signed, but wrongly signed
* - if request is not signed but instance is configured to only accept signed ocm request
*
* @return IIncomingSignedRequest|null null if remote does not (and never did) support signed request
* @throws IncomingRequestException
*/
private function getSignedRequest(): ?IIncomingSignedRequest {
try {
$signedRequest = $this->signatureManager->getIncomingSignedRequest($this->signatoryManager);
$this->logger->debug('signed request available', ['signedRequest' => $signedRequest]);
return $signedRequest;
} catch (SignatureNotFoundException|SignatoryNotFoundException $e) {
$this->logger->debug('remote does not support signed request', ['exception' => $e]);
// remote does not support signed request.
// currently we still accept unsigned request until lazy appconfig
// core.enforce_signed_ocm_request is set to true (default: false)
if ($this->appConfig->getValueBool('core', OCMSignatoryManager::APPCONFIG_SIGN_ENFORCED, lazy: true)) {
$this->logger->notice('ignored unsigned request', ['exception' => $e]);
throw new IncomingRequestException('Unsigned request');
}
} catch (SignatureException $e) {
$this->logger->warning('wrongly signed request', ['exception' => $e]);
throw new IncomingRequestException('Invalid signature');
}
return null;
}
/**
* confirm that the value related to $key entry from the payload is in format userid@hostname
* and compare hostname with the origin of the signed request.

View File

@@ -9,8 +9,6 @@ declare(strict_types=1);
namespace OCA\CloudFederationApi\Tests;
use NCU\Security\Signature\ISignatureManager;
use OC\OCM\OCMSignatoryManager;
use OCA\CloudFederationAPI\Config;
use OCA\CloudFederationAPI\Controller\RequestHandlerController;
use OCA\CloudFederationAPI\Db\FederatedInvite;
@@ -29,6 +27,8 @@ use OCP\IRequest;
use OCP\IURLGenerator;
use OCP\IUser;
use OCP\IUserManager;
use OCP\OCM\IOCMDiscoveryService;
use OCP\Security\Signature\ISignatureManager;
use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
use Test\TestCase;
@@ -45,10 +45,11 @@ class RequestHandlerControllerTest extends TestCase {
private FederatedInviteMapper&MockObject $federatedInviteMapper;
private AddressHandler&MockObject $addressHandler;
private IAppConfig&MockObject $appConfig;
private ICloudFederationFactory&MockObject $cloudFederationFactory;
private ICloudIdManager&MockObject $cloudIdManager;
private IOCMDiscoveryService&MockObject $discoveryService;
private ISignatureManager&MockObject $signatureManager;
private OCMSignatoryManager&MockObject $signatoryManager;
private ITimeFactory&MockObject $timeFactory;
private RequestHandlerController $requestHandlerController;
@@ -69,8 +70,8 @@ class RequestHandlerControllerTest extends TestCase {
$this->appConfig = $this->createMock(IAppConfig::class);
$this->cloudFederationFactory = $this->createMock(ICloudFederationFactory::class);
$this->cloudIdManager = $this->createMock(ICloudIdManager::class);
$this->discoveryService = $this->createMock(IOCMDiscoveryService::class);
$this->signatureManager = $this->createMock(ISignatureManager::class);
$this->signatoryManager = $this->createMock(OCMSignatoryManager::class);
$this->timeFactory = $this->createMock(ITimeFactory::class);
$this->requestHandlerController = new RequestHandlerController(
@@ -88,8 +89,8 @@ class RequestHandlerControllerTest extends TestCase {
$this->appConfig,
$this->cloudFederationFactory,
$this->cloudIdManager,
$this->discoveryService,
$this->signatureManager,
$this->signatoryManager,
$this->timeFactory,
);
}

View File

@@ -10,7 +10,7 @@
<name>Comments</name>
<summary>Files app plugin to add comments to files</summary>
<description>Files app plugin to add comments to files</description>
<version>1.23.0</version>
<version>1.24.0</version>
<licence>agpl</licence>
<author>Arthur Schiwon</author>
<author>Vincent Petry</author>
@@ -21,7 +21,7 @@
<category>social</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="33" max-version="33"/>
<nextcloud min-version="34" max-version="34"/>
</dependencies>
<activity>
@@ -38,6 +38,10 @@
</providers>
</activity>
<openmetrics>
<exporter>OCA\Comments\OpenMetrics\CommentsCountMetric</exporter>
</openmetrics>
<collaboration>
<plugins>
<plugin type="autocomplete-sort">OCA\Comments\Collaboration\CommentersSorter</plugin>

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.

View File

@@ -22,5 +22,6 @@ return array(
'OCA\\Comments\\MaxAutoCompleteResultsInitialState' => $baseDir . '/../lib/MaxAutoCompleteResultsInitialState.php',
'OCA\\Comments\\Notification\\Listener' => $baseDir . '/../lib/Notification/Listener.php',
'OCA\\Comments\\Notification\\Notifier' => $baseDir . '/../lib/Notification/Notifier.php',
'OCA\\Comments\\OpenMetrics\\CommentsCountMetric' => $baseDir . '/../lib/OpenMetrics/CommentsCountMetric.php',
'OCA\\Comments\\Search\\CommentsSearchProvider' => $baseDir . '/../lib/Search/CommentsSearchProvider.php',
);

View File

@@ -37,6 +37,7 @@ class ComposerStaticInitComments
'OCA\\Comments\\MaxAutoCompleteResultsInitialState' => __DIR__ . '/..' . '/../lib/MaxAutoCompleteResultsInitialState.php',
'OCA\\Comments\\Notification\\Listener' => __DIR__ . '/..' . '/../lib/Notification/Listener.php',
'OCA\\Comments\\Notification\\Notifier' => __DIR__ . '/..' . '/../lib/Notification/Notifier.php',
'OCA\\Comments\\OpenMetrics\\CommentsCountMetric' => __DIR__ . '/..' . '/../lib/OpenMetrics/CommentsCountMetric.php',
'OCA\\Comments\\Search\\CommentsSearchProvider' => __DIR__ . '/..' . '/../lib/Search/CommentsSearchProvider.php',
);

View File

@@ -17,6 +17,7 @@ OC.L10N.register(
"Delete comment" : "Ezabatu iruzkina",
"Cancel edit" : "Utzi editatzeari",
"New comment" : "Iruzkin berria",
"Write a comment …" : "Idatzi iruzkin bat …",
"Post comment" : "Argitaratu iruzkina",
"@ for mentions, : for emoji, / for smart picker" : "@ aipamenetarako, : emojientzako, / hautatzaile adimentsurako",
"Could not reload comments" : "Ezin izan dira iruzkinak freskatu",

View File

@@ -15,6 +15,7 @@
"Delete comment" : "Ezabatu iruzkina",
"Cancel edit" : "Utzi editatzeari",
"New comment" : "Iruzkin berria",
"Write a comment …" : "Idatzi iruzkin bat …",
"Post comment" : "Argitaratu iruzkina",
"@ for mentions, : for emoji, / for smart picker" : "@ aipamenetarako, : emojientzako, / hautatzaile adimentsurako",
"Could not reload comments" : "Ezin izan dira iruzkinak freskatu",

View File

@@ -10,11 +10,18 @@ OC.L10N.register(
"{author} commented on {file}" : "{author} je komentirao {file}",
"<strong>Comments</strong> for files" : "<strong>Komentari</strong> za datoteke",
"Files" : "Datoteke",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Spomenuti ste u komentaru na „{file}” od računa koji je u međuvremenu izbrisan.",
"{user} mentioned you in a comment on \"{file}\"" : "{user} vas je spomenuo u komentaru na „{file}”",
"Files app plugin to add comments to files" : "Dodatak za aplikaciju Datoteke za dodavanje komentara na datoteke",
"Edit comment" : "Uredi komentar",
"Delete comment" : "Izbriši komentar",
"Cancel edit" : "Otkaži uređivanje",
"New comment" : "Novi komentar",
"Write a comment …" : "Napiši komentar …",
"Post comment" : "Objavi komentar",
"@ for mentions, : for emoji, / for smart picker" : "@ za spominjanje, : za emoji, / za pametni odabir",
"Could not reload comments" : "Nije moguće ponovno učitati komentare",
"Failed to mark comments as read" : "Nije uspjelo označavanje komentara kao pročitani",
"Unable to load the comments list" : "Nije moguće učitati popis komentara",
"No comments yet, start the conversation!" : "Još nema komentara, započnite razgovor!",
"No more messages" : "Nema više poruka",
@@ -24,6 +31,7 @@ OC.L10N.register(
"An error occurred while trying to edit the comment" : "Došlo je do pogreške prilikom uređivanja komentara",
"Comment deleted" : "Komentar izbrisan",
"An error occurred while trying to delete the comment" : "Došlo je do pogreške prilikom brisanja komentara",
"An error occurred while trying to create the comment" : "Došlo je do pogreške prilikom stvaranja komentara"
"An error occurred while trying to create the comment" : "Došlo je do pogreške prilikom stvaranja komentara",
"Write a comment …" : "Napiši komentar …"
},
"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");

View File

@@ -8,11 +8,18 @@
"{author} commented on {file}" : "{author} je komentirao {file}",
"<strong>Comments</strong> for files" : "<strong>Komentari</strong> za datoteke",
"Files" : "Datoteke",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Spomenuti ste u komentaru na „{file}” od računa koji je u međuvremenu izbrisan.",
"{user} mentioned you in a comment on \"{file}\"" : "{user} vas je spomenuo u komentaru na „{file}”",
"Files app plugin to add comments to files" : "Dodatak za aplikaciju Datoteke za dodavanje komentara na datoteke",
"Edit comment" : "Uredi komentar",
"Delete comment" : "Izbriši komentar",
"Cancel edit" : "Otkaži uređivanje",
"New comment" : "Novi komentar",
"Write a comment …" : "Napiši komentar …",
"Post comment" : "Objavi komentar",
"@ for mentions, : for emoji, / for smart picker" : "@ za spominjanje, : za emoji, / za pametni odabir",
"Could not reload comments" : "Nije moguće ponovno učitati komentare",
"Failed to mark comments as read" : "Nije uspjelo označavanje komentara kao pročitani",
"Unable to load the comments list" : "Nije moguće učitati popis komentara",
"No comments yet, start the conversation!" : "Još nema komentara, započnite razgovor!",
"No more messages" : "Nema više poruka",
@@ -22,6 +29,7 @@
"An error occurred while trying to edit the comment" : "Došlo je do pogreške prilikom uređivanja komentara",
"Comment deleted" : "Komentar izbrisan",
"An error occurred while trying to delete the comment" : "Došlo je do pogreške prilikom brisanja komentara",
"An error occurred while trying to create the comment" : "Došlo je do pogreške prilikom stvaranja komentara"
"An error occurred while trying to create the comment" : "Došlo je do pogreške prilikom stvaranja komentara",
"Write a comment …" : "Napiši komentar …"
},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
}

View File

@@ -5,24 +5,33 @@ OC.L10N.register(
"You commented" : "Anda berkomentar",
"{author} commented" : "{author} berkomentar",
"You commented on %1$s" : "Anda berkomentar pada %1$s",
"You commented on {file}" : "Anda berkomentar pada {file} ",
"You commented on {file}" : "Anda berkomentar pada {file}",
"%1$s commented on %2$s" : "%1$s dikomentari pada %2$s",
"{author} commented on {file}" : "{author} berkomentar pada {file}",
"<strong>Comments</strong> for files" : "<strong>komentar</strong> pada file",
"{user} mentioned you in a comment on \"{file}\"" : "{user} menyebut Anda dalam sebuah komentar pada \"{file}\" ",
"Files" : "File",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Anda disebutkan pada \"{file}\", dalam sebuah komentar oleh akun yang sejak itu telah dihapus",
"{user} mentioned you in a comment on \"{file}\"" : "{user} menyebut Anda dalam sebuah komentar pada \"{file}\"",
"Files app plugin to add comments to files" : "Plugin aplikasi file untuk menambah komentar pada file",
"Edit comment" : "Sunting komentar",
"Delete comment" : "Hapus komentar",
"Cancel edit" : "Batal sunting",
"New comment" : "Komentar baru",
"Write a comment …" : "Tulis komentar …",
"Post comment" : "Posting komentar",
"@ for mentions, : for emoji, / for smart picker" : "@ untuk penyebutan, : untuk emoji, / untuk pemilih cerdas",
"Could not reload comments" : "Tidak dapat memuat ulang komentar",
"Failed to mark comments as read" : "Gagal menandai komentar sebagai sudah dibaca",
"Unable to load the comments list" : "Tidak dapat memuat daftar komentar",
"No comments yet, start the conversation!" : "Belum ada yang berkomentar, mulailah perbincangan!",
"No more messages" : "Tidak ada pesan lagi",
"Retry" : "Ulangi",
"_1 new comment_::_{unread} new comments_" : ["{unread} komentar baru"],
"Comment" : "Komentar",
"An error occurred while trying to edit the comment" : "Terjadi kesalahan ketika mencoba menyunting komentar",
"Comment deleted" : "Komentar dihapus",
"An error occurred while trying to delete the comment" : "Terjadi kesalahan ketika mencoba untuk menghapus komentar",
"An error occurred while trying to create the comment" : "Terjadi kesalahan ketika mencoba untuk membuat komentar"
"An error occurred while trying to create the comment" : "Terjadi kesalahan ketika mencoba untuk membuat komentar",
"Write a comment …" : "Tulis komentar …"
},
"nplurals=1; plural=0;");

View File

@@ -3,24 +3,33 @@
"You commented" : "Anda berkomentar",
"{author} commented" : "{author} berkomentar",
"You commented on %1$s" : "Anda berkomentar pada %1$s",
"You commented on {file}" : "Anda berkomentar pada {file} ",
"You commented on {file}" : "Anda berkomentar pada {file}",
"%1$s commented on %2$s" : "%1$s dikomentari pada %2$s",
"{author} commented on {file}" : "{author} berkomentar pada {file}",
"<strong>Comments</strong> for files" : "<strong>komentar</strong> pada file",
"{user} mentioned you in a comment on \"{file}\"" : "{user} menyebut Anda dalam sebuah komentar pada \"{file}\" ",
"Files" : "File",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Anda disebutkan pada \"{file}\", dalam sebuah komentar oleh akun yang sejak itu telah dihapus",
"{user} mentioned you in a comment on \"{file}\"" : "{user} menyebut Anda dalam sebuah komentar pada \"{file}\"",
"Files app plugin to add comments to files" : "Plugin aplikasi file untuk menambah komentar pada file",
"Edit comment" : "Sunting komentar",
"Delete comment" : "Hapus komentar",
"Cancel edit" : "Batal sunting",
"New comment" : "Komentar baru",
"Write a comment …" : "Tulis komentar …",
"Post comment" : "Posting komentar",
"@ for mentions, : for emoji, / for smart picker" : "@ untuk penyebutan, : untuk emoji, / untuk pemilih cerdas",
"Could not reload comments" : "Tidak dapat memuat ulang komentar",
"Failed to mark comments as read" : "Gagal menandai komentar sebagai sudah dibaca",
"Unable to load the comments list" : "Tidak dapat memuat daftar komentar",
"No comments yet, start the conversation!" : "Belum ada yang berkomentar, mulailah perbincangan!",
"No more messages" : "Tidak ada pesan lagi",
"Retry" : "Ulangi",
"_1 new comment_::_{unread} new comments_" : ["{unread} komentar baru"],
"Comment" : "Komentar",
"An error occurred while trying to edit the comment" : "Terjadi kesalahan ketika mencoba menyunting komentar",
"Comment deleted" : "Komentar dihapus",
"An error occurred while trying to delete the comment" : "Terjadi kesalahan ketika mencoba untuk menghapus komentar",
"An error occurred while trying to create the comment" : "Terjadi kesalahan ketika mencoba untuk membuat komentar"
"An error occurred while trying to create the comment" : "Terjadi kesalahan ketika mencoba untuk membuat komentar",
"Write a comment …" : "Tulis komentar …"
},"pluralForm" :"nplurals=1; plural=0;"
}

View File

@@ -17,6 +17,7 @@ OC.L10N.register(
"Delete comment" : "Reactie verwijderen",
"Cancel edit" : "Bewerking annuleren",
"New comment" : "Nieuwe reactie",
"Write a comment …" : "Schrijf een commentaar …",
"Post comment" : "Reactie plaatsen",
"@ for mentions, : for emoji, / for smart picker" : "@ voor vermeldingen, : voor emoji, / voor Smart Picker",
"Could not reload comments" : "Kon reactie niet opnieuw laden",

View File

@@ -15,6 +15,7 @@
"Delete comment" : "Reactie verwijderen",
"Cancel edit" : "Bewerking annuleren",
"New comment" : "Nieuwe reactie",
"Write a comment …" : "Schrijf een commentaar …",
"Post comment" : "Reactie plaatsen",
"@ for mentions, : for emoji, / for smart picker" : "@ voor vermeldingen, : voor emoji, / voor Smart Picker",
"Could not reload comments" : "Kon reactie niet opnieuw laden",

37
apps/comments/l10n/uz.js Normal file
View File

@@ -0,0 +1,37 @@
OC.L10N.register(
"comments",
{
"Comments" : "Izohlar",
"You commented" : "Siz fikr bildirgansiz",
"{author} commented" : "{author} izoh qoldirdi",
"You commented on %1$s" : "Siz %1$s haqida fikr bildirdingiz",
"You commented on {file}" : "Siz {file} ga izoh qoldirdingiz",
"%1$s commented on %2$s" : "%1$s %2$s haqida fikr bildirdi",
"{author} commented on {file}" : "{author} {file} ga izoh qoldirdi",
"<strong>Comments</strong> for files" : "Fayllar uchun <strong>Izohlar</strong>",
"Files" : "Fayllar",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Siz \"{file}\"da, keyinchalik o'chirilgan hisob tomonidan izohda tilga olingansiz",
"{user} mentioned you in a comment on \"{file}\"" : "{user} sizni \"{file}\" dagi izohda tilga oldi",
"Files app plugin to add comments to files" : "Fayllarga izohlar qo'shish ilova plagini",
"Edit comment" : "Izohni tahrirlash",
"Delete comment" : "Izohni o'chirish",
"Cancel edit" : "Tahrirni bekor qilish",
"New comment" : "Yangi izoh",
"Write a comment …" : "Fikr yozing…",
"Post comment" : "Fikr qoldirish",
"@ for mentions, : for emoji, / for smart picker" : "@ eslatmalar uchun, : emojilar uchun, / aqlli tanlovclar uchun",
"Could not reload comments" : "Izohlarni qayta yuklab bo'lmadi",
"Failed to mark comments as read" : "Izohlarni o'qilgan deb belgilashda xatolik yuz berdi",
"Unable to load the comments list" : "Izohlar ro'yxatini yuklab bo'lmadi",
"No comments yet, start the conversation!" : "Hali izohlar yo'q, suhbatni boshlang!",
"No more messages" : "Boshqa xabarlar yo'q",
"Retry" : "Qayta urinish",
"_1 new comment_::_{unread} new comments_" : ["{unread} ta yangi izoh"],
"Comment" : "Izoh",
"An error occurred while trying to edit the comment" : "Izohni tahrirlashda xatolik yuz berdi",
"Comment deleted" : "Izoh o'chirildi",
"An error occurred while trying to delete the comment" : "Izohni o'chirishda xatolik yuz berdi",
"An error occurred while trying to create the comment" : "Izoh yaratishda xatolik yuz berdi",
"Write a comment …" : "Izoh yozing..."
},
"nplurals=1; plural=0;");

View File

@@ -0,0 +1,35 @@
{ "translations": {
"Comments" : "Izohlar",
"You commented" : "Siz fikr bildirgansiz",
"{author} commented" : "{author} izoh qoldirdi",
"You commented on %1$s" : "Siz %1$s haqida fikr bildirdingiz",
"You commented on {file}" : "Siz {file} ga izoh qoldirdingiz",
"%1$s commented on %2$s" : "%1$s %2$s haqida fikr bildirdi",
"{author} commented on {file}" : "{author} {file} ga izoh qoldirdi",
"<strong>Comments</strong> for files" : "Fayllar uchun <strong>Izohlar</strong>",
"Files" : "Fayllar",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Siz \"{file}\"da, keyinchalik o'chirilgan hisob tomonidan izohda tilga olingansiz",
"{user} mentioned you in a comment on \"{file}\"" : "{user} sizni \"{file}\" dagi izohda tilga oldi",
"Files app plugin to add comments to files" : "Fayllarga izohlar qo'shish ilova plagini",
"Edit comment" : "Izohni tahrirlash",
"Delete comment" : "Izohni o'chirish",
"Cancel edit" : "Tahrirni bekor qilish",
"New comment" : "Yangi izoh",
"Write a comment …" : "Fikr yozing…",
"Post comment" : "Fikr qoldirish",
"@ for mentions, : for emoji, / for smart picker" : "@ eslatmalar uchun, : emojilar uchun, / aqlli tanlovclar uchun",
"Could not reload comments" : "Izohlarni qayta yuklab bo'lmadi",
"Failed to mark comments as read" : "Izohlarni o'qilgan deb belgilashda xatolik yuz berdi",
"Unable to load the comments list" : "Izohlar ro'yxatini yuklab bo'lmadi",
"No comments yet, start the conversation!" : "Hali izohlar yo'q, suhbatni boshlang!",
"No more messages" : "Boshqa xabarlar yo'q",
"Retry" : "Qayta urinish",
"_1 new comment_::_{unread} new comments_" : ["{unread} ta yangi izoh"],
"Comment" : "Izoh",
"An error occurred while trying to edit the comment" : "Izohni tahrirlashda xatolik yuz berdi",
"Comment deleted" : "Izoh o'chirildi",
"An error occurred while trying to delete the comment" : "Izohni o'chirishda xatolik yuz berdi",
"An error occurred while trying to create the comment" : "Izoh yaratishda xatolik yuz berdi",
"Write a comment …" : "Izoh yozing..."
},"pluralForm" :"nplurals=1; plural=0;"
}

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later

View File

@@ -12,7 +12,6 @@ use OCP\App\IAppManager;
use OCP\Comments\CommentsEvent;
use OCP\Files\Config\IMountProviderCollection;
use OCP\Files\IRootFolder;
use OCP\Files\Node;
use OCP\IUser;
use OCP\IUserSession;
use OCP\Share\IShareHelper;
@@ -47,10 +46,8 @@ class Listener {
foreach ($mounts as $mount) {
$owner = $mount->getUser()->getUID();
$ownerFolder = $this->rootFolder->getUserFolder($owner);
$nodes = $ownerFolder->getById((int)$event->getComment()->getObjectId());
if (!empty($nodes)) {
/** @var Node $node */
$node = array_shift($nodes);
$node = $ownerFolder->getFirstNodeById((int)$event->getComment()->getObjectId());
if ($node !== null) {
$al = $this->shareHelper->getPathsForAccessList($node);
$users += $al['users'];
}

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later

View File

@@ -70,11 +70,11 @@ class NotificationsController extends Controller {
return new NotFoundResponse();
}
$userFolder = $this->rootFolder->getUserFolder($currentUser->getUID());
$files = $userFolder->getById((int)$comment->getObjectId());
$file = $userFolder->getFirstNodeById((int)$comment->getObjectId());
$this->markProcessed($comment, $currentUser);
if (empty($files)) {
if ($file === null) {
return new NotFoundResponse();
}

View File

@@ -32,8 +32,8 @@ class CommentsEntityEventListener implements IEventListener {
}
$event->addEntityCollection('files', function ($name): bool {
$nodes = $this->rootFolder->getUserFolder($this->userId)->getById((int)$name);
return !empty($nodes);
$node = $this->rootFolder->getUserFolder($this->userId)->getFirstNodeById((int)$name);
return $node !== null;
});
}
}

View File

@@ -84,11 +84,10 @@ class Notifier implements INotifier {
throw new UnknownNotificationException('Unsupported comment object');
}
$userFolder = $this->rootFolder->getUserFolder($notification->getUser());
$nodes = $userFolder->getById((int)$parameters[1]);
if (empty($nodes)) {
$node = $userFolder->getFirstNodeById((int)$parameters[1]);
if ($node === null) {
throw new AlreadyProcessedException();
}
$node = $nodes[0];
$path = rtrim($node->getPath(), '/');
if (str_starts_with($path, '/' . $notification->getUser() . '/files/')) {

View File

@@ -0,0 +1,52 @@
<?php
/**
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\Comments\OpenMetrics;
use Generator;
use OCP\IDBConnection;
use OCP\OpenMetrics\IMetricFamily;
use OCP\OpenMetrics\Metric;
use OCP\OpenMetrics\MetricType;
use Override;
class CommentsCountMetric implements IMetricFamily {
public function __construct(
private IDBConnection $connection,
) {
}
#[Override]
public function name(): string {
return 'comments';
}
#[Override]
public function type(): MetricType {
return MetricType::gauge;
}
#[Override]
public function unit(): string {
return 'comments';
}
#[Override]
public function help(): string {
return 'Number of comments';
}
#[Override]
public function metrics(): Generator {
$qb = $this->connection->getQueryBuilder();
$result = $qb->select($qb->func()->count())
->from('comments')
->where($qb->expr()->eq('verb', $qb->expr()->literal('comment')))
->executeQuery();
yield new Metric($result->fetchOne(), [], time());
}
}

View File

@@ -116,11 +116,11 @@ class CommentsSearchProvider implements IProvider {
* @throws NotFoundException
*/
protected function getFileForComment(Folder $userFolder, IComment $comment): Node {
$nodes = $userFolder->getById((int)$comment->getObjectId());
if (empty($nodes)) {
$node = $userFolder->getFirstNodeById((int)$comment->getObjectId());
if ($node === null) {
throw new NotFoundException('File not found');
}
return array_shift($nodes);
return $node;
}
}

View File

@@ -1,11 +1,11 @@
/**
/*!
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import type { Folder, View } from '@nextcloud/files'
import type { IFolder, IView } from '@nextcloud/files'
import { File, FileAction, Permission } from '@nextcloud/files'
import { File, Permission } from '@nextcloud/files'
import { describe, expect, test, vi } from 'vitest'
import logger from '../logger.js'
import { action } from './inlineUnreadCommentsAction.ts'
@@ -13,7 +13,7 @@ import { action } from './inlineUnreadCommentsAction.ts'
const view = {
id: 'files',
name: 'Files',
} as View
} as IView
describe('Inline unread comments action display name tests', () => {
test('Default values', () => {
@@ -29,36 +29,35 @@ describe('Inline unread comments action display name tests', () => {
root: '/files/admin',
})
expect(action).toBeInstanceOf(FileAction)
expect(action.id).toBe('comments-unread')
expect(action.displayName({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe('')
expect(action.title!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe('1 new comment')
expect(action.iconSvgInline({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toMatch(/<svg.+<\/svg>/)
expect(action.enabled!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe(true)
expect(action.inline!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe(true)
expect(action.default).toBeUndefined()
@@ -81,13 +80,13 @@ describe('Inline unread comments action display name tests', () => {
expect(action.displayName({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe('')
expect(action.title!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe('2 new comments')
})
@@ -108,7 +107,7 @@ describe('Inline unread comments action enabled tests', () => {
expect(action.enabled!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe(false)
})
@@ -129,7 +128,7 @@ describe('Inline unread comments action enabled tests', () => {
expect(action.enabled!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe(false)
})
@@ -150,7 +149,7 @@ describe('Inline unread comments action enabled tests', () => {
expect(action.enabled!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe(true)
})
@@ -171,7 +170,7 @@ describe('Inline unread comments action enabled tests', () => {
expect(action.enabled!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})).toBe(true)
})
@@ -180,14 +179,12 @@ describe('Inline unread comments action enabled tests', () => {
describe('Inline unread comments action execute tests', () => {
test('Action opens sidebar', async () => {
const openMock = vi.fn()
const setActiveTabMock = vi.fn()
window.OCA = {
Files: {
// @ts-expect-error Mocking for testing
Sidebar: {
_sidebar: () => ({
open: openMock,
setActiveTab: setActiveTabMock,
},
}),
},
}
@@ -206,27 +203,24 @@ describe('Inline unread comments action execute tests', () => {
const result = await action.exec!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})
expect(result).toBe(null)
expect(setActiveTabMock).toBeCalledWith('comments')
expect(openMock).toBeCalledWith('/foobar.txt')
expect(openMock).toBeCalledWith(file, 'comments')
})
test('Action handles sidebar open failure', async () => {
const openMock = vi.fn(() => {
throw new Error('Mock error')
})
const setActiveTabMock = vi.fn()
window.OCA = {
Files: {
// @ts-expect-error Mocking for testing
Sidebar: {
_sidebar: () => ({
open: openMock,
setActiveTab: setActiveTabMock,
},
}),
},
}
vi.spyOn(logger, 'error').mockImplementation(() => vi.fn())
@@ -246,13 +240,12 @@ describe('Inline unread comments action execute tests', () => {
const result = await action.exec!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})
expect(result).toBe(false)
expect(setActiveTabMock).toBeCalledWith('comments')
expect(openMock).toBeCalledWith('/foobar.txt')
expect(openMock).toBeCalledWith(file, 'comments')
expect(logger.error).toBeCalledTimes(1)
})
})

View File

@@ -1,13 +1,16 @@
/**
/*!
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import type { IFileAction } from '@nextcloud/files'
import CommentProcessingSvg from '@mdi/svg/svg/comment-processing.svg?raw'
import { FileAction } from '@nextcloud/files'
import { getSidebar } from '@nextcloud/files'
import { n, t } from '@nextcloud/l10n'
import logger from '../logger.js'
export const action = new FileAction({
export const action: IFileAction = {
id: 'comments-unread',
title({ nodes }) {
@@ -34,8 +37,8 @@ export const action = new FileAction({
}
try {
window.OCA.Files.Sidebar.setActiveTab('comments')
await window.OCA.Files.Sidebar.open(nodes[0].path)
const sidebar = getSidebar()
sidebar.open(nodes[0], 'comments')
return null
} catch (error) {
logger.error('Error while opening sidebar', { error })
@@ -46,4 +49,4 @@ export const action = new FileAction({
inline: () => true,
order: -140,
})
}

View File

@@ -1,8 +1,10 @@
/**
/*!
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import type { INode } from '@nextcloud/files'
import moment from '@nextcloud/moment'
import { createPinia, PiniaVuePlugin } from 'pinia'
import Vue, { type ComponentPublicInstance } from 'vue'
@@ -19,7 +21,7 @@ let ActivityTabPluginInstance
*/
export function registerCommentsPlugins() {
window.OCA.Activity.registerSidebarAction({
mount: async (el, { fileInfo, reload }) => {
mount: async (el: HTMLElement, { node, reload }: { node: INode, reload: () => void }) => {
const pinia = createPinia()
if (!ActivityTabPluginView) {
@@ -32,10 +34,10 @@ export function registerCommentsPlugins() {
pinia,
propsData: {
reloadCallback: reload,
resourceId: fileInfo.id,
resourceId: node.fileid,
},
})
logger.info('Comments plugin mounted in Activity sidebar action', { fileInfo })
logger.info('Comments plugin mounted in Activity sidebar action', { node })
},
unmount: () => {
// destroy previous instance if available
@@ -45,9 +47,15 @@ export function registerCommentsPlugins() {
},
})
window.OCA.Activity.registerSidebarEntries(async ({ fileInfo, limit, offset }) => {
const { data: comments } = await getComments({ resourceType: 'files', resourceId: fileInfo.id }, { limit, offset })
logger.debug('Loaded comments', { fileInfo, comments })
window.OCA.Activity.registerSidebarEntries(async ({ node, limit, offset }: { node: INode, limit?: number, offset?: number }) => {
const { data: comments } = await getComments(
{ resourceType: 'files', resourceId: node.fileid },
{
limit,
offset: offset ?? 0,
},
)
logger.debug('Loaded comments', { node, comments })
const { default: CommentView } = await import('./views/ActivityCommentEntry.vue')
// @ts-expect-error Types are broken for Vue2
const CommentsViewObject = Vue.extend(CommentView)
@@ -62,7 +70,7 @@ export function registerCommentsPlugins() {
el: element,
propsData: {
comment,
resourceId: fileInfo.id,
resourceId: node.fileid,
reloadCallback: reload,
},
})

View File

@@ -1,59 +0,0 @@
/**
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import MessageReplyText from '@mdi/svg/svg/message-reply-text.svg?raw'
import { getCSPNonce } from '@nextcloud/auth'
import { loadState } from '@nextcloud/initial-state'
import { registerCommentsPlugins } from './comments-activity-tab.ts'
// @ts-expect-error __webpack_nonce__ is injected by webpack
__webpack_nonce__ = getCSPNonce()
if (loadState('comments', 'activityEnabled', false) && OCA?.Activity?.registerSidebarAction !== undefined) {
// Do not mount own tab but mount into activity
window.addEventListener('DOMContentLoaded', function() {
registerCommentsPlugins()
})
} else {
// Init Comments tab component
let TabInstance = null
const commentTab = new OCA.Files.Sidebar.Tab({
id: 'comments',
name: t('comments', 'Comments'),
iconSvg: MessageReplyText,
async mount(el, fileInfo, context) {
if (TabInstance) {
TabInstance.$destroy()
}
TabInstance = new OCA.Comments.View('files', {
// Better integration with vue parent component
parent: context,
propsData: {
resourceId: fileInfo.id,
},
})
// Only mount after we have all the info we need
await TabInstance.update(fileInfo.id)
TabInstance.$mount(el)
},
update(fileInfo) {
TabInstance.update(fileInfo.id)
},
destroy() {
TabInstance.$destroy()
TabInstance = null
},
scrollBottomReached() {
TabInstance.onScrollBottomReached()
},
})
window.addEventListener('DOMContentLoaded', function() {
if (OCA.Files && OCA.Files.Sidebar) {
OCA.Files.Sidebar.registerTab(commentTab)
}
})
}

View File

@@ -0,0 +1,48 @@
/**
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import MessageReplyText from '@mdi/svg/svg/message-reply-text.svg?raw'
import { getCSPNonce } from '@nextcloud/auth'
import { registerSidebarTab } from '@nextcloud/files'
import { loadState } from '@nextcloud/initial-state'
import { t } from '@nextcloud/l10n'
import wrap from '@vue/web-component-wrapper'
import { createPinia, PiniaVuePlugin } from 'pinia'
import Vue from 'vue'
import { registerCommentsPlugins } from './comments-activity-tab.ts'
__webpack_nonce__ = getCSPNonce()
const tagName = 'comments_files-sidebar-tab'
if (loadState('comments', 'activityEnabled', false) && OCA?.Activity?.registerSidebarAction !== undefined) {
// Do not mount own tab but mount into activity
window.addEventListener('DOMContentLoaded', function() {
registerCommentsPlugins()
})
} else {
registerSidebarTab({
id: 'comments',
displayName: t('comments', 'Comments'),
iconSvgInline: MessageReplyText,
order: 50,
tagName,
async onInit() {
const { default: FilesSidebarTab } = await import('./views/FilesSidebarTab.vue')
Vue.use(PiniaVuePlugin)
Vue.mixin({ pinia: createPinia() })
const webComponent = wrap(Vue, FilesSidebarTab)
// In Vue 2, wrap doesn't support disabling shadow. Disable with a hack
Object.defineProperty(webComponent.prototype, 'attachShadow', {
value() { return this },
})
Object.defineProperty(webComponent.prototype, 'shadowRoot', {
get() { return this },
})
window.customElements.define(tagName, webComponent)
},
})
}

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