Compare commits

..

1089 Commits

Author SHA1 Message Date
Nextcloud bot
16867587d3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-12 00:18:52 +00:00
Nextcloud bot
f8dbe2349a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-11 00:19:28 +00:00
Louis
0b74ccd426 Merge pull request #59558 from nextcloud/artonge/fix/ldap_credentials_wizards
fix(user_ldap): Do not require credentials in wizard
2026-04-10 18:30:52 +02:00
Joas Schilling
a2bb782f66 Merge pull request #59566 from nextcloud/bugfix/noid/fix-reverting-multibyte-strings
fix(testing): Fix fake provider reverting strings with emojis
2026-04-10 18:14:37 +02:00
Joas Schilling
b2fef6a112 Merge pull request #59564 from nextcloud/followup/59543/remove-reference-of-old-method
docs(workflowengine): Remove reference of removed method
2026-04-10 16:16:52 +02:00
Joas Schilling
a8345b1da7 Merge pull request #59557 from nextcloud/dependabot/composer/aws/aws-sdk-php-3.374.2
build(deps): bump aws/aws-sdk-php to 3.376
2026-04-10 16:07:54 +02:00
Joas Schilling
43c5fd3f76 fix(testing): Fix fake provider reverting strings with emojis
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-10 16:03:25 +02:00
nextcloud-command
d407cdd861 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-04-10 13:34:44 +00:00
Joas Schilling
0c5e1b2ee3 build(deps): bump aws/aws-sdk-php to 3.376
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-10 14:32:21 +02:00
Joas Schilling
8fad0ceffc docs(workflowengine): Remove reference of removed method
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-10 14:13:53 +02:00
Louis Chmn
c181720a89 fix(user_ldap): Do not require credentials in wizard
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-04-10 10:41:54 +02:00
Joas Schilling
4841e6ee63 Merge pull request #59529 from nextcloud/dependabot/composer/phpseclib/phpseclib-2.0.52
build(deps): bump phpseclib/phpseclib from 2.0.47 to 2.0.52
2026-04-10 07:03:40 +02:00
Carl Schwan
52ce67b799 Merge pull request #59543 from nextcloud/chore/remove-workflowengine-deprecated-stuff
chore: Remove long-time deprecated things from workflowengine
2026-04-10 02:57:32 +02:00
Nextcloud bot
3c3cbd16b5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-10 00:19:14 +00:00
Carl Schwan
14472cb8cc Merge pull request #59511 from nextcloud/public-share-only-mask-home
Only mask the permissions for the users home directory for public shares
2026-04-10 01:54:17 +02:00
Ferdinand Thiessen
033e78e587 Merge pull request #59289 from nextcloud/fix/sharing-pwd
fix(sharing): show common confirmation on password reset
2026-04-09 19:22:09 +02:00
Ferdinand Thiessen
909ff0e4f1 Merge pull request #59426 from nextcloud/fix/wfe-scripts
fix(workflowengine): remove non existing script loading
2026-04-09 19:12:49 +02:00
Joas Schilling
8ea3fba96e ci(psalm): Update baseline
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-09 18:21:18 +02:00
Côme Chilliet
f445c14b76 chore: Update psalm baseline
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-04-09 18:03:18 +02:00
nextcloud-command
17c223efbf chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-04-09 15:59:10 +00:00
Côme Chilliet
94774ca5c3 chore: Remove long-time deprecated things from workflowengine
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-04-09 17:04:52 +02:00
Ferdinand Thiessen
c96099183e fix(sharing): show common confirmation on password reset
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-09 16:59:19 +02:00
Joas Schilling
00609572e4 build(deps): bump phpseclib/phpseclib from 2.0.47 to 2.0.52
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-09 16:28:21 +02:00
Robin Appelman
3cd3c6dd90 fix: only mask the permissions for the users home directory for public shares
this ensures that versions/trashbin/etc is still usable

Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-09 16:19:10 +02:00
Robin Appelman
e96a89e630 feat: add permissions mask variant that only masks one directory
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-09 16:19:10 +02:00
Ferdinand Thiessen
1219c8e152 Merge pull request #59325 from mykh-hailo/fix/profile-ui
fix: profile page on small screens
2026-04-09 15:43:38 +02:00
Louis
e3e499a63a Merge pull request #59348 from mykh-hailo/feat/ui-enhancement
feat: remove password column from user table
2026-04-09 12:45:26 +02:00
Joas Schilling
9ff0adf239 Merge pull request #59522 from nextcloud/bugfix/noid/make-maintenance-mode-more-obvious
fix(updater): Make "maintenance mode kept active" more obvious
2026-04-09 10:37:44 +02:00
Joas Schilling
d6ee1eafa3 fix(updater): Make "maintenance mode kept active" more obvious
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-09 09:10:21 +02:00
Benjamin Gaussorgues
c835064a6b Merge pull request #59494 from nextcloud/artonge/fix/drop_transaction_during_scans 2026-04-09 08:56:50 +02:00
Nextcloud bot
5b7ea4e858 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-09 00:19:00 +00:00
mykh-hailo
d3ef95c78f fix: profile page on small screens
Signed-off-by: mykh-hailo <kristianderonta0205@gmail.com>
2026-04-08 13:13:42 -04:00
Robin Appelman
e761005e52 Merge pull request #57360 from nextcloud/fix/trashbin-atomic-cache
fix(trashbin): keep cache and db consistent
2026-04-08 18:04:25 +02:00
mykh-hailo
415ecb1cf5 feat: remove password column from user table
Signed-off-by: mykh-hailo <kristianderonta0205@gmail.com>
2026-04-08 12:03:56 -04:00
Ferdinand Thiessen
a30653c6cb Merge pull request #59486 from nextcloud/fix/drop-files-subfolder
fix(files): properly handle dropped files on subfolders
2026-04-08 17:43:07 +02:00
nextcloud-command
48c3933cb6 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-04-08 15:22:45 +00:00
Ferdinand Thiessen
d02df72efe fix(files): properly handle dropped files on subfolders
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-08 17:03:24 +02:00
Git'Fellow
9fd6c4abc1 Merge pull request #59296 from nextcloud/automated/noid/rector-changes
Apply rector changes
2026-04-08 15:29:02 +02:00
Louis Chmn
680ddd93c2 fix(Scanner): Remove high level transaction during scans
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-04-08 14:34:45 +02:00
Louis Chmn
72812b2b07 chore(Scanner): Use modern syntax and APIs
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-04-08 12:26:55 +02:00
Nextcloud bot
2d91bdd74c fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-08 00:19:10 +00:00
Ferdinand Thiessen
053f725f98 Merge pull request #59427 from nextcloud/fix/dashboard-list
fix(dashboard): remove status list if there are none
2026-04-07 17:27:32 +02:00
Ferdinand Thiessen
0b5ce4e78a Merge pull request #59423 from nextcloud/fix/webauthn-list
fix(settings): hide list of webauthn devices if empty
2026-04-07 17:27:12 +02:00
nextcloud-command
2fd8961b85 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-04-07 15:10:00 +00:00
nextcloud-command
9d70509221 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-04-07 15:05:32 +00:00
Ferdinand Thiessen
29628eba33 fix(dashboard): remove status list if there are none
- resolves https://github.com/nextcloud/server/issues/59334

If there are no status entries the list must be removed.
Its not valid to show an empty list as per accessibility rules:
https://www.w3.org/TR/wai-aria-1.2/#mustContain

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-07 16:56:30 +02:00
Ferdinand Thiessen
b060efaca4 fix(settings): hide list of webauthn devices if empty
- resolves https://github.com/nextcloud/server/issues/59339

If there are no devices the list would be empty.
This is invalid for accessibility, as every list needs at least one
listitem.
Ref: https://www.w3.org/TR/wai-aria-1.2/#mustContain

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-07 16:56:21 +02:00
Ferdinand Thiessen
13583e8c6b Merge pull request #59424 from nextcloud/fix/systemtags-inline
fix(systemtags): only render inline list of tags if there are some
2026-04-07 16:55:25 +02:00
Ferdinand Thiessen
0526c18ac2 Merge pull request #59430 from nextcloud/chore/logger
refactor(files): use consistent logger import
2026-04-07 16:55:11 +02:00
Louis
239c8ccfe1 Merge pull request #59463 from nextcloud/automated/noid/update-min-supported-desktop-version
chore: Update minimum supported desktop version to 3.1.83
2026-04-07 15:58:29 +02:00
nextcloud-command
b9e4a2a115 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-04-07 13:47:58 +00:00
Benjamin Gaussorgues
1ed4f74551 Merge pull request #58892 from nextcloud/chore/add-test-snowflake-32 2026-04-07 15:47:50 +02:00
nextcloud-command
66881a7cc9 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-04-07 13:39:54 +00:00
Ferdinand Thiessen
a58a2961f3 fix(systemtags): only render inline list of tags if there are some
- resolves #59332

If there are no tags available, then we cannot render an `<ul>` element
as this would result in invalid HTML / invalid accessibility state.
Ref: https://www.w3.org/TR/wai-aria-1.2/#mustContain

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-07 14:45:44 +02:00
Ferdinand Thiessen
044f4f076e refactor(files): use consistent logger import
We try to use named exports everywhere so also for the logger for
consistency. Also the logger is more of a util then a main entry point
so moved the implementation to the utils directory.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-07 14:41:03 +02:00
Côme Chilliet
3f6d0c4192 Merge pull request #59462 from Keeper-of-the-Keys/config-header-attempt-2
feat: add config header and tests.
2026-04-07 14:40:33 +02:00
Carl Schwan
c61b17f4a0 Merge pull request #59382 from nextcloud/supressStreamSabreDav
fix(zip): suppress sabre/dav response only if stream was actually sent
2026-04-07 14:05:52 +02:00
Joas Schilling
bb0841b81e Merge pull request #59407 from nextcloud/bugfix/noid/make-appointments-talk-meetings
feat(talk): Allow to create conversations that are meetings
2026-04-07 13:33:56 +02:00
Joas Schilling
3f52005674 feat(talk): Allow to create conversations that are meetings
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-07 13:00:29 +02:00
Kent Delante
51cde1a57a Merge pull request #59001 from IONOS-Productivity/tkl/dev/files_external-delegation-rebased-on-NC
feat(files_external): convert to delegated settings
2026-04-07 17:24:03 +08:00
Côme Chilliet
c20fcccfa6 Merge pull request #59379 from nextcloud/fix/clean-ldap-ocp-typing
fix: Fix typing in LDAP provider public interfaces
2026-04-07 10:52:36 +02:00
E.S. Rosenberg a.k.a. Keeper of the Keys
3f539d78e3 fix: change config-warning to const per @come-nc request in the PR.
Signed-off-by: E.S. Rosenberg a.k.a. Keeper of the Keys <es-github@rosenberg.org.il>
2026-04-07 11:47:14 +03:00
Côme Chilliet
f34d7bef6a Merge pull request #59323 from nextcloud/jtr/ci-path-filter-rector
ci: add path filtering to rector workflow
2026-04-07 10:27:45 +02:00
Tatjana Kaschperko Lindt
faff52dff2 feat(files_external): allow delegated admins to search applicable users/groups
Signed-off-by: Tatjana Kaschperko Lindt <kaschperko-lindt@strato.de>
2026-04-07 10:09:53 +02:00
Tatjana Kaschperko Lindt
5852eaae0b feat(files_external): allow delegated admins to save global credentials
Signed-off-by: Tatjana Kaschperko Lindt <kaschperko-lindt@strato.de>
2026-04-07 10:09:53 +02:00
Tatjana Kaschperko Lindt
67deefe3fb feat(files_external): add #[AuthorizedAdminSetting] to GlobalStoragesController
Signed-off-by: Tatjana Kaschperko Lindt <kaschperko-lindt@strato.de>
2026-04-07 10:09:53 +02:00
Tatjana Kaschperko Lindt
14ae3f1a65 feat(files_external): convert to delegated settings
Signed-off-by: Tatjana Kaschperko Lindt <kaschperko-lindt@strato.de>
2026-04-07 10:09:53 +02:00
Benjamin Gaussorgues
83e464c3e8 Merge pull request #59255 from moktamd/fix/metrics-escape-label-names 2026-04-07 09:00:10 +02:00
Nextcloud bot
ed51f10b73 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-07 00:37:32 +00:00
github-actions[bot]
763a52e2fc Merge pull request #59473 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/vite-7.3.2
chore(deps-dev): Bump vite from 7.3.1 to 7.3.2 in /build/frontend-legacy
2026-04-07 02:14:59 +02:00
dependabot[bot]
58ad5b1a80 chore(deps-dev): Bump vite from 7.3.1 to 7.3.2 in /build/frontend-legacy
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.3.1 to 7.3.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.3.2
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-06 21:52:57 +00:00
nextcloud-command
c5e3677d28 chore: Update minimum supported desktop version
Signed-off-by: GitHub <noreply@github.com>
2026-04-06 00:47:07 +00:00
Nextcloud bot
b012e5cc16 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-06 00:21:20 +00:00
E.S. Rosenberg a.k.a. Keeper of the Keys
52d092da64 feat: add config header and tests.
Signed-off-by: E.S. Rosenberg a.k.a. Keeper of the Keys <es-github@rosenberg.org.il>
2026-04-06 00:46:26 +03:00
nextcloud-command
bf729c53d7 refactor: Apply rector changes
Signed-off-by: GitHub <noreply@github.com>
2026-04-05 14:47:27 +00:00
Nextcloud bot
1afeb1c2d3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-05 00:18:52 +00:00
Nextcloud bot
9a24eaa275 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-04 00:18:47 +00:00
github-actions[bot]
fc18ce9cae Merge pull request #59414 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/lodash-4.18.1
chore(deps): Bump lodash from 4.17.23 to 4.18.1 in /build/frontend-legacy
2026-04-03 16:11:25 +00:00
nextcloud-command
137e94bec2 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-04-03 15:55:16 +00:00
dependabot[bot]
8c55673a25 chore(deps): Bump lodash in /build/frontend-legacy
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-03 17:47:41 +02:00
Ferdinand Thiessen
645350d4b2 fix(workflowengine): remove non existing script loading
- resolves https://github.com/nextcloud/server/issues/59385

The script does not exist anymore, so remove it.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-03 17:23:43 +02:00
Benjamin Gaussorgues
1b241388ee chore(tests): run 32 bits tests when PreviewMapper test change
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-04-03 17:01:47 +02:00
Benjamin Gaussorgues
71aa36860f chore(tests): check Snowflake ID preserved in 32 bits
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-04-03 17:00:01 +02:00
Ferdinand Thiessen
92e4c882fc Merge pull request #59415 from hamidout/fix/user-ldap-last-login-config-key
fix(user_ldap): fix lastLogin reading wrong appid and configkey
2026-04-03 15:00:44 +02:00
hamid
b7d6822592 fix(user_ldap): fix lastLogin reading wrong appid and configkey
fetchDetails() was calling getValueInt($uid, 'user_ldap', 'email')
instead of getValueInt($uid, 'login', 'lastLogin'), causing lastLogin
to always return 0 for offline LDAP users.

Fixes #58421

Signed-off-by: hamid <hamid@webpick.net>
2026-04-03 13:06:49 +01:00
Nextcloud bot
ae45f67a75 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-03 00:18:44 +00:00
Ferdinand Thiessen
521e61828f Merge pull request #59335 from mykh-hailo/fix/duplicate-dashboard-widget
fix: duplicate dashboard widget
2026-04-02 23:22:12 +02:00
mykh-hailo
708fa13428 fix: move sanitize directly to sanitizeLayout
Signed-off-by: mykh-hailo <kristianderonta0205@gmail.com>
2026-04-02 20:20:19 +02:00
mykh-hailo
5a8292fe43 fix: duplicate dashboard widget
Signed-off-by: mykh-hailo <kristianderonta0205@gmail.com>
2026-04-02 20:20:19 +02:00
Ferdinand Thiessen
c0cab68f8b Merge pull request #59388 from nextcloud/fix/noid/files-search-default-limit
fix(file-search): use default limit to search query if not provided on request body
2026-04-02 20:13:40 +02:00
Git'Fellow
1a2d36af39 Merge pull request #59267 from nextcloud/backport/59262/master
fix(files_sharing): do not prevent share creation if password is enabled but not supported by the current share type
2026-04-02 17:35:23 +02:00
Joas Schilling
60d71a99e2 Merge pull request #59370 from nextcloud/docs/adapt-codeowners
docs(webhook_listeners): adapt codeowners
2026-04-02 12:15:47 +02:00
Joas Schilling
532ba405cf Merge pull request #59341 from nextcloud/3rdparty/upgrade-zipstreamer
chore(dependencies): upgrade zipstreamer in 3rdparty
2026-04-02 11:33:25 +02:00
John Molakvoæ
ca3f77bea2 Merge pull request #58872 from nextcloud/fix/templatespath 2026-04-02 11:27:31 +02:00
Joas Schilling
95e94556e1 Merge pull request #59394 from nextcloud/bugfix/noid/dont-register-invalid-routes
fix(settings): Don't register invalid routes
2026-04-02 11:26:09 +02:00
Ferdinand Thiessen
28724fe496 Merge pull request #59365 from nextcloud/fix/default-values
fix(files_external): properly set default values for backend options
2026-04-02 11:04:06 +02:00
Git'Fellow
f637e1c6a2 Merge pull request #59330 from nextcloud/btnOpenShare-2
fix: update email button text to 'Open shared item'
2026-04-02 11:03:43 +02:00
Salvatore Martire
c5f4ac1253 chore(dependencies): upgrade zipstreamer in 3rdparty
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-04-02 10:44:10 +02:00
Joas Schilling
baec1727b3 fix(settings): Don't register invalid routes
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-02 09:30:15 +02:00
nextcloud-command
b3fa62fc3d chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-04-02 01:56:07 +00:00
Ferdinand Thiessen
d3e5a764ba fix(files_external): properly set default values for backend options
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-02 03:47:33 +02:00
Ferdinand Thiessen
456684f138 Merge pull request #59362 from nextcloud/test/deprecations
test: resolve PHPUnit deprecation warning about `addMethods`
2026-04-02 03:46:55 +02:00
Nextcloud bot
04c12502d1 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-02 00:19:14 +00:00
nextcloud-command
1bbceea598 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-04-01 21:22:25 +00:00
skjnldsv
661739c9d7 fix(files_sharing): do not prevent share creation if password is enabled but not supported by the current share type
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2026-04-01 21:20:21 +00:00
Ferdinand Thiessen
03c318d730 Merge pull request #58353 from nextcloud/refactor/55428/comments
refactor(comments): migrate to Vue 3
2026-04-01 20:49:24 +02:00
Robin Appelman
0317e002f3 test: skip testTrashEntryCreatedWhenSourceNotInCache on object store
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-01 20:23:42 +02:00
Cristian Scheid
3539476d12 fix(file-search): use default limit to search query if not provided on request body
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-04-01 14:55:04 -03:00
Robin Appelman
966db54089 chore: psalm fix
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-01 19:25:27 +02:00
Robin Appelman
b76cdd09cc fix: catch all exceptions during trashbin cache move
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-01 19:24:26 +02:00
Robin Appelman
921ee17026 test: add test for trashbin when cross-storage move fails
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-01 19:24:25 +02:00
Robin Appelman
7eae0e5f8c chore: deduplicate trashbin row delete logic
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-01 18:09:29 +02:00
Hoang Pham
b7150ad88c perf(trashbin): avoid full rescan for uncached moves
Signed-off-by: Hoang Pham <hoangmaths96@gmail.com>
2026-04-01 18:00:21 +02:00
Hoang Pham
eedd8dce3c fix(trashbin): keep metadata consistent on move
Signed-off-by: Hoang Pham <hoangmaths96@gmail.com>
2026-04-01 18:00:21 +02:00
Hoang Pham
ac9c17c7b8 fix: keep trashbin cache and db in sync
Signed-off-by: Hoang Pham <hoangmaths96@gmail.com>
2026-04-01 18:00:19 +02:00
nextcloud-command
78098c8325 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-04-01 13:41:02 +00:00
Git'Fellow
d03604a887 fix(zip): suppress sabre/dav response if stream was actually sent
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-04-01 14:58:27 +02:00
Ferdinand Thiessen
e8c47cf3ec fix: properly load async components
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-01 14:54:43 +02:00
Ferdinand Thiessen
324ebd144c fix: add compatibility layer for apps expecting Vue 2 API
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-01 14:54:43 +02:00
Ferdinand Thiessen
e26588d78c chore: fix ESLint errors
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-01 14:54:43 +02:00
Edward Ly
c56ebcecb2 refactor(comments): migrate to Vue 3
Signed-off-by: Edward Ly <contact@edward.ly>
2026-04-01 14:54:43 +02:00
Edward Ly
3aa22804e1 refactor(comments): migrate to TypeScript
Signed-off-by: Edward Ly <contact@edward.ly>
2026-04-01 14:54:43 +02:00
Edward Ly
4edf863803 build(comments): move from frontend-legacy to frontend
Signed-off-by: Edward Ly <contact@edward.ly>
2026-04-01 14:54:43 +02:00
Jana Peper
b87d71c4e5 docs(webhook_listeners): adapt codeowners
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2026-04-01 14:48:50 +02:00
Côme Chilliet
99a8e6c3c4 fix: Fix typing in LDAP provider public interfaces
Remove obsolete `resource` typing for ldap with PHP>=8.1.
Add proper attributes.
Add strong typing.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-04-01 14:36:40 +02:00
John Molakvoæ
bb1ad1ca15 Merge pull request #59372 from nextcloud/carl/silent-warning-zip 2026-04-01 14:19:13 +02:00
Carl Schwan
7eb0ba9feb fix(zip): Fix warning when downloading Zip file
The HEAD request, create a GET subrequest which is not compatible with
the ZIP plugin since the ZIP plugin is directly streaming the content to
php://output, so we were sending the content in a HEAD request and
creating the ZIP twice and this was creating various warning in logs
too.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-04-01 12:19:43 +02:00
Joas Schilling
530b635cea Merge pull request #58986 from nextcloud/Jerome-Herbinet-activity_use_cached_mountpoints_flag_retroactivity_notice
activity_use_cached_mountpoints flag retroactivity notice
2026-04-01 08:03:38 +02:00
Nextcloud bot
84112d8fc7 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-01 00:19:19 +00:00
Ferdinand Thiessen
f6379da3a1 Merge pull request #59294 from nextcloud/dragDropDirCreate
fix(filesDrop): drag-and-drop folder upload
2026-04-01 01:30:48 +02:00
github-actions[bot]
560ea9abe7 Merge pull request #59363 from nextcloud/dependabot/github_actions/github-actions-38c73435d9
chore(deps): Bump the github-actions group with 7 updates
2026-03-31 23:22:03 +00:00
Ferdinand Thiessen
e0c1b74419 test: resolve PHPUnit deprecation warning about addMethods
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-01 01:12:52 +02:00
Ferdinand Thiessen
047a758a31 Merge pull request #58786 from nextcloud/fix/templates_enabled
fix(files): only disable template creation when both skeleton directories are empty
2026-04-01 00:40:25 +02:00
nextcloud-command
d5cc1ad2ca chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-31 22:21:32 +00:00
dependabot[bot]
36e4de2552 chore(deps): Bump the github-actions group with 7 updates
Bumps the github-actions group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [dorny/paths-filter](https://github.com/dorny/paths-filter) | `3.0.2` | `4.0.1` |
| [shivammathur/setup-php](https://github.com/shivammathur/setup-php) | `2.36.0` | `2.37.0` |
| [github/codeql-action](https://github.com/github/codeql-action) | `4.32.4` | `4.35.1` |
| [actions/setup-node](https://github.com/actions/setup-node) | `6.2.0` | `6.3.0` |
| [cypress-io/github-action](https://github.com/cypress-io/github-action) | `7.1.5` | `7.1.9` |
| [codecov/codecov-action](https://github.com/codecov/codecov-action) | `5.5.2` | `6.0.0` |
| [LizardByte/actions](https://github.com/lizardbyte/actions) | `2026.227.200013` | `2026.328.161128` |


Updates `dorny/paths-filter` from 3.0.2 to 4.0.1
- [Release notes](https://github.com/dorny/paths-filter/releases)
- [Changelog](https://github.com/dorny/paths-filter/blob/master/CHANGELOG.md)
- [Commits](de90cc6fb3...fbd0ab8f3e)

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

Updates `github/codeql-action` from 4.32.4 to 4.35.1
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](89a39a4e59...c10b8064de)

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

Updates `cypress-io/github-action` from 7.1.5 to 7.1.9
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md)
- [Commits](bc22e01685...783cb3f079)

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

Updates `LizardByte/actions` from 2026.227.200013 to 2026.328.161128
- [Release notes](https://github.com/lizardbyte/actions/releases)
- [Commits](70bb8d394d...0affa4f7bc)

---
updated-dependencies:
- dependency-name: dorny/paths-filter
  dependency-version: 4.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: shivammathur/setup-php
  dependency-version: 2.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-version: 4.35.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: actions/setup-node
  dependency-version: 6.3.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.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: codecov/codecov-action
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: LizardByte/actions
  dependency-version: 2026.328.161128
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-31 22:18:07 +00:00
Git'Fellow
5a9fa36bb1 fix(filesDrop): drag-and-drop folder upload directories
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-04-01 00:13:53 +02:00
Ferdinand Thiessen
9e9cccd9ec Merge pull request #58903 from nextcloud/chore/noid/update-workflows
chore(workflows): remove cypress cloud
2026-03-31 23:36:53 +02:00
Ferdinand Thiessen
533125defc Merge pull request #59342 from nextcloud/ci/cypress-contributors
ci(cypress): allow running on forks by removing Cypress cloud
2026-03-31 15:59:21 +02:00
Ferdinand Thiessen
6ba57a70a9 Merge pull request #59311 from nextcloud/jtr/feat-reminders-utc-headers
feat(files_reminders): add explicit UTC indicators to `list` command headers
2026-03-31 15:43:47 +02:00
Ferdinand Thiessen
266dfbce24 Merge pull request #58970 from nextcloud/fix/sftp-mtime
fix: manually set modified time to SFTP files after editing
2026-03-31 13:39:47 +02:00
Joas Schilling
820e0915e9 Merge pull request #59299 from AlessioDiPretoroAsdea/fix/suggestion-ticket-59266
dav: Fix fatal error when ORGANIZER is missing in CalDAV schedule
2026-03-31 13:30:14 +02:00
moktamd
1c33307a59 fix(metrics): validate label names in Metric, sanitize in AppsInfo
Add validation in the Metric constructor that rejects invalid
OpenMetrics label names with InvalidArgumentException. Sanitize
app IDs at the source in AppsInfo by replacing hyphens with
underscores before creating the Metric.

Fixes nextcloud/server#59247

Signed-off-by: moktamd <moktamd@users.noreply.github.com>
2026-03-31 11:20:40 +00:00
Stephan Orbaugh
22c75f5b25 Merge pull request #59317 from psimaker/fix/weather-status-missing-codes
fix(weather_status): add all missing met.no symbol codes to weatherOptions
2026-03-31 12:59:45 +02:00
Ferdinand Thiessen
0cd74df34e chore: update psalm baseline
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-31 12:36:06 +02:00
Hendrik Leidinger
6e88edb0a6 fix: make psalm and rector happy
Signed-off-by: Hendrik Leidinger <hendrik.leidinger@nextcloud.com>
2026-03-31 12:35:09 +02:00
Hendrik Leidinger
33e35afad2 fix: modified touch function of the SFTP storage to update mtimes instead
Signed-off-by: Hendrik Leidinger <hendrik.leidinger@nextcloud.com>
2026-03-31 12:35:08 +02:00
Hendrik Leidinger
6d26c71b48 fix: manually set modified time to SFTP files after editing
Signed-off-by: Hendrik Leidinger <hendrik.leidinger@nextcloud.com>
2026-03-31 12:35:08 +02:00
psimaker
19b0c911aa chore(weather_status): compile frontend assets
Signed-off-by: psimaker <psimaker@users.noreply.github.com>
2026-03-31 12:23:55 +02:00
psimaker
af8cb33a40 fix(weather_status): add all missing met.no symbol codes to weatherOptions
Signed-off-by: psimaker <psimaker@users.noreply.github.com>
2026-03-31 12:12:33 +02:00
Ferdinand Thiessen
d6e6525861 ci(cypress): allow running on forks by removing Cypress cloud
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-31 12:01:11 +02:00
Joas Schilling
5acf3878f3 Merge pull request #59318 from nextcloud/jtr/ci-perf-lint-php-cs-changes-bypass
ci: stop running `lint` in `lint-php-cs` unconditionally even if no changes
2026-03-31 11:56:26 +02:00
Joas Schilling
810d8b4c98 Merge pull request #59319 from nextcloud/jtr/ci-perf-static-code-analysis-changes-check
ci: add path filtering to static-code-analysis workflow
2026-03-31 11:55:19 +02:00
Git'Fellow
545a9c1c73 fix: update email button text to 'Open shared item'
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-03-31 11:27:58 +02:00
Nextcloud bot
32a264842f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-31 00:19:16 +00:00
Josh
7ccc7a69f7 ci: add path filtering to rector workflow
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-30 19:11:49 -04:00
AlessioDiPretoroAsdea
85b851a7df fix(dav): Avoid fatal error for events without an organizer
Signed-off-by: AlessioDiPretoroAsdea <alessio.dipretoro@asdeahw.net>
2026-03-30 14:22:56 -04:00
Josh
330ae40ecf ci: add path filtering to static-code-analysis workflow
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-30 12:56:55 -04:00
Josh
b400f1b93b ci: stop running lint in lint-php-cs unconditionally even if no changes
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-30 12:31:49 -04:00
Robin Appelman
78513504ca Merge pull request #59202 from nextcloud/encp-cache-key-validation
fix: cache validation of system keys
2026-03-30 17:52:31 +02:00
Josh
d89da91a56 feat(files_reminders): add explicit UTC indicators to list command headers
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-30 10:42:35 -04:00
Côme Chilliet
7040916f96 Merge pull request #59222 from nextcloud/artonge/fix/systemtag_user_context
feat(systemtag): Add $user context to create and update tag
2026-03-30 16:33:52 +02:00
Salvatore Martire
9756097e28 Merge pull request #59252 from nextcloud/fix/move-with-unjailed-source-path
fix: use unjailed source path when moving jailed files
2026-03-30 15:42:49 +02:00
Oleksandr Piskun
5ce08e9704 Merge pull request #58376 from nextcloud/feat/taskprocessing/keda-autoscaler
feat(taskprocessing): Add queue_stats API endpoint for external autoscalers
2026-03-30 16:27:54 +03:00
Oleksander Piskun
f573285040 feat(taskprocessing): Add queue_stats API endpoint for external autoscalers
Signed-off-by: Oleksander Piskun <oleksandr2088@icloud.com>
2026-03-30 12:03:19 +00:00
Joas Schilling
b119cace4f Merge pull request #59303 from nextcloud/bugfix/noid/dont-redirect-on-error
fix(sharing): Don't redirect when accepting a share failed
2026-03-30 13:12:48 +02:00
Joas Schilling
2c560b0837 fix(sharing): Don't redirect when accepting a share failed
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-30 12:07:42 +02:00
Côme Chilliet
4e0217ef13 chore(tests): Fix bogus parameter passed by tests to createTag
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-30 11:38:15 +02:00
Côme Chilliet
17d60a4af0 Merge pull request #59204 from nextcloud/jtr/feat-external-s3-auth-fields
feat(files_external/s3): make some auth labels clearer
2026-03-30 11:24:23 +02:00
Côme Chilliet
3a5c445c78 Merge pull request #59261 from nextcloud/feat/config/sensitive-values/sentry-csp-report-url
feat(config): add Sentry CSP Report URL to sensitive values
2026-03-30 10:15:02 +02:00
Git'Fellow
04ee3aff1a Merge pull request #59270 from nextcloud/ensureValueOneParallel
fix(chunkedUploads): Ensure max parallel count is at least 1
2026-03-30 10:11:27 +02:00
Louis Chmn
3aa2e130cd feat(systemtag): Add $user context to create and update tag
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-03-30 09:54:54 +02:00
Nextcloud bot
b71661a38b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-30 00:29:17 +00:00
Git'Fellow
5b86c7a402 docs: Add a note to documentation
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-03-29 15:02:43 +02:00
Nextcloud bot
e2dc439c71 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-29 00:33:57 +00:00
Josh
c86e2d1e67 test: add coverage for ChunkedUploadConfig
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-27 23:44:45 -04:00
Nextcloud bot
f5faddaf31 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-28 00:30:27 +00:00
Git'Fellow
99a26b0a97 fix(chunkedUploads): Ensure max parallel count is at least 1
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-03-27 18:57:19 +01:00
Andy Scherzinger
aaf2ded381 Merge pull request #59240 from nextcloud/hskpng/code-owners
docs: update CODEOWNERS with new assignments
2026-03-27 18:48:53 +01:00
Joda Stößer
c8dbc73017 fix(config): correct indentation for Sentry CSP Report URL
Signed-off-by: Joda Stößer <git@simjo.st>
2026-03-27 16:11:28 +01:00
Joda Stößer
a71584ee96 feat(config): add Sentry CSP Report URL to sensitive values
Signed-off-by: Joda Stößer <git@simjo.st>
2026-03-27 16:01:41 +01:00
Salvatore Martire
bf24b24841 fix: use unjailed source path when moving jailed files
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-03-27 14:30:46 +01:00
Nextcloud bot
f8cc0adefb fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-27 00:29:10 +00:00
Robin Appelman
d1fd735698 Merge pull request #57374 from nextcloud/rename-dav-permissions
fix: allow renaming files with just update permissions
2026-03-26 22:12:28 +01:00
Robin Appelman
1e2f273c09 test: adjust tests to caching of key validation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-26 21:13:18 +01:00
Robin Appelman
9b504039f4 fix: cache validation of system keys
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-26 21:12:05 +01:00
Arthur Schiwon
0ff7ad3535 docs: update CODEOWNERS with new assignments
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2026-03-26 21:06:50 +01:00
nextcloud-command
8f7b0b4264 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-26 18:18:56 +01:00
Robin Appelman
c08592de28 fix: properly expose rename permissions over dav
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-26 18:18:55 +01:00
Robin Appelman
005b2b04e8 fix: update rename permissions check in files ui
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-26 17:10:03 +01:00
Robin Appelman
63a4778744 fix: allow renaming files with just update permissions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-26 17:10:01 +01:00
Côme Chilliet
ca245b4cc6 Merge pull request #58896 from nextcloud/fix/fix-tags-user-event
fix: Fix user in Tags class, do not depend upon session
2026-03-26 17:06:27 +01:00
Louis
309d12abe1 Merge pull request #58990 from mosi-kha/fix/group-displayname-event-oldvalue
fix(group): pass previous display name in GroupChangedEvent
2026-03-26 16:07:50 +01:00
Kate
7e9e1269a0 Merge pull request #59218 from nextcloud/feat/audit-log-ai-config-changes 2026-03-26 12:22:37 +01:00
Marcel Klehr
861f9bdb31 fix(settings): Check all values first, then apply them
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-03-26 11:32:42 +01:00
Marcel Klehr
a375265111 fix(settings): Throw JSON errors and return 400 status if JSON encode fails
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-03-26 11:03:31 +01:00
Marcel Klehr
7fe3d1c6a0 feat(settings): Log AI config changes to audit log
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-03-26 10:50:01 +01:00
Kate
0cf140e903 Merge pull request #58761 from nextcloud/feat/1700/limit-recent-files 2026-03-26 09:05:14 +01:00
github-actions[bot]
3d27f8d288 Merge pull request #59207 from nextcloud/dependabot/npm_and_yarn/multi-bf05dc1ecf
chore(deps): Bump picomatch
2026-03-26 02:18:48 +00:00
Nextcloud bot
52dac4be2b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-26 00:19:23 +00:00
dependabot[bot]
252e24b83d chore(deps): Bump picomatch
Bumps  and [picomatch](https://github.com/micromatch/picomatch). These dependencies needed to be updated together.

Updates `picomatch` from 4.0.3 to 4.0.4
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4)

Updates `picomatch` from 2.3.1 to 2.3.2
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 4.0.4
  dependency-type: indirect
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-25 22:31:46 +00:00
Josh
b7bdd76731 feat(files_external/s3): rename legacy signature (v2) for clarity
Avoid the use of "authentication" here since this is really about signing compatibility, not the source of credentials. Also prefix with "Use" for UI consistency.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-25 16:21:35 -04:00
Josh
00100427be feat(files_external/s3): Adjust auth meth/parameter field names
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-25 16:10:35 -04:00
Ferdinand Thiessen
2ae66ff888 Merge pull request #59043 from nextcloud/jtr/chore-trashbin-drop-abortOperation-usage
chore(trashbin): deprecate abortOperation on BeforeNodeRestoredEvent / switch to AbortedEventException
2026-03-25 18:14:59 +01:00
Cristian Scheid
6594d54476 feat(recent-search): pass recent_limit config value to getRecentSearch function
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-25 13:53:26 -03:00
Joas Schilling
9b125a7605 Merge pull request #59179 from nextcloud/automated/noid/master-update-code-signing-crl
[master] fix(security): Update code signing revocation list
2026-03-25 07:35:57 +01:00
nextcloud-command
eb06a5628f fix(security): Update code signing revocation list
Signed-off-by: GitHub <noreply@github.com>
2026-03-25 03:12:18 +00:00
Nextcloud bot
2a5e57d2f4 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-25 00:19:21 +00:00
Cristian Scheid
9b605de474 refactor(recent-files): move recent limit to app-scoped config
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-24 20:44:22 -03:00
Cristian Scheid
48ce8c3fa1 refactor(recent-files): remove user config from frontend files
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-24 15:38:53 -03:00
Cristian Scheid
3925176b49 refactor(files-settings): remove recent file settings section
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-24 15:15:34 -03:00
Cristian Scheid
981978d960 feat(recent-files): handle invalid config when only min or max are set for recent files limit
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-24 15:15:34 -03:00
Cristian Scheid
282e6b707a feat(file-info): encapsulate logic to get last activity in getLastActivity function
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-24 15:15:34 -03:00
Cristian Scheid
5bcac61c73 refactor(recent-search): use order by fields to determine extended cache join and cast config limit to number
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-24 15:15:34 -03:00
Cristian Scheid
8225ab726f feat(recent-files): add nc:last_activity property to allow sorting by max between upload_time and mtime
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-24 15:15:34 -03:00
Cristian Scheid
62f3ea390e feat(recent-files): add recent_files_limit config on files settings
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-24 15:15:34 -03:00
John Molakvoæ
d677a3a5e2 Merge pull request #59089 from nextcloud/fix/expand-theming-capabilities 2026-03-24 17:45:07 +01:00
skjnldsv
04d9f79985 chore: openapi conf update
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2026-03-24 15:24:18 +01:00
John Molakvoæ
8fa69c1c29 fix(theming): deprecation message
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2026-03-24 15:24:18 +01:00
skjnldsv
f2c73ebffd fix(theming): deprecate OCA.Theming and move to capabilities
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2026-03-24 15:24:18 +01:00
Côme Chilliet
5a7d38b22c Merge pull request #59159 from nextcloud/fix/remove-static-vars-batch
Remove static vars, first batch
2026-03-24 14:20:10 +01:00
Nextcloud bot
e4c2a1d218 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-24 00:19:16 +00:00
Côme Chilliet
e367c5a928 chore: update psalm baseline
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:48:31 +01:00
Côme Chilliet
5c935429ef fix: Remove a static var usage in encryption application
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:48:31 +01:00
Côme Chilliet
c88a1d3961 fix: Remove static vars usage in user_ldap
There are still some left, harder to remove.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:48:31 +01:00
Côme Chilliet
9b84a0ec19 fix: Remove unused static var and method in files application
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:48:30 +01:00
Côme Chilliet
b256928385 fix: Remove use of static vars in dav application
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:48:30 +01:00
Daniel
8032ad83b3 Merge pull request #59147 from nextcloud/fix/use-fqdn-for-dns-pinning
fix(DnsPinning): Ensure to always lookup based on FQDN
2026-03-23 16:36:38 +01:00
Côme Chilliet
6b49aa792b chore: Remove types from const properties for PHP 8.2 compatibility
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:36:01 +01:00
Côme Chilliet
cd2d09de64 fix: Remove static vars from core classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:34:54 +01:00
Côme Chilliet
2c068f3683 fix: Remove static vars from applications
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:34:20 +01:00
Côme Chilliet
1398c598cf fix: Remove static vars from user_ldap
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:34:01 +01:00
Côme Chilliet
614afec231 fix: Remove static var in AppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:33:29 +01:00
Côme Chilliet
3fcb3a962d fix: Remove useless static property in OCP\Util
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:33:15 +01:00
Côme Chilliet
5961eba6a1 fix: Remove static var in NaturalSort
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-23 16:19:59 +01:00
Arthur Schiwon
6f7961f5ce Merge pull request #59142 from nextcloud/fix/caldav_search_for_uri
fix(ICalendar): allow to search for event URI
2026-03-23 14:56:57 +01:00
Côme Chilliet
69db28c7ec Merge pull request #59079 from nextcloud/fix/do-not-store-auth-code
fix(oauth2): Do not store the code in throttle metadata
2026-03-23 10:31:51 +01:00
Kate
18f03f69b4 Merge pull request #59151 from nextcloud/automated/noid/rector-changes 2026-03-23 10:23:51 +01:00
Jonas
f34513d8ad fix(ICalendar): allow to search for event URI
Signed-off-by: Jonas <jonas@freesources.org>
2026-03-23 10:22:03 +01:00
Nextcloud bot
9beed5c8fe fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-23 00:19:29 +00:00
github-actions[bot]
50c37e300c Merge pull request #59118 from nextcloud/dependabot/npm_and_yarn/jsdom-29.0.1
chore(deps-dev): Bump jsdom from 29.0.0 to 29.0.1
2026-03-23 00:19:37 +01:00
github-actions[bot]
730db45c26 Merge pull request #59115 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.3.9
chore(deps-dev): Bump rector/rector from 2.3.8 to 2.3.9 in /vendor-bin/rector
2026-03-23 00:18:21 +01:00
github-actions[bot]
eec757fc2e Merge pull request #59117 from nextcloud/dependabot/npm_and_yarn/stylelint-17.5.0
chore(deps-dev): Bump stylelint from 17.4.0 to 17.5.0
2026-03-23 00:17:50 +01:00
David Dreschner
5bc0ba6a51 fix(DnsPinning): Ensure to always lookup based on FQDN
Signed-off-by: David Dreschner <david.dreschner@nextcloud.com>
2026-03-22 20:34:55 +01:00
nextcloud-command
1ed0769d4c refactor: Apply rector changes
Signed-off-by: GitHub <noreply@github.com>
2026-03-22 14:45:16 +00:00
Andy Scherzinger
cde3780f01 Merge pull request #59120 from nextcloud/dependabot/npm_and_yarn/cypress-split-1.24.31
chore(deps-dev): Bump cypress-split from 1.24.28 to 1.24.31
2026-03-22 14:45:14 +01:00
Andy Scherzinger
4a88f9316b Merge pull request #58739 from chandrika1993/fix/issue-50502
fix(settings): correctly detect Chrome on Android in devices & sessions
2026-03-22 10:24:09 +01:00
Nextcloud bot
e17f7aa92d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-22 00:19:11 +00:00
Ferdinand Thiessen
9d8bab02fc Merge pull request #59141 from nextcloud/jtr/chore-EventSource-drop-legacy-IE-inline-fallback
chore(EventSource): drop no longer needed legacy fallback
2026-03-21 22:47:14 +01:00
Josh
8bd63c5fe2 chore(Trashbin): hello lint
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 11:50:28 -04:00
Josh
e53c124ecc chore(trashbin): drop unused use statements from SyncLivePhotosListener
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 11:50:28 -04:00
Josh
5f658d9eae chore(Trashbin): add AbortedEventException use
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 11:50:28 -04:00
Josh
bd0784e056 refactor(Trashbin): switch to AbortedEventException usage in restore
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 11:50:28 -04:00
Josh
23569000a8 chore(trashbin): switch SyncLivePhotosListener to AbortedEventException
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 11:50:28 -04:00
Josh
4b2a77b1ff chore(trashbin): refactor deprecated abortOperation to use AbortedEventException
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 11:50:28 -04:00
nextcloud-command
6346b9c884 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-21 14:31:28 +00:00
Josh
6a88c86a54 chore(EventSource): add typing
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 09:38:37 -04:00
Josh
9da1e46def chore(EventSource): drop legacy fallback note from IEventSource
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 09:36:35 -04:00
Josh
24550e5aac chore(EventSource): drop legacy server-side fallback
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 09:18:06 -04:00
Josh
1c1bd469b8 chore(EventSource): drop client-side fallback
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-21 09:14:35 -04:00
dependabot[bot]
fafc55c039 chore(deps-dev): Bump cypress-split from 1.24.28 to 1.24.31
Bumps [cypress-split](https://github.com/bahmutov/cypress-split) from 1.24.28 to 1.24.31.
- [Release notes](https://github.com/bahmutov/cypress-split/releases)
- [Commits](https://github.com/bahmutov/cypress-split/compare/v1.24.28...v1.24.31)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-21 02:09:35 +00:00
dependabot[bot]
f5040be492 chore(deps-dev): Bump jsdom from 29.0.0 to 29.0.1
Bumps [jsdom](https://github.com/jsdom/jsdom) from 29.0.0 to 29.0.1.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Commits](https://github.com/jsdom/jsdom/compare/v29.0.0...v29.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-21 02:08:29 +00:00
dependabot[bot]
ce009c4f95 chore(deps-dev): Bump stylelint from 17.4.0 to 17.5.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 17.4.0 to 17.5.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.4.0...17.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-21 02:08:00 +00:00
dependabot[bot]
c1251e0292 chore(deps-dev): Bump rector/rector in /vendor-bin/rector
Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.3.8 to 2.3.9.
- [Release notes](https://github.com/rectorphp/rector/releases)
- [Commits](https://github.com/rectorphp/rector/compare/2.3.8...2.3.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-21 02:03:39 +00:00
Nextcloud bot
753e6ee442 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-21 00:19:26 +00:00
github-actions[bot]
df0f570802 Merge pull request #59111 from nextcloud/dependabot/npm_and_yarn/flatted-3.4.2
chore(deps-dev): Bump flatted from 3.3.3 to 3.4.2
2026-03-20 15:48:13 +01:00
github-actions[bot]
c107cd4555 Merge pull request #59022 from nextcloud/dependabot/npm_and_yarn/fast-xml-parser-5.5.6
chore(deps): Bump fast-xml-parser from 5.4.1 to 5.5.6
2026-03-20 14:29:12 +01:00
Chandrika Mohan
38278d172f fix(settings): correctly detect Chrome on Android in devices & sessions
Signed-off-by: Chandrika Mohan <chandrikalov@gmail.com>

common logic to detect ua

Signed-off-by: Chandrika Mohan <chandrikalov@gmail.com>
2026-03-20 14:08:15 +01:00
dependabot[bot]
7df1d3683d chore(deps): Bump fast-xml-parser from 5.4.1 to 5.5.6
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.4.1 to 5.5.6.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.4.1...v5.5.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 13:04:29 +00:00
dependabot[bot]
4ac7bec175 chore(deps-dev): Bump flatted from 3.3.3 to 3.4.2
Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 12:57:30 +00:00
github-actions[bot]
1493d30f14 Merge pull request #59093 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/fast-xml-parser-5.5.7
chore(deps): Bump fast-xml-parser from 5.5.6 to 5.5.7 in /build/frontend-legacy
2026-03-20 13:56:06 +01:00
nextcloud-command
b59fcd4c32 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-20 10:53:13 +00:00
dependabot[bot]
9fee8d4dfe chore(deps): Bump fast-xml-parser in /build/frontend-legacy
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.5.6 to 5.5.7.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.5.6...v5.5.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 11:27:03 +01:00
Joas Schilling
7434af87c2 Merge pull request #59104 from nextcloud/automated/noid/master-update-ca-cert-bundle
[master] fix(security): Update CA certificate bundle
2026-03-20 07:44:11 +01:00
nextcloud-command
784a2adb87 fix(security): Update CA certificate bundle
Signed-off-by: GitHub <noreply@github.com>
2026-03-20 03:07:44 +00:00
Nextcloud bot
d0c63a1753 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-20 00:19:49 +00:00
F. E Noel Nfebe
5e93c58795 Merge pull request #58226 from nextcloud/fix/password-state-management
fix(sharing): Prevent empty password when checkbox is enabled
2026-03-19 20:23:54 +01:00
Jonas
7cdbb38d52 Merge pull request #58834 from nextcloud/feat/translucent_selection_color
feat(theming): use translucent color for text selection
2026-03-19 18:41:28 +01:00
github-actions[bot]
28bb7305c0 Merge pull request #58767 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/marked-17.0.4
chore(deps): Bump marked from 17.0.3 to 17.0.4 in /build/frontend-legacy
2026-03-19 16:32:11 +01:00
nextcloud-command
c5e9a1598a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-19 15:31:30 +00:00
nfebe
e7f8950d65 fix(sharing): Prevent generated password from overwriting user input
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-03-19 15:39:35 +01:00
nfebe
0cb96fb77d fix(sharing): Prevent empty password when checkbox is enabled
Set passwordProtectedState explicitly when initializing shares with
default passwords. This ensures the checkbox state is tracked
independently of the password value, preventing it from unchecking
when the password field is cleared.

Also block saving new shares when password protection is enabled but
no password is entered, regardless of enforcement settings.

Added passWithNoTests to vitest configs to handle Vue 2/3 dual
frontend test runs gracefully.

Fixes: #57732, #57011
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-03-19 15:39:35 +01:00
Marcel Klehr
9e7e32f0c7 Merge pull request #59015 from nextcloud/copilot/add-taskprocessing-worker-command
feat(taskprocessing): add worker command for synchronous task processing
2026-03-19 15:33:21 +01:00
Côme Chilliet
5c1b58c380 fix(oauth2): Do not store the code in throttle metadata
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-19 14:40:12 +01:00
David Dreschner
9e65c597fe Merge pull request #58897 from nextcloud/feat/add-shared-calendar-api
feat(CalDAV): Add function to get the token of a publicly shared calendar
2026-03-19 14:25:27 +01:00
nextcloud-command
f4c6b26e7b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-19 13:16:32 +00:00
dependabot[bot]
e045bb9f2b chore(deps): Bump marked from 17.0.3 to 17.0.4 in /build/frontend-legacy
Bumps [marked](https://github.com/markedjs/marked) from 17.0.3 to 17.0.4.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.3...v17.0.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-19 14:08:33 +01:00
David Dreschner
7c61e06b74 feat(CalDAV): Add function to get the token of a publicly shared calendar
Signed-off-by: David Dreschner <david.dreschner@nextcloud.com>
2026-03-19 13:55:39 +01:00
Ferdinand Thiessen
e4ab89d5b2 Merge pull request #59065 from nextcloud/fix/noid/phpunit-deprecations
fix(phpunit): migrate from deprecated syntax for PHPUnit 11.1
2026-03-19 12:05:39 +01:00
Marcel Klehr
a51d74407a fix: Apply suggestions from code review
Co-authored-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-03-19 11:14:26 +01:00
Marcel Klehr
ad5e709f7f chore: Address review comments
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot]
b1517d8938 test(taskprocessing): fix broken multi-type assertions and add starvation-prevention test
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot]
549b081f2f fix: Fix task type starvation: collect all eligible task types then pick the oldest task
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot]
e46b967b53 fix: Fix task type starvation in WorkerCommand::processNextTask by shuffling providers
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot]
de9852eca4 fix: Fix Task mock error: use real Task instances; run autoloaderchecker
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot]
9cc334312b feat(taskprocessing): Add --taskTypes whitelist option to taskprocessing:worker command
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot]
118ca6a94b feat(taskprocessing): Add worker command with tests and registration
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
Kate
95f22bc48d Merge pull request #59029 from nextcloud/fix/58913/bg-job-argument-type-text 2026-03-19 11:01:57 +01:00
John Molakvoæ
7cb4b4bbdb Merge pull request #54542 from nextcloud/54088-providePermissionsAndOwnerIdInPut 2026-03-19 10:59:10 +01:00
Maksim Sukharev
2c68e65e19 fix(phpunit): migrate from deprecated syntax for PHPUnit 11.1
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2026-03-19 10:53:56 +01:00
John Molakvoæ
3d0234bb2e Merge branch 'master' into 54088-providePermissionsAndOwnerIdInPut
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2026-03-19 09:13:45 +01:00
github-actions[bot]
e01440af96 Merge pull request #58920 from nextcloud/dependabot/npm_and_yarn/eslint-plugin-cypress-6.2.0
chore(deps-dev): Bump eslint-plugin-cypress from 6.1.0 to 6.2.0
2026-03-19 07:57:07 +00:00
github-actions[bot]
b5d8a97128 Merge pull request #59023 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/fast-xml-parser-5.5.6
chore(deps): Bump fast-xml-parser from 5.4.1 to 5.5.6 in /build/frontend-legacy
2026-03-19 00:44:59 +00:00
Nextcloud bot
0af21b72ae fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-19 00:20:27 +00:00
nextcloud-command
7eedf9c713 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-19 00:38:47 +01:00
dependabot[bot]
85f9a593a4 chore(deps): Bump fast-xml-parser in /build/frontend-legacy
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.4.1 to 5.5.6.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.4.1...v5.5.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-19 00:38:47 +01:00
github-actions[bot]
97ceffcbb4 Merge pull request #58926 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/password-confirmation-6.0.3
chore(deps): Bump @nextcloud/password-confirmation from 6.0.2 to 6.0.3 in /build/frontend-legacy
2026-03-18 23:55:27 +01:00
nextcloud-command
43c8d2de30 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-18 21:55:03 +00:00
dependabot[bot]
bf58238b5f chore(deps): Bump @nextcloud/password-confirmation
Bumps [@nextcloud/password-confirmation](https://github.com/nextcloud-libraries/nextcloud-password-confirmation) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-password-confirmation/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-password-confirmation/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-password-confirmation/compare/v6.0.2...6.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-18 21:23:15 +00:00
dependabot[bot]
82ee720335 chore(deps-dev): Bump eslint-plugin-cypress from 6.1.0 to 6.2.0
Bumps [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.1.0...v6.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-18 21:22:34 +00:00
github-actions[bot]
7af11b4315 Merge pull request #58763 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.8.23
chore(deps-dev): Bump @zip.js/zip.js from 2.8.21 to 2.8.23
2026-03-18 22:19:57 +01:00
github-actions[bot]
f20789fb9d Merge pull request #58919 from nextcloud/dependabot/npm_and_yarn/vitest-17a571e09b
chore(deps-dev): Bump the vitest group across 2 directories with 3 updates
2026-03-18 21:06:02 +00:00
Maksim Sukharev
0c5feae8d0 chore: recompile autoload files
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2026-03-18 15:50:38 +01:00
Maksim Sukharev
f01ba2de0f fix(bg_jobs): store job argument as a text, increase length cap from 4000 to 32000
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2026-03-18 15:50:38 +01:00
Ferdinand Thiessen
35606bc6bd Merge pull request #59033 from nextcloud/fix/files-external-issues
fix(files_external): properly handle API errors
2026-03-18 15:10:22 +01:00
Ferdinand Thiessen
a24fc77bcf chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-18 14:14:31 +01:00
Arthur Schiwon
3be8a652bc Merge pull request #59025 from nextcloud/perf/noid/ldap-displayname-from-db
fix(LDAP): use displayname from DB, before reaching out to LDAP
2026-03-18 13:51:56 +01:00
Ferdinand Thiessen
1688dff259 fix(files_external): properly handle API errors
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-18 12:13:50 +01:00
Arthur Schiwon
badd759ff1 ci: update psalm baseline
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2026-03-18 11:41:25 +01:00
Arthur Schiwon
0ace547307 fix(LDAP): do not use count() inside a loop
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2026-03-18 11:34:35 +01:00
Arthur Schiwon
1c01895796 fix(LDAP): use displayname from DB, before reaching out to LDAP
As we do it with other information of the user, we now use the known value
of a users displayname, and leave the updating to the background job. This
improves performance of user facing actions where the display name is
required and reduces queries to the LDAP server that are typically more
expensive.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2026-03-18 11:34:35 +01:00
Joas Schilling
44175e3cdb Merge pull request #58998 from nextcloud/bugfix/noid/dont-count-mentions-in-markdown-code
fix(comments): Correctly treat end of message as end of code block/in…
2026-03-18 10:35:29 +01:00
Benjamin Gaussorgues
1b504bf4ec Merge pull request #58863 from nextcloud/fix/annotation-attributes-fix 2026-03-18 08:46:31 +01:00
Ferdinand Thiessen
22976d20d5 Merge pull request #59008 from nextcloud/federated-sharing-check
fix: provide `canDownload` helper for shares and use it where appropriate
2026-03-17 22:57:14 +01:00
Anna
294e5397f3 Merge pull request #58975 from nextcloud/enh/42157/hid-warning
fix(initializeSession): only log HMAC problem to critical logs if indeed critical
2026-03-17 19:17:55 +01:00
Jonas
db3ff20ce9 fix(theming): move text selection text color into variable
Signed-off-by: Jonas <jonas@freesources.org>
2026-03-17 19:06:41 +01:00
Jonas
3f27ba3aac feat(theming): use translucent color for text selection
Keeps old design with stronger constrast between background color and
background for high contrast themes.

Fixes: #55508

Signed-off-by: Jonas <jonas@freesources.org>
2026-03-17 19:05:56 +01:00
Jonas
b96083862b Merge pull request #58830 from nextcloud/feat/color_mark_css_variable
feat(theming): add `--color-mark` CSS variable for highlighted text
2026-03-17 19:04:13 +01:00
Côme Chilliet
fee637ca12 Merge pull request #59006 from nextcloud/fix/fix-ldap-renewpassword-parameters
fix: Add missing Attribute and fix parameter type in renewpassword route
2026-03-17 18:18:53 +01:00
Kate
2351df0172 Merge pull request #58960 from nextcloud/automated/noid/rector-changes 2026-03-17 18:07:29 +01:00
Jonas
39a0545c53 feat(theming): add --color-mark CSS variable for highlighted text
Required for nextcloud/text#8309

Signed-off-by: Jonas <jonas@freesources.org>
2026-03-17 18:04:21 +01:00
Ferdinand Thiessen
df15699a31 Merge pull request #59004 from nextcloud/fix/mail_admin_check
fix(admin): use correct delegation class
2026-03-17 17:58:13 +01:00
Ferdinand Thiessen
7f8f86ab9a fix: use canDownload for permissions on federated shares
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-17 17:22:57 +01:00
Benjamin Gaussorgues
a1c72a25c2 Merge pull request #58914 from nextcloud/chore/ncignore-tweaks 2026-03-17 17:02:22 +01:00
Ferdinand Thiessen
08495bfc0e feat(share): provide canDownload getter on the share
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-17 17:01:58 +01:00
Côme Chilliet
77b0d6cbbc fix: Add missing Attribute and fix parameter type in renewpassword route
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-17 16:58:34 +01:00
Benjamin Gaussorgues
aaab13c7ca fix(admin): use correct delegation class
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-03-17 16:49:44 +01:00
Andy Scherzinger
3961a8be67 Merge pull request #59000 from nextcloud/bugfix/noid/enable-onetime-qrcode-for-34
feat(qrcode): Enable one-time QR codes by default for 34
2026-03-17 15:37:12 +01:00
Joas Schilling
fe89541be3 fix(comments): Correctly treat end of message as end of code block/inline
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-17 15:34:47 +01:00
Joas Schilling
7e5a690a67 fix(qrcode): Enable one-time QR codes by default for 34
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-17 12:54:36 +01:00
Ferdinand Thiessen
5a1c233de9 Merge pull request #58611 from nextcloud/fix/files-snowflake
fix(files): correctly handle nodes with snowflake ids
2026-03-17 12:54:09 +01:00
Simon L.
d3faa4247d fix(initializeSession): only log HMAC problem to critical logs if indeed critical
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-03-17 11:46:41 +01:00
Kate
f6d2e6219a Merge pull request #58979 from nextcloud/chore/hide_avail_space 2026-03-17 11:41:59 +01:00
mostafa
3d6d38a2fb fix(group): pass previous display name in GroupChangedEvent
Signed-off-by: mostafa <mostafakhaki00@gmail.com>
2026-03-17 09:16:30 +00:00
Kate
acbc10cc8c Merge pull request #58887 from nextcloud/fix/sharee-userid-config-key-inconsistency 2026-03-17 10:11:02 +01:00
Côme Chilliet
b4f859b0ec Merge pull request #58870 from nextcloud/jtr/chore-root-htaccess-drop-noop-qsa
chore(.htaccess): 🧹 drop no-op QSA flag from RewriteRules
2026-03-17 10:07:41 +01:00
Jérôme Herbinet
b964ca5394 feat(doc): activity_use_cached_mountpoints flag retroactivity notice
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
2026-03-17 09:37:37 +01:00
Nextcloud bot
438f942081 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-17 00:19:33 +00:00
nextcloud-command
99a20afa8a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-16 18:48:28 +00:00
Ferdinand Thiessen
6dfeeffe20 test(cypress): retry if failed on first try
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-16 19:39:51 +01:00
Ferdinand Thiessen
5830b0a0af fix(files): adjust files store for Snowflake IDs
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-16 19:39:37 +01:00
Ferdinand Thiessen
0787185967 fix(files): correctly handle nodes with snowflake ids
We introduced `id` instead of `fileid` to be always of type `string` to
allow snow flake ids. So we need to check the new attribute instead of
the legacy one.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-16 18:47:30 +01:00
Joas Schilling
c826288435 Merge pull request #58974 from nextcloud/bugfix/noid/dont-count-mentions-in-markdown-code
fix(comments): Don't return mentions in markdown code (by default)
2026-03-16 15:33:43 +01:00
Benjamin Gaussorgues
24ce01d8f5 chore(quota): hide available space from error
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-03-16 14:49:11 +01:00
Joas Schilling
11959a1359 fix(comments): Don't return mentions in markdown code (by default)
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-16 11:49:07 +01:00
Joas Schilling
b17d5180b2 Merge pull request #58959 from nextcloud/bugfix/spreed-16678/load-custom-app-order-earlier
fix(apporder): Load custom app order before resolving closures
2026-03-16 11:37:43 +01:00
Joas Schilling
46f61ca5e5 Merge pull request #58967 from nextcloud/bump/lognormalizer
build(deps): bump nextcloud/lognormalizer from 3.0.0 to 3.0.1
2026-03-16 10:12:25 +01:00
Joas Schilling
f722f4648e build(deps): bump nextcloud/lognormalizer from 3.0.0 to 3.0.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-16 09:18:13 +01:00
Andy Scherzinger
91cfd7aded Merge pull request #58964 from nextcloud/automated/noid/-update-min-supported-desktop-version
chore: Update minimum supported desktop version to 3.1.81
2026-03-16 08:47:28 +01:00
Andy Scherzinger
b865115cc8 Merge pull request #58966 from nextcloud/bugfix/noid/fix-SPDX-header
chore: Fix SPDX header
2026-03-16 08:47:04 +01:00
Joas Schilling
5f80f26799 chore: Fix SPDX header
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-16 08:38:16 +01:00
nextcloud-command
bb4c9ecc0e chore: Update minimum supported desktop version
Signed-off-by: GitHub <noreply@github.com>
2026-03-16 00:46:58 +00:00
github-actions[bot]
e48685600e Merge pull request #58483 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/paths-3.1.0
chore(deps): Bump @nextcloud/paths from 3.0.0 to 3.1.0 in /build/frontend-legacy
2026-03-16 00:37:53 +00:00
Ferdinand Thiessen
cec23a0d83 test(cypress): clear state before user tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-16 01:22:45 +01:00
Nextcloud bot
1fdb54bdf5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-16 00:20:15 +00:00
nextcloud-command
2dbd9dd381 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-15 23:52:06 +00:00
dependabot[bot]
c968f1f3b3 chore(deps): Bump @nextcloud/paths from 3.0.0 to 3.1.0 in /build/frontend-legacy
Dependabot couldn't find the original pull request head commit, 7677d40c0b7896a45c8a5423e0851e4a4d0b4a10.
2026-03-15 23:49:49 +00:00
github-actions[bot]
7f6f29ea32 Merge pull request #58921 from nextcloud/dependabot/npm_and_yarn/nextcloud/password-confirmation-6.0.3
chore(deps): Bump @nextcloud/password-confirmation from 6.0.2 to 6.0.3
2026-03-15 20:53:37 +00:00
nextcloud-command
72cf9e01b6 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-15 18:43:59 +00:00
dependabot[bot]
93568366f4 chore(deps): Bump @nextcloud/password-confirmation from 6.0.2 to 6.0.3
Bumps [@nextcloud/password-confirmation](https://github.com/nextcloud-libraries/nextcloud-password-confirmation) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-password-confirmation/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-password-confirmation/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-password-confirmation/compare/v6.0.2...6.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-15 18:29:46 +00:00
github-actions[bot]
8ec12f3446 Merge pull request #58958 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/vue-8.37.0
chore(deps): Bump @nextcloud/vue from 8.36.0 to 8.37.0 in /build/frontend-legacy
2026-03-15 18:04:14 +00:00
nextcloud-command
c2ab8a3e8c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-15 17:47:35 +00:00
nextcloud-command
5eec4fd69c refactor: Apply rector changes
Signed-off-by: GitHub <noreply@github.com>
2026-03-15 14:53:03 +00:00
Joas Schilling
58619b2a68 fix(apporder): Load custom app order before resolving closures
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-15 15:31:40 +01:00
dependabot[bot]
6791e95312 chore(deps): Bump @nextcloud/vue in /build/frontend-legacy
Bumps [@nextcloud/vue](https://github.com/nextcloud-libraries/nextcloud-vue) from 8.36.0 to 8.37.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-vue/blob/v8.37.0/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-vue/compare/v8.36.0...v8.37.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-15 14:26:23 +00:00
dependabot[bot]
649f333c89 chore(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.18 to 4.1.0
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.0/packages/coverage-istanbul)

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

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-15 14:24:48 +00:00
github-actions[bot]
52801b995c Merge pull request #58953 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/libphonenumber-js-1.12.40
chore(deps): Bump libphonenumber-js from 1.12.38 to 1.12.40 in /build/frontend-legacy
2026-03-15 13:07:28 +00:00
github-actions[bot]
8e6ce46485 Merge pull request #58952 from nextcloud/dependabot/npm_and_yarn/jsdom-29.0.0
chore(deps-dev): Bump jsdom from 28.1.0 to 29.0.0
2026-03-15 13:50:54 +01:00
nextcloud-command
2997b0a53c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-15 12:15:38 +00:00
Andy Scherzinger
529b30eb04 Merge pull request #58922 from nextcloud/dependabot/npm_and_yarn/cypress-15.12.0
chore(deps-dev): Bump cypress from 15.11.0 to 15.12.0
2026-03-15 13:09:45 +01:00
dependabot[bot]
1e40bd0d33 chore(deps): Bump libphonenumber-js in /build/frontend-legacy
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.38 to 1.12.40.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.38...v1.12.40)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-15 11:10:26 +00:00
dependabot[bot]
e961190912 chore(deps-dev): Bump jsdom from 28.1.0 to 29.0.0
Bumps [jsdom](https://github.com/jsdom/jsdom) from 28.1.0 to 29.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/v28.1.0...v29.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-15 11:10:04 +00:00
github-actions[bot]
4da2a1e2e1 Merge pull request #58775 from nextcloud/dependabot/npm_and_yarn/dompurify-3.3.2
chore(deps): Bump dompurify from 3.3.1 to 3.3.3
2026-03-15 06:16:57 +00:00
Nextcloud bot
a10204b11b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-15 00:19:16 +00:00
nextcloud-command
fceece9ba8 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-15 00:07:47 +00:00
dependabot[bot]
a2144ab2f2 chore(deps): Bump dompurify from 3.3.1 to 3.3.2
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.3.1 to 3.3.2.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.3.1...3.3.2)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-14 23:49:35 +00:00
Andy Scherzinger
3130722a21 Merge pull request #58924 from nextcloud/dependabot/npm_and_yarn/vue-3.5.30
chore(deps): Bump vue from 3.5.29 to 3.5.30
2026-03-14 15:18:25 +01:00
nextcloud-command
e1171b0e61 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-14 13:31:18 +00:00
dependabot[bot]
db4a46da09 chore(deps): Bump vue from 3.5.29 to 3.5.30
Bumps [vue](https://github.com/vuejs/core) from 3.5.29 to 3.5.30.
- [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.29...v3.5.30)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-14 13:21:25 +00:00
github-actions[bot]
168259039e Merge pull request #58923 from nextcloud/dependabot/npm_and_yarn/sass-1.98.0
chore(deps-dev): Bump sass from 1.97.3 to 1.98.0
2026-03-14 13:47:46 +01:00
github-actions[bot]
76e4788ec1 Merge pull request #58944 from nextcloud/dependabot/npm_and_yarn/multi-7f7c85af6b
chore(deps): Bump undici
2026-03-14 13:47:01 +01:00
dependabot[bot]
53069c770d chore(deps): Bump undici
Bumps  and [undici](https://github.com/nodejs/undici). These dependencies needed to be updated together.

Updates `undici` from 7.21.0 to 7.24.2
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.21.0...v7.24.2)

Updates `undici` from 6.23.0 to 6.24.1
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.21.0...v7.24.2)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.24.2
  dependency-type: indirect
- dependency-name: undici
  dependency-version: 6.24.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-14 08:45:38 +00:00
github-actions[bot]
8e603a30ea Merge pull request #58925 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/sass-1.98.0
chore(deps-dev): Bump sass from 1.97.3 to 1.98.0 in /build/frontend-legacy
2026-03-14 09:44:24 +01:00
dependabot[bot]
f27cc2842a chore(deps-dev): Bump sass in /build/frontend-legacy
Bumps [sass](https://github.com/sass/dart-sass) from 1.97.3 to 1.98.0.
- [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.3...1.98.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-14 02:06:25 +00:00
dependabot[bot]
9cb220983a chore(deps-dev): Bump sass from 1.97.3 to 1.98.0
Bumps [sass](https://github.com/sass/dart-sass) from 1.97.3 to 1.98.0.
- [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.3...1.98.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-14 02:05:32 +00:00
dependabot[bot]
44c8dae987 chore(deps-dev): Bump cypress from 15.11.0 to 15.12.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 15.11.0 to 15.12.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v15.11.0...v15.12.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-14 02:05:18 +00:00
Nextcloud bot
38f79c031d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-14 00:19:08 +00:00
Côme Chilliet
cc99dd8fd9 fix: Fix user in Tags class, do not depend upon session
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-13 15:13:40 +01:00
Benjamin Gaussorgues
232192c59c chore(build): update list of ignored files
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-03-13 13:10:07 +01:00
Daniel
98583d7ceb Merge pull request #58201 from nextcloud/fix/remove-deprecated-rfc7231-constant
fix: Remove deprecated RFC7231 constant to avoid warnings on PHP 8.5
2026-03-13 11:34:51 +01:00
David Dreschner
2bb9524c84 fix: Remove deprecated RFC7231 constant to avoid warnings on PHP 8.5
Signed-off-by: David Dreschner <david.dreschner@nextcloud.com>
2026-03-13 10:43:38 +01:00
Sebastian Krupinski
201a97a4ed Merge pull request #57112 from nextcloud/feat/improve-calendar-migrator
feat: improve calendar migrator
2026-03-13 05:30:54 -04:00
Nextcloud bot
551973cb3e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-13 00:20:20 +00:00
Anna Larch
a77040f41e chore(workflows): remove cypress cloud
and allow regular cypress tests to run on forks (no secret leaked)
add consistent gating
 for changes
remove empty matrix option
skip performance workflow on forks without it looking like it's failing

Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-03-12 20:26:51 +01:00
SebastianKrupinski
f4feec424c feat: improve calendar migrator
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-03-12 12:43:15 -04:00
Louis
56dcfc4b86 Merge pull request #45036 from iLinaza/fix/45034-clear-cached-user-groups-on-pre-hooks
fix(usergroups): clear cached user groups on pre hooks
2026-03-12 16:03:44 +01:00
Benjamin Gaussorgues
7a96dbc20c Merge pull request #58875 from nextcloud/chore/update-ignred-files 2026-03-12 15:35:49 +01:00
nfebe
25e7dd799e fix(sharing): Align userid config key in UserPlugin with Manager
UserPlugin reads `shareapi_restrict_user_enumeration_full_match_userid`
(no underscore) while Manager.php and the frontend both use
`shareapi_restrict_user_enumeration_full_match_user_id` (with underscore).

This mismatch causes the "disable exact match by user ID" admin setting
to have no effect on actual sharee search results.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-03-12 13:19:09 +01:00
Benjamin Gaussorgues
8c6d314b0e Merge pull request #58798 from AIlkiv/fix-UserMountCache-for-postgresql 2026-03-12 12:11:29 +01:00
Kate
ddf79066b9 Merge pull request #58689 from nextcloud/fix/federated-reshare 2026-03-12 12:01:24 +01:00
Sebastian Krupinski
ed3a230403 Merge pull request #58679 from nextcloud/feat/add-default-reminder-setting-caldav
feat: add default reminder setting caldav
2026-03-12 06:26:12 -04:00
provokateurin
5dbbe2ccf9 fix(dav): Use share initiator to get the share node, because the owner might on another server
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-03-12 10:31:25 +01:00
provokateurin
045ad43237 fix(federatedfilesharing): Do not set the share id for an existing share
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-03-12 10:31:25 +01:00
Carl Schwan
83956e9f04 Merge pull request #58854 from nextcloud/jtr/refactor-View-getLocalFile
refactor(view): `getLocalFile` path handling
2026-03-12 10:05:19 +01:00
Kate
c8380b1b62 Merge pull request #58869 from nextcloud/fix/pwd-confirmation 2026-03-12 09:54:15 +01:00
Nextcloud bot
5ff62d5baf fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-12 00:19:26 +00:00
Josh
eb5a9085ee Merge pull request #58855 from nextcloud/jtr/test-drop-testTouchFloat
tests - Fix `Implicit conversion from float 500.5 to int loses precision` in ViewTest
2026-03-11 15:07:57 -04:00
Benjamin Gaussorgues
3904da98e6 Merge pull request #58864 from nextcloud/fix/cached_exporter_hardening 2026-03-11 18:30:22 +01:00
Benjamin Gaussorgues
e07be2b189 chore(buuld): update list of ignored files
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-03-11 17:50:11 +01:00
Grigory Vodyanov
e3c2920c18 feat: add default reminder setting caldav
Signed-off-by: Grigory Vodyanov <scratchx@gmx.com>
2026-03-11 12:45:04 -04:00
John Molakvoæ (skjnldsv)
5fdebf923c fix(lib): templates core path detection
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2026-03-11 17:24:11 +01:00
Côme Chilliet
9b54383532 Merge pull request #58835 from nextcloud/chore/fix-merge-leftover
Remove leftover useless path assignements in View
2026-03-11 16:52:55 +01:00
Côme Chilliet
e03d825062 chore: Update psalm baseline
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-11 16:23:21 +01:00
Josh
7dfcf5afad chore(.htaccess): drop no-op QSA flag from RewriteRules
- For Apache `RewriteRule`, if the substitution (right side) has no `?` query part, the original query string is already preserved by default.
- So `QSA` adds nothing in these rules.

Note for the future: QSA will be needed if we ever add a query string on the right (substitution) side. We don't currently so this is just noise in the htaccess rules.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-11 10:57:53 -04:00
Joas Schilling
78cfe3742a Merge pull request #58853 from nextcloud/bugfix/noid/remove-wildcard-csp
fix(videoverification): Remove CSP wildcard for video verification
2026-03-11 15:25:59 +01:00
Ferdinand Thiessen
9b54b06de5 fix(SecurityMiddleware): return header to distinguish error type
Currently we return a 403 (Forbidden) when the password confirmation
failed - which itself seems to be inappropriate as its basically a login
failing so a 401 (not authorized) is more appropriate.

This is especially a problem because APIs might return 403 internally
for good reason (e.g. user missing permission) but 401 would not be a
problem.

But as this is a breaking change so my solution to be able to
distinguish API error from password confirmation error is:

Add a header inside the response that marks failed password confirmation
`X-NC-Auth-NotConfirmed`.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-11 15:11:29 +01:00
Côme Chilliet
504dc5142e chore: Un-deprecate IControllerMethodReflector as it’s now useful for attributes as well
It should be extended later to add methods to get attributes from
 reflection, and maybe a getter to the reflectionMethod object to avoid
 middlewares building their own.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-11 14:43:50 +01:00
Côme Chilliet
d68face43f chore: Move away from deprecated method in TwoFactorMiddleware
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-11 14:39:40 +01:00
Côme Chilliet
91334643dc fix(tests): Adapt Middleware tests to API change
Removed a few tests rendered obsolete by the refactoring.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-11 14:27:45 +01:00
Benjamin Gaussorgues
509784cff2 chore(metrics): harden Cached exporter
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-03-11 13:01:21 +01:00
Hamza
f0f38fd04c Merge pull request #58862 from nextcloud/fix/add-note-example-contact
fix:(dav): add note to example contact
2026-03-11 12:19:41 +01:00
Côme Chilliet
447ee17759 fix: Remove code duplication by using the new method
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-11 11:36:01 +01:00
Côme Chilliet
bd343a6e9e fix: Fix AuthorizedAdminSetting attribute behavior
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-11 11:25:31 +01:00
Hamza
9f5c3e39a7 fix:(dav): add note to example contact
Signed-off-by: Hamza <hamzamahjoubi221@gmail.com>
2026-03-11 11:21:37 +01:00
Côme Chilliet
520878338f fix: Move hasAnnotationOrAttribute to the reflector
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-11 11:16:26 +01:00
Joas Schilling
a304a54775 Merge pull request #58836 from nextcloud/feat/noid/unify-generated-by-ai-tag-handling
feat(systemtags): Add methods to directly do "Generated by AI" tag
2026-03-11 10:02:20 +01:00
Josh
8895970019 test(ViewTest): disable Nextcloud not PHP - drop testTouchFloat()
Our interface contract (and implementations) in IStorage are:
`public function touch(string $path, ?int $mtime = null): bool {`

This wasn't always the case but it is today, so testTouchFloat() no longer makes sense; it's not testing our code, just PHP.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-10 22:12:42 -04:00
Josh
0a7420d0a4 chore(View): fixup for php-cs
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-10 21:40:44 -04:00
Nextcloud bot
1a70d192f3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-11 00:26:43 +00:00
Josh
14e837ce11 refactor(View): add typing to getAbsolutePath and clarify contract
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-10 19:42:16 -04:00
Josh
af78da59bc refactor(View): improve readability of getLocalFile and resolvePath
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-10 19:21:47 -04:00
Joas Schilling
dc529fa86d fix(videoverification): Remove CSP wildcard for video verification
spreed does it via AddContentSecurityPolicyEvent event by now

Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-10 22:35:43 +01:00
Côme Chilliet
a119716a7d Merge pull request #58826 from nextcloud/carl/code-cleaning-storage-cache
refactor(cache-storage): Make Storage and StorageGlobal psalm strict
2026-03-10 22:01:43 +01:00
Kate
44ec45e941 Merge pull request #58841 from nextcloud/chore/deps/haze-2.2.0 2026-03-10 19:22:20 +01:00
Robin Appelman
38a42d9ad4 Merge pull request #53733 from nextcloud/copy-all-permissions
fix: give target file all permissions on copy
2026-03-10 18:09:33 +01:00
provokateurin
aa65c7598e chore(deps): Update haze to 2.2.0
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-03-10 16:25:56 +01:00
Robin Appelman
cf124e7c75 fix: make objectstore copy consistent with changed local storage behavior
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-10 16:07:38 +01:00
Raphael Gradenwitz
3e78bf662d Merge pull request #58648 from nextcloud/feat/add-files-sharing-raw-to-rootUrlApps
feat(routing): add files_sharing_raw to rootUrlApps
2026-03-10 15:31:02 +01:00
Carl Schwan
783e2ac625 refactor(external-storage-services): Modernize code
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-03-10 15:27:46 +01:00
Robin Appelman
7dccf5f257 fix: give target file all permissions on copy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-10 15:27:35 +01:00
Joas Schilling
1425df49d0 feat(systemtags): Add methods to directly do "Generated by AI" tag
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-10 15:19:30 +01:00
Côme Chilliet
b0240a43af chore: Remove other useless assignment of 'path' key for FileInfo
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-10 15:12:06 +01:00
Côme Chilliet
347d786a14 chore: Remove useless assignement
Because of the order we merged PRs, this line was not removed while the
 value is not used anymore, let’s cleanup.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-10 15:09:54 +01:00
Côme Chilliet
8417db5df8 Merge pull request #58687 from nextcloud/carl/webhook-typo
fix(webhook_listeners): Fix typo in comment
2026-03-10 15:07:57 +01:00
Kate
810caa3e4a Merge pull request #58593 from nextcloud/carl/share-spring-cleaning 2026-03-10 15:01:50 +01:00
Côme Chilliet
c98244a79e Merge pull request #58827 from nextcloud/fix/fix-fileinfo-path
fix(files): Fix FileInfo['path'] situation
2026-03-10 15:01:17 +01:00
Côme Chilliet
17ef1dbec9 Merge pull request #58808 from nextcloud/carl/remove-many-get-server
refactor: remove long deprecated IServerContainer methods
2026-03-10 15:00:48 +01:00
Carl Schwan
eb5c6acf13 fix(webhook_listeners): Fix typo in comment
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-03-10 14:39:30 +01:00
Carl Schwan
140bfa2d1f refactor(cache-storage): Make Storage and StorageGlobal psalm strict
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-03-10 14:20:31 +01:00
Côme Chilliet
082664c0c2 chore: Run rector on integration bootstrap code
This avoids integration PHP code to use deprecated method and crash when
 we remove them.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-10 14:15:30 +01:00
Côme Chilliet
397454ff4a fix: Adapt ViewTest to ['path'] being absolute
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-10 12:34:50 +01:00
Côme Chilliet
842b3f9e0a fix(files): Fix FileInfo['path'] situation
Previously $fileInfo->getPath() and $fileInfo['path'] would return
 different things. The [] version was not consistent, being sometimes
 relative and sometimes kind of absolute, and sometimes plenty wrong
 (like when used from occ commands, because there is no user in
 session).
So this is always returning absolute now.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-10 11:56:31 +01:00
Carl Schwan
7fa44717e0 refactor(share): Remove some deprecated method usages
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-03-10 11:39:57 +01:00
Carl Schwan
39c14c383b refactor: remove long deprecated IServerContainer methods
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-03-10 10:36:35 +01:00
Carl Schwan
af94028bdb refactor: Remove old Share backend
This has been implicitely deprecated for a while with Share20 containing
the new implementation.

The only use was to determine whether remote sharing was enabled or not,
which we can do much more easily.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-03-10 10:09:40 +01:00
Nextcloud bot
6f1fc07868 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-10 00:19:19 +00:00
Kate
27c438503b Merge pull request #58817 from nextcloud/fix/noid/add-fallback-to-raw-path-info 2026-03-09 23:21:13 +01:00
Kate
7ae8aebab3 Merge pull request #58724 from nextcloud/fix/respect-skipping-certificate-verify
fix(files_sharing): respect config to skip certificate verification
2026-03-09 23:08:34 +01:00
Anna Larch
cbe8e4d90f fix: add fallback to raw path info
Follow up to https://github.com/nextcloud/server/pull/56843

The raw path info method has no fallback for an empty array parameter

Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-03-09 22:22:08 +01:00
Salvatore Martire
8b235c8f49 fix(files_sharing): respect config to skip certificate verification
This is important especially for local development, as certificate are
self-signed.

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-03-09 18:21:15 +01:00
Daniel
92cf64f798 Merge pull request #58793 from nextcloud/validatePreviewMimeType
fix(preview): Validate preview MIME type
2026-03-09 17:20:00 +01:00
Kate
938b9ba0ac Merge pull request #58800 from nextcloud/ci/rector-apply/ignore-composer-changes 2026-03-09 16:22:37 +01:00
Andy Scherzinger
56eaf1dbcc Merge pull request #58603 from pymnh/feat/extend-group-search-to-teams
feat(UserPlugin): Include teams in group search
2026-03-09 15:17:41 +01:00
Peymaneh
3985555753 feat(UserPlugin): Include teams in group search
Signed-off-by: Peymaneh <peymaneh@posteo.net>
2026-03-09 13:51:27 +01:00
provokateurin
fe612bb4dd ci(rector-apply): Ignore composer changes
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-03-09 11:28:15 +01:00
ailkiv
e958fa0113 fix: PostgreSQL transaction aborts when caching user mounts
Signed-off-by: ailkiv <a.ilkiv.ye@gmail.com>
2026-03-09 10:02:40 +00:00
Carl Schwan
2613f3274b Merge pull request #58790 from nextcloud/chore/remove-oc-app-get-current-app
fix: Deprecate OC_App::getCurrentApp and remove its only use
2026-03-09 10:20:08 +01:00
Anna
715d776649 Merge pull request #58229 from nextcloud/fix/noid/improve-preview-scan-performance
perf(preview): bulk process preview regeneration
2026-03-09 09:05:02 +00:00
Nextcloud bot
15591054ac fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-09 00:19:53 +00:00
Git'Fellow
304c9fbc3b fix(preview): Validate preview MIME type
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-03-08 18:57:18 +01:00
Côme Chilliet
b878678562 chore: Adapt tests to TemplateLayout constructor changes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-08 17:57:44 +01:00
Côme Chilliet
521bb9432e fix: Deprecate OC_App::getCurrentApp and remove its only use
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-08 17:00:44 +01:00
Côme Chilliet
6fce5aa3ea Merge pull request #58474 from nextcloud/jtr/chore-drop-OC-JSON
chore: drop OC_JSON
2026-03-08 16:51:12 +01:00
Anna Larch
e3c6702cd8 perf(preview): bulk process preview regeneration
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-03-08 11:09:37 +01:00
Nextcloud bot
9cd3177bb4 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-08 00:19:13 +00:00
Benjamin Frueh
4b203e5f7b fix: only skip template initialization when both skeletondirectory and templatedirectory are empty
Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>
2026-03-08 00:12:56 +01:00
dependabot[bot]
629740d935 chore(deps-dev): Bump @zip.js/zip.js from 2.8.21 to 2.8.23
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.8.21 to 2.8.23.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.8.21...v2.8.23)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-07 02:05:10 +00:00
Nextcloud bot
6a29ea172b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-07 00:19:22 +00:00
Carl Schwan
ed1b0dcd5e Merge pull request #58725 from nextcloud/jtr/docs-config-mount-file-drop
docs(config): drop legacy `mount_file` option
2026-03-06 14:07:44 +01:00
Carl Schwan
bd8aff39f2 Merge branch 'master' into jtr/docs-config-mount-file-drop
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2026-03-06 13:39:08 +01:00
Nextcloud bot
fc354f46bb fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-06 00:20:14 +00:00
Côme Chilliet
7b305fbe22 Merge pull request #58705 from nextcloud/local-custom-cache-prefix
feat: Add memcache_customprefix
2026-03-05 16:05:14 +01:00
Côme Chilliet
8aedcb4a82 Merge pull request #58652 from nextcloud/automated/noid/rector-changes
Apply rector changes
2026-03-05 16:03:50 +01:00
Côme Chilliet
842f3a44cb Merge branch 'master' into fix/45034-clear-cached-user-groups-on-pre-hooks
Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2026-03-05 16:00:17 +01:00
Carl Schwan
01fa73831f Merge pull request #58728 from nextcloud/jtr/docs-config-part-file-in-storage-non-chunking
docs(config): `part_file_in_storage` only applies to non-chunked
2026-03-05 15:28:12 +01:00
Robin Appelman
b40d230218 Merge pull request #58723 from nextcloud/jtr/docs-config-fs-cache-RO
docs(config): improve `filesystem_cache_readonly` docs
2026-03-05 14:29:08 +01:00
Ferdinand Thiessen
5d84d79c4b Merge pull request #58550 from nextcloud/dav-open-size-not-found
handle case where we can't get the filesize after open in dav get
2026-03-05 13:24:52 +01:00
Robin Appelman
26ba3cac9c fix: handle case where we can't get the filesize after open in dav get
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-05 11:35:52 +01:00
Joas Schilling
85b0dcca27 Merge pull request #58664 from nextcloud/bugfix/noid/workflowengine-fix-checks-list
fix(workflowengine): Fix list of checks being a list instead of array…
2026-03-05 10:49:46 +01:00
Kate
687d82843f Merge pull request #58727 from nextcloud/mounts-cache-duplicate-rootid 2026-03-05 09:46:34 +01:00
Nextcloud bot
4da21d78d0 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-05 00:19:23 +00:00
Sebastian Krupinski
142ddaf146 Merge pull request #58697 from nextcloud/feat/add-calendar-name-to-search-result
feat: add calendar name to search entries
2026-03-04 14:11:54 -05:00
Josh
f3ceded754 docs(config): clarify part_file_in_storage only applies to non-chunked
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-04 12:47:25 -05:00
Robin Appelman
9884dec646 fix: fix updating cached mounts with multiple entries for root id
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-04 18:43:55 +01:00
Robin Appelman
d14c4082e1 test: add test for updating cached mounts with multiple entries for root id
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-04 18:43:35 +01:00
Josh
052d62b83c docs(config): make cs happy fixup
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-04 11:41:36 -05:00
Josh
ceb1b7e767 docs(config): drop legacy mount_file option
All logic that used this was completely removed as of #30991

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-04 11:37:18 -05:00
Josh
2faa5e894b docs(config): improve filesystem_cache_readonly docs
- Add more extensive explanation
- Explain interaction/relation to more commonly used option: `filesystem_check_changes`
- Add warning

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-04 10:22:11 -05:00
SebastianKrupinski
277a35ee23 feat: add calendar name to search entries
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-03-04 08:44:09 -05:00
Raphael Gradenwitz
44e733bae9 Merge branch 'master' into feat/add-files-sharing-raw-to-rootUrlApps 2026-03-04 12:24:34 +01:00
Kate
c29c7023d9 Merge pull request #58204 from nextcloud/bug/noid/remove-external-shares-from-share-list 2026-03-04 07:41:25 +01:00
Nextcloud bot
f43a4c62d6 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-04 00:19:34 +00:00
Martin
2a2f42e781 feat: Add memcache_customprefix
Signed-off-by: Martin <31348196+Earl0fPudding@users.noreply.github.com>
2026-03-04 00:19:19 +01:00
Daniel
35ef9b078a Merge pull request #57667 from nextcloud/bug/noid/avoid-error-when-updating-share
fix(sharing): do not notify remote if owner and sharee are local users
2026-03-04 00:03:21 +01:00
Daniel Kesselberg
c63eb85966 chore: compile assets
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2026-03-03 23:45:51 +01:00
Daniel Kesselberg
5c19d5eb26 fix(sharing): remove external shares from view on delete
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2026-03-03 23:43:37 +01:00
Daniel Kesselberg
da7250f05d fix(sharing): do not notify remote if owner and sharee are local users
If both the owner and the sharee are local users, no remote notification is required.
If either the owner or the sharee is not a local user, the change must be propagated.

Based on https://github.com/owncloud/core/pull/37534

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
Co-authored-by: Victor Dubiniuk <victor.dubiniuk@gmail.com>
2026-03-03 23:08:52 +01:00
Anna
9afbad3865 Merge pull request #58699 from nextcloud/fix/noid/dav-capabilities-psalm-return-type
fix(dav): add missing search_supports_creation_time and search_supports_upload_time to Capabilities return type
2026-03-03 20:48:29 +01:00
Cristian Scheid
80184b4d25 fix(dav): add missing search_supports_creation_time and search_supports_upload_time to Capabilities return type
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-03 15:01:12 -03:00
Stephan Orbaugh
074df09caf Merge pull request #58680 from nextcloud/fix/drop-files
fix(files): properly handle dropping files
2026-03-03 18:09:54 +01:00
nextcloud-command
7dba462eec chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-03 15:51:07 +00:00
Ferdinand Thiessen
0e0af702ac fix(files): properly handle dropping files
- resolves https://github.com/nextcloud/server/issues/58454

use upload library for dropped files instead of custom logic

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-03 15:46:36 +00:00
Stephan Orbaugh
f6c79c0d33 Merge pull request #58562 from nextcloud/feat/1699/recent-files-mark-recently-created
feat: set creation_time on file creation and render recently created icon
2026-03-03 16:08:07 +01:00
Ferdinand Thiessen
2909821cb2 Merge pull request #58685 from nextcloud/fix/files-external-inital
fix(files_external): set default values for new configurations
2026-03-03 15:53:01 +01:00
nextcloud-command
3542dbf9a1 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-03 14:13:13 +00:00
Ferdinand Thiessen
cae14d356b fix(files_external): set default values for new configurations
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-03 15:05:17 +01:00
nextcloud-command
3836eb6b0d chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-03 13:05:15 +00:00
Cristian Scheid
3458d3150b refactor(recent-search): use d:creationdate instead of c:creation_time and crtime instead of attributes.upload_time
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-03 09:43:21 -03:00
Cristian Scheid
03f93d97e9 refactor(recently-created-icon): use mdi/js path instead of raw svg prop setup() instead of data()
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-03 09:42:26 -03:00
Cristian Scheid
3a21ad408b feat(dav): expose search_supports_creation_time and search_supports_upload_time capabilities
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-03 09:42:26 -03:00
Cristian Scheid
7f89490cef feat: set creation_time on file creation and render recently created icon
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-03-03 09:41:22 -03:00
Joas Schilling
34484b591a Merge pull request #58678 from nextcloud/fix/noid/set-lexicon-strictness-to-ignore
fix: Set files app lexicon strictness to IGNORE
2026-03-03 07:44:13 +01:00
Ferdinand Thiessen
fa2660a9d7 Merge pull request #58616 from nextcloud/fix/external-shares
fix(files_sharing): allow strict validation of shares
2026-03-03 02:26:45 +01:00
Nextcloud bot
4d58563991 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-03 00:19:33 +00:00
Marcel Müller
d039cb92f9 fix: Set files app lexicon strictness to IGNORE
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2026-03-02 22:06:49 +01:00
nextcloud-command
128137dc06 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-03-02 17:52:41 +00:00
Ferdinand Thiessen
882d8324e8 fix(files_sharing): allow strict validation of shares
API response sometimes includes `null` for unset, but unset
(`undefined`) is something different than `null`.
So if `null` is passed we mean `undefined` instead.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-02 18:31:46 +01:00
Carl Schwan
5fa368c41c Merge pull request #57100 from nextcloud/fix/remove-iservercontainer-from-user-ldap
fix(user_ldap): Remove usages of deprecated IServerContainer
2026-03-02 17:38:52 +01:00
Andy Scherzinger
0e6c8ec73f Merge pull request #58660 from nextcloud/fix/chunked-uploads-on-shared-folders
fix: check source and target when emitting copy event
2026-03-02 16:50:33 +01:00
Côme Chilliet
279d5c226e chore(user_ldap): Adapt code to LDAP constructor change, remove dead code
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-02 16:34:04 +01:00
Carl Schwan
52e8de9482 Merge pull request #58643 from nextcloud/jtr/ci-fix-performance-profiler-branch
ci(performance): fix Unexpected input warning for profiler-branch
2026-03-02 16:17:22 +01:00
Sebastian Krupinski
95e3dba34c Merge pull request #58526 from nextcloud/fix/icon-ratio
fix(theming): Fix favicon and touchicon ratios
2026-03-02 09:04:57 -05:00
Ferdinand Thiessen
3b53e9aeca Merge pull request #58615 from nextcloud/jtr/fix-s3-normalizePath-falsy
fix(s3): prevent "0" path from being treated as root
2026-03-02 14:36:04 +01:00
Simon L.
987a52b87f Merge pull request #58657 from nextcloud/enh/noid/auto-label-reports
feat: add workflow that auto-labels bug reports based on entered content
2026-03-02 14:19:11 +01:00
Joas Schilling
1bc0bd7611 fix(workflowengine): Fix list of checks being a list instead of array<int, …>
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-02 14:17:51 +01:00
Josh
2d39c5a179 test(Storage): avoid falsy directory/filename checks (for now)
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-02 13:44:20 +01:00
Josh
6c1d648f59 chore: fixup/ revert cast in S3ObjectTrait
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-02 13:44:20 +01:00
Josh
d5d34adcbb fix(S3ObjectTrait): cast $urn to a string until typing adding elsewhere
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-02 13:44:20 +01:00
Josh
ace9eb21e6 test(Storage): expand file / directory name tests
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-02 13:44:20 +01:00
Josh
9ce1ae8e61 fix(ObjectStorage): fix 0 folder handling in Primary Storage
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-02 13:44:20 +01:00
Josh
958e67687b fix(s3): Fix 0 folder handling in External Storage
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-02 13:44:19 +01:00
Côme Chilliet
e7c4dbf2cb Merge pull request #58642 from nextcloud/jtr/perf-s3-external-cache-sizing
perf(files_external): Increase S3 cache caps
2026-03-02 13:36:01 +01:00
Côme Chilliet
7f18934344 Merge pull request #58654 from nextcloud/jtr/refactor-external-s3-unused-methods
refactor(files_external/S3): drop unused methods
2026-03-02 13:27:50 +01:00
Salvatore Martire
8431abff32 fix: check source and target when emitting copy event
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-03-02 13:15:11 +01:00
Simon L.
e0bf0737a0 fix: adjust the bug-report template to be consistent
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-03-02 12:16:45 +01:00
Simon L.
10ae88a1c3 feat: add workflow that aut-labels bug reports based on entered content
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-03-02 12:13:37 +01:00
Andy Scherzinger
b729dc4ead Merge pull request #58057 from nextcloud/carl/perf-delete-share
perf(sharing): Avoid loading all shares from all users when unsharing
2026-03-02 12:03:52 +01:00
Nextcloud bot
2b5a26db95 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-03-02 00:19:14 +00:00
Carl Schwan
4588c7134d fix: Fix ci after run of rector
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-03-01 22:48:25 +01:00
Josh
bde043d13b chore(files_external/s3): drop no-op $this->filesCache use sites
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-01 12:53:57 -05:00
Josh
08b465d219 refactor(files_external/S3): drop unused methods
getContentLength() and getLastModified() are dead code. Originally added in PR #11518 and made defunct in PR #29220.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-01 12:45:01 -05:00
nextcloud-command
663018455e refactor: Apply rector changes
Signed-off-by: GitHub <noreply@github.com>
2026-03-01 14:43:11 +00:00
github-actions[bot]
ee43b68606 Merge pull request #58649 from nextcloud/dependabot/npm_and_yarn/fast-xml-parser-5.4.1
chore(deps): Bump fast-xml-parser from 5.3.6 to 5.4.1
2026-03-01 13:51:14 +01:00
dependabot[bot]
ced6d9e430 chore(deps): Bump fast-xml-parser from 5.3.6 to 5.4.1
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.3.6 to 5.4.1.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.3.6...v5.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-01 12:05:33 +01:00
github-actions[bot]
62109cc0a1 Merge pull request #58647 from nextcloud/dependabot/github_actions/github-actions-dcec74b321
chore(deps): Bump the github-actions group with 5 updates
2026-03-01 09:54:56 +00:00
dependabot[bot]
0b2893a154 chore(deps): Bump the github-actions group with 5 updates
Bumps the github-actions group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [github/codeql-action](https://github.com/github/codeql-action) | `4.32.2` | `4.32.4` |
| [cypress-io/github-action](https://github.com/cypress-io/github-action) | `7.1.2` | `7.1.5` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact) | `6.0.0` | `7.0.0` |
| [LizardByte/actions](https://github.com/lizardbyte/actions) | `2026.212.22356` | `2026.227.200013` |
| [actions/stale](https://github.com/actions/stale) | `10.1.1` | `10.2.0` |


Updates `github/codeql-action` from 4.32.2 to 4.32.4
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](45cbd0c69e...89a39a4e59)

Updates `cypress-io/github-action` from 7.1.2 to 7.1.5
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md)
- [Commits](84d178e4bb...bc22e01685)

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

Updates `LizardByte/actions` from 2026.212.22356 to 2026.227.200013
- [Release notes](https://github.com/lizardbyte/actions/releases)
- [Commits](9bf3ef7837...70bb8d394d)

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

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.32.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: cypress-io/github-action
  dependency-version: 7.1.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: actions/upload-artifact
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: LizardByte/actions
  dependency-version: 2026.227.200013
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: actions/stale
  dependency-version: 10.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 23:14:04 +00:00
github-actions[bot]
e13e0c598e Merge pull request #58641 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/fast-xml-parser-5.4.1
chore(deps): Bump fast-xml-parser from 5.3.6 to 5.4.1 in /build/frontend-legacy
2026-02-28 22:47:13 +01:00
github-actions[bot]
60ea64210e Merge pull request #58599 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/multi-571506d351
chore(deps): Bump rollup in /build/frontend-legacy
2026-02-28 22:45:47 +01:00
nextcloud-command
b42b92c13e chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-28 21:09:50 +00:00
dependabot[bot]
448e6df7e8 chore(deps): Bump fast-xml-parser in /build/frontend-legacy
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.3.6 to 5.4.1.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.3.6...v5.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 21:07:35 +00:00
dependabot[bot]
a0bd65b174 chore(deps): Bump rollup in /build/frontend-legacy
Bumps  and [rollup](https://github.com/rollup/rollup). These dependencies needed to be updated together.

Updates `rollup` from 4.52.3 to 4.59.0
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.52.3...v4.59.0)

Updates `rollup` from 2.79.2 to 2.80.0
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.52.3...v4.59.0)

---
updated-dependencies:
- dependency-name: rollup
  dependency-version: 4.59.0
  dependency-type: indirect
- dependency-name: rollup
  dependency-version: 2.80.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 22:04:15 +01:00
github-actions[bot]
c113a7698b Merge pull request #58640 from nextcloud/dependabot/npm_and_yarn/rollup-4.59.0
chore(deps): Bump rollup from 4.52.5 to 4.59.0
2026-02-28 20:54:01 +00:00
nextcloud-command
16592b9f73 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-28 19:57:23 +00:00
dependabot[bot]
a49ceee5ae chore(deps): Bump rollup from 4.52.5 to 4.59.0
Bumps [rollup](https://github.com/rollup/rollup) from 4.52.5 to 4.59.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.52.5...v4.59.0)

---
updated-dependencies:
- dependency-name: rollup
  dependency-version: 4.59.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 20:49:28 +01:00
Andy Scherzinger
ea24a7f3b8 Merge pull request #58621 from nextcloud/dependabot/npm_and_yarn/stylelint-17.4.0
chore(deps-dev): Bump stylelint from 17.3.0 to 17.4.0
2026-02-28 20:41:06 +01:00
github-actions[bot]
158f643c2b Merge pull request #58624 from nextcloud/dependabot/npm_and_yarn/vue-3.5.29
chore(deps): Bump vue from 3.5.28 to 3.5.29
2026-02-28 19:32:14 +00:00
ernolf
b24663db93 feat(routing): add files_sharing_raw to rootUrlApps
- Registers the files_sharing_raw app as a root-URL app so that its routes are served under /raw/{token} and /rss instead of the default /apps/files_sharing_raw/... prefix.
  This is required for the files_sharing_raw app to generate correct canonical raw URLs via PublicUrlBuilder.

Signed-off-by: ernolf <raphael.gradenwitz@googlemail.com>
2026-02-28 20:30:19 +01:00
nextcloud-command
f8aea303c2 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-28 19:14:22 +00:00
dependabot[bot]
e14c8ec2c4 chore(deps): Bump vue from 3.5.28 to 3.5.29
Bumps [vue](https://github.com/vuejs/core) from 3.5.28 to 3.5.29.
- [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.28...v3.5.29)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 20:06:32 +01:00
github-actions[bot]
4ca998e8bc Merge pull request #58627 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/webpack-5.105.3
chore(deps-dev): Bump webpack from 5.105.2 to 5.105.3 in /build/frontend-legacy
2026-02-28 18:56:59 +00:00
nextcloud-command
05345789dd chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-28 18:36:38 +00:00
dependabot[bot]
5ee5a71930 chore(deps-dev): Bump webpack in /build/frontend-legacy
Bumps [webpack](https://github.com/webpack/webpack) from 5.105.2 to 5.105.3.
- [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.105.2...v5.105.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 19:28:42 +01:00
github-actions[bot]
c9af0f0977 Merge pull request #58598 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/multi-f81e89d21b
chore(deps): Bump minimatch in /build/frontend-legacy
2026-02-28 17:35:00 +00:00
github-actions[bot]
e00da518e7 Merge pull request #58622 from nextcloud/dependabot/npm_and_yarn/cypress-15.11.0
chore(deps-dev): Bump cypress from 15.10.0 to 15.11.0
2026-02-28 18:25:41 +01:00
nextcloud-command
1aadd46c18 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-28 17:11:34 +00:00
dependabot[bot]
9b4f3f2c11 chore(deps): Bump minimatch in /build/frontend-legacy
Bumps  and [minimatch](https://github.com/isaacs/minimatch). These dependencies needed to be updated together.

Updates `minimatch` from 9.0.5 to 9.0.9
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v9.0.5...v9.0.9)

Updates `minimatch` from 8.0.4 to 8.0.7
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v9.0.5...v9.0.9)

Updates `minimatch` from 5.1.6 to 5.1.9
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v9.0.5...v9.0.9)

Updates `minimatch` from 10.1.1 to 10.2.4
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v9.0.5...v9.0.9)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 9.0.9
  dependency-type: indirect
- dependency-name: minimatch
  dependency-version: 8.0.7
  dependency-type: indirect
- dependency-name: minimatch
  dependency-version: 5.1.9
  dependency-type: indirect
- dependency-name: minimatch
  dependency-version: 10.2.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 18:03:51 +01:00
github-actions[bot]
36232afffd Merge pull request #58625 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/babel-loader-exclude-node-modules-except-1.2.4
chore(deps-dev): Bump babel-loader-exclude-node-modules-except from 1.2.1 to 1.2.4 in /build/frontend-legacy
2026-02-28 16:58:49 +00:00
github-actions[bot]
c864d55f8f Merge pull request #58626 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/libphonenumber-js-1.12.38
chore(deps): Bump libphonenumber-js from 1.12.37 to 1.12.38 in /build/frontend-legacy
2026-02-28 16:46:06 +00:00
Josh
a1814676b8 ci(performance): fix Unexpected input warning for profiler-branch
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-28 09:38:05 -05:00
Josh
430975ce96 perf(files_external): Increase S3 metadata cache caps
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-28 09:08:00 -05:00
nextcloud-command
41f87251c7 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-28 12:45:00 +00:00
dependabot[bot]
1098812f95 chore(deps): Bump libphonenumber-js in /build/frontend-legacy
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.37 to 1.12.38.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.37...v1.12.38)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 13:37:36 +01:00
github-actions[bot]
dbdba090ee Merge pull request #58620 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.3.8
chore(deps-dev): Bump rector/rector from 2.3.7 to 2.3.8 in /vendor-bin/rector
2026-02-28 13:37:10 +01:00
github-actions[bot]
52f133dbc2 Merge pull request #58639 from nextcloud/dependabot/npm_and_yarn/multi-71d1011188
chore(deps): Bump minimatch and editorconfig
2026-02-28 08:58:31 +01:00
dependabot[bot]
54f95a1d8b chore(deps): Bump minimatch and editorconfig
Bumps [minimatch](https://github.com/isaacs/minimatch) and [editorconfig](https://github.com/editorconfig/editorconfig-core-js). These dependencies needed to be updated together.

Updates `minimatch` from 9.0.5 to 9.0.9
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v9.0.5...v9.0.9)

Updates `minimatch` from 3.1.2 to 3.1.5
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v9.0.5...v9.0.9)

Updates `minimatch` from 5.1.6 to 5.1.9
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v9.0.5...v9.0.9)

Updates `editorconfig` from 1.0.4 to 1.0.7
- [Release notes](https://github.com/editorconfig/editorconfig-core-js/releases)
- [Changelog](https://github.com/editorconfig/editorconfig-core-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/editorconfig/editorconfig-core-js/compare/v1.0.4...v1.0.7)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 9.0.9
  dependency-type: indirect
- dependency-name: minimatch
  dependency-version: 3.1.5
  dependency-type: indirect
- dependency-name: minimatch
  dependency-version: 5.1.9
  dependency-type: indirect
- dependency-name: editorconfig
  dependency-version: 1.0.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 06:38:18 +00:00
dependabot[bot]
0b01566282 chore(deps-dev): Bump babel-loader-exclude-node-modules-except
Bumps [babel-loader-exclude-node-modules-except](https://github.com/dutchenkoOleg/babel-loader-exclude-node-modules-except) from 1.2.1 to 1.2.4.
- [Release notes](https://github.com/dutchenkoOleg/babel-loader-exclude-node-modules-except/releases)
- [Commits](https://github.com/dutchenkoOleg/babel-loader-exclude-node-modules-except/compare/v1.2.1...v1.2.4)

---
updated-dependencies:
- dependency-name: babel-loader-exclude-node-modules-except
  dependency-version: 1.2.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 02:07:37 +00:00
dependabot[bot]
60bc7ffd0c chore(deps-dev): Bump cypress from 15.10.0 to 15.11.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 15.10.0 to 15.11.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.10.0...v15.11.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 02:06:33 +00:00
dependabot[bot]
c94c6ea45a chore(deps-dev): Bump stylelint from 17.3.0 to 17.4.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 17.3.0 to 17.4.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.3.0...17.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 02:06:20 +00:00
dependabot[bot]
b2dd3be343 chore(deps-dev): Bump rector/rector in /vendor-bin/rector
Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.3.7 to 2.3.8.
- [Release notes](https://github.com/rectorphp/rector/releases)
- [Commits](https://github.com/rectorphp/rector/compare/2.3.7...2.3.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 02:04:31 +00:00
Nextcloud bot
d758f64a18 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-28 00:18:59 +00:00
Marcel Müller
00af1217ff Merge pull request #58601 from nextcloud/fix/noid/default-loglevel-with-match-condition
fix: Use configured loglevel even when log.condition matches is set
2026-02-27 16:00:49 +01:00
Ferdinand Thiessen
694e2312fd Merge pull request #58589 from nextcloud/fix/external-missing
fix(files_external): boolean comparison of array
2026-02-27 15:40:14 +01:00
Ferdinand Thiessen
69a5db46bd fix: code style
Co-authored-by: Carl Schwan <carl@carlschwan.eu>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-27 14:31:42 +01:00
Kent Delante
d6eade0119 Merge pull request #58582 from nextcloud/leftybournes/fix/files_external_delete_objects
fix: pass only object key to deleteObjects call
2026-02-27 11:28:19 +08:00
Kent Delante
8d1cb50048 fix: pass only object key to deleteObjects call
Some S3-compatible object storage hosts don't like the ETag being included in
the request and return a MalformedXML response. In the AWS API documentation,
only the object key is required so just pass that in.

Signed-off-by: Kent Delante <kent.delante@proton.me>
2026-02-27 10:54:23 +08:00
Nextcloud bot
b4b328cf61 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-27 00:19:48 +00:00
Carl Schwan
e47195a334 Merge pull request #58597 from nextcloud/bugfix/58594/files_sharing-disabled
fix(repair): Fix repair steps when files_sharing is disabled
2026-02-27 00:35:03 +01:00
Marcel Müller
a56607e91f fix: Use configured loglevel even when log.condition matches is set
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2026-02-26 23:12:20 +01:00
github-actions[bot]
4d00f49757 Merge pull request #58556 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/multi-5543462fab
chore(deps): Bump bn.js in /build/frontend-legacy
2026-02-26 21:58:10 +01:00
Andy Scherzinger
83d795dd18 Merge pull request #58595 from nextcloud/fix/db-occ-pending-migrations-typo
fix(db): pending migrations in `occ migrations:status`
2026-02-26 21:56:27 +01:00
Joas Schilling
a6b9483a5f fix(repair): Fix repair steps when files_sharing is disabled
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-26 21:51:13 +01:00
Josh
636345bac8 fix(db): pending migrations in occ migrations:status
Fixes #58569

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-26 12:38:00 -05:00
Benjamin Gaussorgues
79d4953e64 Merge pull request #58535 from nextcloud/fix/do-not-send-headers-on-cli 2026-02-26 16:20:52 +01:00
Côme Chilliet
d8084559a9 chore: Add missing return type in tests
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-26 15:22:09 +01:00
Côme Chilliet
60c86848e4 fix: Use proper DI for LDAP class
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-26 15:21:40 +01:00
Sebastian Krupinski
ca8050b94e Merge pull request #58008 from nextcloud/feat/calendar-federation-readwrite
feat: calendar read and write federation
2026-02-26 09:01:25 -05:00
Carl Schwan
47b08a07d8 Merge pull request #58586 from nextcloud/carl/sharehelper-typing
refactor(typing): Correct typing of IShareHelper
2026-02-26 14:21:53 +01:00
Ferdinand Thiessen
d50fbfe37d fix(files_external): boolean comparison of array
To check if there are no missing required dependencies we need to check
if the required dependencies are **empty** because `!array` is still
true.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-26 14:21:50 +01:00
Kate
77c070bc93 Merge pull request #58559 from nextcloud/fix/itypedquerybuilder/chained-calls 2026-02-26 13:44:40 +01:00
Côme Chilliet
cc365554c6 chore: update psalm baseline
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-26 13:31:27 +01:00
Côme Chilliet
8b432809b4 fix: Adapt LDAPProvider tests to code changes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-26 13:31:26 +01:00
Côme Chilliet
c6f56ddbd7 fix(user_ldap): Remove usages of deprecated IServerContainer
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-26 13:31:26 +01:00
Kent Delante
09c9241b30 Merge pull request #58042 from nextcloud/feat/clear_password
feat(occ): allow admins to clear account passwords
2026-02-26 20:29:26 +08:00
Kent Delante
711bd2bc6d feat(occ): allow admins to clear account passwords
Signed-off-by: Kent Delante <kent.delante@proton.me>
2026-02-26 19:36:22 +08:00
Carl Schwan
2a81cba978 refactor(typing): Correct typing of IShareHelper
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-26 12:22:44 +01:00
Andy Scherzinger
6df490942c Merge pull request #58525 from nextcloud/fix/fix-decryption-failure-false-positive
fix(encryption): Improve type strictness on decryption check
2026-02-26 12:10:01 +01:00
Andy Scherzinger
0b8e7bb4f0 Merge pull request #58205 from nextcloud/bug-show-configuration-options-for-again
fix: show configuration options for external storage backends
2026-02-26 11:56:41 +01:00
Carl Schwan
4acb3b5da3 perf: Perform share path validation early
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-26 11:38:59 +01:00
Carl Schwan
0676fba514 perf(sharing): Avoid loading all shares from all users when unsharing
First check which users have a shares and for which providers and then
only load these shares.

Avoid doing at most 5 SQL queries for each users a share was shared with if
there are no shares.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-25 17:14:15 +01:00
Salvatore Martire
7e264ba58e Merge pull request #58571 from nextcloud/fix/regional-languages
fix(L10N): stop stripping _ from language codes
2026-02-25 16:54:18 +01:00
SebastianKrupinski
64f319ab4e feat: calendar federation write
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-02-25 10:35:27 -05:00
Salvatore Martire
ec0ed788fa fix(L10N): stop stripping _ from language codes
Stripping the underscore breaks support for all languages like de_AT,
de_DE and so on...

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-25 15:28:34 +01:00
Daniel Kesselberg
67d1fac6f6 fix: show configuration options for external storage backends
The occ files_external_backends command is supposed to list available backends along with their configuration options.

For the SMB backend, only the timeout option is currently shown, while options like host, share, root, and domain are missing. This makes configuring external storage via occ complicated.

Since the timeout option is marked as hidden but still shown, while the other options are not, the logic needs to be inverted so that all relevant configuration options are displayed correctly.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2026-02-25 15:24:20 +01:00
Kate
af98eed523 Merge pull request #58548 from nextcloud/artonge/feat/ai_pr_template 2026-02-25 11:52:12 +01:00
Louis Chmn
bfac9e7023 feat: Add AI checkbox to pull request template
Request committers to be transparent with their usage of AI.

Signed-off-by: Louis <louis@chmn.me>
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-02-25 10:41:38 +01:00
Joas Schilling
346c4bd69a Merge pull request #58453 from nextcloud/bugfix/noid/update-notifier-exception-handling
fix(notifications): Update notifier exception handling
2026-02-25 10:29:45 +01:00
Benjamin Gaussorgues
a12808e7c3 Merge pull request #58516 from nextcloud/fix/allow-multiple-sfids-files-gen 2026-02-25 10:20:29 +01:00
provokateurin
237d5156b6 fix(ITypedQueryBuilder): Add correct return type and add note about Psalm bug
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-25 09:52:48 +01:00
provokateurin
40c39270c0 fix((ITypedQueryBuilder): Fix chained calls of non-select methods
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-25 09:51:59 +01:00
Joas Schilling
0d6c551694 Merge pull request #58547 from nextcloud/dependabot/composer/symfony/process-6.4.33
build(deps): bump symfony/process from 6.4.31 to 6.4.33
2026-02-25 08:44:34 +01:00
Kate
14b42076ff Merge pull request #58279 from nextcloud/fix/mount-manager-improve-get-by-provider 2026-02-25 07:30:37 +01:00
Nextcloud bot
3431441180 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-25 00:19:43 +00:00
Joas Schilling
d1f16ffaeb build(deps): bump symfony/process from 6.4.31 to 6.4.33
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-24 22:32:01 +01:00
dependabot[bot]
f5b18dd7fd chore(deps): Bump bn.js in /build/frontend-legacy
Bumps  and [bn.js](https://github.com/indutny/bn.js). These dependencies needed to be updated together.

Updates `bn.js` from 5.2.2 to 5.2.3
- [Release notes](https://github.com/indutny/bn.js/releases)
- [Changelog](https://github.com/indutny/bn.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/indutny/bn.js/compare/v5.2.2...v5.2.3)

Updates `bn.js` from 4.12.2 to 4.12.3
- [Release notes](https://github.com/indutny/bn.js/releases)
- [Changelog](https://github.com/indutny/bn.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/indutny/bn.js/compare/v5.2.2...v5.2.3)

---
updated-dependencies:
- dependency-name: bn.js
  dependency-version: 5.2.3
  dependency-type: indirect
- dependency-name: bn.js
  dependency-version: 4.12.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-24 21:02:56 +00:00
Joas Schilling
1cb826ea83 Merge pull request #58436 from redsteadz/enhancement/folder-icon
Enhancement/folder icon changed to be closer to the title "View in Folder".
2026-02-24 21:40:11 +01:00
Hamees Ehsan
9b7feee481 fix(files): use more appropriate icon for context menu action
Signed-off-by: Hamees Ehsan <harcolemas@gmail.com>
2026-02-25 01:21:40 +05:00
Kate
7d24904baf Merge pull request #58543 from nextcloud/filesize-non-existing 2026-02-24 16:58:22 +01:00
Robin Appelman
3f19e137e4 fix: correctly return false for filesize on non-existing file
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-24 15:46:03 +01:00
Robin Appelman
bd8f251ad8 test: add test for calling filesize on non-existing files
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-24 15:32:06 +01:00
Kate
52a1d63993 Merge pull request #58373 from nextcloud/feat/db/typed-query-builder 2026-02-24 14:02:25 +01:00
F. E Noel Nfebe
33f852a641 Merge pull request #58128 from nextcloud/fix/share-expiration-date-time
fix(share): Set expiration time to end of day (23:59:59)
2026-02-24 11:22:44 +01:00
nfebe
ce0d97b6e5 test(share): Update expiration date tests for end-of-day time
Update expected values in ManagerTest to reflect the new behavior
where share expiration dates are set to 23:59:59 instead of 00:00:00.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-02-24 10:43:46 +01:00
nfebe
2d20ee2e4e fix(share): Set expiration time to end of day (23:59:59)
Shares now expire at the end of the selected day instead of the
beginning, allowing access throughout the entire expiration day.

Also return actual stored time in API response instead of hardcoded
00:00:00 to prevent timezone-related display issues in the UI.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-02-24 10:43:46 +01:00
Benjamin Gaussorgues
c25160d7eb Merge pull request #58530 from nextcloud/dav-download-size-fix-logg 2026-02-24 10:32:41 +01:00
Côme Chilliet
f885d7292f fix(occ): Do not attempt to send headers on CLI
This avoids errors like 'Cannot modify header information - headers already sent',
 when using --debug-log with occ.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-24 10:22:13 +01:00
Nextcloud bot
e61f0074f0 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-24 00:19:26 +00:00
Robin Appelman
84ff5760e0 fix: improve logging around automatic cache updated for dav downloads
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-23 17:45:35 +01:00
Kate
c73b4e6ddd Merge pull request #58338 from nextcloud/fix/58333/user-files-replace 2026-02-23 16:45:05 +01:00
SebastianKrupinski
3bd7784c1e fix(theming): Fix favicon and touchicon ratios
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-02-23 10:38:50 -05:00
Ferdinand Thiessen
839c4d71ce Merge pull request #58518 from nextcloud/enh/58508/move-user-picker-to-profile
Move the profile picker to the profile app
2026-02-23 16:31:53 +01:00
Julien Veyssier
9464eabad7 chore(assets): compile assets
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-02-23 15:30:43 +01:00
Julien Veyssier
ee44591509 feat(profile-picker): adjust tests
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-02-23 15:29:27 +01:00
Côme Chilliet
e4244c5fc8 fix(encryption): Improve type strictness on decryption check
Otherwise decrypting a falsy value like '0' would be seen as a
 decryption failure.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-23 14:49:03 +01:00
Julien Veyssier
2fc9eda850 feat(profile-picker): add an admin setting in the profile section to toggle the picker and the previews
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-02-23 14:40:50 +01:00
Julien Veyssier
da455ee86e feat(profile-picker): move the profile picker to the profile app, remove the user_picker app
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-02-23 14:40:50 +01:00
Kate
e19db72d98 Merge pull request #58512 from nextcloud/fix/core/share-external-http-localhost 2026-02-23 14:28:27 +01:00
provokateurin
161c91e1fd feat(DB): Add ITypedQueryBuilder
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-23 14:06:11 +01:00
provokateurin
b41569d80c fix(QueryBuilder): Use correct parameter name in addSelect method
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-23 13:58:26 +01:00
Joas Schilling
542d492b74 Merge pull request #58384 from nextcloud/feat/noid/config-file-mode
feat(config): Allow defining config.php permissions after write
2026-02-23 13:39:35 +01:00
Arthur Schiwon
7cc235e98f Merge pull request #58401 from nextcloud/fix/show-file-size-on-remote-shares
fix: show file size on remote shares
2026-02-23 13:39:19 +01:00
Kate
432c06cb5b Merge pull request #58466 from nextcloud/carl/abort-early 2026-02-23 12:59:16 +01:00
Benjamin Gaussorgues
5cbba3a080 Merge pull request #58473 from nextcloud/jtr/fix-58470 2026-02-23 12:04:19 +01:00
Ferdinand Thiessen
974c82aedd Merge pull request #58492 from nextcloud/jtr/fix-user-picker-dataprovider-deps
test(user-picker): fix PHPUnit 12 dataprovider deprecations
2026-02-23 12:03:18 +01:00
nextcloud-command
ba480b93ce chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-23 11:01:38 +00:00
provokateurin
e8feef1c9c fix(core): Allow external sharing to plain http://localhost
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-23 10:59:02 +00:00
Benjamin Gaussorgues
86c0e11a91 fix(snowflake_ids): allow multiple instance with same temp directory
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-02-23 11:46:07 +01:00
Kate
f1e29d444f Merge pull request #58506 from nextcloud/fix/user_picker-metadata 2026-02-23 10:47:31 +01:00
Ferdinand Thiessen
fabf017fd6 Merge pull request #58505 from nextcloud/build/vite-config
build: fix vite config for assets imported from node modules
2026-02-23 10:26:18 +01:00
Nextcloud bot
be5dd03f92 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-23 00:19:18 +00:00
Kate
1a3d77e710 Merge pull request #58351 from nextcloud/ci/rector-apply-fix-php-version
ci(rector-apply): Fix PHP version for server
2026-02-22 19:32:24 +01:00
Ferdinand Thiessen
fe99131ac3 fix(user_picker): valid appinfo and correct license info
- app info was not valid according to XSD (missing `<bugs>`)
- license info for l10n was missing

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-22 16:17:43 +01:00
Ferdinand Thiessen
55c5b70f10 build: fix vite config for assets imported from node modules
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-22 15:59:46 +01:00
Nextcloud bot
c4eddb5947 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-22 00:19:20 +00:00
github-actions[bot]
fd39e45e6c Merge pull request #58482 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/underscore-1.13.8
chore(deps): Bump underscore from 1.13.7 to 1.13.8 in /build/frontend-legacy
2026-02-21 19:31:39 +00:00
nextcloud-command
2551796604 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-21 18:53:36 +00:00
dependabot[bot]
265ecc1c29 chore(deps): Bump underscore in /build/frontend-legacy
Bumps [underscore](https://github.com/jashkenas/underscore) from 1.13.7 to 1.13.8.
- [Commits](https://github.com/jashkenas/underscore/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-21 19:45:47 +01:00
github-actions[bot]
1d4d277157 Merge pull request #58481 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/marked-17.0.3
chore(deps): Bump marked from 17.0.2 to 17.0.3 in /build/frontend-legacy
2026-02-21 18:12:56 +00:00
Josh
24ffcd74f1 test(user-picker): add DataProvider use statement
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-21 12:58:22 -05:00
nextcloud-command
bfaf1c46f3 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-21 16:27:16 +00:00
dependabot[bot]
2d69bee01b chore(deps): Bump marked from 17.0.2 to 17.0.3 in /build/frontend-legacy
Bumps [marked](https://github.com/markedjs/marked) from 17.0.2 to 17.0.3.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.2...v17.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-21 17:19:21 +01:00
github-actions[bot]
e29053e0dc Merge pull request #58484 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/libphonenumber-js-1.12.37
chore(deps): Bump libphonenumber-js from 1.12.36 to 1.12.37 in /build/frontend-legacy
2026-02-21 16:44:57 +01:00
nextcloud-command
54202f9b6e chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-21 14:58:07 +00:00
dependabot[bot]
284f2fc651 chore(deps): Bump libphonenumber-js in /build/frontend-legacy
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.36 to 1.12.37.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.36...v1.12.37)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-21 15:50:13 +01:00
github-actions[bot]
0a68310859 Merge pull request #58476 from nextcloud/dependabot/npm_and_yarn/nextcloud/paths-3.1.0
chore(deps): Bump @nextcloud/paths from 3.0.0 to 3.1.0
2026-02-21 10:07:41 +01:00
github-actions[bot]
6956e809a7 Merge pull request #58475 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.3.7
chore(deps-dev): Bump rector/rector from 2.3.6 to 2.3.7 in /vendor-bin/rector
2026-02-21 09:01:26 +00:00
github-actions[bot]
693ae05cc8 Merge pull request #58480 from nextcloud/dependabot/npm_and_yarn/jsdom-28.1.0
chore(deps-dev): Bump jsdom from 28.0.0 to 28.1.0
2026-02-21 09:01:24 +00:00
nextcloud-command
baeb847595 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-21 08:45:38 +00:00
dependabot[bot]
bff343be2f chore(deps): Bump @nextcloud/paths from 3.0.0 to 3.1.0
Bumps [@nextcloud/paths](https://github.com/nextcloud-libraries/nextcloud-paths) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-paths/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-paths/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-paths/compare/v3.0.0...v3.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-21 09:37:18 +01:00
github-actions[bot]
c0e80684ec Merge pull request #58477 from nextcloud/dependabot/npm_and_yarn/eslint-plugin-cypress-6.1.0
chore(deps-dev): Bump eslint-plugin-cypress from 5.3.0 to 6.1.0
2026-02-21 09:36:21 +01:00
github-actions[bot]
0f54c82f80 Merge pull request #58479 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.8.21
chore(deps-dev): Bump @zip.js/zip.js from 2.8.20 to 2.8.21
2026-02-21 09:35:44 +01:00
Josh
07c614d2bd test(user-picker): fix PHPUnit 12 dataprovider deprecations
Eliminates PHPUnit deprecation notices (due to @dataProvider use) that were introduced via #57539.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-20 21:47:21 -05:00
dependabot[bot]
0012588252 chore(deps-dev): Bump jsdom from 28.0.0 to 28.1.0
Bumps [jsdom](https://github.com/jsdom/jsdom) from 28.0.0 to 28.1.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/28.0.0...28.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-21 02:09:06 +00:00
dependabot[bot]
583fafbbb6 chore(deps-dev): Bump @zip.js/zip.js from 2.8.20 to 2.8.21
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.8.20 to 2.8.21.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.8.20...v2.8.21)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-21 02:08:38 +00:00
dependabot[bot]
69e4f78306 chore(deps-dev): Bump eslint-plugin-cypress from 5.3.0 to 6.1.0
Bumps [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) from 5.3.0 to 6.1.0.
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v5.3.0...v6.1.0)

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-21 02:03:16 +00:00
Nextcloud bot
5a5f82c52e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-21 00:19:15 +00:00
Josh
2475a0bb19 chore(autoload_classmap): drop OC_JSON
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-20 16:58:21 -05:00
Josh
7f9b9e9104 chore(autoload_static): drop OC_JSON
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-20 16:57:45 -05:00
Josh
aad7571502 chore: drop OC_JSON
Closes #8568

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-20 16:56:24 -05:00
Josh
f0663d5cbf fix(Cron): Log when WebCron accessed in system cron mode
Fixese #58470

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-20 16:44:14 -05:00
Ferdinand Thiessen
6664eb397c Merge pull request #56967 from nextcloud/fix/share-download
fix(files_sharing): make legacy `downloadShare` endpoint compatible with legacy behavior
2026-02-20 19:20:19 +01:00
Carl Schwan
fa48b7065e fix(propagator): Don't run queries if no parents
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-20 17:36:34 +01:00
Salvatore Martire
ed18c44374 fix: remove user part only at the beginning of path
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-20 16:35:37 +01:00
Ferdinand Thiessen
a63e248b39 fix(files_sharing): make legacy downloadShare endpoint compatible with legacy behavior
This needs to be able to directly download files if specified to only
download a single file and not a folder.
Also it was possible to either pass a files array json encoded or a
single file not encoded at all.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-20 15:57:56 +01:00
John Molakvoæ
6873b96ea5 Merge pull request #58457 from nextcloud/fix/a11y-select-header-all
fix(files): fix tab navigation from select all checkbox to batch actions
2026-02-20 14:59:44 +01:00
nextcloud-command
e614d8fc9b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-20 13:39:22 +00:00
skjnldsv
de56af3173 fix(files): fix tab navigation from select all checkbox to batch actions
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2026-02-20 13:36:35 +00:00
Andy Scherzinger
3e9f5b3e63 Merge pull request #57539 from nextcloud/enh/noid/user-picker
Move the profile picker to server
2026-02-20 12:38:27 +01:00
nextcloud-command
0c7ae444ef chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-20 09:27:17 +00:00
Julien Veyssier
fc4b743415 feat(user-picker): make the user_picker app enabled by default
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-02-20 10:16:34 +01:00
Julien Veyssier
7b330cf265 feat(user-picker): fix eslint issues
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-02-20 10:16:34 +01:00
Julien Veyssier
57ec0dee99 feat(user-picker): support NC 34
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-02-20 10:16:34 +01:00
Julien Veyssier
c0a984dfc4 feat(user-picker): use logger instead of console
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-02-20 10:16:34 +01:00
Julien Veyssier
00a47f1d70 feat(user-picker): add .noopenapi
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-02-20 10:16:34 +01:00
Julien Veyssier
d34905b26c feat(user-picker): fix REUSE issues
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-02-20 10:16:34 +01:00
Julien Veyssier
530a0bbbef feat(user-picker): add app to psalm config, fix unit tests
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-02-20 10:16:34 +01:00
Julien Veyssier
a25578cd57 feat(user-picker): fix unit tests
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-02-20 10:16:34 +01:00
Julien Veyssier
668db370d2 feat(user-picker): fix eslint errors
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-02-20 10:16:33 +01:00
Julien Veyssier
bf64cb17c8 feat(user-picker): add translation config
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-02-20 10:16:33 +01:00
Julien Veyssier
e29349cd9f feat(user-picker): fix style issue
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-02-20 10:16:33 +01:00
Julien Veyssier
20453312bd feat(user-picker): adjust build files
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-02-20 10:16:33 +01:00
Julien Veyssier
28e6f8e808 feat(user-picker): generate composer stuff
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-02-20 10:16:33 +01:00
Julien Veyssier
4628ca2166 feat(user-picker): start moving the users_picker app as the shipped user_picker
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-02-20 10:16:33 +01:00
Joas Schilling
57100fe78e fix(notifications): Update notifier exception handling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-20 08:13:42 +01:00
Kate
1285c8cd04 Merge pull request #58414 from nextcloud/fix/transfer-ownership-service/remove-groupfolders-size
fix(TransferOwnershipService): Remove groupfolders size
2026-02-20 06:17:21 +01:00
Nextcloud bot
7e474a9ac4 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-20 00:20:34 +00:00
github-actions[bot]
0df2a8a588 Merge pull request #58442 from nextcloud/dependabot/npm_and_yarn/systeminformation-5.31.1
chore(deps): Bump systeminformation from 5.27.14 to 5.31.1
2026-02-19 21:44:23 +00:00
github-actions[bot]
9039dab9cd Merge pull request #58430 from nextcloud/dependabot/npm_and_yarn/fast-xml-parser-5.3.6
chore(deps): Bump fast-xml-parser from 5.3.4 to 5.3.6
2026-02-19 21:17:14 +00:00
Thomas Citharel
80fd6fa194 Merge pull request #57376 from nextcloud/add-server-url-to-http-client-user-agent
feat(http-client): add option to add instance URL to HTTP client user-agent
2026-02-19 18:28:10 +01:00
Thomas Citharel
0bfa86b02d feat(http-client): add option to add instance URL to HTTP client user-agent
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2026-02-19 17:57:40 +01:00
dependabot[bot]
d896295312 chore(deps): Bump systeminformation from 5.27.14 to 5.31.1
Bumps [systeminformation](https://github.com/sebhildebrandt/systeminformation) from 5.27.14 to 5.31.1.
- [Release notes](https://github.com/sebhildebrandt/systeminformation/releases)
- [Changelog](https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sebhildebrandt/systeminformation/compare/v5.27.14...v5.31.1)

---
updated-dependencies:
- dependency-name: systeminformation
  dependency-version: 5.31.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-19 16:18:19 +00:00
Ferdinand Thiessen
21da74cade Merge pull request #58360 from nextcloud/fix/show-error-sharing
fix(files_sharing): ensure the server share API errors are shown
2026-02-19 17:16:43 +01:00
nextcloud-command
cdce99b3ce chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-19 14:33:56 +00:00
Salvatore Martire
238e459032 Merge pull request #58144 from nextcloud/fix/more-missing-userid-cases
fix: add missing `X-User-Id` in DAV uploads and index redirect
2026-02-19 15:27:06 +01:00
Ferdinand Thiessen
e73e990ed2 fix(files_sharing): ensure the server share API errors are shown
- fix https://github.com/nextcloud/server/issues/58359

To reproduce:
1. Setup password policy.
2. Try to set a share password like `1234`
3. See that no visual error message is show but only in the console

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-19 14:30:15 +01:00
Kate
ea9e2bb161 Merge pull request #58419 from nextcloud/fix/propagator/skip-groupfolders-versions-trash
fix(Propagator): Also skip groupfolders versions and trash entries
2026-02-19 14:29:42 +01:00
Carl Schwan
a128445e3e Merge pull request #58403 from nextcloud/fix/slow-delete
fix(perf): use index when deleting old previews
2026-02-19 14:06:46 +01:00
dependabot[bot]
70223c1f73 chore(deps): Bump fast-xml-parser from 5.3.4 to 5.3.6
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.3.4 to 5.3.6.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.3.4...v5.3.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-19 13:03:53 +00:00
github-actions[bot]
b16865f49a Merge pull request #58397 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/fast-xml-parser-5.3.6
chore(deps): Bump fast-xml-parser from 5.3.4 to 5.3.6 in /build/frontend-legacy
2026-02-19 13:02:03 +00:00
Maksim Sukharev
7413607350 Merge pull request #58422 from nextcloud/fix/58342/user-status-emoji-picker
fix(user_status): mount emoji picker outside of dialog
2026-02-19 12:52:13 +01:00
nextcloud-command
df796052c9 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-19 10:19:56 +00:00
Maksim Sukharev
e45d6cab19 fix(user_status): mount emoji picker outside of dialog
- fix overflow and scroll when emoji picker is open

Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2026-02-19 10:41:45 +01:00
provokateurin
a9fb17c982 fix(Propagator): Also skip groupfolders versions and trash entries
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-19 09:19:44 +01:00
Julius Knorr
c378bb4e9a Merge pull request #58236 from nextcloud/jtr/fix-db-missing-indices-at-install-time
fix(setup): add index properties_name_path_user by default on new installs
2026-02-19 09:17:45 +01:00
provokateurin
1ed7a0ef98 fix(TransferOwnershipService): Remove groupfolders size
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-19 08:38:04 +01:00
nextcloud-command
79ac26f85f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-19 06:25:50 +00:00
dependabot[bot]
117e929c17 chore(deps): Bump fast-xml-parser in /build/frontend-legacy
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.3.4 to 5.3.6.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.3.4...v5.3.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-19 07:15:45 +01:00
Nextcloud bot
42c0e5ffeb fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-19 00:21:07 +00:00
Kate
3c8ca879a5 Merge pull request #58402 from nextcloud/fix/propagator/skip-groupfolders-root-entries
fix(Propagator): Skip groupfolders root entries
2026-02-18 22:57:56 +01:00
Benjamin Gaussorgues
30e35a8411 fix(perf): use index when deleting old previews
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-02-18 17:27:36 +01:00
Robin Appelman
d504ec1ec5 Merge pull request #57578 from nextcloud/authoritative-setup-improvements
Authoritative setup improvements
2026-02-18 16:59:16 +01:00
Robin Appelman
7064ff035f fix: also use authoritative mount info for setupForProvider
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-18 15:47:39 +01:00
Robin Appelman
f5d7a44dca fix: only refresh mounts once per user
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-18 15:47:39 +01:00
grnd-alt
e4dcec8d5f fix: show file size on remote shares
Signed-off-by: grnd-alt <git@belakkaf.net>
2026-02-18 15:11:59 +01:00
provokateurin
ca9c54518a fix(Propagator): Skip groupfolders root entries
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-18 13:45:55 +01:00
Joas Schilling
a6d1fa1fa6 Merge pull request #58399 from nextcloud/followup/58282/restore-typing-on-middle-class
fix(migrations): Restore type definitions for API class used in apps
2026-02-18 09:24:57 +01:00
Joas Schilling
06f35ec4f8 fix(migrations): Restore type definitions for API class used in apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-18 08:36:08 +01:00
Nextcloud bot
16d3cee3a2 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-18 00:20:52 +00:00
Ferdinand Thiessen
48d6d8df2b Merge pull request #54048 from nextcloud/files-external-optional-dependencies
fix(files_external): ignore unsatisfied optional dependencies
2026-02-17 22:58:42 +01:00
Ferdinand Thiessen
252449023f Merge pull request #58379 from nextcloud/backport/58285/master
fix(cache): filter out invalid entries in `OC\Files\Cache\Wrapper\CacheWrapper::getFolderContentsById`
2026-02-17 18:11:04 +01:00
Jan-Philipp Litza
0f4d6b8027 fix(files_external): ignore unsatisfied optional dependencies
Signed-off-by: Jan-Philipp Litza <janphilipp@litza.de>
2026-02-17 18:03:56 +01:00
Ferdinand Thiessen
88bb82ccfe fix(cache): filter out invalid entries in OC\Files\Cache\Wrapper\CacheWrapper::getFolderContentsById
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 17:20:46 +01:00
Ferdinand Thiessen
560df4a73c fix(cache): filter out invalid entries in OC\Files\Cache\Wrapper\CacheWrapper::getFolderContentsById
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>

[skip ci]
2026-02-17 17:17:02 +01:00
Joas Schilling
af9308344b feat(config): Allow defining config.php permissions after write
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-17 15:25:47 +01:00
Benjamin Gaussorgues
f2907f133c Merge pull request #58282 from nextcloud/carl/refactor-migration
refactor(psalm): Modernize migration doc
2026-02-17 14:58:03 +01:00
Ferdinand Thiessen
b6d22f384b Merge pull request #57648 from nextcloud/chore/drop-jquery
chore!: drop jQuery UI and jQuery
2026-02-17 14:14:12 +01:00
Robin Appelman
867ef52cfb Merge pull request #57523 from nextcloud/authoritative-share-provider
Make share mount provider authoritative
2026-02-17 13:31:10 +01:00
Kate
e9bba6a610 Merge pull request #58286 from nextcloud/fix/groupfolders-phpstan
Fix a bunch of typing issues to make PHPStan level 10 happy on groupfolders
2026-02-17 13:30:46 +01:00
Ferdinand Thiessen
0b37d37884 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:53:15 +01:00
Ferdinand Thiessen
b0df06d533 chore!(core): remove deprecated jQuery and jQuery UI
"jQuery is deprecated and will be removed with Nextcloud 19"
Well... At least it is removed now 😉

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:51:42 +01:00
Ferdinand Thiessen
00a5c028a4 chore!(core): remove legacy Backbone
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:50:49 +01:00
Ferdinand Thiessen
a32168b01e chore!(core): remove legacy OC.Files.Client
Use the DAV client from `@nextcloud/files/dav` instead.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:50:49 +01:00
Ferdinand Thiessen
fd5108b68b chore!(core): remove global snapper.js handling
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:50:49 +01:00
Ferdinand Thiessen
c89939fbd6 chore!(core): remove handling of .live-relative-timestamp use @nextcloud/vue/components/NcDateTime instead
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:50:49 +01:00
Ferdinand Thiessen
503fad2b16 chore!(core): remove legacy OC.registerMenu and other menu helpers
Instead use Vue components.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:50:49 +01:00
Ferdinand Thiessen
e14d97b95a chore!(core): remove deprecated OC.Apps
Instead use components from `@nextcloud/vue`

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:50:49 +01:00
Ferdinand Thiessen
b66292a0d4 chore!(core): drop deprecated OC.Notification
Deprecated since 17.0.0, use the `@nextcloud/dialogs` package instead.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:50:49 +01:00
Ferdinand Thiessen
16f4ff98e4 chore!(core): drop deprecated OC.Dialogs.fileexists
It is deprecated since 29.0.0.
Instead use `openConflictPicker` from the `@nextcloud/upload` (Vue 2).
Or from `@nextcloud/dialogs` (every other framework like Vue 3 etc).

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:50:49 +01:00
Ferdinand Thiessen
9c8f80102a chore!(core): drop deprecated OC.Settings
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-17 12:50:49 +01:00
Ferdinand Thiessen
b0e99d0293 Merge pull request #58327 from nextcloud/feat/1698/recent-files-include-recently-uploaded
feat: add upload_time support to file search and recent files
2026-02-17 11:48:12 +01:00
Kate
3a80443508 Merge pull request #58278 from nextcloud/techdebt/noid/openapi-for-workflow-engine
feat(workflowengine): Add openapi for workflow engine
2026-02-17 08:34:45 +01:00
provokateurin
4eada2d804 refactor(Files): Modernize Wrapper
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
provokateurin
672a29aa0c refactor(Files): Remove deprecated and unused getMimeType and searchByMime methods
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
provokateurin
5f4a5d8c67 refactor(Files): Remove deprecated streamCopy method
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
provokateurin
c953ad9bcd fix(Storage): Use correct return types for getMetaData and getDirectoryContent
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
provokateurin
7ceddb3ffb fix(IStorage): Use correct return type for stat
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
provokateurin
2d486c5629 fix(IGroupManager): Use correct return type for displayNamesInGroup
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
provokateurin
e454cc6765 refactor(settings): Modernize authorized group classes
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
provokateurin
3693cbeaf9 fix(IMetadataVersion): Use correct return type for getMetadata
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
provokateurin
e40d6b1c6b refactor(dav): Modernize Node
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
provokateurin
bf71461bee fix(psalm-strict): Supress errors related to internal classes, methods and properties
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-17 06:43:16 +01:00
Nextcloud bot
045a41625a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-17 00:20:47 +00:00
Robin Appelman
3ec7bd2ee1 Merge pull request #58207 from nextcloud/share-verify-mount-event-improvements
feat: improve VerifyMountPointEvent event
2026-02-16 20:49:39 +01:00
Joas Schilling
4134df9eda feat(workflowengine): Add openapi for workflow engine
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-16 17:51:18 +01:00
Kent Delante
91946d549f Merge pull request #58262 from nextcloud/leftybournes/fix/external_storage_forbid_local
fix(external_storage): hide local storage as an option for users
2026-02-16 21:23:52 +08:00
Kent Delante
2d2139ab94 fix(external_storage): hide local storage as an option for users
Signed-off-by: Kent Delante <kent.delante@proton.me>
2026-02-16 20:53:30 +08:00
Kate
35f24bcd38 Merge pull request #58355 from nextcloud/fix/ocp/container
fix(IRegistrationContext): Use IContainer in registerService factory
2026-02-16 13:36:37 +01:00
provokateurin
d92c2de741 fix(IRegistrationContext): Use IContainer in registerService factory
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-16 10:45:13 +01:00
provokateurin
931d15e476 feat(IContainer): Undeprecate class
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-16 10:45:13 +01:00
provokateurin
935c2416b5 fix(IContainer): Override get method with better type annotations
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-16 10:45:13 +01:00
provokateurin
9dc1d6372f fix(IContainer): Fix parameter and return types
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-16 10:45:13 +01:00
Git'Fellow
f06133bf13 Merge pull request #58350 from nextcloud/regressionEmptyPort
fix(sftp): Handle empty port parameter to allow host-defined ports
2026-02-16 10:13:38 +01:00
Nextcloud bot
891ec7bed5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-16 00:20:46 +00:00
provokateurin
38b6bfc8db ci(rector-apply): Fix PHP version for server
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-15 16:11:18 +01:00
github-actions[bot]
53ac6d62b5 Merge pull request #58307 from nextcloud/dependabot/npm_and_yarn/nextcloud/dialogs-7.3.0
chore(deps): Bump @nextcloud/dialogs from 7.2.0 to 7.3.0
2026-02-15 16:07:39 +01:00
nextcloud-command
b812040314 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-15 12:39:59 +00:00
dependabot[bot]
d4416f10fe chore(deps): Bump @nextcloud/dialogs from 7.2.0 to 7.3.0
Bumps [@nextcloud/dialogs](https://github.com/nextcloud-libraries/nextcloud-dialogs) from 7.2.0 to 7.3.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.2.0...v7.3.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/dialogs"
  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-15 12:08:37 +00:00
github-actions[bot]
eebcc7b5bb Merge pull request #58314 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/upload-1.11.1
chore(deps): Bump @nextcloud/upload from 1.11.0 to 1.11.1 in /build/frontend-legacy
2026-02-15 11:13:37 +00:00
nextcloud-command
88b6c54d6b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-15 08:27:14 +00:00
dependabot[bot]
ee65e8e79c chore(deps): Bump @nextcloud/upload in /build/frontend-legacy
Bumps [@nextcloud/upload](https://github.com/nextcloud-libraries/nextcloud-upload) from 1.11.0 to 1.11.1.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-upload/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-upload/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-upload/compare/v1.11.0...v1.11.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-15 08:19:12 +00:00
github-actions[bot]
15f1ec22f4 Merge pull request #58312 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/webpack-5.105.2
chore(deps-dev): Bump webpack from 5.105.0 to 5.105.2 in /build/frontend-legacy
2026-02-15 09:17:15 +01:00
github-actions[bot]
a04d6d6de2 Merge pull request #58310 from nextcloud/dependabot/npm_and_yarn/sortablejs-1.15.7
chore(deps): Bump sortablejs from 1.15.6 to 1.15.7
2026-02-15 09:02:37 +01:00
Nextcloud bot
ba2ddc1392 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-15 00:20:42 +00:00
nextcloud-command
72d825a7dc chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-14 23:16:00 +00:00
nextcloud-command
096bff5fed chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-14 23:15:51 +00:00
dependabot[bot]
e0e37fcac4 chore(deps): Bump sortablejs from 1.15.6 to 1.15.7
Bumps [sortablejs](https://github.com/SortableJS/Sortable) from 1.15.6 to 1.15.7.
- [Release notes](https://github.com/SortableJS/Sortable/releases)
- [Commits](https://github.com/SortableJS/Sortable/compare/1.15.6...1.15.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-14 23:07:24 +00:00
dependabot[bot]
eec2e93d3a chore(deps-dev): Bump webpack in /build/frontend-legacy
Bumps [webpack](https://github.com/webpack/webpack) from 5.105.0 to 5.105.2.
- [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.105.0...v5.105.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-14 23:07:05 +00:00
github-actions[bot]
f6dc6ec3e3 Merge pull request #58346 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/marked-17.0.2
chore(deps): Bump marked from 17.0.1 to 17.0.2 in /build/frontend-legacy
2026-02-14 22:53:59 +00:00
Ferdinand Thiessen
66c1e0ab61 Merge pull request #58330 from nextcloud/fix/view-order
fix(files): correctly sort views
2026-02-14 22:59:27 +01:00
nextcloud-command
93d6087eb6 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-14 21:37:23 +00:00
Ferdinand Thiessen
2007491e11 fix(files): correctly sort views
The condition to sort by order was missing, so the views were only
sorted by name. Added the most important order condition and proper
tests for this.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-14 22:29:46 +01:00
nextcloud-command
0263a7f093 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-14 20:53:35 +01:00
dependabot[bot]
d16a7b3653 chore(deps): Bump marked from 17.0.1 to 17.0.2 in /build/frontend-legacy
Bumps [marked](https://github.com/markedjs/marked) from 17.0.1 to 17.0.2.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.1...v17.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-14 20:53:35 +01:00
github-actions[bot]
a69d56d1b7 Merge pull request #58348 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/multi-d31b51a7f2
chore(deps): Bump qs and body-parser in /build/frontend-legacy
2026-02-14 20:38:35 +01:00
nextcloud-command
eb4194a973 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-14 16:46:10 +00:00
Git'Fellow
b1e71ae646 fix(sftp): Handle empty port parameter to allow host-defined ports
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-02-14 12:29:38 +01:00
dependabot[bot]
161b1098c0 chore(deps): Bump qs and body-parser in /build/frontend-legacy
Bumps [qs](https://github.com/ljharb/qs) and [body-parser](https://github.com/expressjs/body-parser). These dependencies needed to be updated together.

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

Updates `body-parser` from 1.20.3 to 1.20.4
- [Release notes](https://github.com/expressjs/body-parser/releases)
- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/body-parser/compare/1.20.3...1.20.4)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.14.2
  dependency-type: indirect
- dependency-name: body-parser
  dependency-version: 1.20.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-14 07:08:25 +00:00
github-actions[bot]
cf1c70ca62 Merge pull request #58345 from nextcloud/dependabot/npm_and_yarn/stylelint-17.3.0
chore(deps-dev): Bump stylelint from 17.1.1 to 17.3.0
2026-02-14 07:07:17 +00:00
dependabot[bot]
e9ec5026a6 chore(deps-dev): Bump stylelint from 17.1.1 to 17.3.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 17.1.1 to 17.3.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.1.1...17.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-14 02:05:13 +00:00
Nextcloud bot
1439a2caab fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-14 00:21:13 +00:00
github-actions[bot]
f9f35151c0 Merge pull request #58301 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.8.20
chore(deps-dev): Bump @zip.js/zip.js from 2.8.17 to 2.8.20
2026-02-13 18:34:50 +00:00
github-actions[bot]
7ed3134160 Merge pull request #58304 from nextcloud/dependabot/npm_and_yarn/msw-2.12.10
chore(deps-dev): Bump msw from 2.12.9 to 2.12.10
2026-02-13 18:19:11 +00:00
Robin Appelman
eb6f78e26d feat: implement authoritative mount provider for share provider
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-13 19:02:05 +01:00
Cristian Scheid
e964351389 feat: add upload_time support to file search and recent files
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-02-13 14:38:51 -03:00
Sebastian Krupinski
c56938f6a9 Merge pull request #58203 from nextcloud/fix/obey-x-nc-scheduling-flag-on-delete
fix: obey x-nc-scheduling flag on delete
2026-02-13 12:07:25 -05:00
github-actions[bot]
8443c71d3e Merge pull request #58302 from nextcloud/dependabot/npm_and_yarn/eslint-plugin-cypress-5.3.0
chore(deps-dev): Bump eslint-plugin-cypress from 5.2.1 to 5.3.0
2026-02-13 16:25:09 +00:00
Salvatore Martire
d400dd4167 fix: avoid recomputing list of mounts by provider
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-13 16:41:44 +01:00
SebastianKrupinski
b91dfee54a fix: obey x-nc-scheduling flag on delete
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-02-13 09:58:26 -05:00
Sebastian Krupinski
0cd375532d Merge pull request #50843 from nextcloud/fix/noid/fix-itipbroker-messages
fix(CalDAV): iTipBroker message generation and testing
2026-02-13 09:51:52 -05:00
Carl Schwan
2391d58eb0 Merge pull request #58107 from nextcloud/local-preview-mkdir-exists
fix: don't try to create preview folder if it already exists
2026-02-13 15:10:24 +01:00
github-actions[bot]
44e7082e5a Merge pull request #58318 from nextcloud/dependabot/npm_and_yarn/qs-6.14.2
chore(deps): Bump qs from 6.14.1 to 6.14.2
2026-02-13 12:39:13 +01:00
Ferdinand Thiessen
fee431f9c0 Merge pull request #58003 from nextcloud/fix/57669/show-theming-image-upload-errors
fix(theming): display error messages on image upload and delete previous image only after validation
2026-02-13 11:49:38 +01:00
nextcloud-command
0f91aec1bd chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-13 10:03:50 +00:00
Nextcloud bot
bf83faf7cd fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-13 00:41:19 +00:00
github-actions[bot]
a793dac97c Merge pull request #58317 from nextcloud/dependabot/github_actions/github-actions-ee4cefd656
chore(deps): Bump the github-actions group with 3 updates
2026-02-13 00:12:39 +00:00
github-actions[bot]
d6842d720e Merge pull request #58316 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/nextcloud/dialogs-7.3.0
chore(deps): Bump @nextcloud/dialogs from 7.2.0 to 7.3.0 in /build/frontend-legacy
2026-02-12 23:11:48 +00:00
nextcloud-command
742f8717e3 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-12 22:55:26 +00:00
dependabot[bot]
acb9698012 chore(deps): Bump @nextcloud/dialogs in /build/frontend-legacy
Bumps [@nextcloud/dialogs](https://github.com/nextcloud-libraries/nextcloud-dialogs) from 7.2.0 to 7.3.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.2.0...v7.3.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/dialogs"
  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-12 22:43:30 +00:00
dependabot[bot]
ac4c74156a chore(deps): Bump qs from 6.14.1 to 6.14.2
Bumps [qs](https://github.com/ljharb/qs) from 6.14.1 to 6.14.2.
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.14.1...v6.14.2)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-12 22:42:25 +00:00
github-actions[bot]
e00c98cf67 Merge pull request #58315 from nextcloud/dependabot/npm_and_yarn/build/frontend-legacy/msw-2.12.10
chore(deps-dev): Bump msw from 2.12.9 to 2.12.10 in /build/frontend-legacy
2026-02-12 23:41:12 +01:00
SebastianKrupinski
70d051f602 fix: iTipBroker message generation and testing
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-02-12 15:20:36 -05:00
dependabot[bot]
bd4899fc42 chore(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), [cypress-io/github-action](https://github.com/cypress-io/github-action) and [LizardByte/actions](https://github.com/lizardbyte/actions).


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

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

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

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.32.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: cypress-io/github-action
  dependency-version: 7.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: LizardByte/actions
  dependency-version: 2026.212.22356
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-12 18:52:19 +00:00
dependabot[bot]
af1d11434b chore(deps-dev): Bump msw in /build/frontend-legacy
Bumps [msw](https://github.com/mswjs/msw) from 2.12.9 to 2.12.10.
- [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.9...v2.12.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-12 18:39:16 +00:00
dependabot[bot]
0578b0dd9c chore(deps-dev): Bump msw from 2.12.9 to 2.12.10
Bumps [msw](https://github.com/mswjs/msw) from 2.12.9 to 2.12.10.
- [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.9...v2.12.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-12 18:36:34 +00:00
dependabot[bot]
178517847c chore(deps-dev): Bump eslint-plugin-cypress from 5.2.1 to 5.3.0
Bumps [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) from 5.2.1 to 5.3.0.
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v5.2.1...v5.3.0)

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

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-12 18:35:36 +00:00
Andy Scherzinger
4cc2bb26ca Merge pull request #58292 from nextcloud/ci/noid/dependabot-v31
Drop dependabot for stable31
2026-02-12 19:32:27 +01:00
Ferdinand Thiessen
202124cd28 Merge pull request #58287 from nextcloud/fix/comments-action
fix(comments): properly handle opening the sidebar when Activity integration is used
2026-02-12 19:10:58 +01:00
Andy Scherzinger
6fb0072a00 ci(deps): Drop dependabot for stable31
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2026-02-12 18:53:50 +01:00
Joas Schilling
8c5fb9c751 Merge pull request #58289 from nextcloud/bugfix/noid/fix-dead-docs-link
fix(docs): Fix dead documentation link for Windows file names
2026-02-12 18:32:36 +01:00
nextcloud-command
eb07c52f95 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-12 17:23:17 +00:00
Joas Schilling
bb1b12b218 fix(docs): Fix dead documentation link for Windows file names
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-12 17:47:37 +01:00
Ferdinand Thiessen
f2574fdf34 fix(files): fallback to action id if displayname is empty
This fixes invalid error messages if the action has an empty
displayname, often the case for inline actions

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-12 17:20:30 +01:00
Ferdinand Thiessen
cd15bb0679 fix(comments): properly handle opening the sidebar when Activity integration is used
When the activity integration is used we need to open the `activity` tab
not the comments tab.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-12 17:19:04 +01:00
Cristian Scheid
8a703c95ec Merge branch 'master' into fix/57669/show-theming-image-upload-errors
Signed-off-by: Cristian Scheid <74515775+cristianscheid@users.noreply.github.com>
2026-02-12 11:16:47 -03:00
Kate
b80816dfb7 Merge pull request #58098 from nextcloud/fix/appframework/types-phpstan
fix(AppFramework): Adjust types so PHPStan understands them
2026-02-12 14:00:47 +01:00
Louis
286d0d23a3 Merge pull request #58283 from nextcloud/chore/files-v4
chore(deps): update `@nextcloud/files` to v4.0.0
2026-02-12 13:56:47 +01:00
nextcloud-command
c524562c88 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-12 12:15:28 +00:00
nextcloud-command
7ab1c0f212 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-02-12 08:08:44 -03:00
Cristian Scheid
347c509308 refactor(theming): use isAxiosError for error handling
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-02-12 08:03:03 -03:00
Cristian Scheid
0a5f75e719 fix(theming): display error messages on image upload and delete previous image only after validation
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-02-12 08:03:03 -03:00
Ferdinand Thiessen
bb1d814e04 fix(files_sharing): adjust for @nextcloud/files v4
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-12 11:50:07 +01:00
Ferdinand Thiessen
7ef66a6199 fix(files_external): use root id property instead of internal attributes
Root attributes must not be accessed by the internal `attributes`.
Trying to do so will return `undefined`, so instead use the root `id`
property of nodes.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-12 11:49:41 +01:00
Ferdinand Thiessen
85c0dcf136 chore(deps): update @nextcloud/files to v4.0.0
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-12 11:49:21 +01:00
Carl Schwan
f6c839d125 refactor(psalm): Modernize migration doc
And remove all the duplication in the subclasses

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-12 11:25:55 +01:00
Kate
4d6959da27 Merge pull request #58261 from nextcloud/fix/simplecontainer/get-return-type 2026-02-12 10:56:53 +01:00
Andy Scherzinger
3d4774edb6 Merge pull request #58273 from nextcloud/fix/folder-tree-2
perf(files): initialize folder tree from current state and store
2026-02-12 07:35:50 +01:00
nextcloud-command
e38f96af72 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-12 03:31:28 +01:00
Carl Schwan
0e66ed2233 perf(files): Only request directories from the database
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-12 03:31:27 +01:00
Ferdinand Thiessen
95d7b5608b perf(files): initialize folder tree from current path and store
Initialize the folder tree based on the current directory.
Also only include views needed.

If possible reuse nodes from files store to prevent API call.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-12 03:31:27 +01:00
Ferdinand Thiessen
e5c1d80a00 perf(files): only emit initialization once
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-12 03:31:27 +01:00
Ferdinand Thiessen
69f2c17675 refactor(files): only load navigation views needed
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-12 03:31:27 +01:00
Ferdinand Thiessen
2f29ad8ff8 feat(files): allow to include parents in folder tree API
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-12 01:28:46 +01:00
Carl Schwan
d35773b99a Merge pull request #57891 from nextcloud/carl/getDirectoryContent-mimetypefilter
perf: Allow filtering the directory content by mimetype
2026-02-12 01:22:10 +01:00
Nextcloud bot
55fb2f395e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-02-12 00:20:46 +00:00
Carl Schwan
3da621d7fb Merge pull request #58230 from nextcloud/carl/fix-appdata-scanning
fix(preview): Fix files:app-data-scan for previews
2026-02-12 00:57:28 +01:00
Carl Schwan
edd37d349b perf(file-cache): Add mimetype filter on getFolderContents
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-12 00:36:18 +01:00
Carl Schwan
9741f5f17d perf: Allow filtering the directory content by mimetype
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-12 00:35:48 +01:00
Carl Schwan
89a20598e5 fix: Skip test requiring local storage on object store setup
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-12 00:26:22 +01:00
Carl Schwan
3d18cd7cc5 fix(preview): Fix files:app-data-scan for previews
And add unit tests for both migrated files and non-migrated files

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-12 00:26:20 +01:00
github-actions[bot]
fdf200e343 Merge pull request #58272 from nextcloud/dependabot/npm_and_yarn/axios-1.13.5
chore(deps): Bump axios from 1.13.2 to 1.13.5
2026-02-11 22:50:07 +01:00
nextcloud-command
5e6c8b6134 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-11 21:03:02 +00:00
dependabot[bot]
ce99b0f7ed chore(deps): Bump axios from 1.13.2 to 1.13.5
Bumps [axios](https://github.com/axios/axios) from 1.13.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.13.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-11 20:35:30 +00:00
Andy Scherzinger
47b314067c Merge pull request #58216 from nextcloud/carl/preview-unique-constraints
fix(preview): Handle unique constraints
2026-02-11 20:20:31 +01:00
Carl Schwan
4722f56778 fix(preview): Handle unique constraints
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-11 19:56:11 +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
provokateurin
5c47ce9b40 fix(SimpleContainer): Adjust return type for PHPStan
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-11 11:42:37 +01:00
provokateurin
e8d4d435ed fix(IRegistrationContext): Use SimpleContainer in registerService factory
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-11 11:42:37 +01: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
Josh
57b0630b20 fix(setup): add index properities_name_path_user by default
Added in #52175 but only to the missing indices listener. Resulted in new installations trigger warnings about database missing indices unnecessary. 

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-10 14:27:43 -05: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
a3cc9754f8 feat: improve VerifyMountPointEvent event
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-09 18:42:30 +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
provokateurin
97c09753c3 fix(AppFramework): Adjust types so PHPStan understands them
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-09 14:08:42 +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
Salvatore Martire
101819821a feat: add oc-ownerid and oc-permissions headers on PUT DAV requests
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-09 10:47:57 +01:00
Salvatore Martire
62ab29960f refactor: extract logic to hide mounts and share information
The permission string for directories and files can contain M or S
depending if they are respectively coming from a mount or a share. This
information is not to be disclosed when the share is a public one.

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-09 10:47:57 +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
Salvatore Martire
2eecf81833 fix: add user id header when redirecting to default app
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-06 20:25:20 +01:00
Salvatore Martire
0e944c190d fix(dav): set user id header in response earlier
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-06 20:24:23 +01: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
Robin Appelman
2e9f6c37d5 fix: don't try to create preview folder if it already exists
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-05 15:22:54 +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
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
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
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
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
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
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
iLinaza
d33cac0a2f fix: #45034 clear cached user groups on pre hooks
Signed-off-by: iLinaza <i.linaza@gmail.com>
2024-04-25 16:49:56 +02:00
4589 changed files with 68789 additions and 61349 deletions

8
.github/CODEOWNERS vendored
View File

@@ -24,7 +24,7 @@ package.json @nextcloud/server-dependabot @next
package-lock.json @nextcloud/server-dependabot
# App maintainers
/apps/admin_audit/appinfo/info.xml @luka-nextcloud @blizzz
/apps/admin_audit/appinfo/info.xml @luka-nextcloud @samin-z
/apps/cloud_federation_api/appinfo/info.xml @nfebe @mejo-
/apps/comments/appinfo/info.xml @edward-ly @sorbaugh
/apps/contactsinteraction/appinfo/info.xml @kesselb @SebastianKrupinski
@@ -46,16 +46,16 @@ package-lock.json @nextcloud/server-dependabot
/apps/files_versions/appinfo/info.xml @artonge @icewind1991
/apps/oauth2/appinfo/info.xml @julien-nc @ChristophWurst
/apps/provisioning_api/appinfo/info.xml @provokateurin @nickvergessen
/apps/settings/appinfo/info.xml @JuliaKirschenheuter @sorbaugh
/apps/settings/appinfo/info.xml @hweihwang @sorbaugh
/apps/sharebymail/appinfo/info.xml @Altahrim @skjnldsv
/apps/systemtags/appinfo/info.xml @Antreesy @marcelklehr
/apps/theming/appinfo/info.xml @skjnldsv @juliusknorr
/apps/twofactor_backupcodes/appinfo/info.xml @miaulalala @ChristophWurst
/apps/updatenotification/appinfo/info.xml @JuliaKirschenheuter @sorbaugh
/apps/updatenotification/appinfo/info.xml @enjeck @sorbaugh
/apps/user_ldap/appinfo/info.xml @come-nc @blizzz
/apps/user_status/appinfo/info.xml @Antreesy @nickvergessen
/apps/weather_status/appinfo/info.xml @julien-nc @juliusknorr
/apps/webhook_listeners/appinfo/info.xml @come-nc @julien-nc
/apps/webhook_listeners/appinfo/info.xml @janepie @julien-nc
/apps/workflowengine/appinfo/info.xml @blizzz @juliusknorr
# Files frontend expertise

View File

@@ -73,7 +73,7 @@ body:
options:
- "32"
- "33"
- "master"
- "34 (master)"
validations:
required: true
- type: dropdown

View File

@@ -165,46 +165,3 @@ updates:
# 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
directories:
- "/"
- "/build/integration"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
schedule:
interval: weekly
day: saturday
time: "04:00"
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: stable31
directory: "/"
schedule:
interval: weekly
day: saturday
time: "04:00"
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"]

View File

@@ -23,3 +23,7 @@
- [ ] [Backports requested](https://github.com/nextcloud/backportbot/#usage) where applicable (ex: critical bugfixes)
- [ ] [Labels added](https://github.com/nextcloud/server/labels) where applicable (ex: bug/enhancement, `3. to review`, feature component)
- [ ] [Milestone added](https://github.com/nextcloud/server/milestones) for target branch/version (ex: 32.x for `stable32`)
## AI (if applicable)
- [ ] The content of this PR was partly or fully generated using AI

View File

@@ -20,7 +20,7 @@ jobs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -58,7 +58,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -74,6 +74,9 @@ jobs:
autocheckers:
runs-on: ubuntu-latest-low
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
matrix:
php-versions: ['8.2']
@@ -88,7 +91,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -125,4 +128,4 @@ jobs:
steps:
- name: Summary status
run: if ${{ needs.autocheckers.result != 'success' || (needs.changes.outputs.src != 'false' && needs.autoloader.result != 'success') }}; then exit 1; fi
run: if ${{ needs.changes.outputs.src != 'false' && (needs.autocheckers.result != 'success' || needs.autoloader.result != 'success') }}; then exit 1; fi

View File

@@ -21,7 +21,7 @@ jobs:
steps:
- name: Check requirement
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:

View File

@@ -0,0 +1,45 @@
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: Auto-label bug reports
on:
issues:
types: [opened]
jobs:
add-version-label:
if: contains(github.event.issue.title, '[Bug]')
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Extract version number and apply label
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
script: |
const body = context.payload.issue.body || '';
const normalizedBody = body.replace(/\r\n?/g, '\n');
let label = '';
// Extract Nextcloud Server version number from a block like:
// ### Nextcloud Server version
// 32
const versionMatch = normalizedBody.match(/### Nextcloud Server version\s*\n+([0-9]{1,3})\b/);
let nextcloudVersion = null;
if (versionMatch) {
nextcloudVersion = parseInt(versionMatch[1], 10);
label = nextcloudVersion + '-feedback';
}
if (label) {
try {
await github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: [label]
});
} catch (error) {
core.setFailed(`Failed to add label "${label}": ${error.message || error}`);
}
}

View File

@@ -37,13 +37,13 @@ jobs:
persist-credentials: false
- name: Initialize CodeQL
uses: github/codeql-action/init@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v4.32.0
uses: github/codeql-action/init@c10b8064de6f491fea524254123dbe5e09572f13 # v4.35.1
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql-config.yml
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v4.32.0
uses: github/codeql-action/analyze@c10b8064de6f491fea524254123dbe5e09572f13 # v4.35.1
with:
category: "/language:${{matrix.language}}"

View File

@@ -124,7 +124,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ steps.package-engines-versions.outputs.nodeVersion }}
cache: npm

View File

@@ -14,6 +14,7 @@ jobs:
runs-on: ubuntu-latest
permissions:
contents: none
pull-requests: read
# On pull requests and if the comment starts with `/update-3rdparty`
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/update-3rdparty')
@@ -27,8 +28,25 @@ jobs:
comment-id: ${{ github.event.comment.id }}
reactions: '+1'
# issue_comment events carry no pull_request context in their payload, so we
# must fetch the PR via the API. This also gives us base.ref for free, avoiding
# a second API call. The GITHUB_TOKEN needs pull-requests:read (granted above).
- name: Get pull request metadata
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
id: get-pr
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const pull = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number,
});
core.setOutput('head_repo', pull.data.head.repo?.full_name ?? '');
core.setOutput('base_ref', pull.data.base.ref);
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
if: steps.get-pr.outputs.head_repo != github.repository
run: |
echo 'Can not execute /update-3rdparty on forks'
exit 1
@@ -46,24 +64,17 @@ jobs:
ref: ${{ steps.comment-branch.outputs.head_ref }}
- name: Register server reference to fallback to master branch
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const baseRef = context.payload.pull_request.base.ref
if (baseRef === 'main' || baseRef === 'master') {
core.exportVariable('server_ref', 'master');
console.log('Setting server_ref to master');
} else {
const regex = /^stable(\d+)$/
const match = baseRef.match(regex)
if (match) {
core.exportVariable('server_ref', match[0]);
console.log('Setting server_ref to ' + match[0]);
} else {
console.log('Not based on master/main/stable*, so skipping pull 3rdparty command');
}
}
run: |
base_ref="${{ steps.get-pr.outputs.base_ref }}"
if [[ "$base_ref" == "main" || "$base_ref" == "master" ]]; then
echo "server_ref=master" >> "$GITHUB_ENV"
echo "Setting server_ref to master"
elif [[ "$base_ref" =~ ^stable[0-9]+$ ]]; then
echo "server_ref=$base_ref" >> "$GITHUB_ENV"
echo "Setting server_ref to $base_ref"
else
echo "Not based on master/main/stable*, so skipping pull 3rdparty command"
fi
- name: Setup git
run: |

View File

@@ -41,12 +41,6 @@ jobs:
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not run cypress on forks'
exit 1
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
@@ -72,7 +66,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -160,7 +154,7 @@ jobs:
path: ./
- name: Set up node ${{ needs.init.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ needs.init.outputs.nodeVersion }}
@@ -171,15 +165,11 @@ jobs:
run: ./node_modules/cypress/bin/cypress install
- name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
uses: cypress-io/github-action@0f330ebf0d60f87608ed72f1d6232e5644aa3171 # v7.1.1
uses: cypress-io/github-action@783cb3f07983868532cabaedaa1e6c00ff4786a8 # v7.1.9
with:
# We already installed the dependencies in the init job
install: false
component: ${{ matrix.containers == 'component' }}
group: ${{ matrix.use-cypress-cloud && matrix.containers == 'component' && 'Run component' || matrix.use-cypress-cloud && 'Run E2E' || '' }}
# cypress env
ci-build-id: ${{ matrix.use-cypress-cloud && format('{0}-{1}', github.sha, github.run_number) || '' }}
tag: ${{ matrix.use-cypress-cloud && github.event_name || '' }}
env:
# Needs to be prefixed with CYPRESS_
CYPRESS_BRANCH: ${{ env.BRANCH }}
@@ -188,14 +178,13 @@ jobs:
# Needed for some specific code workarounds
TESTING: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
SPLIT: ${{ matrix.total-containers }}
SPLIT_INDEX: ${{ matrix.containers == 'component' && 0 || matrix.containers }}
SPLIT_RANDOM_SEED: ${{ github.run_id }}
SETUP_TESTING: ${{ matrix.containers == 'setup' && 'true' || '' }}
- name: Upload snapshots and videos
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
if: always()
with:
name: snapshots_${{ matrix.containers }}
@@ -218,7 +207,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@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
if: failure() && matrix.containers != 'component'
with:
name: nc_data_${{ matrix.containers }}

View File

@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -81,7 +81,7 @@ 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@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -115,7 +115,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-files-external-ftp

View File

@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -80,7 +80,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -115,7 +115,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-files-external-s3
@@ -169,7 +169,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -197,7 +197,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-files-external-s3

View File

@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -73,11 +73,11 @@ jobs:
- name: Set up sftpd
run: |
sudo mkdir /tmp/sftp
sudo chown -R 0777 /tmp/sftp
sudo chmod -R 0777 /tmp/sftp
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@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -104,7 +104,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-files-external-sftp

View File

@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:

View File

@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -81,7 +81,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -116,7 +116,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-files-external-smb

View File

@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -76,7 +76,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -108,7 +108,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-files-external-webdav

View File

@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -70,7 +70,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -97,7 +97,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-files-external-generic

View File

@@ -73,7 +73,7 @@ jobs:
fi
- name: Set up php 8.2
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: 8.2

View File

@@ -19,7 +19,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -52,69 +52,69 @@ jobs:
name: ${{ matrix.service }} (${{ matrix.endpoint }} endpoint) php${{ matrix.php-versions }}
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
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
coverage: 'none'
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.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
coverage: 'none'
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Python
uses: LizardByte/actions/actions/setup_python@09a6e10dc8175f2933c20bdf35fde0a193a9c00e # v2026.129.194351
with:
python-version: '2.7'
- name: Set up Python
uses: LizardByte/actions/actions/setup_python@0affa4f7bcb27562658960eee840eff8ff844578 # v2026.328.161128
with:
python-version: '2.7'
- name: Set up CalDAVTester
run: |
git clone --depth=1 https://github.com/apple/ccs-caldavtester.git CalDAVTester
git clone --depth=1 https://github.com/apple/ccs-pycalendar.git pycalendar
- name: Set up CalDAVTester
run: |
git clone --depth=1 https://github.com/apple/ccs-caldavtester.git CalDAVTester
git clone --depth=1 https://github.com/apple/ccs-pycalendar.git pycalendar
- name: Set up Nextcloud
run: |
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
# disable the trashbin, so recurrent deletion of the same object works
./occ config:app:set dav calendarRetentionObligation --value=0
# Prepare users
OC_PASS=user01 ./occ user:add --password-from-env user01
OC_PASS=user02 ./occ user:add --password-from-env user02
# Prepare calendars
./occ dav:create-calendar user01 calendar
./occ dav:create-calendar user01 shared
./occ dav:create-calendar user02 calendar
# Prepare address books
./occ dav:create-addressbook user01 addressbook
./occ dav:create-addressbook user02 addressbook
- name: Set up Nextcloud
run: |
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
# disable the trashbin, so recurrent deletion of the same object works
./occ config:app:set dav calendarRetentionObligation --value=0
# Prepare users
OC_PASS=user01 ./occ user:add --password-from-env user01
OC_PASS=user02 ./occ user:add --password-from-env user02
# Prepare calendars
./occ dav:create-calendar user01 calendar
./occ dav:create-calendar user01 shared
./occ dav:create-calendar user02 calendar
# Prepare address books
./occ dav:create-addressbook user01 addressbook
./occ dav:create-addressbook user02 addressbook
- name: Run Nextcloud
run: |
php -S localhost:8888 &
- name: Run Nextcloud
run: |
php -S localhost:8888 &
- name: Run CalDAVTester
run: |
cp "apps/dav/tests/testsuits/caldavtest/serverinfo-${{ matrix.endpoint }}${{ matrix.endpoint == 'old' && (matrix.service == 'CardDAV' && '-carddav' || '-caldav') || '' }}-endpoint.xml" "apps/dav/tests/testsuits/caldavtest/serverinfo.xml"
pushd CalDAVTester
PYTHONPATH="../pycalendar/src" python testcaldav.py --print-details-onfail --basedir "../apps/dav/tests/testsuits/caldavtest" -o cdt.txt \
"${{ matrix.service }}/current-user-principal.xml" \
"${{ matrix.service }}/sync-report.xml" \
${{ matrix.endpoint == 'new' && format('{0}/sharing-{1}.xml', matrix.service, matrix.service == 'CalDAV' && 'calendars' || 'addressbooks') || ';' }}
popd
- name: Run CalDAVTester
run: |
cp "apps/dav/tests/testsuits/caldavtest/serverinfo-${{ matrix.endpoint }}${{ matrix.endpoint == 'old' && (matrix.service == 'CardDAV' && '-carddav' || '-caldav') || '' }}-endpoint.xml" "apps/dav/tests/testsuits/caldavtest/serverinfo.xml"
pushd CalDAVTester
PYTHONPATH="../pycalendar/src" python testcaldav.py --print-details-onfail --basedir "../apps/dav/tests/testsuits/caldavtest" -o cdt.txt \
"${{ matrix.service }}/current-user-principal.xml" \
"${{ matrix.service }}/sync-report.xml" \
${{ matrix.endpoint == 'new' && format('{0}/sharing-{1}.xml', matrix.service, matrix.service == 'CalDAV' && 'calendars' || 'addressbooks') || ';' }}
popd
- name: Print Nextcloud logs
if: always()
run: |
cat data/nextcloud.log
- name: Print Nextcloud logs
if: always()
run: |
cat data/nextcloud.log
caldav-integration-summary:
permissions:

View File

@@ -19,7 +19,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -58,7 +58,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}

View File

@@ -19,7 +19,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -82,7 +82,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -95,7 +95,6 @@ jobs:
- name: Wait for S3
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: Set up Nextcloud

View File

@@ -25,7 +25,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -121,7 +121,7 @@ jobs:
ref: ${{ matrix.activity-versions }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}

View File

@@ -28,7 +28,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -68,7 +68,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View File

@@ -25,7 +25,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -44,6 +44,9 @@ jobs:
lint:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
name: php-cs
steps:
@@ -53,7 +56,7 @@ jobs:
persist-credentials: false
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: 8.2

View File

@@ -23,7 +23,7 @@ jobs:
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -58,7 +58,7 @@ jobs:
persist-credentials: false
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}

View File

@@ -18,9 +18,37 @@ concurrency:
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '**/src/**'
- '**/appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- '**.css'
- '**.scss'
- '**.vue'
lint:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
name: stylelint
steps:
@@ -37,7 +65,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -51,3 +79,18 @@ jobs:
- name: Lint
run: npm run stylelint
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, lint]
if: always()
# This is the summary, we just avoid to rename it so that branch protection rules still match
name: stylelint
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.lint.result != 'success' }}; then exit 1; fi

View File

@@ -29,7 +29,7 @@ jobs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -71,7 +71,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View File

@@ -31,7 +31,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -70,7 +70,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -83,14 +83,11 @@ jobs:
run: |
npm ci
# - name: Test
# run: npm run test --if-present
- name: Test and process coverage
run: npm run test:coverage
- name: Collect coverage
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./coverage/lcov.info,./coverage/legacy/lcov.info

View File

@@ -28,7 +28,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -68,7 +68,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View File

@@ -49,7 +49,7 @@ jobs:
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View File

@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -85,7 +85,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -117,7 +117,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-azure

View File

@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -86,7 +86,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -111,7 +111,6 @@ jobs:
- name: Wait for S3
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: PHPUnit
@@ -123,7 +122,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-s3

View File

@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -83,7 +83,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -113,7 +113,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-swift

View File

@@ -31,7 +31,7 @@ jobs:
persist-credentials: false
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: '8.2'

View File

@@ -15,7 +15,13 @@ jobs:
performance-testing:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
# Skip entirely on fork PRs so the job result is 'skipped' rather than
# 'failure'. The profiler action uses github.event.pull_request.head.repo.clone_url
# and GITHUB_TOKEN in ways that do not work reliably from forks, and a
# clean skip is far less confusing for contributors than a mid-run error.
if: >-
github.repository_owner != 'nextcloud-gmbh' &&
github.event.pull_request.head.repo.full_name == github.repository
permissions:
pull-requests: write
@@ -28,11 +34,6 @@ jobs:
name: performance-${{ matrix.php-versions }}
steps:
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not run performance tests on forks'
exit 1
- name: Checkout server before PR
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
@@ -42,7 +43,7 @@ jobs:
ref: ${{ github.event.pull_request.base.ref }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -63,7 +64,7 @@ jobs:
ref: ${{ github.event.pull_request.head.ref }}
- name: Run before measurements
uses: nextcloud/profiler@6801ee10fc80f10b444388fb6ca9b36ad8a2ea83
uses: nextcloud/profiler@6a74c915048285b35b8e1cd96c0835a635945044
with:
run: |
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
@@ -85,7 +86,7 @@ jobs:
- name: Run after measurements
id: compare
uses: nextcloud/profiler@6801ee10fc80f10b444388fb6ca9b36ad8a2ea83
uses: nextcloud/profiler@6a74c915048285b35b8e1cd96c0835a635945044
with:
run: |
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
@@ -99,7 +100,7 @@ jobs:
- name: Upload profiles
if: always()
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
with:
name: profiles
path: |

View File

@@ -9,6 +9,7 @@ on:
- ".github/workflows/phpunit-32bits.yml"
- "tests/phpunit-autotest.xml"
- "lib/private/Snowflake/*"
- "tests/lib/Preview/PreviewMapperTest.php"
workflow_dispatch:
schedule:
- cron: "15 1 * * 1-6"
@@ -56,4 +57,4 @@ jobs:
- name: PHPUnit
uses: docker://ghcr.io/nextcloud/continuous-integration-php8.4-32bit:latest
with:
args: /bin/sh -c "composer run test -- --exclude-group PRIMARY-azure,PRIMARY-s3,PRIMARY-swift,Memcached,Redis,RoutingWeirdness"
args: /bin/sh -c "composer run test -- --exclude-group PRIMARY-azure --exclude-group PRIMARY-s3 --exclude-group PRIMARY-swift --exclude-group Memcached --exclude-group Redis --exclude-group RoutingWeirdness"

View File

@@ -31,7 +31,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -98,7 +98,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -132,7 +132,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.db.xml
flags: phpunit-mariadb

View File

@@ -28,7 +28,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -78,7 +78,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -104,7 +104,7 @@ jobs:
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.xml
flags: phpunit-memcached

View File

@@ -28,7 +28,7 @@ jobs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -127,7 +127,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -162,7 +162,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.db.xml
flags: phpunit-mysql

View File

@@ -31,7 +31,7 @@ jobs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -98,7 +98,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -132,7 +132,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.db.xml
flags: phpunit-mysql

View File

@@ -30,7 +30,7 @@ jobs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -81,7 +81,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -110,7 +110,7 @@ jobs:
- name: Upload nodb code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.nodb.xml
flags: phpunit-nodb

View File

@@ -21,7 +21,7 @@ jobs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -78,7 +78,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -104,7 +104,7 @@ jobs:
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: PHPUnit
run: composer run test:db
run: composer run test:db -- --log-junit junit.xml
- name: S3 logs
if: always()

View File

@@ -31,7 +31,7 @@ jobs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -105,7 +105,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -132,7 +132,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.db.xml
flags: phpunit-oci

View File

@@ -31,7 +31,7 @@ jobs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -98,7 +98,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -127,7 +127,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.db.xml
flags: phpunit-postgres

View File

@@ -31,7 +31,7 @@ jobs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
@@ -81,7 +81,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
@@ -114,7 +114,7 @@ jobs:
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
files: ./clover.db.xml
flags: phpunit-sqlite

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

@@ -0,0 +1,70 @@
# 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
strategy:
fail-fast: false
matrix:
php-versions: [ '8.2' ]
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: Set up php${{ matrix.php-versions }}
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
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
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: |
composer remove nextcloud/ocp --dev --no-scripts
composer i
git restore lib/composer/composer
- 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

View File

@@ -13,10 +13,34 @@ concurrency:
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
strict:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
needs: changes
if: ${{ needs.changes.outputs.src != 'false' && github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
@@ -26,7 +50,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.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
@@ -43,3 +67,17 @@ jobs:
- name: Show changes
if: always()
run: git diff --exit-code -- . ':!lib/composer'
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, strict]
if: always()
name: rector-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.strict.result != 'success' }}; then exit 1; fi

View File

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

View File

@@ -21,10 +21,35 @@ concurrency:
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
static-code-analysis:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
needs: changes
if: ${{ needs.changes.outputs.src != 'false' && github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
@@ -34,7 +59,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: '8.2'
@@ -56,7 +81,8 @@ jobs:
static-code-analysis-security:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
needs: changes
if: ${{ needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh' }}
permissions:
security-events: write
@@ -69,7 +95,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: '8.2'
@@ -88,14 +114,15 @@ jobs:
- name: Upload Security Analysis results to GitHub
if: always()
uses: github/codeql-action/upload-sarif@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v3
uses: github/codeql-action/upload-sarif@c10b8064de6f491fea524254123dbe5e09572f13 # v3
with:
sarif_file: results.sarif
static-code-analysis-ocp:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
needs: changes
if: ${{ needs.changes.outputs.src != 'false' && github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
@@ -105,7 +132,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: '8.2'
@@ -127,7 +154,8 @@ jobs:
static-code-analysis-ncu:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
needs: changes
if: ${{ needs.changes.outputs.src != 'false' && github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
@@ -137,7 +165,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
timeout-minutes: 5
with:
php-version: '8.2'
@@ -155,7 +183,8 @@ jobs:
static-code-analysis-strict:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
needs: changes
if: ${{ needs.changes.outputs.src != 'false' && github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
@@ -165,7 +194,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f #v2.37.0
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -178,3 +207,28 @@ jobs:
- name: Psalm
run: composer run psalm:strict -- --threads=1 --monochrome --no-progress --output-format=github
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, static-code-analysis, static-code-analysis-security, static-code-analysis-ocp, static-code-analysis-ncu, static-code-analysis-strict]
if: always()
name: static-code-analysis-summary
steps:
- name: Summary status
run: |
if ${{ needs.changes.outputs.src != 'false' && (
needs.static-code-analysis-security.result != 'success' ||
(github.event_name != 'push' && (
needs.static-code-analysis.result != 'success' ||
needs.static-code-analysis-ocp.result != 'success' ||
needs.static-code-analysis-ncu.result != 'success' ||
needs.static-code-analysis-strict.result != 'success'
))
) }}; then
exit 1
fi

View File

@@ -115,7 +115,7 @@ jobs:
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: "automated/noid/${{ matrix.branches }}-update-min-supported-desktop-version"
branch: "automated/noid/update-min-supported-desktop-version"
title: "chore: Update minimum supported desktop version to ${{ steps.extract-version.outputs.VERSION }}"
base: "master"
body: |

View File

@@ -129,11 +129,10 @@
## Rule: Map /remote* --> /remote.php* including the query string
##
## Context:
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Is this even used anymore? Seems a relic from <NC12
##
RewriteRule ^remote/(.*) remote.php [QSA,L]
RewriteRule ^remote/(.*) remote.php [L]
##
## Rule: Prevent access to non-public files
@@ -148,21 +147,19 @@
## - Intentionally excludes URIs used for HTTPS certificate verifications
## - RFC 8555 / ACME HTTP Challenges (acme-challenge)
## - File-based Validations (pki-validation)
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Sometimes we are using `/index.php` and other times `index.php` as our replacement URI; this may be incorrect
##
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [L]
##
## Rule: Map the ocm-provider handling to our main frontend controller (/index.php)
##
## Context:
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Sometimes we are using `/index.php` and other times `index.php` as our replacement URI; this may be incorrect
##
RewriteRule ^ocm-provider/?$ index.php [QSA,L]
RewriteRule ^ocm-provider/?$ index.php [L]
##
## Rule: Prevent access to more non-public files

View File

@@ -4,6 +4,7 @@
# Global exclude
.editorconfig
.envrc
.git
.git-blame-ignore-revs
.gitattributes
@@ -11,12 +12,44 @@
.gitignore
.gitmodules
.idea
.jshint
.jshintrc
.l10nignore
.mailmap
.nextcloudignore
.noopenapi
.npmignore
.php-cs-fixer*
.pre-commit-config.yaml
.tag
.tx
CHANGELOG.md
CODE_OF_CONDUCT.md
COPYING-README
DESIGN.md
Makefile
README.md
SECURITY.md
codecov.yml
cs-fixer
csfixer
custom.d.ts
cypress
cypress.config.ts
eslint.config.js
flake.lock
flake.nix
openapi-extractor
phpunit
psalm
psalm*.xml
rector
stylelint.config.js
tests
tsconfig.json
vite.config.ts
vitest.config.ts
window.d.ts
# Server specific
/.devcontainer
@@ -27,3 +60,5 @@ tests
/config/config.php
/contribute
/data
/openapi.json
/vendor-bin

View File

@@ -0,0 +1,7 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "নিরীক্ষা",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "নেক্সটক্লাউডের নিরীক্ষামূলক সক্ষমতা প্রদান করে যেমন লগিং ফাইল অ্যাক্সেস বা অন্য কোনো জরুরী পদক্ষেপসমূহ"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -0,0 +1,5 @@
{ "translations": {
"Auditing / Logging" : "নিরীক্ষা",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "নেক্সটক্লাউডের নিরীক্ষামূলক সক্ষমতা প্রদান করে যেমন লগিং ফাইল অ্যাক্সেস বা অন্য কোনো জরুরী পদক্ষেপসমূহ"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -0,0 +1,7 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Аудит / Лог",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Nextcloud-д файл нэвтрэлт болон мэдрэмтгий үйлдлүүдийг бүртгэх зэрэг лог хөтлөх чадварыг олгодог."
},
"nplurals=2; plural=(n != 1);");

View File

@@ -0,0 +1,5 @@
{ "translations": {
"Auditing / Logging" : "Аудит / Лог",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Nextcloud-д файл нэвтрэлт болон мэдрэмтгий үйлдлүүдийг бүртгэх зэрэг лог хөтлөх чадварыг олгодог."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

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

@@ -0,0 +1,8 @@
OC.L10N.register(
"cloud_federation_api",
{
"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 инстанцуудад хоорондоо харилцах болон өгөгдөл солилцох боломжийг олгодог."
},
"nplurals=2; plural=(n != 1);");

View File

@@ -0,0 +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 инстанцуудад хоорондоо харилцах болон өгөгдөл солилцох боломжийг олгодог."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

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

@@ -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

@@ -32,6 +32,6 @@ OC.L10N.register(
"Comment deleted" : "Kommentar gelöscht",
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"Write a comment …" : "Einen Kommentar schreiben …"
"Write a comment …" : "Einen Kommentar schreiben …"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -30,6 +30,6 @@
"Comment deleted" : "Kommentar gelöscht",
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"Write a comment …" : "Einen Kommentar schreiben …"
"Write a comment …" : "Einen Kommentar schreiben …"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -32,6 +32,6 @@ OC.L10N.register(
"Comment deleted" : "Kommentar gelöscht",
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"Write a comment …" : "Schreiben Sie einen Kommentar …"
"Write a comment …" : "Einen Kommentar schreiben …"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -30,6 +30,6 @@
"Comment deleted" : "Kommentar gelöscht",
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"Write a comment …" : "Schreiben Sie einen Kommentar …"
"Write a comment …" : "Einen Kommentar schreiben …"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -1,32 +1,37 @@
OC.L10N.register(
"comments",
{
"Comments" : "Comments",
"You commented" : "You commented",
"{author} commented" : "{author} commented",
"You commented on %1$s" : "You commented on %1$s",
"You commented on {file}" : "You commented on {file}",
"%1$s commented on %2$s" : "%1$s commented on %2$s",
"{author} commented on {file}" : "{author} commented on {file}",
"<strong>Comments</strong> for files" : "<strong>Comments</strong> for files",
"{user} mentioned you in a comment on \"{file}\"" : "{user} mentioned you in a comment on \"{file}\"",
"Files app plugin to add comments to files" : "Files app plugin to add comments to files",
"Edit comment" : "Edit comment",
"Delete comment" : "Delete comment",
"Cancel edit" : "Cancel edit",
"Post comment" : "Post comment",
"@ for mentions, : for emoji, / for smart picker" : "@ for mentions, : for emoji, / for smart picker",
"Could not reload comments" : "Could not reload comments",
"Failed to mark comments as read" : "Failed to mark comments as read",
"Unable to load the comments list" : "Unable to load the comments list",
"No comments yet, start the conversation!" : "No comments yet, start the conversation!",
"No more messages" : "No more messages",
"Retry" : "Retry",
"_1 new comment_::_{unread} new comments_" : ["1 new comment","{unread} new comments"],
"Comment" : "Comment",
"An error occurred while trying to edit the comment" : "An error occurred while trying to edit the comment",
"Comment deleted" : "Comment deleted",
"An error occurred while trying to delete the comment" : "An error occurred while trying to delete the comment",
"An error occurred while trying to create the comment" : "An error occurred while trying to create the comment"
"Comments" : "კომენტარები",
"You commented" : "თქვენი კომენტარი",
"{author} commented" : "{author}-ის კომენტარი",
"You commented on %1$s" : "თქვენი კომენტარი %1$s-ზე",
"You commented on {file}" : "თქვენი კომენტარი {file}-ზე",
"%1$s commented on %2$s" : "%1$s-მა დატოვა კომენტარი %2$s-ზე",
"{author} commented on {file}" : "{author}-მა დატოვა კომენტარი {file}-ზე",
"<strong>Comments</strong> for files" : "<strong>კომენტარები</strong> ფაილებისთვის",
"Files" : "ფაილები",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "თქვენ გახსენეს \"{file}\"-ის კომენტარში ანგარიშიდან, რომელიც მის შემდეგ წაიშალა",
"{user} mentioned you in a comment on \"{file}\"" : "{user}-მა გახსენათ კომენტარში ფაილზე \"{file}\"",
"Files app plugin to add comments to files" : "Files აპის დამატება ფაილებზე კომენტარების დასამატებლად",
"Edit comment" : "კომენტარის ჩასწორება",
"Delete comment" : "კომენტარის წაშლა",
"Cancel edit" : "ჩასწორების გაუქმება",
"New comment" : "ახალი კომენტარი",
"Write a comment …" : "კომენტარის დაწერა …",
"Post comment" : "კომენტარის დაპოსტვა",
"@ for mentions, : for emoji, / for smart picker" : "@ ხსენებისთვის, : ემოჯისთვის, / ჭკვიანი ამრჩევისთვის",
"Could not reload comments" : "კომენტარების თავიდან ჩატვირთვა შეუძლებელია",
"Failed to mark comments as read" : "კომენტარების წაკითხულად მონიშვნა ჩავარდა",
"Unable to load the comments list" : "კომენტარების სიის ჩატვირთვა ჩავარდა",
"No comments yet, start the conversation!" : "ჯერ კომენტარები არაა. დაიწყეთ საუბარი!",
"No more messages" : "მეტი შეტყობინება აღარაა",
"Retry" : "თავიდან ცდა",
"_1 new comment_::_{unread} new comments_" : ["1 ახალი კომენტარი","{unread} ახალი კომენტარი"],
"Comment" : "კომენტარი",
"An error occurred while trying to edit the comment" : "კომენტარის ჩასწორებისას აღმოჩენილია შეცდომა",
"Comment deleted" : "კომენტარი წაიშალა",
"An error occurred while trying to delete the comment" : "კომენტარის წაშლისას აღმოჩენილია შეცდომა",
"An error occurred while trying to create the comment" : "კომენტარის შექმნისას აღმოჩენილია შეცდომა",
"Write a comment …" : "კომენტარის დაწერა …"
},
"nplurals=2; plural=(n!=1);");

View File

@@ -1,30 +1,35 @@
{ "translations": {
"Comments" : "Comments",
"You commented" : "You commented",
"{author} commented" : "{author} commented",
"You commented on %1$s" : "You commented on %1$s",
"You commented on {file}" : "You commented on {file}",
"%1$s commented on %2$s" : "%1$s commented on %2$s",
"{author} commented on {file}" : "{author} commented on {file}",
"<strong>Comments</strong> for files" : "<strong>Comments</strong> for files",
"{user} mentioned you in a comment on \"{file}\"" : "{user} mentioned you in a comment on \"{file}\"",
"Files app plugin to add comments to files" : "Files app plugin to add comments to files",
"Edit comment" : "Edit comment",
"Delete comment" : "Delete comment",
"Cancel edit" : "Cancel edit",
"Post comment" : "Post comment",
"@ for mentions, : for emoji, / for smart picker" : "@ for mentions, : for emoji, / for smart picker",
"Could not reload comments" : "Could not reload comments",
"Failed to mark comments as read" : "Failed to mark comments as read",
"Unable to load the comments list" : "Unable to load the comments list",
"No comments yet, start the conversation!" : "No comments yet, start the conversation!",
"No more messages" : "No more messages",
"Retry" : "Retry",
"_1 new comment_::_{unread} new comments_" : ["1 new comment","{unread} new comments"],
"Comment" : "Comment",
"An error occurred while trying to edit the comment" : "An error occurred while trying to edit the comment",
"Comment deleted" : "Comment deleted",
"An error occurred while trying to delete the comment" : "An error occurred while trying to delete the comment",
"An error occurred while trying to create the comment" : "An error occurred while trying to create the comment"
"Comments" : "კომენტარები",
"You commented" : "თქვენი კომენტარი",
"{author} commented" : "{author}-ის კომენტარი",
"You commented on %1$s" : "თქვენი კომენტარი %1$s-ზე",
"You commented on {file}" : "თქვენი კომენტარი {file}-ზე",
"%1$s commented on %2$s" : "%1$s-მა დატოვა კომენტარი %2$s-ზე",
"{author} commented on {file}" : "{author}-მა დატოვა კომენტარი {file}-ზე",
"<strong>Comments</strong> for files" : "<strong>კომენტარები</strong> ფაილებისთვის",
"Files" : "ფაილები",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "თქვენ გახსენეს \"{file}\"-ის კომენტარში ანგარიშიდან, რომელიც მის შემდეგ წაიშალა",
"{user} mentioned you in a comment on \"{file}\"" : "{user}-მა გახსენათ კომენტარში ფაილზე \"{file}\"",
"Files app plugin to add comments to files" : "Files აპის დამატება ფაილებზე კომენტარების დასამატებლად",
"Edit comment" : "კომენტარის ჩასწორება",
"Delete comment" : "კომენტარის წაშლა",
"Cancel edit" : "ჩასწორების გაუქმება",
"New comment" : "ახალი კომენტარი",
"Write a comment …" : "კომენტარის დაწერა …",
"Post comment" : "კომენტარის დაპოსტვა",
"@ for mentions, : for emoji, / for smart picker" : "@ ხსენებისთვის, : ემოჯისთვის, / ჭკვიანი ამრჩევისთვის",
"Could not reload comments" : "კომენტარების თავიდან ჩატვირთვა შეუძლებელია",
"Failed to mark comments as read" : "კომენტარების წაკითხულად მონიშვნა ჩავარდა",
"Unable to load the comments list" : "კომენტარების სიის ჩატვირთვა ჩავარდა",
"No comments yet, start the conversation!" : "ჯერ კომენტარები არაა. დაიწყეთ საუბარი!",
"No more messages" : "მეტი შეტყობინება აღარაა",
"Retry" : "თავიდან ცდა",
"_1 new comment_::_{unread} new comments_" : ["1 ახალი კომენტარი","{unread} ახალი კომენტარი"],
"Comment" : "კომენტარი",
"An error occurred while trying to edit the comment" : "კომენტარის ჩასწორებისას აღმოჩენილია შეცდომა",
"Comment deleted" : "კომენტარი წაიშალა",
"An error occurred while trying to delete the comment" : "კომენტარის წაშლისას აღმოჩენილია შეცდომა",
"An error occurred while trying to create the comment" : "კომენტარის შექმნისას აღმოჩენილია შეცდომა",
"Write a comment …" : "კომენტარის დაწერა …"
},"pluralForm" :"nplurals=2; plural=(n!=1);"
}

View File

@@ -10,20 +10,28 @@ OC.L10N.register(
"{author} commented on {file}" : "{author} pakomentavo {file}",
"<strong>Comments</strong> for files" : "Failų <strong>komentarai</strong>",
"Files" : "Failai",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Buvote paminėtas „{file}“, komentare, kuris buvo parašytas iš paskyros, kuri vėliau buvo ištrinta.",
"{user} mentioned you in a comment on \"{file}\"" : "{user} minėjo jus \"{file}\" komentare",
"Files app plugin to add comments to files" : "Failų programėlės įskiepis, skirtas prie failų pridėti komentarus",
"Edit comment" : "Taisyti komentarą",
"Delete comment" : "Ištrinti komentarą",
"Cancel edit" : "Atsisakyti taisymo",
"New comment" : "Naujas komentaras",
"Write a comment …" : "Rašyti komentarą ...",
"Post comment" : "Paskelbti komentarą",
"@ for mentions, : for emoji, / for smart picker" : "@ paminėjimams, : jaustukams, / išmaniajam rinkikliui",
"Could not reload comments" : "Nepavyko įkelti komentarų iš naujo",
"Failed to mark comments as read" : "Nepavyko pažymėti komentarų kaip perskaitytų",
"Unable to load the comments list" : "Nepavyko įkelti komentarų sąrašo",
"No comments yet, start the conversation!" : "Komentarų kol kas nėra, pradėkite pokalbį!",
"No more messages" : "Daugiau jokių pranešimų",
"Retry" : "Bandyti dar kartą",
"_1 new comment_::_{unread} new comments_" : ["1 neskaitytas komentaras","{unread} neskaityti komentarai","{unread} neskaitytų komentarų","{unread} neskaitytas komentaras"],
"Comment" : "Komentaras",
"An error occurred while trying to edit the comment" : "Bandant taisyti komentarą, įvyko klaida",
"Comment deleted" : "Komentaras ištrintas",
"An error occurred while trying to delete the comment" : "Bandant ištrinti komentarą, įvyko klaida",
"An error occurred while trying to create the comment" : "Bandant sukurti komentarą, įvyko klaida"
"An error occurred while trying to create the comment" : "Bandant sukurti komentarą, įvyko klaida",
"Write a comment …" : "Rašyti komentarą..."
},
"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");

View File

@@ -8,20 +8,28 @@
"{author} commented on {file}" : "{author} pakomentavo {file}",
"<strong>Comments</strong> for files" : "Failų <strong>komentarai</strong>",
"Files" : "Failai",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Buvote paminėtas „{file}“, komentare, kuris buvo parašytas iš paskyros, kuri vėliau buvo ištrinta.",
"{user} mentioned you in a comment on \"{file}\"" : "{user} minėjo jus \"{file}\" komentare",
"Files app plugin to add comments to files" : "Failų programėlės įskiepis, skirtas prie failų pridėti komentarus",
"Edit comment" : "Taisyti komentarą",
"Delete comment" : "Ištrinti komentarą",
"Cancel edit" : "Atsisakyti taisymo",
"New comment" : "Naujas komentaras",
"Write a comment …" : "Rašyti komentarą ...",
"Post comment" : "Paskelbti komentarą",
"@ for mentions, : for emoji, / for smart picker" : "@ paminėjimams, : jaustukams, / išmaniajam rinkikliui",
"Could not reload comments" : "Nepavyko įkelti komentarų iš naujo",
"Failed to mark comments as read" : "Nepavyko pažymėti komentarų kaip perskaitytų",
"Unable to load the comments list" : "Nepavyko įkelti komentarų sąrašo",
"No comments yet, start the conversation!" : "Komentarų kol kas nėra, pradėkite pokalbį!",
"No more messages" : "Daugiau jokių pranešimų",
"Retry" : "Bandyti dar kartą",
"_1 new comment_::_{unread} new comments_" : ["1 neskaitytas komentaras","{unread} neskaityti komentarai","{unread} neskaitytų komentarų","{unread} neskaitytas komentaras"],
"Comment" : "Komentaras",
"An error occurred while trying to edit the comment" : "Bandant taisyti komentarą, įvyko klaida",
"Comment deleted" : "Komentaras ištrintas",
"An error occurred while trying to delete the comment" : "Bandant ištrinti komentarą, įvyko klaida",
"An error occurred while trying to create the comment" : "Bandant sukurti komentarą, įvyko klaida"
"An error occurred while trying to create the comment" : "Bandant sukurti komentarą, įvyko klaida",
"Write a comment …" : "Rašyti komentarą..."
},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
}

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

@@ -0,0 +1,37 @@
OC.L10N.register(
"comments",
{
"Comments" : "Сэтгэгдэл",
"You commented" : "Та сэтгэгдэл бичсэн байна",
"{author} commented" : "{author} сэтгэгдэл бичсэн",
"You commented on %1$s" : "Та %1$s нийтлэл дээр сэтгэгдэл бичсэн байна",
"You commented on {file}" : "Та {file} сэтгэгдэл бичсэн байна",
"%1$s commented on %2$s" : "%1$s нь %2$s-д сэтгэгдэл бичсэн",
"{author} commented on {file}" : "{author} нь {file}-д сэтгэгдэл бичсэн",
"<strong>Comments</strong> for files" : "Файлууд дахь<strong>Сэтгэгдэлүүд</strong>",
"Files" : "Файлууд",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Та \"{file}\" дээр, устгагдсан акаунтын сэтгэгдэлд дурдагдсан байна",
"{user} mentioned you in a comment on \"{file}\"" : "{user} таныг \"{file}\" дээрх сэтгэгдэлд дурдсан",
"Files app plugin to add comments to files" : "Файлд сэтгэгдэл нэмэх Файлын апп плагин",
"Edit comment" : "Сэтгэгдэл засах",
"Delete comment" : "Сэтгэгдэл устгах",
"Cancel edit" : "Засварлахыг болих",
"New comment" : "Шинэ сэтгэгдэл",
"Write a comment …" : "Сэтгэгдэл бичих …",
"Post comment" : "Сэтгэгдэл илгээх",
"@ for mentions, : for emoji, / for smart picker" : "@ дурдахад, : эможид, / ухаалаг сонгогчид",
"Could not reload comments" : "Сэтгэгдлүүдийг дахин ачаалж чадсангүй",
"Failed to mark comments as read" : "Сэтгэгдлүүдийг уншсан гэж тэмдэглэж чадсангүй",
"Unable to load the comments list" : "Сэтгэгдлүүдийн жагсаалтыг ачаалж чадсангүй",
"No comments yet, start the conversation!" : "Сэтгэгдэл байхгүй байна",
"No more messages" : "Илүү мессеж байхгүй",
"Retry" : "Дахин оролдох",
"_1 new comment_::_{unread} new comments_" : ["1 шинэ сэтгэгдэл","{unread} шинэ сэтгэгдэл"],
"Comment" : "Сэтгэгдэл",
"An error occurred while trying to edit the comment" : "Сэтгэгдэл засварлах үед алдаа гарлаа",
"Comment deleted" : "Сэтгэгдэл устгагдсан",
"An error occurred while trying to delete the comment" : "Сэтгэгдэл устгах үед алдаа гарлаа",
"An error occurred while trying to create the comment" : "Сэтгэгдэл үүсгэх үед алдаа гарлаа",
"Write a comment …" : "Сэтгэгдэл бичих …"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -0,0 +1,35 @@
{ "translations": {
"Comments" : "Сэтгэгдэл",
"You commented" : "Та сэтгэгдэл бичсэн байна",
"{author} commented" : "{author} сэтгэгдэл бичсэн",
"You commented on %1$s" : "Та %1$s нийтлэл дээр сэтгэгдэл бичсэн байна",
"You commented on {file}" : "Та {file} сэтгэгдэл бичсэн байна",
"%1$s commented on %2$s" : "%1$s нь %2$s-д сэтгэгдэл бичсэн",
"{author} commented on {file}" : "{author} нь {file}-д сэтгэгдэл бичсэн",
"<strong>Comments</strong> for files" : "Файлууд дахь<strong>Сэтгэгдэлүүд</strong>",
"Files" : "Файлууд",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Та \"{file}\" дээр, устгагдсан акаунтын сэтгэгдэлд дурдагдсан байна",
"{user} mentioned you in a comment on \"{file}\"" : "{user} таныг \"{file}\" дээрх сэтгэгдэлд дурдсан",
"Files app plugin to add comments to files" : "Файлд сэтгэгдэл нэмэх Файлын апп плагин",
"Edit comment" : "Сэтгэгдэл засах",
"Delete comment" : "Сэтгэгдэл устгах",
"Cancel edit" : "Засварлахыг болих",
"New comment" : "Шинэ сэтгэгдэл",
"Write a comment …" : "Сэтгэгдэл бичих …",
"Post comment" : "Сэтгэгдэл илгээх",
"@ for mentions, : for emoji, / for smart picker" : "@ дурдахад, : эможид, / ухаалаг сонгогчид",
"Could not reload comments" : "Сэтгэгдлүүдийг дахин ачаалж чадсангүй",
"Failed to mark comments as read" : "Сэтгэгдлүүдийг уншсан гэж тэмдэглэж чадсангүй",
"Unable to load the comments list" : "Сэтгэгдлүүдийн жагсаалтыг ачаалж чадсангүй",
"No comments yet, start the conversation!" : "Сэтгэгдэл байхгүй байна",
"No more messages" : "Илүү мессеж байхгүй",
"Retry" : "Дахин оролдох",
"_1 new comment_::_{unread} new comments_" : ["1 шинэ сэтгэгдэл","{unread} шинэ сэтгэгдэл"],
"Comment" : "Сэтгэгдэл",
"An error occurred while trying to edit the comment" : "Сэтгэгдэл засварлах үед алдаа гарлаа",
"Comment deleted" : "Сэтгэгдэл устгагдсан",
"An error occurred while trying to delete the comment" : "Сэтгэгдэл устгах үед алдаа гарлаа",
"An error occurred while trying to create the comment" : "Сэтгэгдэл үүсгэх үед алдаа гарлаа",
"Write a comment …" : "Сэтгэгдэл бичих …"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -10,20 +10,20 @@ OC.L10N.register(
"{author} commented on {file}" : "{author} reageerde op {file}",
"<strong>Comments</strong> for files" : "<strong>Reacties</strong> voor bestanden",
"Files" : "Bestanden",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Je werd genoemd op \"{file}\", in een opmerking van een account dat intussen is verwijderd",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Je werd genoemd op \"{file}\", in een reactie van een account dat intussen is verwijderd",
"{user} mentioned you in a comment on \"{file}\"" : "{user} noemde jou in een reactie op \"{file}\"",
"Files app plugin to add comments to files" : "Bestanden app plugin om reacties aan bestanden toe te voegen",
"Edit comment" : "Reactie bewerken",
"Delete comment" : "Reactie verwijderen",
"Cancel edit" : "Bewerking annuleren",
"New comment" : "Nieuwe reactie",
"Write a comment …" : "Schrijf een commentaar …",
"Write a comment …" : "Schrijf een reactie …",
"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",
"Failed to mark comments as read" : "Kon reacties niet als gelezen markeren",
"Unable to load the comments list" : "Kan reactielijst niet laden",
"No comments yet, start the conversation!" : "Nog geen reacties, start de discussie!",
"No comments yet, start the conversation!" : "Nog geen reacties, start het gesprek!",
"No more messages" : "Geen berichten meer",
"Retry" : "Opnieuw proberen",
"_1 new comment_::_{unread} new comments_" : ["1 nieuwe reactie","{unread} nieuwe reacties"],

View File

@@ -8,20 +8,20 @@
"{author} commented on {file}" : "{author} reageerde op {file}",
"<strong>Comments</strong> for files" : "<strong>Reacties</strong> voor bestanden",
"Files" : "Bestanden",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Je werd genoemd op \"{file}\", in een opmerking van een account dat intussen is verwijderd",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Je werd genoemd op \"{file}\", in een reactie van een account dat intussen is verwijderd",
"{user} mentioned you in a comment on \"{file}\"" : "{user} noemde jou in een reactie op \"{file}\"",
"Files app plugin to add comments to files" : "Bestanden app plugin om reacties aan bestanden toe te voegen",
"Edit comment" : "Reactie bewerken",
"Delete comment" : "Reactie verwijderen",
"Cancel edit" : "Bewerking annuleren",
"New comment" : "Nieuwe reactie",
"Write a comment …" : "Schrijf een commentaar …",
"Write a comment …" : "Schrijf een reactie …",
"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",
"Failed to mark comments as read" : "Kon reacties niet als gelezen markeren",
"Unable to load the comments list" : "Kan reactielijst niet laden",
"No comments yet, start the conversation!" : "Nog geen reacties, start de discussie!",
"No comments yet, start the conversation!" : "Nog geen reacties, start het gesprek!",
"No more messages" : "Geen berichten meer",
"Retry" : "Opnieuw proberen",
"_1 new comment_::_{unread} new comments_" : ["1 nieuwe reactie","{unread} nieuwe reacties"],

View File

@@ -17,6 +17,7 @@ OC.L10N.register(
"Delete comment" : "Zmazať komentár",
"Cancel edit" : "Zrušiť upravovanie",
"New comment" : "Nový komentár",
"Write a comment …" : "Napísať komentár ...",
"Post comment" : "Odoslať komentár",
"@ for mentions, : for emoji, / for smart picker" : "@ pre spomienky, : pre emotikony, / pre inteligentný výber",
"Could not reload comments" : "Nepodarilo sa obnoviť komentáre",

View File

@@ -15,6 +15,7 @@
"Delete comment" : "Zmazať komentár",
"Cancel edit" : "Zrušiť upravovanie",
"New comment" : "Nový komentár",
"Write a comment …" : "Napísať komentár ...",
"Post comment" : "Odoslať komentár",
"@ for mentions, : for emoji, / for smart picker" : "@ pre spomienky, : pre emotikony, / pre inteligentný výber",
"Could not reload comments" : "Nepodarilo sa obnoviť komentáre",

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

@@ -34,7 +34,8 @@ class LoadSidebarScripts implements IEventListener {
$this->commentsManager->load();
$this->initialState->provideInitialState('activityEnabled', $this->appManager->isEnabledForUser('activity'));
// Add comments sidebar tab script
// Add comments sidebar tab script/style
Util::addStyle(Application::APP_ID, 'comments-tab');
Util::addScript(Application::APP_ID, 'comments-tab', 'files');
}
}

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

@@ -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,19 +1,19 @@
/**
/*!
* 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 logger from '../logger.ts'
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)
})
@@ -204,7 +203,7 @@ describe('Inline unread comments action execute tests', () => {
const result = await action.exec!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})
@@ -241,7 +240,7 @@ describe('Inline unread comments action execute tests', () => {
const result = await action.exec!({
nodes: [file],
view,
folder: {} as Folder,
folder: {} as IFolder,
contents: [],
})

View File

@@ -3,12 +3,15 @@
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import CommentProcessingSvg from '@mdi/svg/svg/comment-processing.svg?raw'
import { FileAction, getSidebar } from '@nextcloud/files'
import { n, t } from '@nextcloud/l10n'
import logger from '../logger.js'
import type { IFileAction } from '@nextcloud/files'
export const action = new FileAction({
import CommentProcessingSvg from '@mdi/svg/svg/comment-processing.svg?raw'
import { getSidebar } from '@nextcloud/files'
import { n, t } from '@nextcloud/l10n'
import logger from '../logger.ts'
import { isUsingActivityIntegration } from '../utils/activity.ts'
export const action: IFileAction = {
id: 'comments-unread',
title({ nodes }) {
@@ -36,7 +39,13 @@ export const action = new FileAction({
try {
const sidebar = getSidebar()
sidebar.open(nodes[0], 'comments')
const sidebarTabId = isUsingActivityIntegration() ? 'activity' : 'comments'
if (sidebar.isOpen && sidebar.node?.source === nodes[0].source) {
logger.debug('Sidebar already open for this node, just activating comments tab')
sidebar.setActiveTab(sidebarTabId)
return null
}
sidebar.open(nodes[0], sidebarTabId)
return null
} catch (error) {
logger.error('Error while opening sidebar', { error })
@@ -47,4 +56,4 @@ export const action = new FileAction({
inline: () => true,
order: -140,
})
}

View File

@@ -4,46 +4,40 @@
*/
import type { INode } from '@nextcloud/files'
import type { App } from 'vue'
import moment from '@nextcloud/moment'
import { createPinia, PiniaVuePlugin } from 'pinia'
import Vue, { type ComponentPublicInstance } from 'vue'
import logger from './logger.js'
import { getComments } from './services/GetComments.js'
Vue.use(PiniaVuePlugin)
let ActivityTabPluginView
let ActivityTabPluginInstance
import { createPinia } from 'pinia'
import { createApp } from 'vue'
import logger from './logger.ts'
import { getComments } from './services/GetComments.ts'
/**
* Register the comments plugins for the Activity sidebar
*/
export function registerCommentsPlugins() {
let app: App
window.OCA.Activity.registerSidebarAction({
mount: async (el: HTMLElement, { node, reload }: { node: INode, reload: () => void }) => {
const pinia = createPinia()
if (!ActivityTabPluginView) {
if (!app) {
const { default: ActivityCommentAction } = await import('./views/ActivityCommentAction.vue')
// @ts-expect-error Types are broken for Vue2
ActivityTabPluginView = Vue.extend(ActivityCommentAction)
app = createApp(
ActivityCommentAction,
{
reloadCallback: reload,
resourceId: node.fileid,
},
)
}
ActivityTabPluginInstance = new ActivityTabPluginView({
el,
pinia,
propsData: {
reloadCallback: reload,
resourceId: node.fileid,
},
})
app.use(pinia)
app.mount(el)
logger.info('Comments plugin mounted in Activity sidebar action', { node })
},
unmount: () => {
// destroy previous instance if available
if (ActivityTabPluginInstance) {
ActivityTabPluginInstance.$destroy()
}
app?.unmount()
},
})
@@ -57,26 +51,26 @@ export function registerCommentsPlugins() {
)
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)
return comments.map((comment) => ({
_CommentsViewInstance: undefined as ComponentPublicInstance | undefined,
_CommentsViewInstance: undefined as App | undefined,
timestamp: moment(comment.props?.creationDateTime).toDate().getTime(),
timestamp: Date.parse(comment.props?.creationDateTime as string | undefined ?? ''),
mount(element: HTMLElement, { reload }) {
this._CommentsViewInstance = new CommentsViewObject({
el: element,
propsData: {
const app = createApp(
CommentView,
{
comment,
resourceId: node.fileid,
reloadCallback: reload,
},
})
)
app.mount(element)
this._CommentsViewInstance = app
},
unmount() {
this._CommentsViewInstance?.$destroy()
this._CommentsViewInstance?.unmount()
},
}))
})

View File

@@ -3,8 +3,8 @@
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import logger from './logger.js'
import CommentsInstance from './services/CommentsInstance.js'
import logger from './logger.ts'
import CommentsInstance from './services/CommentsInstance.ts'
// Init Comments
if (window.OCA && !window.OCA.Comments) {

View File

@@ -13,7 +13,7 @@
<!-- Author -->
<NcAvatar
class="comment__avatar"
:display-name="actorDisplayName"
:displayName="actorDisplayName"
:user="actorId"
:size="32" />
</div>
@@ -26,7 +26,7 @@
<NcActions v-if="isOwnComment && id && !loading" class="comment__actions">
<template v-if="!editing">
<NcActionButton
close-after-click
closeAfterClick
@click="onEdit">
<template #icon>
<IconPencilOutline :size="20" />
@@ -35,7 +35,7 @@
</NcActionButton>
<NcActionSeparator />
<NcActionButton
close-after-click
closeAfterClick
@click="onDeleteWithUndo">
<template #icon>
<IconTrashCanOutline :size="20" />
@@ -60,7 +60,7 @@
v-else-if="creationDateTime"
class="comment__timestamp"
:timestamp="timestamp"
:ignore-seconds="true" />
:ignoreSeconds="true" />
</div>
<!-- Message editor -->
@@ -68,14 +68,14 @@
<div class="comment__editor-group">
<NcRichContenteditable
ref="editor"
:auto-complete="autoComplete"
v-model="localMessage"
:autoComplete
:contenteditable="!loading"
:label="editor ? t('comments', 'New comment') : t('comments', 'Edit comment')"
:placeholder="t('comments', 'Write a comment ')"
:model-value="localMessage"
:user-data="userData"
:userData
aria-describedby="tab-comments__editor-description"
@update:value="updateLocalMessage"
@update:modelValue="submitted = false"
@submit="onSubmit" />
<div class="comment__submit">
<NcButton
@@ -103,8 +103,8 @@
:class="{ 'comment__message--expanded': expanded }"
:text="richContent.message"
:arguments="richContent.mentions"
use-markdown
@click.native="onExpand" />
useMarkdown
@click="onExpand" />
</div>
</component>
</template>
@@ -113,6 +113,7 @@
import { getCurrentUser } from '@nextcloud/auth'
import { translate as t } from '@nextcloud/l10n'
import { mapStores } from 'pinia'
import { defineAsyncComponent } from 'vue'
import NcActionButton from '@nextcloud/vue/components/NcActionButton'
import NcActions from '@nextcloud/vue/components/NcActions'
import NcActionSeparator from '@nextcloud/vue/components/NcActionSeparator'
@@ -125,12 +126,12 @@ import IconArrowRight from 'vue-material-design-icons/ArrowRight.vue'
import IconClose from 'vue-material-design-icons/Close.vue'
import IconPencilOutline from 'vue-material-design-icons/PencilOutline.vue'
import IconTrashCanOutline from 'vue-material-design-icons/TrashCanOutline.vue'
import CommentMixin from '../mixins/CommentMixin.js'
import { useDeletedCommentLimbo } from '../store/deletedCommentLimbo.js'
import CommentMixin from '../mixins/CommentMixin.ts'
import { useDeletedCommentLimbo } from '../store/deletedCommentLimbo.ts'
// Dynamic loading
const NcRichContenteditable = () => import('@nextcloud/vue/components/NcRichContenteditable')
const NcRichText = () => import('@nextcloud/vue/components/NcRichText')
const NcRichContenteditable = defineAsyncComponent(() => import('@nextcloud/vue/components/NcRichContenteditable'))
const NcRichText = defineAsyncComponent(() => import('@nextcloud/vue/components/NcRichText'))
export default {
/* eslint vue/multi-word-component-names: "warn" */

View File

@@ -1,23 +1,19 @@
/**
/*!
* 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 { createPinia } from 'pinia'
import { defineCustomElement } from 'vue'
import { registerCommentsPlugins } from './comments-activity-tab.ts'
__webpack_nonce__ = getCSPNonce()
import { isUsingActivityIntegration } from './utils/activity.ts'
const tagName = 'comments_files-sidebar-tab'
if (loadState('comments', 'activityEnabled', false) && OCA?.Activity?.registerSidebarAction !== undefined) {
if (isUsingActivityIntegration()) {
// Do not mount own tab but mount into activity
window.addEventListener('DOMContentLoaded', function() {
registerCommentsPlugins()
@@ -32,17 +28,15 @@ if (loadState('comments', 'activityEnabled', false) && OCA?.Activity?.registerSi
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 },
const FilesSidebarTabElement = defineCustomElement(FilesSidebarTab, {
configureApp(app) {
const pinia = createPinia()
app.use(pinia)
},
shadowRoot: false,
})
Object.defineProperty(webComponent.prototype, 'shadowRoot', {
get() { return this },
})
window.customElements.define(tagName, webComponent)
window.customElements.define(tagName, FilesSidebarTabElement)
},
})
}

View File

@@ -5,11 +5,11 @@
import { showError, showUndo, TOAST_UNDO_TIMEOUT } from '@nextcloud/dialogs'
import { mapStores } from 'pinia'
import logger from '../logger.js'
import DeleteComment from '../services/DeleteComment.js'
import EditComment from '../services/EditComment.js'
import NewComment from '../services/NewComment.js'
import { useDeletedCommentLimbo } from '../store/deletedCommentLimbo.js'
import logger from '../logger.ts'
import DeleteComment from '../services/DeleteComment.ts'
import EditComment from '../services/EditComment.ts'
import NewComment from '../services/NewComment.ts'
import { useDeletedCommentLimbo } from '../store/deletedCommentLimbo.ts'
export default {
props: {

View File

@@ -1,53 +0,0 @@
/**
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { getCSPNonce } from '@nextcloud/auth'
import { n, t } from '@nextcloud/l10n'
import { createPinia, PiniaVuePlugin } from 'pinia'
import Vue from 'vue'
import CommentsApp from '../views/Comments.vue'
import logger from '../logger.js'
Vue.use(PiniaVuePlugin)
__webpack_nonce__ = getCSPNonce()
// Add translates functions
Vue.mixin({
data() {
return {
logger,
}
},
methods: {
t,
n,
},
})
export default class CommentInstance {
/**
* Initialize a new Comments instance for the desired type
*
* @param {string} resourceType the comments endpoint type
* @param {object} options the vue options (propsData, parent, el...)
*/
constructor(resourceType = 'files', options = {}) {
const pinia = createPinia()
// Merge options and set `resourceType` property
options = {
...options,
propsData: {
...(options.propsData ?? {}),
resourceType,
},
pinia,
}
// Init Comments component
const View = Vue.extend(CommentsApp)
return new View(options)
}
}

View File

@@ -0,0 +1,94 @@
/*!
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import type { App, ComponentPublicInstance } from 'vue'
import { n, t } from '@nextcloud/l10n'
import { createPinia } from 'pinia'
import { createApp } from 'vue'
import CommentsApp from '../views/CommentsApp.vue'
import logger from '../logger.ts'
export interface CommentsInstanceOptions {
el?: HTMLElement
props?: Record<string, unknown>
/** @deprecated use `props` instead */
propsData?: Record<string, unknown>
}
export default class CommentInstance {
private app: App
private instance: ComponentPublicInstance<typeof CommentsApp> | undefined
/**
* Initialize a new Comments instance for the desired type
*
* @param resourceType - The comments endpoint type
* @param options - The vue options (props, parent, el...)
*/
constructor(resourceType = 'files', options: CommentsInstanceOptions = {}) {
const pinia = createPinia()
this.app = createApp(
CommentsApp,
{
...(options.propsData ?? {}),
...(options.props ?? {}),
resourceType,
},
)
// Add translates functions
this.app.mixin({
data() {
return {
logger,
}
},
methods: {
t,
n,
},
})
this.app.use(pinia)
if (options.el) {
this.instance = this.app.mount(options.el)
}
}
/**
* Mount the Comments instance to a new element.
*
* @param el - The element to mount the instance on
*/
$mount(el: HTMLElement | string) {
if (this.instance) {
this.app.unmount()
}
this.instance = this.app.mount(el)
}
/**
* Unmount the Comments instance from the DOM and destroy it.
*/
$unmount() {
this.app.unmount()
this.instance = undefined
}
/**
* Update the current resource id.
*
* @param id - The new resource id to load the comments for
*/
update(id: string | number) {
if (this.instance) {
this.instance.update(id)
}
}
}

View File

@@ -5,7 +5,7 @@
import { getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth'
import { createClient } from 'webdav'
import { getRootPath } from '../utils/davUtils.js'
import { getRootPath } from '../utils/davUtils.ts'
// init webdav client
const client = createClient(getRootPath())

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