798 Commits

Author SHA1 Message Date
provokateurin
5a08b835de feat(UserPlugin): Also full match on additional email addresses
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 16:02:03 +01:00
provokateurin
ff937ae5dd test(UserPlugin): Cover full match email with sharee enumeration limited to group
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 16:02:03 +01:00
provokateurin
7c6dbf5c84 fix(UserPlugin): Rewrite from scratch
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 16:02:02 +01:00
provokateurin
663e6f7828 test(UserPlugin): Rewrite unit tests as integration tests
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 15:58:34 +01:00
provokateurin
a72fa1e4e2 test(ShareesContext): Reset all shareapi related system configs
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 15:58:13 +01:00
Côme Chilliet
61b1a5f6b8 chore: While at it use strict array search in build/integration
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-18 18:45:07 +01:00
Daniel Calviño Sánchez
bb2ae56457 fix: Unify handling of exclude groups in contacts menu and sharing
If the current user belongs to both one or more groups excluded from
sharing and one or more groups not excluded from sharing the user is
allowed to share. However, in the contacts menu, as soon as the current
user belonged to a group excluded from sharing the user could not search
for local contacts. This has been unified now with the sharing
behaviour, so local contacts can still be searched if the user also
belongs to a group not excluded from sharing (or to no group at all,
which was also allowed before).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2026-01-07 17:05:52 +00:00
Daniel Calviño Sánchez
dc03d54c4c test: Add integration tests for excluded groups in contacts and sharees
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2026-01-07 17:05:51 +00:00
Robin Appelman
2b1cfa5edf test: update cross-share move tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-06 13:24:52 +00:00
github-actions[bot]
3cdddf8730 Merge pull request #56880 from nextcloud/dependabot/composer/build/integration/stable32/phpunit/phpunit-9.6.30
[stable32] build(deps-dev): bump phpunit/phpunit from 9.6.29 to 9.6.30 in /build/integration
2025-12-22 00:03:39 +00:00
Daniel Calviño Sánchez
709a74a2ac fix: Fix caching routes by users with an active session
When a user has an active session only the apps that are enabled for the
user are initially loaded. In order to cache the routes the routes for
all apps are loaded, but routes defined in routes.php are taken into
account only if the app was already loaded. Therefore, when the routes
were cached in a request by a user with an active session only the
routes for apps enabled for that user were cached, and those routes were
used by any other user, independently of which apps they had access to.
To solve that now all the enabled apps are explicitly loaded before
caching the routes.

Note that this did not affect routes defined using annotations on the
controller files; in that case the loaded routes do not depend on the
previously loaded apps, as it explicitly checks all the enabled apps.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-15 09:53:32 +00:00
Daniel Calviño Sánchez
0c9488b8f0 test: Fix recording app state when admin is not the current user
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-15 09:53:32 +00:00
dependabot[bot]
c5e8f22494 build(deps-dev): bump phpunit/phpunit in /build/integration
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.29 to 9.6.30.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.30/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.29...9.6.30)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-06 02:09:55 +00:00
Git'Fellow
4d363eea40 Merge pull request #55804 from nextcloud/backport/55800/stable32
[stable32] Fix chunked upload for file drop shares
2025-12-02 09:49:48 +01:00
skjnldsv
9674191ba6 chore(files_reminder): add integration tests
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-11-26 09:49:28 +01:00
provokateurin
b737336e4d fix(FilesDropPlugin): Ensure all request for file request have a nickname
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-11-18 15:19:46 +01:00
provokateurin
bcae49614e fix(FilesDropPlugin): Fix request method and nickname header checks
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-11-18 15:19:19 +01:00
Côme Chilliet
757bed8f66 fix(tests): Fix login test for remember me checkbox
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-11-17 14:43:32 +01:00
Daniel Calviño Sánchez
16c26101d0 fix: Fix user collaborators returned when searching for mail collaborators
The MailPlugin collaborator returned results for both user and mail
collaborators, but it was registered only for mail collaborators. While
it might make sense to move the user results to the UserPlugin instead
that change would be more complex and riskier, so for now the MailPlugin
is now registered for both user and mail collaborators and the results
are limited only to the registered type.

As the plugins are registered only with their class and then resolved
when needed using dependency injection it is not possible (as far as I
know) to provide an explicit parameter in the constructor to
differentiate whether the MailPlugin should return user or mail
collaborators. To overcome this two subclasses are introduced,
MailByMailPlugin and UserByMailPlugin, which just hardcode in their
constructor the collaborator type that their parent MailPlugin must use,
and those subclasses are the ones registered instead of the MailPlugin
(which still contains all the logic).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-12 13:22:25 +01:00
Daniel Calviño Sánchez
ecf32012f4 test: Add integration tests to get collaborators without sharebymail app
The "sharebymail" app is enabled by default, so it needs to be enabled
once the scenario ends as other scenarios could expect that the app is
enabled. To solve that now a special step is added that records the
enabled state of the given app and restores it once the scenario ends.

This step only restores the state of already installed apps. If an app
is installed during the test it will not be neither disabled nor
uninstalled after the test ends. Therefore, at least for now, it is
necessary to explicitly call the step to record the app to be restored,
rather than automatically keeping track of the changes in the enabled
state of the apps during the scenario.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-12 11:16:16 +01:00
Daniel Calviño Sánchez
8195702b0e test: Extract function to get apps with certain enabled state
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-12 11:16:16 +01:00
Daniel Calviño Sánchez
23a6e7aa4f test: Add tests to get user autocompletes similar to the email ones
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-12 11:16:16 +01:00
Daniel Calviño Sánchez
e28e1e2ea6 test: Extend tests to check the same cases with and without full match
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-12 11:16:16 +01:00
Daniel Calviño Sánchez
d726f51609 test: Add integration tests for getting user and mail collaborators
The OCS endpoint expects either an int or an array for "shareType".
However, when using "getRowsHash()" only a single key is taken into
account, so instead of:
  | shareType[] | 0 |
  | shareType[] | 4 |
the share types are provided in a single row like:
  | shareTypes | 0 4 |
and then converted to "shareType[]=0&shareType[]=4" when sending the
request.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-12 11:16:16 +01:00
Daniel Calviño Sánchez
e126a84ff0 test: Add integration tests for getting collaborators by mail addresses
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-12 11:16:16 +01:00
Daniel Calviño Sánchez
ccfc5edd54 test: Fix getting returned sharees when there are several results
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-12 11:16:16 +01:00
Daniel Calviño Sánchez
e0fa134fcd test: Check unique display name if provided in the response
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-12 11:16:16 +01: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
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
Kate
71be18dac4 Merge pull request #55303 from nextcloud/backport/55134/stable32
Some checks failed
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
CodeQL Advanced / Analyze (javascript-typescript) (push) Has been cancelled
Integration sqlite / changes (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, --tags ~@large files_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, capabilities_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, collaboration_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, comments_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, dav_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, federation_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, file_conversions) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, filesdrop_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, ldap_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, openldap_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, openldap_numerical_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, remoteapi_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, routing_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, setup_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, sharees_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, sharing_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, theming_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, videoverification_features) (push) Has been cancelled
Integration sqlite / integration-sqlite-summary (push) Has been cancelled
Psalm static code analysis / static-code-analysis (push) Has been cancelled
Psalm static code analysis / static-code-analysis-security (push) Has been cancelled
Psalm static code analysis / static-code-analysis-ocp (push) Has been cancelled
Psalm static code analysis / static-code-analysis-ncu (push) Has been cancelled
2025-09-27 16:35:07 +02: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
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
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
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
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
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
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
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
Ferdinand Thiessen
9ba4150a18 fix(dav): ensure moving or copying a file is possible
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-02 16:23:47 +02:00
Joas Schilling
3df6d90a4c Revert "perf(base): Stop setting up the FS for every basic auth request" 2025-08-28 17:11:31 +02:00
John Molakvoæ
d785bcdc6e Merge pull request #53920 from nextcloud/revert-53918-revert-53141-perf/files/setup-fs-basic-auth-request 2025-08-28 14:12:57 +02:00
provokateurin
5057d5fcc5 fix(core): Stop abusing the cache for avatar upload
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-28 09:28:11 +00:00
provokateurin
d5c15d4d2f test(integration): Check ocs share permission for correct folder
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-28 09:28:10 +00:00
dependabot[bot]
025e081530 build(deps-dev): bump guzzlehttp/guzzle in /build/integration
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.9.3 to 7.10.0.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/7.10/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.9.3...7.10.0)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-version: 7.10.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-28 08:51:04 +00:00
Richard Steinmetz
b7dc720848 feat: calendar federation
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-27 17:14:15 +02:00
yemkareems
aa227f1c55 feat: add bluesky to accounts, show the same in profile edit and visibility option, in view profile and also in sharing tab
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-08-08 08:06:45 +00:00
dependabot[bot]
b1a8e01c3f build(deps-dev): bump behat/behat in /build/integration
Bumps [behat/behat](https://github.com/Behat/Behat) from 3.22.0 to 3.23.0.
- [Release notes](https://github.com/Behat/Behat/releases)
- [Changelog](https://github.com/Behat/Behat/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Behat/Behat/compare/v3.22.0...v3.23.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-19 01:19:00 +00:00
Ferdinand Thiessen
a18e61a1e5 feat(files_sharing): add config option for extending link-share permissions
This allows the admin to control the behavior whether link shares with
READ permissions should be extended to also gain SHARE permissions,
allowing users (public share receivers) to add the share to their cloud.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-17 16:59:36 +02:00
John Molakvoæ
2b50d9b2c5 Revert "perf(base): Stop setting up the FS for every basic auth request" 2025-07-11 17:07:44 +02:00