Skip to content

Conversation

@danxuliu
Copy link
Member

Backport of #52012

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 <[email protected]>
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 <[email protected]>
Signed-off-by: Daniel Calviño Sánchez <[email protected]>
…ators

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 <[email protected]>
@danxuliu danxuliu force-pushed the backport/52012/stable32-fix-user-collaborators-returned-when-searching-for-mail-collaborators branch from 009ce85 to 16c2610 Compare November 12, 2025 12:23
@danxuliu danxuliu added 3. to review Waiting for reviews and removed 2. developing Work in progress labels Nov 12, 2025
@danxuliu danxuliu marked this pull request as ready for review November 12, 2025 14:11
@danxuliu danxuliu requested a review from a team as a code owner November 12, 2025 14:11
@danxuliu danxuliu requested review from CarlSchwan, come-nc, leftybournes, nfebe, salmart-dev and susnux and removed request for a team November 12, 2025 14:11
@danxuliu danxuliu enabled auto-merge November 12, 2025 14:38
@blizzz blizzz mentioned this pull request Nov 12, 2025
9 tasks
@danxuliu danxuliu merged commit 14aef68 into stable32 Nov 12, 2025
224 of 239 checks passed
@danxuliu danxuliu deleted the backport/52012/stable32-fix-user-collaborators-returned-when-searching-for-mail-collaborators branch November 12, 2025 17:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants