Compare commits

..

542 Commits

Author SHA1 Message Date
Git'Fellow 3d5bf1ff81 fix(ContactsManager): Fix conflict with value type from database
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-10-26 18:28:01 +01:00
Nextcloud bot 8a4eca176a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-26 00:13:27 +00:00
Nextcloud bot 24dbad4825 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-25 00:13:40 +00:00
Maksim Sukharev bea0505a95 Merge pull request #55897 from nextcloud/backport/55892/stable32 2025-10-24 14:42:16 +02:00
Maksim Sukharev d65c1e402d Merge pull request #55974 from nextcloud/backport/55963/stable32 2025-10-24 13:46:20 +02:00
Joas Schilling eeb41bef6d Merge pull request #55902 from nextcloud/backport/55827/stable32
[stable32] fix(ocm-sharing): The owner needs to be set for sharing to work
2025-10-24 11:56:25 +02:00
nextcloud-command b2f40bafaa chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-24 09:36:18 +00:00
Maksim Sukharev 74046d903c fix(NewUserDialog): allow to deselect a group from the list
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2025-10-24 09:25:41 +00:00
John Molakvoæ 1b88f6784e Merge pull request #55956 from nextcloud/backport/55952/stable32 2025-10-24 08:10:46 +02:00
Nextcloud bot 8e6d98bff3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-24 00:13:42 +00:00
Louis 0e64d82cf9 Merge pull request #55890 from nextcloud/backport/49578/stable32
[stable32] fix(updater): Stop expiring secret prematurely
2025-10-23 21:52:25 +02:00
Louis b849b6b9c1 Merge pull request #55898 from nextcloud/backport/55796/stable32
[stable32] fix(FilesPicker): Prevent selection of nodes without create permission
2025-10-23 21:52:15 +02:00
Benjamin Gaussorgues b8bda08fe4 Merge pull request #55958 from nextcloud/release/32.0.1 2025-10-23 20:33:51 +02:00
Worker Builder eb076a2e26 build(hub): 32.0.1
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2025-10-23 12:42:43 +00:00
skjnldsv 6c11437295 fix: join accounts_data instead of preferences when searching users
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-10-23 10:12:40 +00:00
Nextcloud bot debcdd6337 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-23 00:27:14 +00:00
nextcloud-command d106205d0c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-22 16:27:14 +00:00
Louis Chmn 8a22bcab39 chore(deps): Bump @nextcloud/dialogs to v6.4.1
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-10-22 18:15:53 +02:00
Micke Nordin 617dc79daf fix(ocm-sharing): The owner needs to be set for sharing to work
The specification says that the display name is optional and can thus
be empty, and in fact it is from oCIS and CERNBox shares.

The correct thing to set is the required opaque id from the remote
provider, the `owner` which will allways be there.

Signed-off-by: Micke Nordin <kano@sunet.se>
2025-10-22 08:27:05 +00:00
Louis Chmn fa01bbc98a fix(FilesPicker): Prevent selection of nodes without create permission
And remove the disable callback for the button as it is not needed anymore.

This gives a better experience as the nodes do not have a pointer for cursor, and the submit button does not react when clicking on them.

Signed-off-by: Louis Chmn <louis@chmn.me>
2025-10-22 07:16:43 +00:00
Ferdinand Thiessen 252390a50b test: adjust cypress tests for changes filter behavior
In https://github.com/nextcloud/server/issues/53038 we changed the
behavior: The filename filter is reset when changing the directory.
So we need to also adjust the Cypress tests.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-22 06:50:30 +00:00
Nextcloud bot 55228fe20c fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-22 00:12:33 +00:00
Nextcloud bot b9b46ad597 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-21 16:52:11 +00:00
Benjamin Gaussorgues 574b91a672 Merge pull request #55822 from nextcloud/release/32.0.1_rc2 2025-10-21 17:07:46 +02:00
Benjamin Gaussorgues 51fce3b158 Merge pull request #55884 from nextcloud/backport/55864/stable32 2025-10-21 17:07:33 +02:00
Louis Chmn 82f15bd766 refactor: adjust updater code to match code style
Co-authored-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-10-21 14:34:56 +00:00
Josh Richards 4b968357be fix(updater): Stop expiring secret prematurely
Signed-off-by: Josh Richards <josh.t.richards@gmail.com>
2025-10-21 14:34:56 +00:00
Benjamin Gaussorgues 99dc424d56 Merge pull request #55823 from nextcloud/backport/54429/stable32 2025-10-21 14:46:09 +02:00
Maxence Lange 1301573fdc fix(lexicon): trigger core upgrade
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-10-21 11:39:15 -01:00
Maxence Lange 26cf4c263f fix(lexicon): remove default lazy param
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-10-21 11:37:07 -01:00
Andy Scherzinger f9cbb1175c Merge pull request #55881 from nextcloud/backport/55863/stable32
[stable32] fix(lexicon): execute repair step
2025-10-21 14:30:46 +02:00
Maxence Lange ee9d5b96b4 fix(lexicon): switch bool value to non-lazy
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-10-21 12:19:01 +00:00
Maxence Lange 895f2984bf fix(lexicon): execute repair step
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-10-21 13:18:16 +02:00
Nextcloud bot 37df347c12 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-21 10:51:56 +00:00
Andy Scherzinger 2e1c31642a Merge pull request #55872 from nextcloud/backport/55730/stable32
[stable32] fix: translation on /unsupported screen
2025-10-21 11:31:43 +02:00
John Molakvoæ 9297554c82 Merge pull request #55874 from nextcloud/backport/55810/stable32 2025-10-21 11:06:33 +02:00
John Molakvoæ 81dbf3143b fix: temporarily disable public shares chunking capability
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-10-21 08:14:00 +00:00
John Molakvoæ 08be3dcca0 Merge pull request #55873 from nextcloud/backport/55846/stable32 2025-10-21 10:13:03 +02:00
nextcloud-command 943b6ee028 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-21 07:46:41 +00:00
Victor 577fffbac8 feat(files): Add font-variant-numeric to selected files list
Signed-off-by: Victor <victorlap@outlook.com>

[skip ci]
2025-10-21 07:35:34 +00:00
Luka Trovic 3c70211671 fix: translation on /unsupported screen
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2025-10-21 06:35:16 +00:00
Nextcloud bot 5e0b8cb27a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-21 00:12:42 +00:00
Joas Schilling f77712f129 Merge pull request #55851 from nextcloud/backport/55751/stable32
[stable32] fix(dav): Restrict properties allowed object classes
2025-10-20 13:18:56 +02:00
Côme Chilliet eeb1dc86a4 fix(dav): Allow array of array of scalars, and fix error message
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-10-20 10:35:17 +02:00
Côme Chilliet 22728601ba fix(dav): Allow arrays (of scalars) in property values
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-10-20 10:35:11 +02:00
Côme Chilliet 22f122edc7 fix(dav): Restrict properties allowed object classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-10-20 10:34:18 +02:00
Nextcloud bot 572997a414 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-20 00:12:31 +00:00
Nextcloud bot e62913f1ac fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-19 00:12:30 +00:00
Nextcloud bot 885f850489 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-18 00:12:35 +00:00
John Molakvoæ 792963f94b Merge pull request #55826 from nextcloud/chore/deps-browserslist-32 2025-10-17 14:36:03 +02:00
Andy Scherzinger 9c35c9a441 Merge pull request #55816 from nextcloud/backport/55634/stable32
[stable32] fix(ocm): format notifications
2025-10-17 14:26:18 +02:00
skjnldsv d7f5242f2f chore: compile assets
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-10-17 13:45:38 +02:00
Arthur Schiwon 88c94744f2 refactor(LDAP): switch from prepares statement to query builder
- has the advantage that queries will be reported in the query.log when
  configured

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2025-10-17 10:09:03 +00:00
Arthur Schiwon 2a5b0a42f5 feat: locally cache frequently requested LDAP mapping data
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2025-10-17 10:09:03 +00:00
Arthur Schiwon 5b509e1086 build(hub): 32.0.1 RC2
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2025-10-17 11:59:10 +02:00
Stephan Orbaugh ddb1131cb8 Merge pull request #55817 from nextcloud/backport/55712/stable32
[stable32] feat(route): globalsiteselector as root url generator
2025-10-17 09:45:03 +02:00
Nextcloud bot f82d7ddf57 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-17 00:12:35 +00:00
Maxence Lange b9b7931b7c feat(route): globalsiteselector as root url generator
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-10-16 21:56:01 +00:00
Maxence Lange d881ad365e fix(ocm): format notifications
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-10-16 21:17:33 +00:00
Arthur Schiwon 3dfe69e5ad Merge pull request #55744 from nextcloud/release/32.0.1_rc1
[stable32] 32.0.1 RC1
2025-10-16 19:13:40 +02:00
dependabot[bot] 411dfe1d1a Merge pull request #55689 from nextcloud/dependabot/npm_and_yarn/stable32/core-js-3.46.0 2025-10-16 14:40:50 +00:00
nextcloud-command 6db16cd25b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-16 13:42:46 +00:00
dependabot[bot] a76c690f6c build(deps): bump core-js from 3.45.1 to 3.46.0
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.45.1 to 3.46.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.46.0/packages/core-js)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-16 15:17:43 +02:00
dependabot[bot] d00358bbd9 Merge pull request #55690 from nextcloud/dependabot/npm_and_yarn/stable32/webpack-5.102.1 2025-10-16 13:03:03 +00:00
Joas Schilling 4acb119591 Merge pull request #55809 from nextcloud/backport/55803/stable32
[stable32] fix(l10n): Don't fallback from 3-letter languages to 2-letter
2025-10-16 14:51:48 +02:00
nextcloud-command c2bf97391f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-16 12:32:15 +00:00
dependabot[bot] b04c701567 build(deps-dev): bump webpack from 5.101.3 to 5.102.1
Bumps [webpack](https://github.com/webpack/webpack) from 5.101.3 to 5.102.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.101.3...v5.102.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-16 14:04:26 +02:00
Joas Schilling 27838d141d fix(l10n): Don't fallback from 3-letter languages to 2-letter
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-16 11:43:35 +00:00
dependabot[bot] 87e9d2bf15 Merge pull request #55694 from nextcloud/dependabot/npm_and_yarn/stable32/libphonenumber-js-1.12.24 2025-10-16 11:08:02 +00:00
nextcloud-command bf508996f5 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-16 08:44:35 +00:00
dependabot[bot] e9d5caaeda build(deps): bump libphonenumber-js from 1.12.23 to 1.12.24
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.23 to 1.12.24.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.23...v1.12.24)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-16 10:21:02 +02:00
Andy Scherzinger 4cae924ead Merge pull request #55763 from nextcloud/backport/54819/stable32
[stable32] fix: iMip reply from outlook.com does not contain organizer property
2025-10-16 10:07:57 +02:00
Andy Scherzinger a4df2f5770 Merge pull request #55775 from nextcloud/backport/55732/stable32
[stable32] fix(TextProcessingApiController): Set better attribute on routes
2025-10-16 10:00:04 +02:00
Andy Scherzinger 34c1b354d1 Merge pull request #55279 from nextcloud/backport/55177/stable32
[stable32] fix(systemtags): Provide initial state for admin restriction setting
2025-10-16 09:58:41 +02:00
Marcel Klehr 21a92fcecf Merge pull request #55749 from nextcloud/backport/55715/stable32
[stable32] fix(settings): Improve TaskProcessingPickupSpeed setup check
2025-10-16 09:40:22 +02:00
Marcel Klehr e1fa2c15b7 Merge pull request #55786 from nextcloud/backport/55776/stable32
[stable32] fix(TextToImage): Set better attribute for routes
2025-10-16 09:26:31 +02:00
Nextcloud bot 9cb38d2dde fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-16 00:12:34 +00:00
Marcel Klehr 7f9af58116 fix: Apply suggestion from @julien-nc
Co-authored-by: Julien Veyssier <julien-nc@posteo.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-16 01:13:32 +02:00
Marcel Klehr baf0a24d49 fix: Apply suggestion from @julien-nc
Co-authored-by: Julien Veyssier <julien-nc@posteo.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-16 01:13:32 +02:00
Marcel Klehr 297f61b619 fix: Change messages to use days instead of hours
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-16 01:13:32 +02:00
Marcel Klehr bc30bd8e40 fix: Run cs:fix
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-16 01:13:32 +02:00
Marcel Klehr 7dc7368576 fix(settings): Improve TaskProcessingPickupSpeed setup check
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-16 01:13:32 +02:00
Andy Scherzinger c89a00ebbd Merge pull request #55604 from nextcloud/backport/55573/stable32
[stable32] fix(TaskProcessing): Make sure list command int filter parameters are parsed as ints
2025-10-16 00:58:10 +02:00
nfebe 163957faa1 fix(systemtags): Provide initial state for admin restriction setting
The “Restrict tag creation and editing to administrators” switch in the SystemTags
admin settings was not reflecting the correct database value on page load.
This happened because no initial state was being provided.

Fix
This change ensures the correct initial state is set by:

- Injecting IAppConfig and IInitialState dependencies.
- Following the same initial state provisioning pattern used by other admin settings in Nextcloud.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-10-16 00:56:32 +02:00
Andy Scherzinger 6bc2b77ec0 Merge pull request #55292 from nextcloud/backport/55282/stable32
[stable32] fix: create room/resource calendar synchronously
2025-10-16 00:47:21 +02:00
Andy Scherzinger d65eaa62c5 Merge pull request #55798 from nextcloud/backport/55750/stable32
[stable32] feat: add new link endpoint when using globalscale
2025-10-16 00:43:42 +02:00
nextcloud-command 6befad15b7 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-15 21:00:19 +00:00
Ferdinand Thiessen 515d1b5ae3 feat: add new link endpoint when using globalscale
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-15 22:52:05 +02:00
Edward Ly c0a2ca4ee3 Merge pull request #55285 from nextcloud/backport/55275/stable32
[stable32] fix(comments): explicitly return limbo status of comment
2025-10-15 09:05:37 -07:00
nextcloud-command 3bea52dfd8 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-15 15:05:02 +00:00
Edward Ly eb65bd33a4 fix(comments): explicitly return limbo status of comment
Otherwise, the `checkForId` function returns `undefined` regardless of
whether the comment is in limbo or not.

Signed-off-by: Edward Ly <contact@edward.ly>
2025-10-15 07:41:43 -07:00
Edward Ly 4d99e4bbaf Merge pull request #55242 from nextcloud/backport/55179/stable32
[stable32] fix(comments): expand long comment on click
2025-10-15 07:40:37 -07:00
Marcel Klehr 9af79f2ea1 fix(TextToImage): Set better attribute for routes
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-15 11:08:19 +00:00
Marcel Klehr deffe3c4e0 Merge pull request #55778 from nextcloud/backport/55716/stable32
[stable32] feat(settings): Introduce TaskProcessingSuccessRate setup check
2025-10-15 11:41:21 +02:00
Marcel Klehr 74b7ce627c fix: Fix logic error to make tests pass
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-15 08:14:07 +00:00
Marcel Klehr cf90bf3da7 fix: Apply suggestion from @kyteinski
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-15 08:14:07 +00:00
Marcel Klehr 3f14db81bb fix: Apply suggestion from @julien-nc
Co-authored-by: Julien Veyssier <julien-nc@posteo.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-15 08:14:07 +00:00
Marcel Klehr 53dcd65723 fix: Apply suggestion from @julien-nc
Co-authored-by: Julien Veyssier <julien-nc@posteo.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-15 08:14:06 +00:00
Marcel Klehr 15d009b4dc fix(settings): Remove copypasta
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-15 08:14:06 +00:00
Marcel Klehr 27b22933aa test(settings): Add tests for TaskProcessingSuccessRate setup check
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-15 08:14:06 +00:00
Marcel Klehr a42de38830 fix(settings): Introduce TaskProcessingSuccessRate setup check
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-15 08:14:06 +00:00
Marcel Klehr 785508f38e fix: Update openapi descriptions
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-15 07:32:33 +00:00
Marcel Klehr 8610d6f1a8 fix(TextProcessingApiController): Set better attribute on routes
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-15 07:32:33 +00:00
Nextcloud bot 213020199e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-15 00:12:38 +00:00
Ferdinand Thiessen b2c96d9e6a Merge pull request #55465 from nextcloud/backport/55245/stable32
[stable32] fix: legacy app navigation snapper on RTL layout
2025-10-15 01:08:28 +02:00
SebastianKrupinski 34f92a05c5 fix: iMip reply from outlook.com does not contain organizer property
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-10-14 19:29:19 +00:00
Kate 2df2f7f1f2 Merge pull request #55761 from nextcloud/backport/55754/stable32 2025-10-14 21:26:03 +02:00
Côme Chilliet d84f1466e0 fix: Fix crash in files_version about uninitialized property
Fix "Typed property OC\\Files\\Cache\\Cache::$storage must not be accessed before initialization"

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-10-14 18:32:37 +00:00
nextcloud-command 2d2d5c1f79 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-14 15:03:53 +00:00
nextcloud-command bab315c1f4 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-14 14:54:31 +00:00
Daniel 9925ea51f1 Merge pull request #55723 from nextcloud/backport/55658/stable32
[stable32] fix: disable mp3 preview provider
2025-10-14 16:53:33 +02:00
Edward Ly 7922aa5715 fix(comments): expand long comment on click
This is a temporary fix that only applies while the server is still using
Vue 2.x (or `@nextcloud/vue` 8.x). Once migrated to Vue 3.x, this fix
may be reverted.

Signed-off-by: Edward Ly <contact@edward.ly>
2025-10-14 07:18:52 -07:00
Ferdinand Thiessen 0557148f52 fix: legacy app navigation snapper on RTL layout
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-14 15:54:48 +02:00
Ferdinand Thiessen 085edbf633 Merge pull request #55253 from nextcloud/backport/55236/stable32
[stable32] fix(encryption): do not setup filesystem without permissions
2025-10-14 14:05:35 +02:00
Maksim Sukharev d11e8e9821 Merge pull request #55739 from nextcloud/backport/55655/stable32 2025-10-14 12:59:23 +02:00
Arthur Schiwon 6def417533 build(hub): 32.0.1 RC1
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2025-10-14 12:00:40 +02:00
nextcloud-command bbbb14baa3 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-14 09:13:19 +00:00
Kate 14570af7dd Merge pull request #55736 from nextcloud/backport/55661/stable32 2025-10-14 11:07:36 +02:00
Maksim Sukharev 05477fad66 fix(files_sharing): correctly handle error in case of failing share creation
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2025-10-14 11:05:21 +02:00
Maksim Sukharev ddf53c0851 Merge pull request #55733 from nextcloud/backport/55666/stable32 2025-10-14 10:27:34 +02:00
Arthur Schiwon 6ba452b426 fix(LDAP): properly disable are require TLS certificate verification
- the old approach lead connection issues, as ldap_set_option was called
  too late. Specifically it needs to be called before ldap_connect and set
  globally!
- The old approach also connected it to the ldapTLS configuration, which
  has a misleading naming. It indicates StartTLS usage only, not plain TLS
  connections.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2025-10-14 07:42:25 +00:00
nextcloud-command e52e4b11ff chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-14 07:31:37 +00:00
Maksim Sukharev 71678ca551 fix(files): clear search input on directory navigation
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2025-10-14 07:24:08 +00:00
Nextcloud bot bdd174f795 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-14 00:12:30 +00:00
Daniel Kesselberg b2e6175b8e docs(previews): mp3 preview provider is no longer enabled by default
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-10-13 17:54:37 +02:00
Daniel Kesselberg 6ee39e6d05 fix: disable mp3 preview provider
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-10-13 17:54:37 +02:00
Ferdinand Thiessen 3b6bcc7d76 Merge pull request #55329 from nextcloud/backport/55311/stable32
[stable32] fix: add missing sharing options to ui and add full-match results
2025-10-13 15:57:17 +02:00
nextcloud-command 9581641cd2 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-13 12:00:12 +00:00
Ferdinand Thiessen 919701ce24 fix(Collaboration\UserPlugin): ensure full match is included in results
When searching we need to:
1. check if sharing is limited to groups
  - if yes only include those
  - otherwise continue
2. check if there are restrictions to groups or phonebook
3. check if full match is included

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-13 13:41:56 +02:00
Ferdinand Thiessen a2510abae2 fix(settings): add missing sharing autocompletion configs to UI
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-13 13:41:56 +02:00
Ferdinand Thiessen b9b42cfa7a feat(Share\IManager): add matchUserId method and update docs
Add missing `matchUserId` method for full-match-autocomplete options
and update docs to make it clearer what each options exactly means.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-13 13:41:56 +02:00
Kate bc02b6a9cb Merge pull request #55685 from nextcloud/dependabot/composer/vendor-bin/openapi-extractor/stable32/nextcloud/openapi-extractor-1.8.6 2025-10-13 11:46:47 +02:00
Nextcloud bot 676b139f4d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-13 00:12:30 +00:00
Nextcloud bot aff06aea3a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-12 00:12:26 +00:00
Kate 9319764178 Merge pull request #55700 from nextcloud/backport/55657/stable32 2025-10-11 18:35:55 +02:00
Louis Chemineau dd1ad9abeb fix(contacts): Do not expose SAB in /contactsmenu
When hitting the `/contactsmenu/contacts` endpoint with the `dav.system_addressbook_exposed` config switch set to `"no"`, the system address book content is still listed in the response.

This ensure that we do not expose unexpectedly the system address book.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-10-11 11:12:51 +00:00
Thomas Citharel b670d80067 Merge pull request #55678 from nextcloud/backport/55651/stable32
[stable32] fix(caldav): avoid selecting every custom properties from table if we have no calendars to filter
2025-10-11 09:00:50 +02:00
dependabot[bot] f514ead9b5 Merge pull request #55687 from nextcloud/dependabot/npm_and_yarn/stable32/puppeteer-24.24.0 2025-10-11 03:59:27 +00:00
dependabot[bot] 685bb119ed build(deps-dev): bump puppeteer from 24.22.3 to 24.24.0
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 24.22.3 to 24.24.0.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Changelog](https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.22.3...puppeteer-v24.24.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-11 03:40:26 +00:00
dependabot[bot] 9db4038053 Merge pull request #55692 from nextcloud/dependabot/npm_and_yarn/stable32/cypress-split-1.24.24 2025-10-11 03:38:18 +00:00
dependabot[bot] 63f881fd36 Merge pull request #55688 from nextcloud/dependabot/npm_and_yarn/stable32/msw-2.11.5 2025-10-11 03:38:13 +00:00
dependabot[bot] d54872bf27 build(deps-dev): bump cypress-split from 1.24.23 to 1.24.24
Bumps [cypress-split](https://github.com/bahmutov/cypress-split) from 1.24.23 to 1.24.24.
- [Release notes](https://github.com/bahmutov/cypress-split/releases)
- [Commits](https://github.com/bahmutov/cypress-split/compare/v1.24.23...v1.24.24)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-11 01:23:55 +00:00
dependabot[bot] f4cc84d03b build(deps-dev): bump msw from 2.11.3 to 2.11.5
Bumps [msw](https://github.com/mswjs/msw) from 2.11.3 to 2.11.5.
- [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.11.3...v2.11.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-11 01:21:19 +00:00
dependabot[bot] b40b2d8eff build(deps): bump nextcloud/openapi-extractor
Bumps [nextcloud/openapi-extractor](https://github.com/nextcloud-releases/openapi-extractor) from 1.8.5 to 1.8.6.
- [Changelog](https://github.com/nextcloud-releases/openapi-extractor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-releases/openapi-extractor/compare/v1.8.5...v1.8.6)

---
updated-dependencies:
- dependency-name: nextcloud/openapi-extractor
  dependency-version: 1.8.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-11 01:18:56 +00:00
Nextcloud bot 9e9914deff fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-11 00:13:23 +00:00
Thomas Citharel cba2723148 fix(caldav): avoid selecting every custom properties from table if we have no calendars to filter
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-10-10 17:25:04 +00:00
Kate ac7a14a981 Merge pull request #55671 from nextcloud/backport/55654/stable32 2025-10-10 16:17:32 +02:00
Louis Chmn 2ad19b99f9 fix(S3): Only append streams if non-seekable
Later, when we rewind the stream in `writeMultiPart` during retry, both streams were rewinded, so the resulting stream was bigger than expected.

Inspired by https://github.com/aws/aws-sdk-php/blob/master/src/S3/ObjectUploader.php#L136-L146

Signed-off-by: Louis Chmn <louis@chmn.me>
2025-10-10 12:43:32 +00:00
Joas Schilling 9843a2fa65 Merge pull request #55663 from nextcloud/backport/55645/stable32
[stable32] Fix comments when used by other apps
2025-10-10 09:47:17 +02:00
nextcloud-command 5519730463 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-10 06:53:09 +00:00
Joas Schilling fbc07cac31 fix(comments): Don't throw type error when no itemType or itemId is given
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-10 06:37:56 +00:00
Joas Schilling eabb387052 fix(comments): Support user IDs that are numbers, e.g. "42"
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-10 06:37:56 +00:00
Joas Schilling 5afc0bb44f fix(comments): Correctly await the getComments() call
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-10 06:37:56 +00:00
Joas Schilling 58ad14ff96 fix(comments): Use the correct object when autocompleting mentions for other apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-10 06:37:56 +00:00
Kate 65e56be9e3 Merge pull request #55636 from nextcloud/backport/55624/stable32 2025-10-10 07:35:59 +02:00
Nextcloud bot dbeea406a6 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-10 00:13:25 +00:00
Kate 319d4ac86c Merge pull request #55644 from nextcloud/backport/54793/stable32 2025-10-09 10:23:29 +02:00
Marcel Klehr 552ef44568 fix(FileAccess): Make getAncestorInStorage pass sharding tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 07:51:58 +00:00
Marcel Klehr 38f2bf6f98 fix(FileAccess): Try to fix type error
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 07:51:58 +00:00
Marcel Klehr 0a1754beaf fix(FileAccess): Set filecache size column in tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 07:51:58 +00:00
Marcel Klehr bb82cff328 fix(FileAccess): Chunk parent query
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 07:51:58 +00:00
Marcel Klehr 5117f9ab1e fix(FileAccess): Make getByAncestorInStorage sharding ready
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 07:51:58 +00:00
Nextcloud bot 1a45ea1f1f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-09 00:25:35 +00:00
John Molakvoæ (skjnldsv) 5f09b17664 fix(systemtags): catch empty nodes
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2025-10-08 19:06:39 +00:00
Kate 8e8b74bd7d Merge pull request #55633 from nextcloud/backport/55630/stable32 2025-10-08 20:15:06 +02:00
Richard Steinmetz b47823e2bd fix(caldav): disable remote access when calendar federation is off
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-10-08 17:22:44 +00:00
Kate 165f0bd330 Merge pull request #55626 from nextcloud/backport/55623/stable32 2025-10-08 13:34:42 +02:00
Richard Steinmetz 24d2b9575a fix(caldav): encoding inconsistencies in event search provider
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-10-08 10:56:35 +00:00
Joas Schilling 990bfafb1a Merge pull request #55615 from nextcloud/backport/55382/stable32
[stable32] fix(live-photo): Allow files-live-photo meta data with edit permissions
2025-10-08 09:41:58 +02:00
Nextcloud bot df47d9575f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-08 00:13:25 +00:00
Joas Schilling eba0292af8 fix(live-photo): Allow files-live-photo meta data with edit permissions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-07 18:56:14 +00:00
Kate 9667e8c7f5 Merge pull request #55326 from nextcloud/backport/55289/stable32 2025-10-07 18:45:51 +02:00
dependabot[bot] b60f193578 Merge pull request #55592 from nextcloud/dependabot/npm_and_yarn/stable32/nextcloud/browser-storage-0.5.0 2025-10-07 15:46:22 +00:00
Richard Steinmetz abb37a062d Merge pull request #55607 from nextcloud/backport/55581/stable32
[stable32] fix(ooo): don't catch general DB exceptions
2025-10-07 16:32:14 +02:00
Joas Schilling d3d2056d35 Merge pull request #55316 from nextcloud/backport/55283/stable32
[stable32] fix(workflowenigne): stricter length header handling
2025-10-07 16:26:26 +02:00
nextcloud-command ba668173f9 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-10-07 14:07:32 +00:00
dependabot[bot] 0f6745d8e4 build(deps): bump @nextcloud/browser-storage from 0.4.0 to 0.5.0
Bumps [@nextcloud/browser-storage](https://github.com/nextcloud-libraries/nextcloud-browser-storage) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-browser-storage/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-browser-storage/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-browser-storage/compare/v0.4.0...v0.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-07 14:37:45 +02:00
Joas Schilling 8d99fa3d7a fix(psalm): Update baseline
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-07 13:50:59 +02:00
Anna Larch 3472beba33 fix(ooo): don't catch general DB exceptions
Signed-off-by: Anna Larch <anna@nextcloud.com>
2025-10-07 11:37:18 +00:00
Marcel Klehr a8af145ae6 fix(TaskProcessing): Make sure list command int filter parameters are parsed as ints
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-07 09:39:15 +00:00
Josh 1e81f7293e fix(workflowenigne): stricter length headler handling
Fixes #55276 and tidies things up a bit more for future maintenance.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-10-07 10:27:21 +02:00
Kate f2051caaee Merge pull request #55599 from nextcloud/backport/55579/stable32 2025-10-07 08:51:01 +02:00
Marcel Klehr d82899e160 fix(TaskProcessing): Increase MAX_TASK_AGE to 6 months
to comply with the EU AI act

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-07 06:22:57 +00:00
Nextcloud bot a790ac589b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-07 00:13:26 +00:00
Kate b16626b6c4 Merge pull request #55540 from nextcloud/dependabot/composer/vendor-bin/openapi-extractor/stable32/nextcloud/openapi-extractor-1.8.5 2025-10-06 23:23:22 +02:00
dependabot[bot] 3f09f81458 Merge pull request #55546 from nextcloud/dependabot/npm_and_yarn/stable32/dockerode-4.0.9 2025-10-06 21:19:27 +00:00
dependabot[bot] b28a5e854a build(deps-dev): bump dockerode from 4.0.8 to 4.0.9
Bumps [dockerode](https://github.com/apocas/dockerode) from 4.0.8 to 4.0.9.
- [Release notes](https://github.com/apocas/dockerode/releases)
- [Commits](https://github.com/apocas/dockerode/compare/v4.0.8...v4.0.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 20:38:49 +00:00
Andy Scherzinger aa36f1c8f4 Merge pull request #55571 from nextcloud/backport/55358/stable32
[stable32] feat(test-case): allow to use PHPUnit Group attributes to mark tests requiring database
2025-10-06 22:32:40 +02:00
Kate 5678b63697 Merge pull request #55565 from nextcloud/backport/55434/stable32 2025-10-06 22:31:54 +02:00
Andy Scherzinger d634c4281e Merge pull request #55587 from nextcloud/backport/55586/stable32
[stable32] chore(CODEOWNERS): include mjs and cjs for frontend
2025-10-06 22:27:47 +02:00
Ferdinand Thiessen bcdd73695d chore(CODEOWNERS): include mjs and cjs for frontend
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-06 19:48:14 +00:00
Kate 691224e92a Merge pull request #55584 from nextcloud/backport/55576/stable32 2025-10-06 20:01:57 +02:00
Côme Chilliet 94620e2310 fix(ldap): Fix copying and creating LDAP configuration
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-10-06 16:22:27 +00:00
Daniel c285d82228 Merge pull request #55562 from nextcloud/backport/55560/stable32
[stable32] fix(setup): set dbtype value also for single-db
2025-10-06 17:25:09 +02:00
Kate 5a7994f3f4 Merge pull request #55570 from nextcloud/backport/55564/stable32 2025-10-06 15:39:00 +02:00
Thomas Citharel 4759e46516 feat(test-case): allow to use PHPUnit Group attributes to mark tests requiring database
Before that, only the annotation @group('DB') is possible to mark test classes as requiring the database. Now the \PHPUnit\Framework\Attributes\Group attribute can be used as long as PHPUnit 10+ is used.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-10-06 13:03:15 +00:00
provokateurin 42f8ebaf75 fix(files): Always return a valid mimetype
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-06 11:24:18 +00:00
Daniel Kesselberg 407ab49f8d chore(assets): Recompile assets
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-10-06 12:55:25 +02:00
Daniel Kesselberg 646b2545d5 fix(setup): set dbtype value also for single-db
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-10-06 12:55:25 +02:00
nfebe 14b047b921 fix(unified-search): Remove hard-coded search result limit
A change added in https://github.com/nextcloud/server/pull/45317 introduced
a hard stop (25) that prevents full search results from showing up.

If there are more than 25 search results for a query only 25 can be seen.

So two main issues:

- Only 25 results can be seen in total no matter what.
- Breaks web client pagination, which typically adds 5 results per request.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-10-06 08:52:51 +00:00
Arthur Schiwon 274cef169d Merge pull request #55515 from nextcloud/backport/55475/stable32
[stable32] fix(user_ldap): Fix configuration creation and copy
2025-10-06 09:59:08 +02:00
Nextcloud bot cecee1c8cc fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-06 00:13:15 +00:00
Kate 0ea197ee41 Merge pull request #55541 from nextcloud/dependabot/composer/vendor-bin/phpunit/stable32/phpunit/phpunit-10.5.58 2025-10-05 12:04:58 +02:00
Nextcloud bot a8c06a49cf fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-05 00:13:19 +00:00
dependabot[bot] 8e8b6ffb8a build(deps): bump phpunit/phpunit in /vendor-bin/phpunit
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 10.5.57 to 10.5.58.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/10.5.58/ChangeLog-10.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/10.5.57...10.5.58)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-04 01:28:32 +00:00
dependabot[bot] 5e1adb0191 build(deps): bump nextcloud/openapi-extractor
Bumps [nextcloud/openapi-extractor](https://github.com/nextcloud-releases/openapi-extractor) from 1.8.3 to 1.8.5.
- [Changelog](https://github.com/nextcloud-releases/openapi-extractor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-releases/openapi-extractor/compare/v1.8.3...v1.8.5)

---
updated-dependencies:
- dependency-name: nextcloud/openapi-extractor
  dependency-version: 1.8.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-04 01:28:20 +00:00
Nextcloud bot f5a525b060 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-04 00:13:20 +00:00
Ferdinand Thiessen 84b45058de Merge pull request #55523 from nextcloud/backport/55486/stable32
[stable32] Allow to remove a website in the user profile
2025-10-03 18:07:30 +02:00
Nextcloud bot 820308b48a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-03 00:14:44 +00:00
Christian Wolf a199b64fdf fix (settings): Fix build artifact
Signed-off-by: Christian Wolf <github@christianwolf.email>
2025-10-02 23:39:29 +02:00
Christian Wolf 6d228656ce fix (settings): Allow for empty websites in the profile to remove the entry completely
Signed-off-by: Christian Wolf <github@christianwolf.email>

[skip ci]
2025-10-02 18:51:54 +00:00
Côme Chilliet b42955456e fix(user_ldap): Fix configuration creation and copy
The endpoint was not correctly registering the new prefix.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-10-02 13:08:01 +00:00
Andy Scherzinger db4102b747 Merge pull request #55502 from nextcloud/backport/55176/stable32
[stable32] feat: add header with user id in response
2025-10-02 14:01:17 +02:00
Robin Appelman caa2762140 feat: add header with user id in response
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-10-02 08:30:06 +00:00
Kate 5b7afd87a7 Merge pull request #55489 from nextcloud/backport/55151/stable32 2025-10-02 10:18:21 +02:00
Kate 084be480e6 Merge pull request #55480 from nextcloud/backport/55461/stable32 2025-10-02 09:43:40 +02:00
provokateurin 5d1d9482f8 fix(IUserManager): Fix deprecation of search method
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-02 09:21:42 +02:00
Nextcloud bot 7645c54caa fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-02 00:13:44 +00:00
nfebe 2c103fe1d1 refactor(ShareApiController): Streamline share providers & add error logging
1. Consolidated the repetitive provider code into a clean loop
2. Added exception handling to log unexpected errors

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-10-01 16:26:25 +00:00
Joas Schilling 23911c61ae Merge pull request #55445 from nextcloud/automated/noid/stable32-update-code-signing-crl
[stable32] fix(security): Update code signing revocation list
2025-10-01 09:40:11 +02:00
nextcloud-command 803cbb4eaf fix(security): Update code signing revocation list
Signed-off-by: GitHub <noreply@github.com>
2025-10-01 02:39:20 +00:00
Nextcloud bot 0984e2d1d5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-01 00:13:41 +00:00
Andy Scherzinger 669c84c530 Merge pull request #55430 from nextcloud/backport/55260/stable32
[stable32] admin-delegation occ - add output option for show command to support JSON formats
2025-09-30 23:50:27 +02:00
Marcel Müller b19023b51f Merge pull request #55440 from nextcloud/backport/55420/stable32
[stable32] fix(appstore): Make appstore timeout configurable
2025-09-30 23:38:33 +02:00
Kate cc21984cd4 Merge pull request #55435 from nextcloud/backport/55426/stable32 2025-09-30 20:40:03 +02:00
Kate d9178c6b6b Merge pull request #55437 from nextcloud/backport/55422/stable32 2025-09-30 17:27:55 +02:00
Marcel Müller d92b1f3ad0 fix(appstore): Make appstore timeout configurable
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-09-30 15:18:59 +00:00
Marcel Müller d98d9d3c60 fix(appstore): Also catch ClientException and ServerException
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-09-30 14:03:10 +00:00
dependabot[bot] e036a08fdc Merge pull request #55340 from nextcloud/dependabot/npm_and_yarn/stable32/sass-1.93.2 2025-09-30 13:33:32 +00:00
Ferdinand Thiessen bdb7389e63 test: mock appstore response in Cypress tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-30 13:33:29 +00:00
dependabot[bot] 09a623f0b1 build(deps-dev): bump sass from 1.93.0 to 1.93.2
Bumps [sass](https://github.com/sass/dart-sass) from 1.93.0 to 1.93.2.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.93.0...1.93.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-30 13:06:17 +00:00
Misha M.-Kupriyanov f326b98c6e feat(admin-delegation): add JSON output support with validation
- Add --output option supporting plain, json, and json_pretty formats
- Add validateOutputFormat() method for input validation
- Implement proper error handling for invalid output formats
- Support empty state handling for both plain and JSON outputs
- Use Base class writeArrayInOutputFormat() for consistent JSON output
- Maintain backward compatibility with plain format as default

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-09-30 12:11:32 +00:00
Misha M.-Kupriyanov 6f00bc9aa9 refactor(admin-delegation): extract data collection logic to separate methods
- Extract collectDelegationData() method to eliminate code duplication
- Add formatSettingsData() method for consistent data formatting
- Add outputPlainFormat() method to separate concerns
- Add proper empty state handling with user-friendly message

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-09-30 12:11:32 +00:00
Misha M.-Kupriyanov 2a58db3ca0 refactor(admin-delegation): extract plain output to new function
prepare to add json output

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-09-30 12:11:32 +00:00
Misha M.-Kupriyanov d2394fcda6 chore(admin-delegation): remove unused settings variable
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-09-30 12:11:32 +00:00
dependabot[bot] 51a9df8e83 Merge pull request #55341 from nextcloud/dependabot/npm_and_yarn/stable32/puppeteer-24.22.3 2025-09-30 06:36:30 +00:00
Nextcloud bot c1300d2f59 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-30 00:13:45 +00:00
Andy Scherzinger 5653eea5f0 Merge pull request #55407 from nextcloud/backport/55394/stable32
[stable32] fix: small typo fix
2025-09-29 23:05:15 +02:00
Kate 58fea3adda Merge pull request #55411 from nextcloud/backport/55374/stable32 2025-09-29 19:04:36 +02:00
provokateurin 9985baeb09 fix(files): Stop overwriting scan_permissions
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-29 16:12:24 +00:00
yemkareems 8633dd58b1 fix: small typo fix
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-09-29 12:17:22 +00:00
Louis 10609e9cc4 Merge pull request #55301 from nextcloud/backport/55259/stable32 2025-09-29 12:28:07 +02:00
Simon L. f55d0eb913 Merge pull request #55402 from nextcloud/backport/55397/stable32
[stable32] revert: feat(core): Hide header in PWA
2025-09-29 12:10:37 +02:00
nextcloud-command 23f6f58be9 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-29 09:46:38 +00:00
Simon L. 89e9695cc7 revert: feat(core): Hide header in PWA
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-09-29 09:46:37 +00:00
Kate d494898e74 Merge pull request #55399 from nextcloud/backport/55375/stable32 2025-09-29 11:35:29 +02:00
nextcloud-command 43326a9bf7 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-29 09:24:12 +00:00
Louis Chemineau f320c19c85 feat(unified-search): Use existing min search length config
This setting existed already for the legacy unified search.
This commit expose that setting to the new front-end, and
also ignore non valid requests in the backend.

We also take the opportunity to register the config in the lexicon.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-29 10:55:51 +02:00
Louis Chemineau 004fbfc237 fix(unified-search): Add missing id prop to NcHeaderButton
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-29 10:55:51 +02:00
Côme Chilliet 2f3e2c0928 fix: Do not try to create lazy ghosts for PHP internal classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
(cherry picked from commit d51efd9735)
2025-09-29 10:42:43 +02:00
dependabot[bot] 7907eafcbd build(deps-dev): bump puppeteer from 24.22.0 to 24.22.3
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 24.22.0 to 24.22.3.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Changelog](https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.22.0...puppeteer-v24.22.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-29 09:29:55 +02:00
dependabot[bot] 7ccdda651c Merge pull request #55342 from nextcloud/dependabot/npm_and_yarn/stable32/tar-7.5.1 2025-09-29 07:06:30 +00:00
dependabot[bot] 1754809bb9 build(deps-dev): bump tar from 7.4.3 to 7.5.1
Bumps [tar](https://github.com/isaacs/node-tar) from 7.4.3 to 7.5.1.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v7.4.3...v7.5.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-29 08:49:52 +02:00
Nextcloud bot cf241dc86a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-29 00:13:34 +00:00
dependabot[bot] 26d46ecef9 Merge pull request #55337 from nextcloud/dependabot/npm_and_yarn/stable32/libphonenumber-js-1.12.23 2025-09-28 21:41:16 +00:00
nextcloud-command 22f6443875 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-28 21:17:21 +00:00
dependabot[bot] 802cb48957 build(deps): bump libphonenumber-js from 1.12.17 to 1.12.23
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.17 to 1.12.23.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.17...v1.12.23)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-28 23:10:07 +02:00
Marcel Müller 8709c3d5a0 Merge pull request #55386 from nextcloud/backport/55383/stable32
[stable32] fix(cache): Ensure unique global prefix per instanceid
2025-09-28 21:01:58 +02:00
Marcel Müller 9390b97d5f fix(cache): Ensure unique global prefix per instanceid
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-09-28 17:09:21 +00:00
Nextcloud bot 6a6eeb7469 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-28 00:13:26 +00:00
Kate 71be18dac4 Merge pull request #55303 from nextcloud/backport/55134/stable32 2025-09-27 16:35:07 +02:00
Ferdinand Thiessen 4700a5471f Merge pull request #55327 from nextcloud/backport/55313/stable32
[stable32] fix(sharing): ensure to check new password
2025-09-27 16:01:54 +02:00
dependabot[bot] 53f9132565 Merge pull request #55338 from nextcloud/dependabot/composer/build/integration/stable32/phpunit/phpunit-9.6.29 2025-09-27 13:38:46 +00:00
dependabot[bot] 2c78de960c build(deps-dev): bump phpunit/phpunit in /build/integration
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.27 to 9.6.29.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.29/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.27...9.6.29)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-27 13:20:44 +00:00
Kate 4da802a847 Merge pull request #55339 from nextcloud/dependabot/composer/vendor-bin/phpunit/stable32/phpunit/phpunit-10.5.57 2025-09-27 15:19:31 +02:00
nextcloud-command b21d8e7ac1 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-27 12:23:39 +00:00
Ferdinand Thiessen 5d7e3af78c Merge pull request #55323 from nextcloud/carl/oc-systemtags-deprecated
[stable32] feat: Mark OC.SystemTags as deprecated
2025-09-27 14:23:20 +02:00
Ferdinand Thiessen 875b48bbe3 fix(sharing): ensure to check new password
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-27 14:15:50 +02:00
Benjamin Gaussorgues 5ee29decb0 Merge pull request #55354 from nextcloud/release/32.0.0 2025-09-27 09:50:23 +02:00
Worker Builder 74f3e0a55d build(hub): 32.0.0
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2025-09-27 07:41:35 +00:00
dependabot[bot] d1ab722c72 build(deps): bump phpunit/phpunit in /vendor-bin/phpunit
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 10.5.55 to 10.5.57.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/10.5.57/ChangeLog-10.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/10.5.55...10.5.57)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-27 01:16:44 +00:00
Nextcloud bot bed3c20bb9 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-27 00:13:42 +00:00
provokateurin ed1282c4d3 chore(assets): Recompile assets
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-26 19:16:18 +02:00
provokateurin 4c9b04ed26 fix(core): Stop abusing the cache for avatar upload
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-26 19:11:30 +02:00
Maxence Lange a4fee42b0e fix(ocm): ignore cache if not setup
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-26 16:58:55 +00:00
nextcloud-command 692f21e5f1 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-26 16:53:43 +00:00
Carl Schwan 7e58251c29 feat: Mark OC.SystemTags as deprecated
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-26 17:18:07 +02:00
Nextcloud bot 3ae56aa8d2 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-26 00:13:46 +00:00
Benjamin Gaussorgues f4ec0576b4 Merge pull request #55298 from nextcloud/release/32.0.0_rc4 2025-09-25 15:27:51 +02:00
Benjamin Gaussorgues 036875d1cc Merge pull request #55305 from nextcloud/backport/55296/stable32 2025-09-25 15:27:04 +02:00
Marco Ambrosini 3a4fb03915 fix(ui): Update assistant text gradient
Signed-off-by: Marco Ambrosini <marcoambrosini@proton.me>
2025-09-25 12:48:04 +00:00
Andy Scherzinger bb94f3bde7 Merge pull request #55295 from nextcloud/backport/55290/stable32
[stable32] fix: Stop infinite loop in ExpireTrash
2025-09-25 11:34:50 +02:00
Worker Builder d645ec027d build(hub): 32.0.0 RC4
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2025-09-25 09:26:12 +00:00
Marcel Müller b27cbdba35 fix: Stop infinite loop in ExpireTrash
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-09-25 07:15:35 +00:00
Nextcloud bot bd79a28379 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-25 00:13:27 +00:00
Richard Steinmetz 5d15948c3b fix: create room/resource calendar synchronously
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-09-24 20:41:42 +00:00
Nextcloud bot 1cf61a59e0 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-24 00:13:38 +00:00
Nextcloud bot 50331f5e4f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-23 13:31:31 +00:00
Nextcloud bot a9c131825a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-23 12:50:42 +00:00
Andy Scherzinger 2678e982f8 Merge pull request #55270 from nextcloud/backport/55128/stable32
[stable32] chore(i18n): Fixed grammar
2025-09-23 14:35:57 +02:00
rakekniven 8bdd513b16 chore(i18n): Fixed grammar
Reported at Transifex

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-09-23 12:35:30 +00:00
Daniel b27df85147 Merge pull request #55192 from nextcloud/backport/55185/stable32
[stable32] Update calendar-availability-vue to v2.2.11 (TrashCanOutline)
2025-09-23 14:34:34 +02:00
Daniel Kesselberg c107736604 chore(assets): Recompile assets
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-09-23 12:38:32 +02:00
Daniel Kesselberg 3c73d33588 chore: update @nextcloud/calendar-availability-vue to v2.2.11
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-09-23 12:37:02 +02:00
Nextcloud bot b68feeeb8c fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-23 00:13:38 +00:00
Andy Scherzinger be238f64d2 Merge pull request #55256 from nextcloud/backport/55170/stable32
[stable32] feat(db): add SSL/TLS support for PostgreSQL
2025-09-22 16:05:37 +02:00
Benjamin Gaussorgues e6e89d0ea1 feat(db): add SSL/TLS support for PostgreSQL
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-09-22 14:55:29 +02:00
Ferdinand Thiessen 44955d93ba fix(encryption): do not setup filesystem without permissions
If the current request does not have permissions for the filesystem we
must not try to setup the filesystem.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-22 09:44:25 +00:00
Andy Scherzinger af64922dd3 Merge pull request #55239 from nextcloud/backport/55196/stable32
[stable32] fix(ocm-invites): add route to invite accept dialog
2025-09-22 11:31:25 +02:00
Andy Scherzinger 7719f3b337 Merge pull request #55249 from nextcloud/backport/55172/stable32
[stable32] fix: added bluesky link
2025-09-22 11:16:48 +02:00
yemkareems 971edc4a16 fix: added bluesky link
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-09-22 07:33:47 +00:00
Nextcloud bot 0eda3a3f9c fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-22 00:13:32 +00:00
Andy Scherzinger ea592bc820 Merge pull request #55246 from nextcloud/backport/55237/stable32
[stable32] fix(github): add labels and milestone to PR checklist
2025-09-21 21:56:13 +02:00
Edward Ly 17e51646ec fix(github): add labels and milestone to PR checklist
Signed-off-by: Edward Ly <contact@edward.ly>
2025-09-21 19:54:52 +00:00
Maxence Lange 71551254b1 fix(ocm-invites): add route to invite accept dialog
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-21 12:05:11 +00:00
Andy Scherzinger ac2e3132a1 Merge pull request #55208 from nextcloud/dependabot/npm_and_yarn/stable32/nextcloud/dialogs-6.3.2
[stable32] build(deps): bump @nextcloud/dialogs from 6.3.1 to 6.3.2
2025-09-21 13:36:02 +02:00
nextcloud-command e2c08ccd68 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-21 10:58:22 +00:00
dependabot[bot] e7187e6e82 build(deps): bump @nextcloud/dialogs from 6.3.1 to 6.3.2
Bumps [@nextcloud/dialogs](https://github.com/nextcloud-libraries/nextcloud-dialogs) from 6.3.1 to 6.3.2.
- [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/v6.3.1...v6.3.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-21 12:50:34 +02:00
Andy Scherzinger 5a15843e41 Merge pull request #55203 from nextcloud/dependabot/npm_and_yarn/stable32/simplewebauthn/browser-13.2.0
[stable32] build(deps): bump @simplewebauthn/browser from 13.1.2 to 13.2.0
2025-09-21 11:25:50 +02:00
Andy Scherzinger ae6ac0b10c Merge pull request #55210 from nextcloud/dependabot/npm_and_yarn/stable32/dompurify-3.2.7
[stable32] build(deps): bump dompurify from 3.2.6 to 3.2.7
2025-09-21 11:11:47 +02:00
nextcloud-command 3f707ab083 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-21 08:58:30 +00:00
dependabot[bot] d4dde167b0 build(deps): bump @simplewebauthn/browser from 13.1.2 to 13.2.0
Bumps [@simplewebauthn/browser](https://github.com/MasterKale/SimpleWebAuthn/tree/HEAD/packages/browser) from 13.1.2 to 13.2.0.
- [Release notes](https://github.com/MasterKale/SimpleWebAuthn/releases)
- [Changelog](https://github.com/MasterKale/SimpleWebAuthn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/MasterKale/SimpleWebAuthn/commits/v13.2.0/packages/browser)

---
updated-dependencies:
- dependency-name: "@simplewebauthn/browser"
  dependency-version: 13.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-21 10:48:53 +02:00
nextcloud-command 3074509bb1 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-21 08:48:34 +00:00
dependabot[bot] 1ac2e87be0 build(deps): bump dompurify from 3.2.6 to 3.2.7
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.2.6 to 3.2.7.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.2.6...3.2.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-21 10:41:21 +02:00
Andy Scherzinger 060c0b6829 Merge pull request #55209 from nextcloud/dependabot/npm_and_yarn/stable32/query-string-9.3.1
[stable32] build(deps): bump query-string from 9.3.0 to 9.3.1
2025-09-21 10:40:25 +02:00
nextcloud-command 911f0505d3 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-21 08:16:30 +00:00
dependabot[bot] b3de0799a3 build(deps): bump query-string from 9.3.0 to 9.3.1
Bumps [query-string](https://github.com/sindresorhus/query-string) from 9.3.0 to 9.3.1.
- [Release notes](https://github.com/sindresorhus/query-string/releases)
- [Commits](https://github.com/sindresorhus/query-string/compare/v9.3.0...v9.3.1)

---
updated-dependencies:
- dependency-name: query-string
  dependency-version: 9.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-21 10:09:11 +02:00
Andy Scherzinger 1f434492a1 Merge pull request #55238 from nextcloud/dependabot/npm_and_yarn/stable32/msw-2.11.3
[stable32] build(deps-dev): bump msw from 2.11.2 to 2.11.3
2025-09-21 09:30:47 +02:00
Andy Scherzinger 0790aac25a Merge pull request #55213 from nextcloud/dependabot/npm_and_yarn/stable32/marked-16.3.0
[stable32] build(deps): bump marked from 16.2.1 to 16.3.0
2025-09-21 09:30:09 +02:00
Nextcloud bot dd9b023d0a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-21 00:13:22 +00:00
dependabot[bot] daf78e8671 build(deps-dev): bump msw from 2.11.2 to 2.11.3
Bumps [msw](https://github.com/mswjs/msw) from 2.11.2 to 2.11.3.
- [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.11.2...v2.11.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-20 21:47:31 +00:00
nextcloud-command 2245c351e7 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-20 21:04:29 +00:00
dependabot[bot] 9fa1e39ff4 build(deps): bump marked from 16.2.1 to 16.3.0
Bumps [marked](https://github.com/markedjs/marked) from 16.2.1 to 16.3.0.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json)
- [Commits](https://github.com/markedjs/marked/compare/v16.2.1...v16.3.0)

---
updated-dependencies:
- dependency-name: marked
  dependency-version: 16.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-20 22:52:00 +02:00
Andy Scherzinger 1475dec46f Merge pull request #55206 from nextcloud/dependabot/npm_and_yarn/stable32/sass-1.93.0
[stable32] build(deps-dev): bump sass from 1.92.1 to 1.93.0
2025-09-20 22:46:31 +02:00
Andy Scherzinger ba50833582 Merge pull request #55211 from nextcloud/dependabot/npm_and_yarn/stable32/color-5.0.2
[stable32] build(deps): bump color from 5.0.0 to 5.0.2
2025-09-20 22:44:08 +02:00
Andy Scherzinger 09a40651d8 Merge pull request #55204 from nextcloud/dependabot/composer/build/integration/stable32/phpunit/phpunit-9.6.27
[stable32] build(deps-dev): bump phpunit/phpunit from 9.6.26 to 9.6.27 in /build/integration
2025-09-20 22:40:14 +02:00
Andy Scherzinger d39b227733 Merge pull request #55205 from nextcloud/dependabot/composer/vendor-bin/phpunit/stable32/phpunit/phpunit-10.5.55
[stable32] build(deps): bump phpunit/phpunit from 10.5.54 to 10.5.55 in /vendor-bin/phpunit
2025-09-20 22:39:16 +02:00
Andy Scherzinger 099eceb95e Merge pull request #55212 from nextcloud/dependabot/npm_and_yarn/stable32/cypress-split-1.24.23
[stable32] build(deps-dev): bump cypress-split from 1.24.21 to 1.24.23
2025-09-20 22:36:08 +02:00
Andy Scherzinger c52f85db8b Merge pull request #55214 from nextcloud/dependabot/npm_and_yarn/stable32/puppeteer-24.22.0
[stable32] build(deps-dev): bump puppeteer from 24.20.0 to 24.22.0
2025-09-20 22:34:47 +02:00
Andy Scherzinger 359492fc7f Merge pull request #55207 from nextcloud/dependabot/npm_and_yarn/stable32/types/dockerode-3.3.44
[stable32] build(deps-dev): bump @types/dockerode from 3.3.43 to 3.3.44
2025-09-20 22:31:20 +02:00
Andy Scherzinger ef1c565055 Merge pull request #55229 from nextcloud/dependabot/npm_and_yarn/stable32/nextcloud/axios-2.5.2
[stable32] build(deps): bump @nextcloud/axios from 2.5.1 to 2.5.2
2025-09-20 21:58:04 +02:00
nextcloud-command db8d88a40f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-20 14:05:21 +00:00
dependabot[bot] a9c75a6b17 build(deps): bump @nextcloud/axios from 2.5.1 to 2.5.2
Bumps [@nextcloud/axios](https://github.com/nextcloud-libraries/nextcloud-axios) from 2.5.1 to 2.5.2.
- [Release notes](https://github.com/nextcloud-libraries/nextcloud-axios/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-axios/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/nextcloud-axios/compare/v2.5.1...v2.5.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-20 14:03:08 +00:00
Andy Scherzinger fd05414547 Merge pull request #55174 from nextcloud/backport/54788/stable32
[stable32] feat(files_sharing): provide web components based API for sidebar
2025-09-20 14:48:00 +02:00
dependabot[bot] 7be9c30308 build(deps-dev): bump puppeteer from 24.20.0 to 24.22.0
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 24.20.0 to 24.22.0.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Changelog](https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.20.0...puppeteer-v24.22.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-20 01:24:45 +00:00
dependabot[bot] 0a14be5801 build(deps-dev): bump cypress-split from 1.24.21 to 1.24.23
Bumps [cypress-split](https://github.com/bahmutov/cypress-split) from 1.24.21 to 1.24.23.
- [Release notes](https://github.com/bahmutov/cypress-split/releases)
- [Commits](https://github.com/bahmutov/cypress-split/compare/v1.24.21...v1.24.23)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-20 01:23:16 +00:00
dependabot[bot] d2ff185ced build(deps): bump color from 5.0.0 to 5.0.2
Bumps [color](https://github.com/Qix-/color) from 5.0.0 to 5.0.2.
- [Release notes](https://github.com/Qix-/color/releases)
- [Commits](https://github.com/Qix-/color/compare/5.0.0...5.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-20 01:22:41 +00:00
dependabot[bot] 36679ad249 build(deps-dev): bump @types/dockerode from 3.3.43 to 3.3.44
Bumps [@types/dockerode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/dockerode) from 3.3.43 to 3.3.44.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/dockerode)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-20 01:20:15 +00:00
dependabot[bot] b87cc181ce build(deps-dev): bump sass from 1.92.1 to 1.93.0
Bumps [sass](https://github.com/sass/dart-sass) from 1.92.1 to 1.93.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.92.1...1.93.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-20 01:19:40 +00:00
dependabot[bot] 9561dd4cf2 build(deps): bump phpunit/phpunit in /vendor-bin/phpunit
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 10.5.54 to 10.5.55.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/10.5.55/ChangeLog-10.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/10.5.54...10.5.55)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-20 01:19:32 +00:00
dependabot[bot] 1b9968da99 build(deps-dev): bump phpunit/phpunit in /build/integration
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.26 to 9.6.27.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.27/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.26...9.6.27)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-20 01:19:20 +00:00
Nextcloud bot 48468be475 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-20 00:13:32 +00:00
Andy Scherzinger 5e674ee1c0 Merge pull request #55195 from nextcloud/backport/55180/stable32
[stable32] fix(comments): add inline container size query to comment body
2025-09-19 21:40:38 +02:00
nextcloud-command 968df43c4c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-19 15:59:58 +00:00
Edward Ly 32a90cae92 fix(comments): add inline container size query to comment body
This helps to restore missing overflow behavior to the comments header
when a user's display name exceeds the sidebar width.

Signed-off-by: Edward Ly <contact@edward.ly>
2025-09-19 15:59:58 +00:00
Joas Schilling 4aeb24ffc9 Merge pull request #55189 from nextcloud/backport/55183/stable32
[stable32] fix(trashbin): Translate Nextcloud exception to Sabre exception
2025-09-19 15:39:03 +02:00
Joas Schilling 36b7a96174 fix(trashbin): Translate Nextcloud exception to Sabre exception
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-09-19 12:52:03 +00:00
Nextcloud bot 6c8d2c8957 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-19 00:13:50 +00:00
nextcloud-command e83fe3679c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-18 17:33:17 +00:00
Ferdinand Thiessen 86a0552d58 feat(files_sharing): provide web-components based sidebar API
This fixes apps providing vue components, which is invalid and does not

always work - and never work with Vue 3.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-18 16:28:29 +02:00
Ferdinand Thiessen a7f7ae2770 fix(files): pass Node to FileInfo object
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-18 16:22:51 +02:00
Benjamin Gaussorgues 59e9d19e83 Merge pull request #55162 from nextcloud/release/32.0.0_rc3 2025-09-18 15:00:14 +02:00
Andy Scherzinger af9077b322 Merge pull request #55146 from nextcloud/backport/54736/stable32
[stable32] fix: always use english name for recently contacted category
2025-09-18 10:51:36 +02:00
Andy Scherzinger 7415f7f846 Merge pull request #55167 from nextcloud/fix/noid/trigger-app-settings-migration
[stable32] fix(lexicon): trigger email indexing
2025-09-18 10:24:45 +02:00
Andy Scherzinger b0dbf25a97 Merge pull request #55165 from nextcloud/backport/55153/stable32
[stable32] fix(TaskProcessing): Cache task types by user language
2025-09-18 10:22:54 +02:00
Maxence Lange 3803048cc8 fix(lexicon): trigger email indexing
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-18 07:15:03 -01:00
Andy Scherzinger 7514029104 Merge pull request #55154 from nextcloud/backport/53919/stable32
[stable32] fix: make sure default contact exists by default
2025-09-18 09:29:16 +02:00
Marcel Klehr 04a33be489 fix(TaskProcessing): Cache task types by
user language

fixes https://github.com/nextcloud/assistant/issues/357

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-09-18 07:23:55 +00:00
Worker Builder 30eedd3697 build(hub): 32.0.0 RC3
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2025-09-18 06:30:48 +00:00
Nextcloud bot 24080941ef fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-18 00:13:36 +00:00
Andy Scherzinger 5bfc3e4fb0 Merge pull request #55159 from nextcloud/backport/55139/stable32
[stable32] fix(userconfig): set 'mail' as indexed
2025-09-17 20:36:13 +02:00
Maxence Lange 545f930ab3 fix(userconfig): crop configvalue at 64 before index
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-17 18:07:01 +00:00
Maxence Lange ce5964cd58 fix(userconfig): using api bit functions
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-17 18:07:01 +00:00
Maxence Lange 6cc697e476 fix(userconfig): set 'mail' as indexed
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-17 18:07:00 +00:00
Daniel Kesselberg ca4dd9eb55 fix: always use english name for recently contacted category
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-09-17 18:19:58 +02:00
Joas Schilling 85ef043a6f Merge pull request #55145 from nextcloud/backport/2140/stable32
[stable32] build: Update 3rdparty ignorelist
2025-09-17 17:04:08 +02:00
Andy Scherzinger 8db191407e Merge pull request #55098 from nextcloud/dependabot/npm_and_yarn/stable32/wait-on-8.0.5
[stable32] build(deps-dev): bump wait-on from 8.0.4 to 8.0.5
2025-09-17 13:49:11 +02:00
Hamza a3fbc67648 fix: make sure default contact exists by default
Signed-off-by: Hamza <hamzamahjoubi221@gmail.com>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-09-17 10:01:19 +00:00
Joas Schilling 5136281404 build: Update 3rdparty ignorelist
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-09-17 11:16:54 +02:00
Stephan Orbaugh a0de176ecb Merge pull request #55152 from nextcloud/backport/55142/stable32
[stable32] fix: Allow hyphen in appid
2025-09-17 09:27:42 +02:00
nextcloud-command a674eb8216 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-17 05:39:15 +00:00
dependabot[bot] 9c65b0ccfe [stable32] build(deps-dev): bump wait-on from 8.0.4 to 8.0.5
Dependabot couldn't find the original pull request head commit, abd830c269ef4c95d102f2243e8678fe604c5ce5.
2025-09-17 07:32:10 +02:00
Nextcloud bot d676667cc2 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-17 00:13:37 +00:00
Côme Chilliet 4c4af010f0 fix: Allow hyphen in appid
It’s rare but exists for some apps not in the appstore.
Also added unit tests for cleanAppId and fixed small issues with it.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-16 21:47:03 +00:00
Andy Scherzinger 9d0402208a Merge pull request #55138 from nextcloud/backport/55133/stable32
[stable32] fix: handleIMip undefined array key
2025-09-16 21:48:25 +02:00
Andy Scherzinger 4853ea0f2c Merge pull request #55150 from nextcloud/backport/55141/stable32
[stable32] fix(Updater): Lower deadlock log level from warning to info
2025-09-16 21:40:46 +02:00
Louis Chemineau 6defeaa119 fix(Updater): Lower deadlock log level from warning to info
If this is safe to ignore, then it does not make sense to keep warning the admins.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-16 16:19:39 +00:00
SebastianKrupinski e04fd0850f fix: handleIMip undefined array key
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-09-16 12:26:00 +00:00
Nextcloud bot f595d32c57 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-16 00:13:42 +00:00
Andy Scherzinger ace73c8356 Merge pull request #55127 from nextcloud/backport/55122/stable32
[stable32] fix: Dispatch favorite event with an actual path
2025-09-15 19:38:06 +02:00
Louis Chemineau 7b632f6175 fix(TagsTest): Declare rootFolder property
It was not caught by the CI on master, but is blocking in the backports.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-15 17:09:54 +02:00
Louis Chemineau 431f6d7c87 fix: Dispatch favorite event with an actual path
The `$path` argument was added in https://github.com/nextcloud/server/pull/48612, but was never actually used by the callers. The path was therefore missing in the favorite/unfavorite events, which lead to a broken activity information.

I also added a fallback to handle `addToFavorites` and `removeFromFavorites`, which are part of a public API, and are calling `tagAs` and `untag` without `$path`.

Fix https://github.com/nextcloud/activity/issues/2134

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-15 14:38:53 +00:00
Andy Scherzinger be23649d4e Merge pull request #55082 from nextcloud/backport/55073/stable32
[stable32] fix(files_sharing): use `newPassword` always for the unsaved password
2025-09-15 13:07:48 +02:00
nextcloud-command b6590810ce chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-15 10:46:54 +00:00
Ferdinand Thiessen 7e0262e47c fix(files_sharing): use newPassword always for the unsaved password
`newPassword` is the unsaved password, while `share.password` is the

current saved password.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-15 12:39:41 +02:00
Andy Scherzinger f97187545a Merge pull request #55096 from nextcloud/dependabot/npm_and_yarn/stable32/mime-4.1.0
[stable32] build(deps-dev): bump mime from 4.0.7 to 4.1.0
2025-09-15 08:36:42 +02:00
Nextcloud bot 1ccff76342 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-15 00:13:23 +00:00
nextcloud-command cb5a7760a0 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-14 19:35:56 +00:00
dependabot[bot] 8272a9b49c build(deps-dev): bump mime from 4.0.7 to 4.1.0
Bumps [mime](https://github.com/broofa/mime) from 4.0.7 to 4.1.0.
- [Release notes](https://github.com/broofa/mime/releases)
- [Changelog](https://github.com/broofa/mime/blob/main/CHANGELOG.md)
- [Commits](https://github.com/broofa/mime/compare/v4.0.7...v4.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-14 21:28:30 +02:00
Andy Scherzinger e1d64873ec Merge pull request #55088 from nextcloud/backport/50532/stable32
[stable32] fix(contactsmenu): adjust padding to new design
2025-09-14 21:07:47 +02:00
Andy Scherzinger 19b5ae5d4f Merge pull request #55095 from nextcloud/dependabot/composer/vendor-bin/phpunit/stable32/phpunit/phpunit-10.5.54
[stable32] build(deps): bump phpunit/phpunit from 10.5.53 to 10.5.54 in /vendor-bin/phpunit
2025-09-14 21:06:25 +02:00
Andy Scherzinger ced6cb8602 Merge pull request #55094 from nextcloud/dependabot/composer/build/integration/stable32/phpunit/phpunit-9.6.26
[stable32] build(deps-dev): bump phpunit/phpunit from 9.6.25 to 9.6.26 in /build/integration
2025-09-14 21:06:06 +02:00
nextcloud-command 55cd86c343 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-14 18:46:12 +00:00
Richard Steinmetz a583a7d02c fix(contactsmenu): adjust padding to new design
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-09-14 20:08:05 +02:00
Nextcloud bot 1ba09f5bb1 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-14 00:13:23 +00:00
Andy Scherzinger f4da63a3c7 Merge pull request #55099 from nextcloud/dependabot/npm_and_yarn/stable32/libphonenumber-js-1.12.17
[stable32] build(deps): bump libphonenumber-js from 1.12.15 to 1.12.17
2025-09-13 19:28:17 +02:00
nextcloud-command 9066baf99a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-13 05:28:10 +00:00
dependabot[bot] 33c1aea43a build(deps): bump libphonenumber-js from 1.12.15 to 1.12.17
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.15 to 1.12.17.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.15...v1.12.17)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-13 01:18:24 +00:00
dependabot[bot] 140160f1ef build(deps): bump phpunit/phpunit in /vendor-bin/phpunit
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 10.5.53 to 10.5.54.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/10.5.54/ChangeLog-10.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/10.5.53...10.5.54)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-13 01:15:36 +00:00
dependabot[bot] 3f7003890b build(deps-dev): bump phpunit/phpunit in /build/integration
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.25 to 9.6.26.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.26/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.25...9.6.26)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-13 01:15:28 +00:00
Nextcloud bot b958db07f3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-13 00:13:26 +00:00
Nextcloud bot 5b61605429 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-12 14:08:34 +00:00
Andy Scherzinger a16b4209d4 Merge pull request #55028 from nextcloud/dependabot/npm_and_yarn/stable32/puppeteer-24.20.0
[stable32] build(deps-dev): bump puppeteer from 24.19.0 to 24.20.0
2025-09-12 15:42:06 +02:00
Andy Scherzinger b54b98d78b Merge pull request #55084 from nextcloud/backport/55074/stable32
[stable32] fix(settings): rename "Settings presets" to "Quick presets"
2025-09-12 15:41:34 +02:00
Ferdinand Thiessen ea8c574a26 fix(settings): rename "Settings presets" to "Quick presets"
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-12 13:41:10 +00:00
Andy Scherzinger 42a1191cbd Merge pull request #55078 from nextcloud/backport/55006/stable32
[stable32] fix(ownCloud): ensure that `accounts.display_name` fits into `users.displayname`
2025-09-12 15:21:18 +02:00
Andy Scherzinger f7f8b0c1ec Merge pull request #55076 from nextcloud/backport/54958/stable32
[stable32] fix(unified-search): make sure date range option is translated
2025-09-12 14:57:32 +02:00
Ferdinand Thiessen 156eca4727 fix: use mb_substr
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-12 10:50:50 +00:00
Ferdinand Thiessen e67ee5d895 fix(ownCloud): ensure that accounts.display_name fits into users.displayname
`user.displayname` only allows 64 characters but old `accounts.display_name` allowed 255 characters.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-12 10:50:50 +00:00
nextcloud-command 54078938c1 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-12 10:15:44 +00:00
Ferdinand Thiessen 7216060854 fix(unified-search): make sure date range option is translated
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-12 10:15:44 +00:00
dependabot[bot] 271f4e3304 build(deps-dev): bump puppeteer from 24.19.0 to 24.20.0
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 24.19.0 to 24.20.0.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Changelog](https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.19.0...puppeteer-v24.20.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-12 08:36:10 +02:00
Andy Scherzinger c8f8563cca Merge pull request #55037 from nextcloud/dependabot/npm_and_yarn/stable32/zip.js/zip.js-2.8.2
[stable32] build(deps-dev): bump @zip.js/zip.js from 2.7.73 to 2.8.2
2025-09-12 08:35:34 +02:00
Andy Scherzinger 4a58b79ee2 Merge pull request #55035 from nextcloud/dependabot/npm_and_yarn/stable32/query-string-9.3.0
[stable32] build(deps): bump query-string from 9.2.2 to 9.3.0
2025-09-12 08:25:27 +02:00
Andy Scherzinger 8b62215c70 Merge pull request #55033 from nextcloud/dependabot/npm_and_yarn/stable32/msw-2.11.2
[stable32] build(deps-dev): bump msw from 2.11.1 to 2.11.2
2025-09-12 08:24:55 +02:00
Nextcloud bot 87d54102e4 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-12 00:13:41 +00:00
dependabot[bot] 519fa63014 build(deps-dev): bump msw from 2.11.1 to 2.11.2
Bumps [msw](https://github.com/mswjs/msw) from 2.11.1 to 2.11.2.
- [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.11.1...v2.11.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-11 23:10:49 +02:00
nextcloud-command 72622f551d chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-11 21:04:27 +00:00
dependabot[bot] 55314e7e62 build(deps): bump query-string from 9.2.2 to 9.3.0
Bumps [query-string](https://github.com/sindresorhus/query-string) from 9.2.2 to 9.3.0.
- [Release notes](https://github.com/sindresorhus/query-string/releases)
- [Commits](https://github.com/sindresorhus/query-string/compare/v9.2.2...v9.3.0)

---
updated-dependencies:
- dependency-name: query-string
  dependency-version: 9.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-11 22:51:33 +02:00
dependabot[bot] 97aebfa4b0 build(deps-dev): bump @zip.js/zip.js from 2.7.73 to 2.8.2
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.7.73 to 2.8.2.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.7.73...v2.8.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-11 22:42:04 +02:00
Andy Scherzinger 8dce0197d6 Merge pull request #55038 from nextcloud/dependabot/npm_and_yarn/stable32/stylelint-16.24.0
[stable32] build(deps-dev): bump stylelint from 16.23.1 to 16.24.0
2025-09-11 22:41:22 +02:00
Andy Scherzinger 59afdf9d5c Merge pull request #55042 from nextcloud/dependabot/npm_and_yarn/stable32/dockerode-4.0.8
[stable32] build(deps-dev): bump dockerode from 4.0.7 to 4.0.8
2025-09-11 22:32:47 +02:00
Andy Scherzinger 4b183c3d62 Merge pull request #55060 from nextcloud/backport/54316/stable32
[stable32] feat(encryption): Add integration tests for occ commands and fix them
2025-09-11 22:27:08 +02:00
dependabot[bot] 4bfe44aaeb build(deps-dev): bump stylelint from 16.23.1 to 16.24.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.23.1 to 16.24.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/16.23.1...16.24.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-11 21:20:38 +02:00
Côme Chilliet 51f8379140 chore(encryption): Remove unused attribute $uid in KeyManager::getFileKey
It’s a private API in the application, no need to keep an unused
 attribute.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-11 21:18:37 +02:00
Côme Chilliet b28aa8bda2 chore: Improve wording of logged error in apps/encryption/lib/KeyManager.php
Co-authored-by: Louis <louis@chmn.me>
Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2025-09-11 21:18:37 +02:00
Côme Chilliet e66e2fb6e1 fix(tests): Fix type issues and other problems with encryption tests
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-11 21:18:37 +02:00
Côme Chilliet bccec549e5 fix(encryption): Take encryption enabled status into account
shouldEncrypt now returns false for all paths if encryption is disabled.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-11 21:18:37 +02:00
Côme Chilliet feef3cfa7d fix(encryption): Correctly set encrypted to 0 when copying
If encryption got disabled, copying should set encrypted to 0 for the
 new unencrypted copy. For instance when using encryption:decrypt-all

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-11 21:18:37 +02:00
Côme Chilliet 419711cd85 chore(encryption): Cleanup typing in EncryptAll/DecryptAll
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-11 21:18:37 +02:00
Côme Chilliet a889e29e6d chore(tests): Adapt encryption tests to code changes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-11 21:18:37 +02:00
Côme Chilliet 3c818c8f92 fix(encryption): Do not depend upon user in session unless really necessary
Should fix a bunch of stuff when encryption listener is triggered by events from occ commands or background jobs

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-11 21:18:37 +02:00
Côme Chilliet de8777aae4 feat(encryption): Add integration tests for occ commands
Add tests for encrypt-all and decrypt-all.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-11 21:18:37 +02:00
Andy Scherzinger bf3d809f41 Merge pull request #55040 from nextcloud/dependabot/npm_and_yarn/stable32/nextcloud/upload-1.11.0
[stable32] build(deps): bump @nextcloud/upload from 1.10.0 to 1.11.0
2025-09-11 21:17:27 +02:00
dependabot[bot] 1366619ff7 build(deps-dev): bump dockerode from 4.0.7 to 4.0.8
Bumps [dockerode](https://github.com/apocas/dockerode) from 4.0.7 to 4.0.8.
- [Release notes](https://github.com/apocas/dockerode/releases)
- [Commits](https://github.com/apocas/dockerode/compare/v4.0.7...v4.0.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-11 21:13:52 +02:00
Andy Scherzinger 25b5d29a4c Merge pull request #55064 from nextcloud/backport/55027/stable32
[stable32] fix(PWA): fix standalone window margins
2025-09-11 21:12:52 +02:00
nextcloud-command 51285a20d0 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-11 18:02:49 +00:00
Simon L. a48ea8b5e5 fix(PWA): fix standalone window margins
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-09-11 18:02:49 +00:00
Matthieu Gallien 582d32a20c Merge pull request #55051 from nextcloud/automated/noid/stable32-update-code-signing-crl
[stable32] fix(security): Update code signing revocation list
2025-09-11 17:02:52 +02:00
nextcloud-command 4e77b774c0 fix(security): Update code signing revocation list
Signed-off-by: GitHub <noreply@github.com>
2025-09-11 15:00:02 +00:00
Benjamin Gaussorgues 9cfa5ea21f Merge pull request #55000 from nextcloud/release/32.0.0_rc2 2025-09-11 15:24:58 +02:00
nextcloud-command 72e5f91e69 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-11 13:17:27 +00:00
dependabot[bot] 722c810f66 build(deps): bump @nextcloud/upload from 1.10.0 to 1.11.0
Bumps [@nextcloud/upload](https://github.com/nextcloud-libraries/nextcloud-upload) from 1.10.0 to 1.11.0.
- [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.10.0...v1.11.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-11 12:57:50 +00:00
Nextcloud bot 818bed2470 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-11 00:13:55 +00:00
Andy Scherzinger 6133f655aa Merge pull request #55023 from nextcloud/backport/55013/stable32
[stable32] fix(auth): allow access to dynamic js files during 2FA
2025-09-11 01:13:08 +02:00
Christoph Wurst 90d2f6f659 fix(auth): allow access to dynamic js files during 2FA
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-09-10 23:51:41 +02:00
Andy Scherzinger 0e9bd9e7f8 Merge pull request #55020 from nextcloud/backport/55014/stable32
[stable32] feat(ZipFolderPlugin): always use the parent folder name as archive name
2025-09-10 23:51:20 +02:00
Ferdinand Thiessen 482690d80b feat(ZipFolderPlugin): always use the parent folder name as archive name
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-10 21:11:47 +00:00
Nextcloud bot 297817a18c fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-10 19:34:43 +00:00
Andy Scherzinger b652116494 Merge pull request #55018 from nextcloud/backport/55015/stable32
[stable32] fix(user-status): adjust user status icon size
2025-09-10 21:08:09 +02:00
Andy Scherzinger d8e6334e0c Merge pull request #55017 from nextcloud/backport/55016/stable32
[stable32] fix: update transifex link
2025-09-10 21:05:01 +02:00
nextcloud-command a72b0e2f54 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-10 18:17:01 +00:00
nextcloud-command e83c1a3a25 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-10 18:10:01 +00:00
Ferdinand Thiessen 13a49ff1ef fix(user-status): adjust user status icon size
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-10 17:53:03 +00:00
Daniel Kesselberg 6081777582 fix: update transifex link
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-09-10 19:51:42 +02:00
Andy Scherzinger fe65c757d3 Merge pull request #54960 from nextcloud/chore/update-stable32-dbal
[stable32] chore(deps): update `doctrine/dbal` to v3.10.2
2025-09-10 14:08:31 +02:00
Ferdinand Thiessen b9699fc4c7 chore(deps): update doctrine/dbal to v3.10.2
* Fixes the problem with MariaDB 11 and `vector` keyword, see https://github.com/nextcloud/recognize/issues/1352

| Production Changes | From  | To      | Compare                                                        |
|--------------------|-------|---------|----------------------------------------------------------------|
| doctrine/cache     | 2.2.0 | REMOVED |                                                                |
| doctrine/dbal      | 3.9.4 | 3.10.2  | [...](https://github.com/doctrine/dbal/compare/3.9.4...3.10.2) |

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-10 12:06:05 +02:00
Andy Scherzinger ce6a0b7133 Merge pull request #54982 from nextcloud/automated/noid/stable32-update-ca-cert-bundle
[stable32] fix(security): Update CA certificate bundle
2025-09-10 09:13:05 +02:00
Worker Builder 288414a318 build(hub): 32.0.0 RC2
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2025-09-10 07:06:58 +00:00
Andy Scherzinger 3ddf70094b Merge pull request #54996 from nextcloud/backport/54919/stable32
[stable32] fix: don't show object size warning if we can't determine the object size
2025-09-10 08:52:38 +02:00
Robin Appelman 8ce364e838 fix: don't show object size warning if we can't determine the object size
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-09-10 05:51:18 +00:00
Andy Scherzinger 767db6489e Merge pull request #54972 from nextcloud/backport/54950/stable32
[stable32] fix(files_trashbin): Fix size propagation when moving file to trash
2025-09-10 07:12:10 +02:00
nextcloud-command adb7151b0b fix(security): Update CA certificate bundle
Signed-off-by: GitHub <noreply@github.com>
2025-09-10 02:32:16 +00:00
Nextcloud bot 2e9e5f696d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-10 00:14:02 +00:00
Andy Scherzinger 1a59222c7c Merge pull request #54973 from nextcloud/backport/54653/stable32
[stable32] fix: Avoid internal error when logging in with the wrong account to verify email address
2025-09-09 23:22:19 +02:00
Andy Scherzinger e3460acb0f Merge pull request #54976 from nextcloud/backport/54968/stable32
[stable32] perf(mounts): avoid array_merge in mounts loop
2025-09-09 17:31:31 +02:00
Benjamin Gaussorgues 6db16b18c9 perf(mounts): avoid array_merge in mounts loop
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-09-09 14:33:21 +00:00
Côme Chilliet 98c38589ca fix: Use HintException instead of InvalidArgumentException
To carry translated error messages intended for the end user,
 HintException is the correct class.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-09 13:48:44 +00:00
Côme Chilliet 289c7b493c fix: Avoid internal error when logging in with the wrong account to verify email address
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-09 13:48:44 +00:00
provokateurin 2b57ab7d78 fix(files_trashbin): Fix size propagation when moving file to trash
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-09 13:36:57 +00:00
Andy Scherzinger 8f0126752f Merge pull request #54964 from nextcloud/backport/54957/stable32
[stable32] fix: remove loading removed script
2025-09-09 14:29:52 +02:00
Ferdinand Thiessen 49ff1cf1f2 fix: remove loading removed script
* ref: https://github.com/nextcloud/server/pull/54656

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-09 13:14:53 +02:00
Andy Scherzinger 11d7762d0d Merge pull request #54872 from nextcloud/dependabot/composer/build/integration/stable32/phpunit/phpunit-9.6.25
[stable32] build(deps-dev): bump phpunit/phpunit from 9.6.21 to 9.6.25 in /build/integration
2025-09-09 13:14:23 +02:00
Andy Scherzinger ba55d7e867 Merge pull request #54967 from nextcloud/backport/52825/stable32
[stable32] feat(files_trashbin): Refactor expire background job to support parallel run
2025-09-09 13:13:30 +02:00
Andy Scherzinger 4ecdda41ee Merge pull request #54892 from nextcloud/dependabot/npm_and_yarn/stable32/libphonenumber-js-1.12.15
[stable32] build(deps): bump libphonenumber-js from 1.12.13 to 1.12.15
2025-09-09 12:17:07 +02:00
nextcloud-command 2add88c02f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-09 09:42:11 +00:00
dependabot[bot] f8f7af9d2c build(deps): bump libphonenumber-js from 1.12.13 to 1.12.15
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.12.13 to 1.12.15.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.12.13...v1.12.15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-09 11:34:57 +02:00
Andy Scherzinger 70457ecb75 Merge pull request #54884 from nextcloud/dependabot/composer/build/integration/stable32/symfony/event-dispatcher-6.4.25
[stable32] build(deps-dev): bump symfony/event-dispatcher from 6.4.13 to 6.4.25 in /build/integration
2025-09-09 11:34:16 +02:00
Andy Scherzinger 93ea44b0a8 Merge pull request #54879 from nextcloud/dependabot/composer/vendor-bin/phpunit/stable32/phpunit/phpunit-10.5.53
[stable32] build(deps): bump phpunit/phpunit from 10.5.35 to 10.5.53 in /vendor-bin/phpunit
2025-09-09 11:26:33 +02:00
Louis Chemineau a90299e197 feat(files_trashbin): Refactor expire background job to support parallel run
- Follow-up of #51600

The original PR introduced the possibility to continue an `ExpireTrash` job by saving the offset. This was to prevent having to start over the whole user list when the job crashed or was killed.

But on big instances, one process is not enough to go through all the users in a timely manner. Supporting parallel run allows covering more ground faster.

This PR introduced this possibility. We are now storing the offset right away to allow another parallel job to pick up the task at that point. We are arbitrarily cutting the user list in chunk of 10 to not drastically overflow the 30 minutes time limit.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-09 08:26:57 +00:00
Louis Chemineau bc0cdcf496 feat: Support limit argument in getSeenUsers
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-09 08:26:56 +00:00
dependabot[bot] c3c3f8b56a build(deps-dev): bump phpunit/phpunit in /build/integration
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.21 to 9.6.25.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.25/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.21...9.6.25)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-09 09:57:55 +02:00
dependabot[bot] a6c6507197 build(deps-dev): bump symfony/event-dispatcher in /build/integration
Bumps [symfony/event-dispatcher](https://github.com/symfony/event-dispatcher) from 6.4.13 to 6.4.25.
- [Release notes](https://github.com/symfony/event-dispatcher/releases)
- [Changelog](https://github.com/symfony/event-dispatcher/blob/7.3/CHANGELOG.md)
- [Commits](https://github.com/symfony/event-dispatcher/compare/v6.4.13...v6.4.25)

---
updated-dependencies:
- dependency-name: symfony/event-dispatcher
  dependency-version: 6.4.25
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-09 09:57:36 +02:00
dependabot[bot] 3aa6c69121 build(deps): bump phpunit/phpunit in /vendor-bin/phpunit
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 10.5.35 to 10.5.53.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/10.5.53/ChangeLog-10.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/10.5.35...10.5.53)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-09 09:48:46 +02:00
Andy Scherzinger e0fa21e1a6 Merge pull request #54902 from nextcloud/backport/54853/stable32
[stable32] fix: TypeError: this.fetchDisplayName is not a function
2025-09-09 09:42:24 +02:00
Andy Scherzinger 1670259cc4 Merge pull request #54865 from nextcloud/backport/54854/stable32
[stable32] style(contactsmenu): properly align contacts menu actions
2025-09-09 09:41:49 +02:00
nextcloud-command 2a82402851 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-09 07:22:17 +00:00
Kent Delante 41ae376c45 style(contactsmenu): properly align contacts menu actions
Signed-off-by: Kent Delante <kent.delante@proton.me>
2025-09-09 07:20:18 +00:00
Andy Scherzinger 1c972dd81d Merge pull request #54861 from nextcloud/backport/54842/stable32
[stable32] feat(migration-attributes): add DataCleansing
2025-09-09 09:15:43 +02:00
Andy Scherzinger 922eae94ab Merge pull request #54881 from nextcloud/dependabot/npm_and_yarn/stable32/msw-2.11.1
[stable32] build(deps-dev): bump msw from 2.10.5 to 2.11.1
2025-09-09 09:14:38 +02:00
nextcloud-command 9ceefedc4f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-09 07:07:36 +00:00
Andy Scherzinger 3ea0e95294 Merge pull request #54873 from nextcloud/dependabot/npm_and_yarn/stable32/testing-library/cypress-10.1.0
[stable32] build(deps-dev): bump @testing-library/cypress from 10.0.3 to 10.1.0
2025-09-09 09:05:57 +02:00
SebastianKrupinski 6774420fd0 fix: TypeError: this.fetchDisplayName is not a function
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-09-09 07:05:41 +00:00
Andy Scherzinger 636a2dcb11 Merge pull request #54931 from nextcloud/dependabot/npm_and_yarn/stable32/nextcloud/sharing-0.3.0
[stable32] chore(deps): bump @nextcloud/sharing from 0.2.5 to 0.3.0
2025-09-09 08:57:20 +02:00
Andy Scherzinger 6908454e5a Merge pull request #54956 from nextcloud/backport/54951/stable32
[stable32] fix: calculate node limit using MiB instead of MB
2025-09-09 08:56:40 +02:00
nextcloud-command ceb2464c6c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-09 06:10:47 +00:00
dependabot[bot] 9b2ab38aeb build(deps-dev): bump msw from 2.10.5 to 2.11.1
Bumps [msw](https://github.com/mswjs/msw) from 2.10.5 to 2.11.1.
- [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.10.5...v2.11.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-09 06:04:15 +00:00
dependabot[bot] 664a57b878 chore(deps): bump @nextcloud/sharing from 0.2.5 to 0.3.0
Bumps @nextcloud/sharing from 0.2.5 to 0.3.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-09 08:02:42 +02:00
Andy Scherzinger 6b614c6eaa Merge pull request #54929 from nextcloud/dependabot/npm_and_yarn/stable32/puppeteer-24.19.0
[stable32] chore(deps-dev): bump puppeteer from 24.17.0 to 24.19.0
2025-09-09 08:02:08 +02:00
Andy Scherzinger d5e63dd885 Merge pull request #54930 from nextcloud/dependabot/npm_and_yarn/stable32/sass-1.92.1
[stable32] chore(deps-dev): bump sass from 1.90.0 to 1.92.1
2025-09-09 07:49:33 +02:00
Andy Scherzinger e5d1b9b983 Merge pull request #54945 from nextcloud/backport/54941/stable32
[stable32] fix(cache): Set default Redis port to `0` for UNIX sockets
2025-09-09 07:49:00 +02:00
Andy Scherzinger 7ff176a5bd Merge pull request #54961 from nextcloud/backport/54922/stable32
[stable32] feat: show object store instance in info:file
2025-09-09 07:44:06 +02:00
Andy Scherzinger fc4407418b Merge pull request #54948 from nextcloud/backport/54565/stable32
[stable32] fix(encryption): Correctly set encrypted to 0 when copying
2025-09-09 07:32:45 +02:00
Nextcloud bot 824fb2eb3c fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-09 00:15:34 +00:00
nextcloud-command 8ec0fe3b60 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-09-08 20:57:40 +00:00
Robin Appelman 1ac2ea877e feat: show object store instance in info:file
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-09-08 22:54:40 +02:00
Andy Scherzinger bc9104066d Merge pull request #54895 from nextcloud/dependabot/npm_and_yarn/stable32/zip.js/zip.js-2.7.73
[stable32] build(deps-dev): bump @zip.js/zip.js from 2.7.72 to 2.7.73
2025-09-08 22:49:14 +02:00
Andy Scherzinger dfaad9845f Merge pull request #54906 from nextcloud/backport/54870/stable32
[stable32] fix: remove executable flag from source files
2025-09-08 22:46:22 +02:00
Louis Chemineau 2e2994d6a4 fix(encryption): Correctly set encrypted to 0 when copying
If encryption got disabled, copying should set encrypted to 0 for the
 new unencrypted copy. For instance when using encryption:decrypt-all

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-08 22:35:57 +02:00
Richard Steinmetz 9d10a12f0c fix: calculate node limit using MiB instead of MB
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-09-08 22:33:32 +02:00
Andy Scherzinger 49ff126452 Merge pull request #54952 from nextcloud/backport/54920/stable32
[stable32] fix: ensure all object store configuration have distict bucket names
2025-09-08 22:23:01 +02:00
Robin Appelman a8ee28ba62 fix: ensure all object store configuration have distict bucket names
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-09-08 13:23:47 +00:00
Josh 7993190bc6 fix(cache): Set default Redis port to 0 for UNIX sockets
When using phpredis with a UNIX socket, the port should either not be specified at all or be `<1`. 

https://github.com/phpredis/phpredis?tab=readme-ov-file#connect-open

https://github.com/phpredis/phpredis/blob/d0b0c5cfdde9d49a265ca4bf7184e3998863aed0/library.c#L3332-L3334

Fixes #54813

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-08 09:12:07 +00:00
Nextcloud bot c6623752c3 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-08 00:13:41 +00:00
Nextcloud bot 2bb6609fb2 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-07 00:14:48 +00:00
dependabot[bot] 6bc6a10eea chore(deps-dev): bump sass from 1.90.0 to 1.92.1
Bumps [sass](https://github.com/sass/dart-sass) from 1.90.0 to 1.92.1.
- [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.90.0...1.92.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-06 01:20:20 +00:00
dependabot[bot] 3931f4d32a chore(deps-dev): bump puppeteer from 24.17.0 to 24.19.0
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 24.17.0 to 24.19.0.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Changelog](https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.17.0...puppeteer-v24.19.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-06 01:19:45 +00:00
Nextcloud bot 77389f2900 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-06 00:13:40 +00:00
Andy Scherzinger 77974aebed Merge pull request #54917 from nextcloud/backport/54848/stable32
[stable32] Add task processing manager method to get the list of available task type IDs
2025-09-05 12:50:38 +02:00
Julien Veyssier 412e60dea3 feat(taskprocessing): add tests for getAvailableTaskTypeIds
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-09-05 10:10:39 +00:00
Julien Veyssier 856bb1e162 feat(taskprocessing): add manager method to get the list of available task type IDs
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-09-05 10:10:39 +00:00
Daniel 36d7b4aa9a Merge pull request #54910 from nextcloud/backport/54907/stable32
[stable32] chore(flake): update haze to 2.1.2
2025-09-05 10:56:03 +02:00
Nextcloud bot 0b1bc1171a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-05 00:13:55 +00:00
Ferdinand Thiessen 1538fa9e49 fix: remove executable flag from source files
(exceptions for real scripts, but source files never should be executable)

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-05 01:20:07 +02:00
Robin Appelman 49b53fb60c chore(flake): update haze to 2.1.2
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-09-04 19:03:33 +00:00
dependabot[bot] 23fcd29593 build(deps-dev): bump @zip.js/zip.js from 2.7.72 to 2.7.73
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.7.72 to 2.7.73.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.7.72...v2.7.73)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 13:44:27 +00:00
dependabot[bot] d04e16317d build(deps-dev): bump @testing-library/cypress from 10.0.3 to 10.1.0
Bumps [@testing-library/cypress](https://github.com/testing-library/cypress-testing-library) from 10.0.3 to 10.1.0.
- [Release notes](https://github.com/testing-library/cypress-testing-library/releases)
- [Changelog](https://github.com/testing-library/cypress-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/cypress-testing-library/compare/v10.0.3...v10.1.0)

---
updated-dependencies:
- dependency-name: "@testing-library/cypress"
  dependency-version: 10.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 12:03:22 +00:00
Marcel Klehr e15eb8b2b4 Merge pull request #54863 from nextcloud/backport/54810/stable32
[stable32] feat(SystemTag): Add typed events for tag mapper events
2025-09-04 13:38:38 +02:00
Joas Schilling eee5f28eb5 Merge pull request #54868 from nextcloud/backport/54858/stable32
[stable32] fix(security): Update Expires time
2025-09-04 11:32:16 +02:00
Joas Schilling 92dc7a8416 fix(security): Update Expires time
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-09-04 09:32:00 +00:00
Benjamin Gaussorgues e5aae19cbb Merge pull request #54864 from nextcloud/release/32.0.0_rc1 2025-09-04 11:29:55 +02:00
Joas Schilling 038196a82c Merge pull request #54862 from nextcloud/branchoff/welcome-stable32
[stable32] Welcome stable32
2025-09-04 11:28:12 +02:00
Worker Builder 4c14af3859 build(hub): 32.0.0 RC1
Signed-off-by: Worker Builder <worker-builder@nextcloud.com>
2025-09-04 09:23:51 +00:00
Marcel Klehr c7b5031656 feat(SystemTag): Add typed events for tag mapper events
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-09-04 09:21:13 +00:00
Joas Schilling 394d5e2b1d chore: Update 3rdparty/ commit hash
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-09-04 11:11:11 +02:00
Joas Schilling 595971729e fix: Adjust branch name in server files
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-09-04 11:04:57 +02:00
Joas Schilling f296af3066 ci: Adjust branches of apps used in tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-09-04 11:03:04 +02:00
Joas Schilling 82aecde85d build: Adjust checkout branch script
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-09-04 11:02:01 +02:00
Maxence Lange fa1680c56a feat(since-checker): check statement for /lib/public/migration/attributes
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-04 09:02:00 +00:00
Maxence Lange 80656e5ebc feat(migration-attributes): set as Consumable
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-04 09:02:00 +00:00
Maxence Lange 7c38a4d117 feat(migration-attributes): missing attributes
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-04 09:02:00 +00:00
Maxence Lange e6b9c575ad feat(migration-attributes): add DataCleansing
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-04 09:02:00 +00:00
2887 changed files with 55557 additions and 95998 deletions
+44 -46
View File
@@ -4,35 +4,33 @@ ARG DEBIAN_FRONTEND=noninteractive
# PHP
RUN apt-get update -y && \
apt install -y apache2 vim software-properties-common sudo nano gnupg2 wget curl git \
lsb-release ca-certificates apt-transport-https && \
add-apt-repository ppa:ondrej/php -y && \
apt-get update -y
apt install -y apache2 vim software-properties-common sudo nano gnupg2
RUN apt-get install --no-install-recommends -y \
php8.4 \
php8.4-common \
php8.4-gd \
php8.4-zip \
php8.4-curl \
php8.4-xml \
php8.4-xmlrpc \
php8.4-mbstring \
php8.4-sqlite \
php8.4-xdebug \
php8.4-pgsql \
php8.4-intl \
php8.4-imagick \
php8.4-gmp \
php8.4-apcu \
php8.4-bcmath \
php8.4-redis \
php8.4-soap \
php8.4-imap \
php8.4-opcache \
php8.4-cli \
php8.4-dev \
php8.3 \
php8.3-common \
php8.3-gd \
php8.3-zip \
php8.3-curl \
php8.3-xml \
php8.3-xmlrpc \
php8.3-mbstring \
php8.3-sqlite \
php8.3-xdebug \
php8.3-pgsql \
php8.3-intl \
php8.3-imagick \
php8.3-gmp \
php8.3-apcu \
php8.3-bcmath \
php8.3-redis \
php8.3-soap \
php8.3-imap \
php8.3-opcache \
php8.3-cli \
php8.3-dev \
libmagickcore-6.q16-7-extra \
curl \
lsof \
make \
unzip
@@ -44,39 +42,39 @@ RUN curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php && \
php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
rm /tmp/composer-setup.php /tmp/composer-setup.sig
RUN echo "xdebug.remote_enable = 1" >> /etc/php/8.4/cli/conf.d/20-xdebug.ini && \
echo "xdebug.remote_autostart = 1" >> /etc/php/8.4/cli/conf.d/20-xdebug.ini && \
echo "apc.enable_cli=1" >> /etc/php/8.4/cli/conf.d/20-apcu.ini
RUN echo "xdebug.remote_enable = 1" >> /etc/php/8.3/cli/conf.d/20-xdebug.ini && \
echo "xdebug.remote_autostart = 1" >> /etc/php/8.3/cli/conf.d/20-xdebug.ini && \
echo "apc.enable_cli=1" >> /etc/php/8.3/cli/conf.d/20-apcu.ini
# Autostart XDebug for apache
RUN { \
echo "xdebug.mode=debug"; \
echo "xdebug.start_with_request=yes"; \
} >> /etc/php/8.4/apache2/conf.d/20-xdebug.ini
} >> /etc/php/8.3/apache2/conf.d/20-xdebug.ini
# Increase PHP memory limit to 512mb
RUN sed -i 's/memory_limit = .*/memory_limit = 512M/' /etc/php/8.4/apache2/php.ini
RUN sed -i 's/memory_limit = .*/memory_limit = 512M/' /etc/php/8.3/apache2/php.ini
# Docker CLI only (for controlling host Docker via socket)
RUN install -m 0755 -d /etc/apt/keyrings && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc && \
chmod a+r /etc/apt/keyrings/docker.asc && \
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null && \
# Docker
RUN apt-get -y install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable" && \
apt-get update -y && \
apt-get install -y docker-ce-cli && \
apt-get install -y docker-ce docker-ce-cli containerd.io && \
ln -s /var/run/docker-host.sock /var/run/docker.sock
# Dedicated DevContainer user runs Apache
ENV APACHE_RUN_USER=devcontainer
ENV APACHE_RUN_GROUP=devcontainer
# Delete any existing user/group with UID/GID 1000 first
RUN (getent passwd 1000 && userdel -r $(getent passwd 1000 | cut -d: -f1)) || true && \
(getent group 1000 && groupdel $(getent group 1000 | cut -d: -f1)) || true && \
groupadd -g 1000 ${APACHE_RUN_GROUP} && \
useradd -u 1000 -g 1000 -ms /bin/bash ${APACHE_RUN_USER} && \
RUN useradd -ms /bin/bash ${APACHE_RUN_USER} && \
adduser ${APACHE_RUN_USER} sudo && \
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \
sed -ri "s/^export APACHE_RUN_USER=.*$/export APACHE_RUN_USER=${APACHE_RUN_USER}/" "/etc/apache2/envvars" && \
@@ -86,6 +84,6 @@ USER devcontainer
# NVM
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
RUN bash --login -i -c 'source /home/devcontainer/.bashrc && nvm install 22'
RUN bash --login -i -c 'source /home/devcontainer/.bashrc && nvm install 16'
WORKDIR /var/www/html
+1
View File
@@ -1,5 +1,6 @@
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
version: '3'
services:
nextclouddev:
build: .
+1 -6
View File
@@ -5,9 +5,4 @@
#
# Set git safe.directory
git config --global --add safe.directory /var/www/html
git config --global --add safe.directory /var/www/html/3rdparty
# Ensure devcontainer user has access to docker socket
if [ -S /var/run/docker.sock ]; then
sudo chmod 666 /var/run/docker.sock
fi
git config --global --add safe.directory /var/www/html/3rdparty
+14
View File
@@ -0,0 +1,14 @@
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
# Ignoring folders for eslint
node_modules/
3rdparty/
**/vendor/
**/l10n/
**/js/*
*.config.js
tests/lib/
apps-extra
# TODO: remove when comments files is not using handlebar templates anymore
apps/comments/src/templates.js
+60
View File
@@ -0,0 +1,60 @@
/**
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
module.exports = {
globals: {
__webpack_nonce__: true,
_: true,
$: true,
dayNames: true,
escapeHTML: true,
firstDay: true,
moment: true,
oc_userconfig: true,
sinon: true,
},
plugins: [
'cypress',
],
extends: [
'@nextcloud/eslint-config/typescript',
'plugin:cypress/recommended',
],
rules: {
'comma-dangle': 'error',
'no-tabs': 'warn',
// TODO: make sure we fix this as this is bad vue coding style.
// Use proper sync modifier
'vue/no-mutating-props': 'warn',
'vue/custom-event-name-casing': ['error', 'kebab-case', {
// allows custom xxxx:xxx events formats
ignores: ['/^[a-z]+(?:-[a-z]+)*:[a-z]+(?:-[a-z]+)*$/u'],
}],
'vue/html-self-closing': 'error',
},
settings: {
jsdoc: {
mode: 'typescript',
},
'import/resolver': {
typescript: {}, // this loads <rootdir>/tsconfig.json to eslint
},
},
overrides: [
// Allow any in tests
{
files: ['**/*.spec.ts'],
rules: {
'@typescript-eslint/no-explicit-any': 'warn',
},
},
{
files: ['*.vue'],
rules: {
'no-irregular-whitespace': 'off',
'vue/no-irregular-whitespace': 'error',
},
},
],
}
-4
View File
@@ -19,7 +19,3 @@ af6de04e9e141466dc229e444ff3f146f4a34765
b06f5ba4c47450f355a8903c1a93ac68e8c6cfc2
# Update to coding-standard 1.4.0
5981b7eb512aa411f51cad541d01c5c6e93476f0
# Migrate `and` `or` operators to logical `&&` `||` operators
660f3f6fd1ae5539b8f74bfa48859d1b9f1e6abf
# Migrate to ESLint v9 enforced code style
91f3b6b4ee60e0f8bb6e21f92d5bc52e4cebe657
+11 -11
View File
@@ -31,9 +31,9 @@ package-lock.json @nextcloud/server-dependabot
/apps/contactsinteraction/lib @kesselb @SebastianKrupinski
/apps/contactsinteraction/tests @kesselb @SebastianKrupinski
/apps/dashboard/appinfo/info.xml @julien-nc @juliusknorr
/apps/dav/lib/CalDAV @ChristophWurst @SebastianKrupinski @tcitworld
/apps/dav/lib/CalDAV @st3iny @SebastianKrupinski @tcitworld
/apps/dav/lib/CardDAV @hamza221 @SebastianKrupinski
/apps/dav/tests/unit/CalDAV @ChristophWurst @SebastianKrupinski @tcitworld
/apps/dav/tests/unit/CalDAV @st3iny @SebastianKrupinski @tcitworld
/apps/dav/tests/unit/CardDAV @hamza221 @SebastianKrupinski
/apps/encryption/appinfo/info.xml @come-nc @icewind1991
/apps/federatedfilesharing/appinfo/info.xml @icewind1991 @danxuliu
@@ -50,7 +50,7 @@ package-lock.json @nextcloud/server-dependabot
/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/twofactor_backupcodes/appinfo/info.xml @st3iny @miaulalala @ChristophWurst
/apps/updatenotification/appinfo/info.xml @JuliaKirschenheuter @sorbaugh
/apps/user_ldap/appinfo/info.xml @come-nc @blizzz
/apps/user_status/appinfo/info.xml @Antreesy @nickvergessen
@@ -72,9 +72,9 @@ package-lock.json @nextcloud/server-dependabot
# Two-Factor Authentication
# https://github.com/nextcloud/wg-two-factor-authentication#members
**/TwoFactorAuth @ChristophWurst @miaulalala @nickvergessen
/apps/twofactor_backupcodes @ChristophWurst @miaulalala @nickvergessen
/core/templates/twofactor* @ChristophWurst @miaulalala @nickvergessen
**/TwoFactorAuth @ChristophWurst @miaulalala @nickvergessen @st3iny
/apps/twofactor_backupcodes @ChristophWurst @miaulalala @nickvergessen @st3iny
/core/templates/twofactor* @ChristophWurst @miaulalala @nickvergessen @st3iny
# Limit login to IP
# Watch login routes for https://github.com/nextcloud/limit_login_to_ip
@@ -96,16 +96,16 @@ ResponseDefinitions.php @provokateurin @nextcloud/server-backend
*/Notifications/* @nickvergessen @nextcloud/talk-backend
# Groupware team
/build/integration/dav_features/caldav.feature @ChristophWurst @SebastianKrupinski @tcitworld
/build/integration/dav_features/caldav.feature @st3iny @SebastianKrupinski @tcitworld
/build/integration/dav_features/carddav.feature @hamza221 @SebastianKrupinski
/lib/private/Calendar @ChristophWurst @SebastianKrupinski @tcitworld
/lib/private/Calendar @st3iny @SebastianKrupinski @tcitworld
/lib/private/Contacts @hamza221 @SebastianKrupinski
/lib/public/Calendar @ChristophWurst @SebastianKrupinski @tcitworld
/lib/public/Calendar @st3iny @SebastianKrupinski @tcitworld
/lib/public/Contacts @hamza221 @SebastianKrupinski
# Desktop client teamn
/apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php @nextcloud/desktop
# Personal interest
*/Activity/* @nickvergessen @nextcloud/server-backend
/apps/workflowengine/lib @nickvergessen @blizzz
*/Activity/* @nickvergessen @nextcloud/server-backend
/apps/workflowengine/lib @nickvergessen @blizzz
+1 -1
View File
@@ -71,9 +71,9 @@ body:
Select Nextcloud Server version.
_Versions not listed here are not maintained and not supported anymore_
options:
- "29"
- "30"
- "31"
- "32"
- "master"
validations:
required: true
+5 -8
View File
@@ -38,10 +38,7 @@ updates:
# Main master npm frontend dependencies
- package-ecosystem: npm
directories:
- "/"
- "/build/frontend"
- "/build/frontend-legacy"
directory: "/"
schedule:
interval: weekly
day: saturday
@@ -57,7 +54,7 @@ updates:
# Latest stable release
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable32
target-branch: stable31
directories:
- "/"
- "/build/integration"
@@ -81,7 +78,7 @@ updates:
# Latest stable branch
# frontend dependencies
- package-ecosystem: npm
target-branch: stable32
target-branch: stable31
directory: "/"
schedule:
interval: weekly
@@ -103,7 +100,7 @@ updates:
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable31
target-branch: stable30
directories:
- "/"
- "/build/integration"
@@ -126,7 +123,7 @@ updates:
# frontend dependencies
- package-ecosystem: npm
target-branch: stable31
target-branch: stable30
directory: "/"
schedule:
interval: weekly
+2 -2
View File
@@ -46,7 +46,7 @@ jobs:
strategy:
matrix:
php-versions: ['8.2']
php-versions: ['8.1']
name: PHP checkers
@@ -75,7 +75,7 @@ jobs:
strategy:
matrix:
php-versions: ['8.2']
php-versions: ['8.1']
name: Translation and Files checkers
+3 -5
View File
@@ -32,18 +32,16 @@ jobs:
build-mode: none
steps:
- name: Checkout repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
uses: actions/checkout@v5
- name: Initialize CodeQL
uses: github/codeql-action/init@5d5cd550d3e189c569da8f16ea8de2d821c9bf7a # v3.31.2
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql-config.yml
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@5d5cd550d3e189c569da8f16ea8de2d821c9bf7a # v3.31.2
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
+1 -1
View File
@@ -124,7 +124,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ steps.package-engines-versions.outputs.nodeVersion }}
cache: npm
+14 -14
View File
@@ -72,7 +72,7 @@ jobs:
fallbackNpm: "^10"
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -102,8 +102,8 @@ jobs:
matrix:
# Run multiple copies of the current job in parallel
# Please increase the number or runners as your tests suite grows (0 based index for e2e tests)
containers: ['setup', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
# Hack as strategy.job-total includes the "setup" and GitHub does not allow math expressions
containers: ['component', 'setup', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
# Hack as strategy.job-total includes the component and GitHub does not allow math expressions
# Always align this number with the total of e2e runners (max. index + 1)
total-containers: [10]
@@ -163,7 +163,7 @@ jobs:
path: ./
- name: Set up node ${{ needs.init.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ needs.init.outputs.nodeVersion }}
@@ -194,7 +194,6 @@ jobs:
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
@@ -206,19 +205,20 @@ jobs:
cypress/snapshots
cypress/videos
- name: Show logs
- name: Extract NC logs
if: failure() && matrix.containers != 'component'
run: |
for id in $(docker ps -aq); do
docker container inspect "$id" --format '=== Logs for container {{.Name}} ==='
docker logs "$id" >> nextcloud.log
done
echo '=== Nextcloud server logs ==='
docker exec nextcloud-e2e-test-server_${{ env.APP_NAME }} cat data/nextcloud.log
run: docker logs nextcloud-cypress-tests_${{ env.APP_NAME }} > nextcloud.log
- name: Upload NC logs
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
if: failure() && matrix.containers != 'component'
with:
name: nc_logs_${{ matrix.containers }}
path: nextcloud.log
- name: Create data dir archive
if: failure() && matrix.containers != 'component'
run: docker exec nextcloud-e2e-test-server_${{ env.APP_NAME }} tar -cvjf - data > data.tar
run: docker exec nextcloud-cypress-tests_${{ env.APP_NAME }} tar -cvjf - data > data.tar
- name: Upload data dir archive
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
+2 -2
View File
@@ -45,10 +45,10 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.2', '8.4']
php-versions: ['8.1', '8.4']
ftpd: ['proftpd', 'vsftpd', 'pure-ftpd']
include:
- php-versions: '8.2'
- php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-${{ matrix.ftpd }}
+2 -2
View File
@@ -45,7 +45,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.2', '8.4']
php-versions: ['8.1', '8.2', '8.4']
include:
- php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
@@ -134,7 +134,7 @@ jobs:
strategy:
matrix:
php-versions: ['8.2', '8.4']
php-versions: ['8.1', '8.2', '8.4']
include:
- php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
+2 -2
View File
@@ -45,10 +45,10 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.2', '8.4']
php-versions: ['8.1', '8.4']
sftpd: ['openssh']
include:
- php-versions: '8.2'
- php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-${{ matrix.sftpd }}
@@ -67,10 +67,10 @@ jobs:
- name: Pull images
run: |
docker pull ghcr.io/icewind1991/samba-krb-test-dc
docker pull ghcr.io/icewind1991/samba-krb-test-apache-gssapi:8.4
docker pull ghcr.io/icewind1991/samba-krb-test-apache
docker pull ghcr.io/icewind1991/samba-krb-test-client
docker tag ghcr.io/icewind1991/samba-krb-test-dc icewind1991/samba-krb-test-dc
docker tag ghcr.io/icewind1991/samba-krb-test-apache-gssapi:8.4 icewind1991/samba-krb-test-apache-gssapi
docker tag ghcr.io/icewind1991/samba-krb-test-apache icewind1991/samba-krb-test-apache
docker tag ghcr.io/icewind1991/samba-krb-test-client icewind1991/samba-krb-test-client
- name: Setup AD-DC
+2 -1
View File
@@ -45,8 +45,9 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
include:
- php-versions: '8.2'
- php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-smb
+1 -1
View File
@@ -45,7 +45,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4']
php-versions: ['8.1', '8.2', '8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
+1 -1
View File
@@ -44,7 +44,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4']
php-versions: ['8.1', '8.2', '8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
+1 -1
View File
@@ -45,7 +45,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
php-versions: ['8.1']
endpoint: ['old', 'new']
service: ['CalDAV', 'CardDAV']
+1 -1
View File
@@ -45,7 +45,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
php-versions: ['8.1']
endpoint: ['webdav', 'dav']
name: Litmus WebDAV ${{ matrix.endpoint }}
+1 -1
View File
@@ -45,7 +45,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
php-versions: ['8.1']
key: ['objectstore', 'objectstore_multibucket']
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
+3 -3
View File
@@ -73,9 +73,9 @@ jobs:
- 'theming_features'
- 'videoverification_features'
php-versions: ['8.4']
spreed-versions: ['main']
activity-versions: ['master']
php-versions: ['8.1']
spreed-versions: ['stable32']
activity-versions: ['stable32']
services:
redis:
+1 -1
View File
@@ -68,7 +68,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
+1 -1
View File
@@ -47,7 +47,7 @@ jobs:
strategy:
matrix:
php-versions: [ '8.2', '8.3', '8.4' ]
php-versions: [ '8.1', '8.2', '8.3', '8.4' ]
name: php-lint
+1 -1
View File
@@ -37,7 +37,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
+33 -4
View File
@@ -90,7 +90,7 @@ jobs:
persist-credentials: false
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
@@ -114,6 +114,35 @@ jobs:
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
jsunit:
runs-on: ubuntu-latest
needs: [versions, changes]
if: ${{ needs.versions.result != 'failure' && needs.changes.outputs.src != 'false' }}
env:
CYPRESS_INSTALL_BINARY: 0
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
- name: Set up npm ${{ needs.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ needs.versions.outputs.npmVersion }}'
- name: Install dependencies
run: npm ci
- name: Test
run: npm run test:jsunit
handlebars:
runs-on: ubuntu-latest
needs: [versions, changes]
@@ -131,7 +160,7 @@ jobs:
persist-credentials: false
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
@@ -148,7 +177,7 @@ jobs:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, test, handlebars]
needs: [changes, test, jsunit, handlebars]
if: always()
@@ -156,4 +185,4 @@ jobs:
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && (needs.test.result != 'success' || needs.handlebars.result != 'success') }}; then exit 1; fi
run: if ${{ needs.changes.outputs.src != 'false' && (needs.test.result != 'success' || needs.jsunit.result != 'success' || needs.handlebars.result != 'success') }}; then exit 1; fi
+1 -1
View File
@@ -68,7 +68,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
+2 -2
View File
@@ -24,7 +24,7 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['main', 'master', 'stable32', 'stable31', 'stable30']
branches: ['main', 'master', 'stable31', 'stable30']
name: npm-audit-fix-${{ matrix.branches }}
@@ -45,7 +45,7 @@ jobs:
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
+2 -2
View File
@@ -49,9 +49,9 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.2', '8.3']
php-versions: ['8.1', '8.2']
include:
- php-versions: '8.4'
- php-versions: '8.3'
coverage: true
name: php${{ matrix.php-versions }}-azure
+1 -1
View File
@@ -49,7 +49,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
php-versions: ['8.1', '8.2']
include:
- php-versions: '8.3'
coverage: true
+1 -1
View File
@@ -49,7 +49,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
php-versions: ['8.1', '8.2']
include:
- php-versions: '8.3'
coverage: true
+1 -1
View File
@@ -33,7 +33,7 @@ jobs:
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: '8.2'
php-version: '8.1'
extensions: ctype, curl, dom, fileinfo, gd, json, libxml, mbstring, openssl, pcntl, pdo, posix, session, simplexml, xml, xmlreader, xmlwriter, zip, zlib
coverage: none
ini-file: development
+3 -3
View File
@@ -23,7 +23,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
php-versions: ['8.1']
name: performance-${{ matrix.php-versions }}
@@ -71,7 +71,7 @@ jobs:
curl -s -u test:test -T README.md http://localhost:8080/remote.php/dav/files/test/new_file.txt
curl -s -u test:test -X DELETE http://localhost:8080/remote.php/dav/files/test/new_file.txt
output: before.json
profiler-branch: master
profiler-branch: stable32
- name: Apply PR # zizmor: ignore[template-injection]
run: |
@@ -93,7 +93,7 @@ jobs:
curl -s -u test:test -T README.md http://localhost:8080/remote.php/dav/files/test/new_file.txt
curl -s -u test:test -X DELETE http://localhost:8080/remote.php/dav/files/test/new_file.txt
output: after.json
profiler-branch: master
profiler-branch: stable32
compare-with: before.json
- name: Upload profiles
+6 -6
View File
@@ -5,10 +5,9 @@ name: PHPUnit 32bits
on:
pull_request:
paths:
- "version.php"
- ".github/workflows/phpunit-32bits.yml"
- "tests/phpunit-autotest.xml"
- "lib/private/Snowflake/*"
- 'version.php'
- '.github/workflows/phpunit-32bits.yml'
- 'tests/phpunit-autotest.xml'
workflow_dispatch:
schedule:
- cron: "15 1 * * 1-6"
@@ -31,7 +30,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ["8.2", "8.3", "8.4"]
php-versions: ['8.1','8.3']
steps:
- name: Checkout server
@@ -52,7 +51,8 @@ jobs:
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, imagick, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite, apcu, ldap
coverage: none
ini-file: development
ini-values: apc.enabled=on, apc.enable_cli=on, disable_functions= # https://github.com/shivammathur/setup-php/discussions/573
ini-values:
apc.enabled=on, apc.enable_cli=on, disable_functions= # https://github.com/shivammathur/setup-php/discussions/573
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+1 -1
View File
@@ -59,7 +59,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
php-versions: ['8.1']
mariadb-versions: ['10.3', '10.6', '10.11', '11.4', '11.8']
include:
- php-versions: '8.3'
+1 -1
View File
@@ -56,7 +56,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4']
php-versions: ['8.1', '8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
+1 -1
View File
@@ -56,7 +56,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
php-versions: ['8.1']
mysql-versions: ['8.4']
name: Sharding - MySQL ${{ matrix.mysql-versions }} (PHP ${{ matrix.php-versions }}) - database tests
+1 -1
View File
@@ -59,7 +59,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
php-versions: ['8.1']
mysql-versions: ['8.0', '8.4']
include:
- mysql-versions: '8.0'
+1 -1
View File
@@ -59,7 +59,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4']
php-versions: ['8.1', '8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
@@ -49,7 +49,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
php-versions: ['8.1']
key: ['s3', 's3-multibucket']
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
+2 -2
View File
@@ -61,9 +61,9 @@ jobs:
matrix:
include:
- oracle-versions: '11'
php-versions: '8.2'
php-versions: '8.1'
- oracle-versions: '18'
php-versions: '8.2'
php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
- oracle-versions: '21'
php-versions: '8.2'
+5 -5
View File
@@ -59,15 +59,15 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
php-versions: ['8.1']
# To keep the matrix smaller we ignore PostgreSQL versions in between as we already test the minimum and the maximum
postgres-versions: ['14', '18']
postgres-versions: ['13', '17']
include:
- php-versions: '8.3'
postgres-versions: '18'
postgres-versions: '17'
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
postgres-versions: '18'
postgres-versions: '17'
name: PostgreSQL ${{ matrix.postgres-versions }} (PHP ${{ matrix.php-versions }}) - database tests
@@ -86,7 +86,7 @@ jobs:
POSTGRES_USER: root
POSTGRES_PASSWORD: rootpassword
POSTGRES_DB: nextcloud
options: --mount type=tmpfs,destination=/var/lib/postgresql --health-cmd pg_isready --health-interval 5s --health-timeout 2s --health-retries 5
options: --mount type=tmpfs,destination=/var/lib/postgresql/data --health-cmd pg_isready --health-interval 5s --health-timeout 2s --health-retries 5
steps:
- name: Checkout server
+2 -2
View File
@@ -59,9 +59,9 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4']
php-versions: ['8.2', '8.3', '8.4']
include:
- php-versions: '8.2'
- php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
name: SQLite (PHP ${{ matrix.php-versions }})
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
issues: write
steps:
- uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v9
- uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9
with:
repo-token: ${{ secrets.COMMAND_BOT_PAT }}
stale-issue-message: >
+4 -4
View File
@@ -36,7 +36,7 @@ jobs:
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: '8.2'
php-version: '8.1'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
@@ -67,7 +67,7 @@ jobs:
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: '8.2'
php-version: '8.1'
extensions: ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
@@ -102,7 +102,7 @@ jobs:
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: '8.2'
php-version: '8.1'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
@@ -133,7 +133,7 @@ jobs:
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
with:
php-version: '8.2'
php-version: '8.1'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
+1 -1
View File
@@ -17,7 +17,7 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
branches: ['master', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
name: update-ca-certificate-bundle-${{ matrix.branches }}
@@ -17,7 +17,7 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
branches: ['master', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
name: update-code-signing-crl-${{ matrix.branches }}
+8 -1
View File
@@ -11,7 +11,7 @@
/apps/inc.php
/assets
/.htaccess
node_modules/
/node_modules
/translationfiles
/translationtool.phar
@@ -55,6 +55,10 @@ node_modules/
/apps/files_external/3rdparty/irodsphp/prods/test*
/apps/files_external/tests/config.*.php
# apps modules
/apps/*/node_modules
# ignore themes except the example and the README
/themes/*
!/themes/example
@@ -127,6 +131,9 @@ nbproject
# Tests
/tests/phpunit.xml
# Node Modules
/build/node_modules/
# nodejs
/build/bin
/build/lib/
-1
View File
@@ -252,7 +252,6 @@ Michael Monreal <michael.monreal@gmail.com>
Michael Roitzsch <reactorcontrol@icloud.com>
michag86 <micha_g@arcor.de>
Michiel de Jong <michiel@unhosted.org> Michiel@unhosted <michiel@unhosted.org>
Micke Nordin <kano@sunet.se> Mikael Nordin <mickenordin@users.noreply.github.com>
Miguel Prokop <miguel.prokop@vtu.com>
miicha <pfitzner@physik.hu-berlin.de>
Miquel Rodríguez Telep / Michael Rodríguez-Torrent <miquel@designunbound.co.uk>
+5 -8
View File
@@ -14,14 +14,11 @@ $config = new Config();
$config
->setParallelConfig(ParallelConfigFactory::detect())
->getFinder()
->in(__DIR__)
->exclude([
'3rdparty',
'build/stubs',
'composer',
])
;
->exclude('config')
->exclude('3rdparty')
->exclude('build/stubs')
->exclude('composer')
->in(__DIR__);
$ignoredEntries = shell_exec('git status --porcelain --ignored ' . escapeshellarg(__DIR__));
$ignoredEntries = explode("\n", $ignoredEntries);
+1
View File
@@ -338,6 +338,7 @@
- Mickey Knox <mickey@netfreaks.org>
- Miguel Prokop <miguel.prokop@vtu.com>
- Mikael Hammarin <mikael@try2.se>
- Mikael Nordin <mickenordin@users.noreply.github.com>
- Mikael Saarinen <mikaels@iki.fi>
- Mikhail Sazanov <m@sazanof.ru>
- Mitar <mitar.git@tnode.com>
+3 -3
View File
@@ -5,13 +5,13 @@
-->
# Nextcloud Server ☁
[![REUSE status](https://api.reuse.software/badge/github.com/nextcloud/server)](https://api.reuse.software/info/github.com/nextcloud/server)
[![codecov](https://codecov.io/gh/nextcloud/server/branch/master/graph/badge.svg)](https://codecov.io/gh/nextcloud/server)
[![codecov](https://codecov.io/gh/nextcloud/server/branch/stable32/graph/badge.svg)](https://codecov.io/gh/nextcloud/server)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/209/badge)](https://bestpractices.coreinfrastructure.org/projects/209)
[![Design](https://contribute.design/api/shield/nextcloud/server)](https://contribute.design/nextcloud/server)
**A safe home for all your data.**
![](https://raw.githubusercontent.com/nextcloud/screenshots/master/nextcloud-hub-files-25-preview.png)
![](https://raw.githubusercontent.com/nextcloud/screenshots/stable32/nextcloud-hub-files-25-preview.png)
## Why is this so awesome? 🤩
@@ -58,7 +58,7 @@ There are many ways to contribute, of which development is only one! Find out [h
Third-party components are handled as git submodules which have to be initialized first. So aside from the regular git checkout invoking `git submodule update --init` or a similar command is needed, for details see Git documentation.
Several apps that are included by default in regular releases such as [First run wizard](https://github.com/nextcloud/firstrunwizard) or [Activity](https://github.com/nextcloud/activity) are missing in `master` and have to be installed manually by cloning them into the `apps` subfolder.
Several apps that are included by default in regular releases such as [First run wizard](https://github.com/nextcloud/firstrunwizard) or [Activity](https://github.com/nextcloud/activity) are missing in `stable32` and have to be installed manually by cloning them into the `apps` subfolder.
Otherwise, git checkouts can be handled the same as release archives, by using the `stable*` branches. Note they should never be used on production systems.
+7 -7
View File
@@ -178,7 +178,7 @@ SPDX-FileCopyrightText = "2020 Nextcloud GmbH and Nextcloud contributors"
SPDX-License-Identifier = "AGPL-3.0-or-later"
[[annotations]]
path = ["cypress/tsconfig.json", "cypress/fixtures/appstore/apps.json", "dist/*.css"]
path = ["cypress/tsconfig.json", "cypress/fixtures/appstore/apps.json", "dist/icons.css"]
precedence = "aggregate"
SPDX-FileCopyrightText = "2022 Nextcloud GmbH and Nextcloud contributors"
SPDX-License-Identifier = "AGPL-3.0-or-later"
@@ -250,7 +250,7 @@ SPDX-FileCopyrightText = "2023 Nextcloud GmbH and Nextcloud contributors"
SPDX-License-Identifier = "AGPL-3.0-or-later"
[[annotations]]
path = ["apps/dav/lib/ExampleContentFiles/exampleContact.vcf", "tests/data/testvideo-remote-file.mp4", "tests/lib/AppFramework/Middleware/Mock/UseSessionController.php", "tests/lib/AppFramework/Middleware/Security/Mock/BruteForceMiddlewareController.php", "tests/lib/AppFramework/Middleware/Security/Mock/RateLimitingMiddlewareController.php"]
path = "apps/dav/lib/ExampleContentFiles/exampleContact.vcf"
precedence = "aggregate"
SPDX-FileCopyrightText = "2025 Nextcloud GmbH and Nextcloud contributors"
SPDX-License-Identifier = "AGPL-3.0-or-later"
@@ -328,19 +328,19 @@ SPDX-FileCopyrightText = "2016-2024 Collabora Ltd."
SPDX-License-Identifier = "LicenseRef-CollaboraTrademarks"
[[annotations]]
path = ["core/img/x.svg", "core/img/x-dark.svg", "core/img/x-light.svg", "core/img/twitter.svg", "core/img/actions/twitter.svg", "apps/federatedfilesharing/img/social-twitter.svg"]
path = ["core/img/x.svg", "core/img/twitter.svg", "core/img/actions/twitter.svg", "apps/federatedfilesharing/img/social-twitter.svg"]
precedence = "aggregate"
SPDX-FileCopyrightText = "X Corp."
SPDX-License-Identifier = "LicenseRef-XTrademarks"
[[annotations]]
path = ["core/img/bluesky.svg", "core/img/bluesky-light.svg", "core/img/actions/bluesky.svg"]
path = ["core/img/bluesky.svg", "core/img/actions/bluesky.svg"]
precedence = "aggregate"
SPDX-FileCopyrightText = "2012-2024 Fonticons, Inc."
SPDX-License-Identifier = "CC-BY-4.0"
[[annotations]]
path = ["core/img/facebook.svg", "core/img/facebook-light.svg", "apps/federatedfilesharing/img/social-facebook.svg"]
path = ["core/img/facebook.svg", "apps/federatedfilesharing/img/social-facebook.svg"]
precedence = "aggregate"
SPDX-FileCopyrightText = "2024 Meta"
SPDX-License-Identifier = "LicenseRef-FacebookTrademarks"
@@ -352,7 +352,7 @@ SPDX-FileCopyrightText = "2024 Diaspora"
SPDX-License-Identifier = "LicenseRef-DiasporaTrademarks"
[[annotations]]
path = ["core/img/mastodon.svg", "core/img/mastodon-light.svg", "core/img/actions/mastodon.svg"]
path = ["core/img/mastodon.svg", "core/img/actions/mastodon.svg"]
precedence = "aggregate"
SPDX-FileCopyrightText = "2024 Mastodon gGmbH"
SPDX-License-Identifier = "LicenseRef-MastodonTrademarks"
@@ -400,7 +400,7 @@ SPDX-FileCopyrightText = "2019 Fabian Wiktor <https://www.pexels.com/photo/green
SPDX-License-Identifier = "CC0-1.0"
[[annotations]]
path = ["openapi.json", ".envrc", "flake.nix", "flake.lock", "build/eslint-baseline.json"]
path = ["openapi.json", ".envrc", "flake.nix", "flake.lock"]
precedence = "aggregate"
SPDX-FileCopyrightText = "2025 Nextcloud GmbH and Nextcloud contributors"
SPDX-License-Identifier = "AGPL-3.0-or-later"
+3 -4
View File
@@ -2,8 +2,7 @@
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
export function getCurrentUser() {
export const getCurrentUser = function() {
return {
uid: 'test',
displayName: 'Test',
@@ -11,8 +10,8 @@ export function getCurrentUser() {
}
}
export function getRequestToken() {
export const getRequestToken = function() {
return 'test-token-1234'
}
export function onRequestTokenUpdate() {}
export const onRequestTokenUpdate = function() {}
+2 -3
View File
@@ -2,10 +2,9 @@
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import type { Capabilities } from '../../apps/files/src/types'
import type { Capabilities } from '../../apps/files/src/types.ts'
export function getCapabilities(): Capabilities {
export const getCapabilities = (): Capabilities => {
return {
files: {
bigfilechunking: true,
+1 -1
View File
@@ -3,6 +3,6 @@
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
export function loadState(app: string, key: string, fallback?: any) {
export const loadState = function(app: string, key: string, fallback?: any) {
return fallback
}
+3 -4
View File
@@ -2,10 +2,9 @@
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
export function createClient() {}
export function getPatcher() {
export const createClient = () => {}
export const getPatcher = () => {
return {
patch: () => {},
patch: () => {}
}
}
+11 -4
View File
@@ -2,11 +2,11 @@
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import mime from 'mime'
import { basename } from 'node:path'
import mime from 'mime'
class FileSystemEntry {
private _isFile: boolean
private _fullPath: string
@@ -26,9 +26,11 @@ class FileSystemEntry {
get name() {
return basename(this._fullPath)
}
}
export class FileSystemFileEntry extends FileSystemEntry {
private _contents: string
private _lastModified: number
@@ -44,9 +46,11 @@ export class FileSystemFileEntry extends FileSystemEntry {
const type = mime.getType(this.name) || ''
success(new File([this._contents], this.name, { lastModified, type }))
}
}
export class FileSystemDirectoryEntry extends FileSystemEntry {
private _entries: FileSystemEntry[]
constructor(fullPath: string, entries: FileSystemEntry[]) {
@@ -66,6 +70,7 @@ export class FileSystemDirectoryEntry extends FileSystemEntry {
},
}
}
}
/**
@@ -74,6 +79,7 @@ export class FileSystemDirectoryEntry extends FileSystemEntry {
* File API in the same test suite.
*/
export class DataTransferItem {
private _type: string
private _entry: FileSystemEntry
@@ -98,7 +104,7 @@ export class DataTransferItem {
return this._type
}
getAsFile(): File | null {
getAsFile(): File|null {
if (this._entry.isFile && this._entry instanceof FileSystemFileEntry) {
let file: File | null = null
this._entry.file((f) => {
@@ -110,9 +116,10 @@ export class DataTransferItem {
// The browser will return an empty File object if the entry is a directory
return new File([], this._entry.name, { type: '' })
}
}
export function fileSystemEntryToDataTransferItem(entry: FileSystemEntry, isFileSystemAPIAvailable = true): DataTransferItem {
export const fileSystemEntryToDataTransferItem = (entry: FileSystemEntry, isFileSystemAPIAvailable = true): DataTransferItem => {
return new DataTransferItem(
entry.isFile ? 'text/plain' : 'httpd/unix-directory',
entry,
-1
View File
@@ -2,7 +2,6 @@
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: CC0-1.0
*/
export function setup() {
process.env.TZ = 'UTC'
}
-1
View File
@@ -2,6 +2,5 @@
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: CC0-1.0
*/
import '@testing-library/jest-dom/vitest'
import 'core-js/stable/index.js'
+2 -2
View File
@@ -10,7 +10,7 @@
<name>Auditing / Logging</name>
<summary>Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.</summary>
<description>Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.</description>
<version>1.23.0</version>
<version>1.22.0</version>
<licence>agpl</licence>
<author>Nextcloud</author>
<namespace>AdminAudit</namespace>
@@ -20,7 +20,7 @@
<category>monitoring</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="33" max-version="33"/>
<nextcloud min-version="32" max-version="32"/>
</dependencies>
<background-jobs>
<job>OCA\AdminAudit\BackgroundJobs\Rotate</job>
+4 -1
View File
@@ -14,7 +14,10 @@ if (PHP_VERSION_ID < 50600) {
echo $err;
}
}
throw new RuntimeException($err);
trigger_error(
$err,
E_USER_ERROR
);
}
require_once __DIR__ . '/composer/autoload_real.php';
@@ -26,23 +26,12 @@ use Composer\Semver\VersionParser;
*/
class InstalledVersions
{
/**
* @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to
* @internal
*/
private static $selfDir = null;
/**
* @var mixed[]|null
* @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
/**
* @var bool
*/
private static $installedIsLocalDir;
/**
* @var bool|null
*/
@@ -320,24 +309,6 @@ class InstalledVersions
{
self::$installed = $data;
self::$installedByVendor = array();
// when using reload, we disable the duplicate protection to ensure that self::$installed data is
// always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
// so we have to assume it does not, and that may result in duplicate data being returned when listing
// all installed packages for example
self::$installedIsLocalDir = false;
}
/**
* @return string
*/
private static function getSelfDir()
{
if (self::$selfDir === null) {
self::$selfDir = strtr(__DIR__, '\\', '/');
}
return self::$selfDir;
}
/**
@@ -351,27 +322,19 @@ class InstalledVersions
}
$installed = array();
$copiedLocalDir = false;
if (self::$canGetVendors) {
$selfDir = self::getSelfDir();
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
$vendorDir = strtr($vendorDir, '\\', '/');
if (isset(self::$installedByVendor[$vendorDir])) {
$installed[] = self::$installedByVendor[$vendorDir];
} elseif (is_file($vendorDir.'/composer/installed.php')) {
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
$required = require $vendorDir.'/composer/installed.php';
self::$installedByVendor[$vendorDir] = $required;
$installed[] = $required;
if (self::$installed === null && $vendorDir.'/composer' === $selfDir) {
self::$installed = $required;
self::$installedIsLocalDir = true;
$installed[] = self::$installedByVendor[$vendorDir] = $required;
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
self::$installed = $installed[count($installed) - 1];
}
}
if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
$copiedLocalDir = true;
}
}
}
@@ -387,7 +350,7 @@ class InstalledVersions
}
}
if (self::$installed !== array() && !$copiedLocalDir) {
if (self::$installed !== array()) {
$installed[] = self::$installed;
}
+2 -2
View File
@@ -9,7 +9,7 @@
<name>Cloud Federation API</name>
<summary>Enable clouds to communicate with each other and exchange data</summary>
<description>The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data.</description>
<version>1.17.0</version>
<version>1.16.0</version>
<licence>agpl</licence>
<author>Bjoern Schiessle</author>
<namespace>CloudFederationAPI</namespace>
@@ -19,6 +19,6 @@
<category>integration</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="33" max-version="33"/>
<nextcloud min-version="32" max-version="32"/>
</dependencies>
</info>
@@ -14,7 +14,10 @@ if (PHP_VERSION_ID < 50600) {
echo $err;
}
}
throw new RuntimeException($err);
trigger_error(
$err,
E_USER_ERROR
);
}
require_once __DIR__ . '/composer/autoload_real.php';
@@ -26,23 +26,12 @@ use Composer\Semver\VersionParser;
*/
class InstalledVersions
{
/**
* @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to
* @internal
*/
private static $selfDir = null;
/**
* @var mixed[]|null
* @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
/**
* @var bool
*/
private static $installedIsLocalDir;
/**
* @var bool|null
*/
@@ -320,24 +309,6 @@ class InstalledVersions
{
self::$installed = $data;
self::$installedByVendor = array();
// when using reload, we disable the duplicate protection to ensure that self::$installed data is
// always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
// so we have to assume it does not, and that may result in duplicate data being returned when listing
// all installed packages for example
self::$installedIsLocalDir = false;
}
/**
* @return string
*/
private static function getSelfDir()
{
if (self::$selfDir === null) {
self::$selfDir = strtr(__DIR__, '\\', '/');
}
return self::$selfDir;
}
/**
@@ -351,27 +322,19 @@ class InstalledVersions
}
$installed = array();
$copiedLocalDir = false;
if (self::$canGetVendors) {
$selfDir = self::getSelfDir();
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
$vendorDir = strtr($vendorDir, '\\', '/');
if (isset(self::$installedByVendor[$vendorDir])) {
$installed[] = self::$installedByVendor[$vendorDir];
} elseif (is_file($vendorDir.'/composer/installed.php')) {
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
$required = require $vendorDir.'/composer/installed.php';
self::$installedByVendor[$vendorDir] = $required;
$installed[] = $required;
if (self::$installed === null && $vendorDir.'/composer' === $selfDir) {
self::$installed = $required;
self::$installedIsLocalDir = true;
$installed[] = self::$installedByVendor[$vendorDir] = $required;
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
self::$installed = $installed[count($installed) - 1];
}
}
if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
$copiedLocalDir = true;
}
}
}
@@ -387,7 +350,7 @@ class InstalledVersions
}
}
if (self::$installed !== array() && !$copiedLocalDir) {
if (self::$installed !== array()) {
$installed[] = self::$installed;
}
@@ -236,7 +236,7 @@ class RequestHandlerController extends Controller {
*
* @param string $recipientProvider The address of the recipent's provider
* @param string $token The token used for the invitation
* @param string $userID The userID of the recipient at the recipient's provider
* @param string $userId The userId of the recipient at the recipient's provider
* @param string $email The email address of the recipient
* @param string $name The display name of the recipient
*
@@ -251,8 +251,8 @@ class RequestHandlerController extends Controller {
#[PublicPage]
#[NoCSRFRequired]
#[BruteForceProtection(action: 'inviteAccepted')]
public function inviteAccepted(string $recipientProvider, string $token, string $userID, string $email, string $name): JSONResponse {
$this->logger->debug('Processing share invitation for ' . $userID . ' with token ' . $token . ' and email ' . $email . ' and name ' . $name);
public function inviteAccepted(string $recipientProvider, string $token, string $userId, string $email, string $name): JSONResponse {
$this->logger->debug('Processing share invitation for ' . $userId . ' with token ' . $token . ' and email ' . $email . ' and name ' . $name);
$updated = $this->timeFactory->getTime();
@@ -309,7 +309,7 @@ class RequestHandlerController extends Controller {
$invitation->setRecipientEmail($email);
$invitation->setRecipientName($name);
$invitation->setRecipientProvider($recipientProvider);
$invitation->setRecipientUserId($userID);
$invitation->setRecipientUserId($userId);
$invitation->setAcceptedAt($updated);
$invitation = $this->federatedInviteMapper->update($invitation);
+3 -3
View File
@@ -354,7 +354,7 @@
"required": [
"recipientProvider",
"token",
"userID",
"userId",
"email",
"name"
],
@@ -367,9 +367,9 @@
"type": "string",
"description": "The token used for the invitation"
},
"userID": {
"userId": {
"type": "string",
"description": "The userID of the recipient at the recipient's provider"
"description": "The userId of the recipient at the recipient's provider"
},
"email": {
"type": "string",
+2 -2
View File
@@ -10,7 +10,7 @@
<name>Comments</name>
<summary>Files app plugin to add comments to files</summary>
<description>Files app plugin to add comments to files</description>
<version>1.23.0</version>
<version>1.22.0</version>
<licence>agpl</licence>
<author>Arthur Schiwon</author>
<author>Vincent Petry</author>
@@ -21,7 +21,7 @@
<category>social</category>
<bugs>https://github.com/nextcloud/server/issues</bugs>
<dependencies>
<nextcloud min-version="33" max-version="33"/>
<nextcloud min-version="32" max-version="32"/>
</dependencies>
<activity>
+4 -1
View File
@@ -14,7 +14,10 @@ if (PHP_VERSION_ID < 50600) {
echo $err;
}
}
throw new RuntimeException($err);
trigger_error(
$err,
E_USER_ERROR
);
}
require_once __DIR__ . '/composer/autoload_real.php';
@@ -26,23 +26,12 @@ use Composer\Semver\VersionParser;
*/
class InstalledVersions
{
/**
* @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to
* @internal
*/
private static $selfDir = null;
/**
* @var mixed[]|null
* @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
*/
private static $installed;
/**
* @var bool
*/
private static $installedIsLocalDir;
/**
* @var bool|null
*/
@@ -320,24 +309,6 @@ class InstalledVersions
{
self::$installed = $data;
self::$installedByVendor = array();
// when using reload, we disable the duplicate protection to ensure that self::$installed data is
// always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
// so we have to assume it does not, and that may result in duplicate data being returned when listing
// all installed packages for example
self::$installedIsLocalDir = false;
}
/**
* @return string
*/
private static function getSelfDir()
{
if (self::$selfDir === null) {
self::$selfDir = strtr(__DIR__, '\\', '/');
}
return self::$selfDir;
}
/**
@@ -351,27 +322,19 @@ class InstalledVersions
}
$installed = array();
$copiedLocalDir = false;
if (self::$canGetVendors) {
$selfDir = self::getSelfDir();
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
$vendorDir = strtr($vendorDir, '\\', '/');
if (isset(self::$installedByVendor[$vendorDir])) {
$installed[] = self::$installedByVendor[$vendorDir];
} elseif (is_file($vendorDir.'/composer/installed.php')) {
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
$required = require $vendorDir.'/composer/installed.php';
self::$installedByVendor[$vendorDir] = $required;
$installed[] = $required;
if (self::$installed === null && $vendorDir.'/composer' === $selfDir) {
self::$installed = $required;
self::$installedIsLocalDir = true;
$installed[] = self::$installedByVendor[$vendorDir] = $required;
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
self::$installed = $installed[count($installed) - 1];
}
}
if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
$copiedLocalDir = true;
}
}
}
@@ -387,7 +350,7 @@ class InstalledVersions
}
}
if (self::$installed !== array() && !$copiedLocalDir) {
if (self::$installed !== array()) {
$installed[] = self::$installed;
}
@@ -23,4 +23,6 @@ return array(
'OCA\\Comments\\Notification\\Listener' => $baseDir . '/../lib/Notification/Listener.php',
'OCA\\Comments\\Notification\\Notifier' => $baseDir . '/../lib/Notification/Notifier.php',
'OCA\\Comments\\Search\\CommentsSearchProvider' => $baseDir . '/../lib/Search/CommentsSearchProvider.php',
'OCA\\Comments\\Search\\LegacyProvider' => $baseDir . '/../lib/Search/LegacyProvider.php',
'OCA\\Comments\\Search\\Result' => $baseDir . '/../lib/Search/Result.php',
);
@@ -38,6 +38,8 @@ class ComposerStaticInitComments
'OCA\\Comments\\Notification\\Listener' => __DIR__ . '/..' . '/../lib/Notification/Listener.php',
'OCA\\Comments\\Notification\\Notifier' => __DIR__ . '/..' . '/../lib/Notification/Notifier.php',
'OCA\\Comments\\Search\\CommentsSearchProvider' => __DIR__ . '/..' . '/../lib/Search/CommentsSearchProvider.php',
'OCA\\Comments\\Search\\LegacyProvider' => __DIR__ . '/..' . '/../lib/Search/LegacyProvider.php',
'OCA\\Comments\\Search\\Result' => __DIR__ . '/..' . '/../lib/Search/Result.php',
);
public static function getInitializer(ClassLoader $loader)
-1
View File
@@ -17,7 +17,6 @@ OC.L10N.register(
"Delete comment" : "Elimina commento",
"Cancel edit" : "Annulla modifica",
"New comment" : "Nuovo commento",
"Write a comment …" : "Scrivi un commento ...",
"Post comment" : "Pubblica commento",
"@ for mentions, : for emoji, / for smart picker" : "@ per menzioni, : per emoji, / per selettore intelligente",
"Could not reload comments" : "Impossibile ricaricare i commenti",
-1
View File
@@ -15,7 +15,6 @@
"Delete comment" : "Elimina commento",
"Cancel edit" : "Annulla modifica",
"New comment" : "Nuovo commento",
"Write a comment …" : "Scrivi un commento ...",
"Post comment" : "Pubblica commento",
"@ for mentions, : for emoji, / for smart picker" : "@ per menzioni, : per emoji, / per selettore intelligente",
"Could not reload comments" : "Impossibile ricaricare i commenti",
@@ -8,13 +8,6 @@ declare(strict_types=1);
*/
namespace OCA\Comments\Search;
use OCP\Comments\IComment;
use OCP\Comments\ICommentsManager;
use OCP\Files\Folder;
use OCP\Files\InvalidPathException;
use OCP\Files\IRootFolder;
use OCP\Files\Node;
use OCP\Files\NotFoundException;
use OCP\IL10N;
use OCP\IURLGenerator;
use OCP\IUser;
@@ -23,14 +16,14 @@ use OCP\Search\IProvider;
use OCP\Search\ISearchQuery;
use OCP\Search\SearchResult;
use OCP\Search\SearchResultEntry;
use function array_map;
class CommentsSearchProvider implements IProvider {
public function __construct(
private IUserManager $userManager,
private IL10N $l10n,
private IURLGenerator $urlGenerator,
private ICommentsManager $commentsManager,
private IRootFolder $rootFolder,
private LegacyProvider $legacyProvider,
) {
}
@@ -51,76 +44,30 @@ class CommentsSearchProvider implements IProvider {
}
public function search(IUser $user, ISearchQuery $query): SearchResult {
$userFolder = $this->rootFolder->getUserFolder($user->getUID());
if ($userFolder === null) {
return SearchResult::complete($this->l10n->t('Comments'), []);
}
$result = [];
$numComments = 50;
$offset = 0;
while (count($result) < $numComments) {
$comments = $this->commentsManager->search($query->getTerm(), 'files', '', 'comment', $offset, $numComments);
foreach ($comments as $comment) {
if ($comment->getActorType() !== 'users') {
continue;
}
$displayName = $this->commentsManager->resolveDisplayName('user', $comment->getActorId());
try {
$file = $this->getFileForComment($userFolder, $comment);
$isUser = $this->userManager->userExists($comment->getActorId());
$avatarUrl = $isUser
? $this->urlGenerator->linkToRouteAbsolute('core.avatar.getAvatar', ['userId' => $comment->getActorId(), 'size' => 42])
: $this->urlGenerator->linkToRouteAbsolute('core.GuestAvatar.getAvatar', ['guestName' => $comment->getActorId(), 'size' => 42]);
$link = $this->urlGenerator->linkToRoute(
'files.View.showFile',
['fileid' => $file->getId()]
);
$result[] = new SearchResultEntry(
$avatarUrl,
$displayName,
$file->getPath(),
$link,
'',
true
);
} catch (NotFoundException|InvalidPathException $e) {
continue;
}
}
if (count($comments) < $numComments) {
// Didn't find more comments when we tried to get, so there are no more comments.
break;
}
$offset += $numComments;
$numComments = 50 - count($result);
}
return SearchResult::complete(
$this->l10n->t('Comments'),
$result,
array_map(function (Result $result) {
$path = $result->path;
$isUser = $this->userManager->userExists($result->authorId);
$avatarUrl = $isUser
? $this->urlGenerator->linkToRouteAbsolute('core.avatar.getAvatar', ['userId' => $result->authorId, 'size' => 42])
: $this->urlGenerator->linkToRouteAbsolute('core.GuestAvatar.getAvatar', ['guestName' => $result->authorId, 'size' => 42]);
$link = $this->urlGenerator->linkToRoute(
'files.View.showFile',
['fileid' => $result->fileId]
);
$searchResultEntry = new SearchResultEntry(
$avatarUrl,
$result->name,
$path,
$link,
'',
true
);
$searchResultEntry->addAttribute('fileId', (string)$result->fileId);
$searchResultEntry->addAttribute('path', $path);
return $searchResultEntry;
}, $this->legacyProvider->search($query->getTerm()))
);
}
/**
* @throws NotFoundException
*/
protected function getFileForComment(Folder $userFolder, IComment $comment): Node {
$nodes = $userFolder->getById((int)$comment->getObjectId());
if (empty($nodes)) {
throw new NotFoundException('File not found');
}
return array_shift($nodes);
}
}
@@ -0,0 +1,99 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\Comments\Search;
use OCP\Comments\IComment;
use OCP\Comments\ICommentsManager;
use OCP\Files\Folder;
use OCP\Files\InvalidPathException;
use OCP\Files\Node;
use OCP\Files\NotFoundException;
use OCP\IUser;
use OCP\IUserSession;
use OCP\Search\Provider;
use OCP\Server;
use function count;
class LegacyProvider extends Provider {
/**
* Search for $query
*
* @param string $query
* @return array An array of OCP\Search\Result's
* @since 7.0.0
*/
public function search($query): array {
$cm = Server::get(ICommentsManager::class);
$us = Server::get(IUserSession::class);
$user = $us->getUser();
if (!$user instanceof IUser) {
return [];
}
$uf = \OC::$server->getUserFolder($user->getUID());
if ($uf === null) {
return [];
}
$result = [];
$numComments = 50;
$offset = 0;
while (count($result) < $numComments) {
/** @var IComment[] $comments */
$comments = $cm->search($query, 'files', '', 'comment', $offset, $numComments);
foreach ($comments as $comment) {
if ($comment->getActorType() !== 'users') {
continue;
}
$displayName = $cm->resolveDisplayName('user', $comment->getActorId());
try {
$file = $this->getFileForComment($uf, $comment);
$result[] = new Result($query,
$comment,
$displayName,
$file->getPath(),
$file->getId(),
);
} catch (NotFoundException|InvalidPathException $e) {
continue;
}
}
if (count($comments) < $numComments) {
// Didn't find more comments when we tried to get, so there are no more comments.
return $result;
}
$offset += $numComments;
$numComments = 50 - count($result);
}
return $result;
}
/**
* @param Folder $userFolder
* @param IComment $comment
* @return Node
* @throws NotFoundException
*/
protected function getFileForComment(Folder $userFolder, IComment $comment): Node {
$nodes = $userFolder->getById((int)$comment->getObjectId());
if (empty($nodes)) {
throw new NotFoundException('File not found');
}
return array_shift($nodes);
}
}
+111
View File
@@ -0,0 +1,111 @@
<?php
/**
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\Comments\Search;
use OCP\Comments\IComment;
use OCP\Files\NotFoundException;
use OCP\Search\Result as BaseResult;
/**
* @deprecated 20.0.0
*/
class Result extends BaseResult {
/**
* @deprecated 20.0.0
*/
public $type = 'comment';
/**
* @deprecated 20.0.0
*/
public $comment;
/**
* @deprecated 20.0.0
*/
public $authorId;
/**
* @deprecated 20.0.0
*/
public $path;
/**
* @deprecated 20.0.0
*/
public $fileName;
/**
* @deprecated 20.0.0
*/
public int $fileId;
/**
* @throws NotFoundException
* @deprecated 20.0.0
*/
public function __construct(
string $search,
IComment $comment,
/**
* @deprecated 20.0.0
*/
public string $authorName,
string $path,
int $fileId,
) {
parent::__construct(
$comment->getId(),
$comment->getMessage()
/* @todo , [link to file] */
);
$this->comment = $this->getRelevantMessagePart($comment->getMessage(), $search);
$this->authorId = $comment->getActorId();
$this->fileName = basename($path);
$this->path = $this->getVisiblePath($path);
$this->fileId = $fileId;
}
/**
* @throws NotFoundException
*/
protected function getVisiblePath(string $path): string {
$segments = explode('/', trim($path, '/'), 3);
if (!isset($segments[2])) {
throw new NotFoundException('Path not inside visible section');
}
return $segments[2];
}
/**
* @throws NotFoundException
*/
protected function getRelevantMessagePart(string $message, string $search): string {
$start = mb_stripos($message, $search);
if ($start === false) {
throw new NotFoundException('Comment section not found');
}
$end = $start + mb_strlen($search);
if ($start <= 25) {
$start = 0;
$prefix = '';
} else {
$start -= 25;
$prefix = '…';
}
if ((mb_strlen($message) - $end) <= 25) {
$end = mb_strlen($message);
$suffix = '';
} else {
$end += 25;
$suffix = '…';
}
return $prefix . mb_substr($message, $start, $end - $start) . $suffix;
}
}
@@ -2,13 +2,11 @@
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import type { View } from '@nextcloud/files'
import { File, FileAction, Permission } from '@nextcloud/files'
import { File, Permission, View, FileAction } from '@nextcloud/files'
import { describe, expect, test, vi } from 'vitest'
import logger from '../logger.js'
import { action } from './inlineUnreadCommentsAction.ts'
import { action } from './inlineUnreadCommentsAction'
import logger from '../logger'
const view = {
id: 'files',
@@ -122,7 +120,6 @@ describe('Inline unread comments action execute tests', () => {
const setActiveTabMock = vi.fn()
window.OCA = {
Files: {
// @ts-expect-error Mocking for testing
Sidebar: {
open: openMock,
setActiveTab: setActiveTabMock,
@@ -149,13 +146,10 @@ describe('Inline unread comments action execute tests', () => {
})
test('Action handles sidebar open failure', async () => {
const openMock = vi.fn(() => {
throw new Error('Mock error')
})
const openMock = vi.fn(() => { throw new Error('Mock error') })
const setActiveTabMock = vi.fn()
window.OCA = {
Files: {
// @ts-expect-error Mocking for testing
Sidebar: {
open: openMock,
setActiveTab: setActiveTabMock,
@@ -2,13 +2,11 @@
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import type { Node } from '@nextcloud/files'
import { FileAction, Node } from '@nextcloud/files'
import { translate as t, translatePlural as n } from '@nextcloud/l10n'
import CommentProcessingSvg from '@mdi/svg/svg/comment-processing.svg?raw'
import { FileAction } from '@nextcloud/files'
import { n, t } from '@nextcloud/l10n'
import logger from '../logger.js'
import logger from '../logger'
export const action = new FileAction({
id: 'comments-unread',
@@ -27,7 +25,7 @@ export const action = new FileAction({
iconSvgInline: () => CommentProcessingSvg,
enabled(nodes: Node[]) {
const unread = nodes[0].attributes['comments-unread'] as number | undefined
const unread = nodes[0].attributes['comments-unread'] as number|undefined
return typeof unread === 'number' && unread > 0
},
+2 -2
View File
@@ -2,13 +2,13 @@
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
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'
import { PiniaVuePlugin, createPinia } from 'pinia'
Vue.use(PiniaVuePlugin)
let ActivityTabPluginView
+1 -2
View File
@@ -3,7 +3,6 @@
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import logger from './logger.js'
import CommentsInstance from './services/CommentsInstance.js'
// Init Comments
@@ -13,4 +12,4 @@ if (window.OCA && !window.OCA.Comments) {
// Init Comments App view
Object.assign(window.OCA.Comments, { View: CommentsInstance })
logger.debug('OCA.Comments.View initialized')
console.debug('OCA.Comments.View initialized')
+1
View File
@@ -3,6 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
// eslint-disable-next-line n/no-missing-import, import/no-unresolved
import MessageReplyText from '@mdi/svg/svg/message-reply-text.svg?raw'
import { getCSPNonce } from '@nextcloud/auth'
import { loadState } from '@nextcloud/initial-state'
+17 -27
View File
@@ -3,16 +3,14 @@
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
<template>
<component
:is="tag"
<component :is="tag"
v-show="!deleted && !isLimbo"
:class="{ 'comment--loading': loading }"
:class="{'comment--loading': loading}"
class="comment">
<!-- Comment header toolbar -->
<div class="comment__side">
<!-- Author -->
<NcAvatar
class="comment__avatar"
<NcAvatar class="comment__avatar"
:display-name="actorDisplayName"
:user="actorId"
:size="32" />
@@ -25,8 +23,7 @@
show if we have a message id and current user is author -->
<NcActions v-if="isOwnComment && id && !loading" class="comment__actions">
<template v-if="!editing">
<NcActionButton
close-after-click
<NcActionButton close-after-click
@click="onEdit">
<template #icon>
<IconPencilOutline :size="20" />
@@ -34,8 +31,7 @@
{{ t('comments', 'Edit comment') }}
</NcActionButton>
<NcActionSeparator />
<NcActionButton
close-after-click
<NcActionButton close-after-click
@click="onDeleteWithUndo">
<template #icon>
<IconTrashCanOutline :size="20" />
@@ -56,8 +52,7 @@
<div v-if="id && loading" class="comment_loading icon-loading-small" />
<!-- Relative time to the comment creation -->
<NcDateTime
v-else-if="creationDateTime"
<NcDateTime v-else-if="creationDateTime"
class="comment__timestamp"
:timestamp="timestamp"
:ignore-seconds="true" />
@@ -66,21 +61,19 @@
<!-- Message editor -->
<form v-if="editor || editing" class="comment__editor" @submit.prevent>
<div class="comment__editor-group">
<NcRichContenteditable
ref="editor"
<NcRichContenteditable ref="editor"
:auto-complete="autoComplete"
:contenteditable="!loading"
:label="editor ? t('comments', 'New comment') : t('comments', 'Edit comment')"
:placeholder="t('comments', 'Write a comment ')"
:placeholder="t('comments', 'Write a comment ')"
:value="localMessage"
:user-data="userData"
aria-describedby="tab-comments__editor-description"
@update:value="updateLocalMessage"
@submit="onSubmit" />
<div class="comment__submit">
<NcButton
variant="tertiary-no-background"
type="submit"
<NcButton type="tertiary-no-background"
native-type="submit"
:aria-label="t('comments', 'Post comment')"
:disabled="isEmptyMessage"
@click="onSubmit">
@@ -97,10 +90,9 @@
</form>
<!-- Message content -->
<NcRichText
v-else
<NcRichText v-else
class="comment__message"
:class="{ 'comment__message--expanded': expanded }"
:class="{'comment__message--expanded': expanded}"
:text="richContent.message"
:arguments="richContent.mentions"
@click.native="onExpand" />
@@ -111,7 +103,7 @@
<script>
import { getCurrentUser } from '@nextcloud/auth'
import { translate as t } from '@nextcloud/l10n'
import { mapStores } from 'pinia'
import NcActionButton from '@nextcloud/vue/components/NcActionButton'
import NcActions from '@nextcloud/vue/components/NcActions'
import NcActionSeparator from '@nextcloud/vue/components/NcActionSeparator'
@@ -120,11 +112,14 @@ import NcButton from '@nextcloud/vue/components/NcButton'
import NcDateTime from '@nextcloud/vue/components/NcDateTime'
import NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'
import NcUserBubble from '@nextcloud/vue/components/NcUserBubble'
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 IconPencilOutline from 'vue-material-design-icons/PencilOutline.vue'
import CommentMixin from '../mixins/CommentMixin.js'
import { mapStores } from 'pinia'
import { useDeletedCommentLimbo } from '../store/deletedCommentLimbo.js'
// Dynamic loading
@@ -132,7 +127,6 @@ const NcRichContenteditable = () => import('@nextcloud/vue/components/NcRichCont
const NcRichText = () => import('@nextcloud/vue/components/NcRichText')
export default {
/* eslint vue/multi-word-component-names: "warn" */
name: 'Comment',
components: {
@@ -150,7 +144,6 @@ export default {
NcRichContenteditable,
NcRichText,
},
mixins: [CommentMixin],
inheritAttrs: false,
@@ -160,12 +153,10 @@ export default {
type: String,
required: true,
},
actorId: {
type: String,
required: true,
},
creationDateTime: {
type: String,
default: null,
@@ -186,7 +177,6 @@ export default {
type: Function,
required: true,
},
userData: {
type: Object,
default: () => ({}),
+1 -2
View File
@@ -2,8 +2,7 @@
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { registerFileAction } from '@nextcloud/files'
import { action } from './actions/inlineUnreadCommentsAction.ts'
import { action } from './actions/inlineUnreadCommentsAction'
registerFileAction(action)
+6 -6
View File
@@ -4,12 +4,12 @@
*/
import { showError, showUndo, TOAST_UNDO_TIMEOUT } from '@nextcloud/dialogs'
import { mapStores } from 'pinia'
import logger from '../logger.js'
import NewComment from '../services/NewComment.js'
import DeleteComment from '../services/DeleteComment.js'
import EditComment from '../services/EditComment.js'
import NewComment from '../services/NewComment.js'
import { mapStores } from 'pinia'
import { useDeletedCommentLimbo } from '../store/deletedCommentLimbo.js'
import logger from '../logger.js'
export default {
props: {
@@ -62,7 +62,7 @@ export default {
this.editing = false
} catch (error) {
showError(t('comments', 'An error occurred while trying to edit the comment'))
logger.error('An error occurred while trying to edit the comment', { error })
console.error(error)
} finally {
this.loading = false
}
@@ -87,7 +87,7 @@ export default {
this.$emit('delete', this.id)
} catch (error) {
showError(t('comments', 'An error occurred while trying to delete the comment'))
logger.error('An error occurred while trying to delete the comment', { error })
console.error(error)
this.deleted = false
this.deletedCommentLimboStore.removeId(this.id)
}
@@ -106,7 +106,7 @@ export default {
this.localMessage = ''
} catch (error) {
showError(t('comments', 'An error occurred while trying to create the comment'))
logger.error('An error occurred while trying to create the comment', { error })
console.error(error)
} finally {
this.loading = false
}
+5 -7
View File
@@ -1,9 +1,9 @@
import { getCurrentUser } from '@nextcloud/auth'
/**
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import axios from '@nextcloud/axios'
import { getCurrentUser } from '@nextcloud/auth'
import { loadState } from '@nextcloud/initial-state'
import { generateOcsUrl } from '@nextcloud/router'
import { defineComponent } from 'vue'
@@ -34,8 +34,8 @@ export default defineComponent({
/**
* Autocomplete @mentions
*
* @param search the query
* @param callback the callback to process the results with
* @param {string} search the query
* @param {Function} callback the callback to process the results with
*/
async autoComplete(search, callback) {
const { data } = await axios.get(generateOcsUrl('core/autocomplete/get'), {
@@ -48,9 +48,7 @@ export default defineComponent({
},
})
// Save user data so it can be used by the editor to replace mentions
data.ocs.data.forEach((user) => {
this.userData[user.id] = user
})
data.ocs.data.forEach(user => { this.userData[user.id] = user })
return callback(Object.values(this.userData))
},
@@ -63,7 +61,7 @@ export default defineComponent({
genMentionsData(mentions: any[]): Record<string, object> {
Object.values(mentions)
.flat()
.forEach((mention) => {
.forEach(mention => {
this.userData[mention.mentionId] = {
// TODO: support groups
icon: 'icon-user',
@@ -4,14 +4,14 @@
*/
import { getCSPNonce } from '@nextcloud/auth'
import { n, t } from '@nextcloud/l10n'
import { createPinia, PiniaVuePlugin } from 'pinia'
import { t, n } from '@nextcloud/l10n'
import { PiniaVuePlugin, createPinia } from 'pinia'
import Vue from 'vue'
import CommentsApp from '../views/Comments.vue'
import logger from '../logger.js'
Vue.use(PiniaVuePlugin)
// eslint-disable-next-line camelcase
__webpack_nonce__ = getCSPNonce()
// Add translates functions
@@ -28,6 +28,7 @@ Vue.mixin({
})
export default class CommentInstance {
/**
* Initialize a new Comments instance for the desired type
*
@@ -50,4 +51,5 @@ export default class CommentInstance {
const View = Vue.extend(CommentsApp)
return new View(options)
}
}
+2 -5
View File
@@ -3,18 +3,15 @@
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth'
import { createClient } from 'webdav'
import { getRootPath } from '../utils/davUtils.js'
import { getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth'
// init webdav client
const client = createClient(getRootPath())
// set CSRF token header
/**
* @param token
*/
function setHeaders(token) {
const setHeaders = (token) => {
client.setHeaders({
// Add this so the server knows it is an request from the browser
'X-Requested-With': 'XMLHttpRequest',
+2 -2
View File
@@ -16,7 +16,7 @@ import client from './DavClient.js'
export default async function(resourceType, resourceId, commentId, message) {
const commentPath = ['', resourceType, resourceId, commentId].join('/')
return await client.customRequest(commentPath, {
return await client.customRequest(commentPath, Object.assign({
method: 'PROPPATCH',
data: `<?xml version="1.0"?>
<d:propertyupdate
@@ -28,5 +28,5 @@ export default async function(resourceType, resourceId, commentId, message) {
</d:prop>
</d:set>
</d:propertyupdate>`,
})
}))
}
+16 -23
View File
@@ -3,9 +3,9 @@
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import type { DAVResult, FileStat, ResponseDataDetailed } from 'webdav'
import { parseXML, type DAVResult, type FileStat, type ResponseDataDetailed } from 'webdav'
import { parseXML } from 'webdav'
// https://github.com/perry-mitchell/webdav-client/issues/339
import { processResponsePayload } from 'webdav/dist/node/response.js'
import { prepareFileFromProps } from 'webdav/dist/node/tools/dav.js'
import client from './DavClient.js'
@@ -15,19 +15,19 @@ export const DEFAULT_LIMIT = 20
/**
* Retrieve the comments list
*
* @param data destructuring object
* @param data.resourceType the resource type
* @param data.resourceId the resource ID
* @param [options] optional options for axios
* @param [options.offset] the pagination offset
* @param [options.limit] the pagination limit, defaults to 20
* @param [options.datetime] optional date to query
* @return the comments list
* @param {object} data destructuring object
* @param {string} data.resourceType the resource type
* @param {number} data.resourceId the resource ID
* @param {object} [options] optional options for axios
* @param {number} [options.offset] the pagination offset
* @param {number} [options.limit] the pagination limit, defaults to 20
* @param {Date} [options.datetime] optional date to query
* @return {{data: object[]}} the comments list
*/
export async function getComments({ resourceType, resourceId }, options: { offset: number, limit?: number, datetime?: Date }) {
export const getComments = async function({ resourceType, resourceId }, options: { offset: number, limit?: number, datetime?: Date }) {
const resourcePath = ['', resourceType, resourceId].join('/')
const datetime = options.datetime ? `<oc:datetime>${options.datetime.toISOString()}</oc:datetime>` : ''
const response = await client.customRequest(resourcePath, {
const response = await client.customRequest(resourcePath, Object.assign({
method: 'REPORT',
data: `<?xml version="1.0"?>
<oc:filter-comments
@@ -39,23 +39,16 @@ export async function getComments({ resourceType, resourceId }, options: { offse
<oc:offset>${options.offset || 0}</oc:offset>
${datetime}
</oc:filter-comments>`,
...options,
})
}, options))
const responseData = await response.text()
const result = await parseXML(responseData)
const stat = getDirectoryFiles(result, true)
// https://github.com/perry-mitchell/webdav-client/issues/339
return processResponsePayload(response, stat, true) as ResponseDataDetailed<FileStat[]>
}
/**
* https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/operations/directoryContents.ts
*
* @param result
* @param isDetailed
*/
function getDirectoryFiles(
// https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/operations/directoryContents.ts
const getDirectoryFiles = function(
result: DAVResult,
isDetailed = false,
): Array<FileStat> {
@@ -65,7 +58,7 @@ function getDirectoryFiles(
} = result
// Map all items to a consistent output structure (results)
return responseItems.map((item) => {
return responseItems.map(item => {
// Each item should contain a stat object
const props = item.propstat!.prop!
+1 -1
View File
@@ -4,9 +4,9 @@
*/
import { getCurrentUser } from '@nextcloud/auth'
import axios from '@nextcloud/axios'
import { getRootPath } from '../utils/davUtils.js'
import { decodeHtmlEntities } from '../utils/decodeHtmlEntities.js'
import axios from '@nextcloud/axios'
import client from './DavClient.js'
/**
+4 -4
View File
@@ -3,10 +3,10 @@
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import type { Response } from 'webdav'
import client from './DavClient.js'
import type { Response } from 'webdav'
/**
* Mark comments older than the date timestamp as read
*
@@ -14,11 +14,11 @@ import client from './DavClient.js'
* @param resourceId the resource ID
* @param date the date object
*/
export function markCommentsAsRead(
export const markCommentsAsRead = (
resourceType: string,
resourceId: number,
date: Date,
): Promise<Response> {
): Promise<Response> => {
const resourcePath = ['', resourceType, resourceId].join('/')
const readMarker = date.toUTCString()
+2 -2
View File
@@ -9,7 +9,7 @@
* @param {Function} request the axios promise request
* @return {object}
*/
function cancelableRequest(request) {
const cancelableRequest = function(request) {
const controller = new AbortController()
const signal = controller.signal
@@ -22,7 +22,7 @@ function cancelableRequest(request) {
const fetch = async function(url, options) {
const response = await request(
url,
{ signal, ...options },
Object.assign({ signal }, options),
)
return response
}
+1 -4
View File
@@ -5,10 +5,7 @@
import { generateRemoteUrl } from '@nextcloud/router'
/**
*
*/
function getRootPath() {
const getRootPath = function() {
return generateRemoteUrl('dav/comments')
}
@@ -4,8 +4,7 @@
-->
<template>
<Comment
v-bind="editorData"
<Comment v-bind="editorData"
:auto-complete="autoComplete"
:resource-type="resourceType"
:editor="true"
@@ -16,18 +15,17 @@
</template>
<script lang="ts">
import { showError } from '@nextcloud/dialogs'
import { t } from '@nextcloud/l10n'
import { defineComponent } from 'vue'
import Comment from '../components/Comment.vue'
import logger from '../logger.js'
import CommentView from '../mixins/CommentView.js'
import logger from '../logger'
import { showError } from '@nextcloud/dialogs'
import { translate as t } from '@nextcloud/l10n'
export default defineComponent({
components: {
Comment,
},
mixins: [CommentView],
props: {
reloadCallback: {
@@ -35,15 +33,14 @@ export default defineComponent({
required: true,
},
},
methods: {
onNewComment() {
try {
// just force reload
this.reloadCallback()
} catch (error) {
} catch (e) {
showError(t('comments', 'Could not reload comments'))
logger.error('Could not reload comments', { error })
logger.debug(e)
}
},
},
@@ -4,8 +4,7 @@
-->
<template>
<Comment
ref="comment"
<Comment ref="comment"
tag="li"
v-bind="comment.props"
:auto-complete="autoComplete"
@@ -19,10 +18,10 @@
<script lang="ts">
import type { PropType } from 'vue'
import { translate as t } from '@nextcloud/l10n'
import { t } from '@nextcloud/l10n'
import Comment from '../components/Comment.vue'
import CommentView from '../mixins/CommentView.ts'
import CommentView from '../mixins/CommentView'
export default {
name: 'ActivityCommentEntry',
@@ -37,7 +36,6 @@ export default {
type: Object,
required: true,
},
reloadCallback: {
type: Function as PropType<() => void>,
required: true,

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