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>
The federation app is not always installed, causing errors when
TrustedServers is injected as a hard dependency. This change makes
the dependency optional by using nullable types and null-safe
operators, defaulting to false when unavailable.
Modified backport of #55893 which are required for
the stable31 backport to function correctly.
Signed-off-by: nfebe <fenn25.fn@gmail.com>
When `show_federated_shares_to_trusted_servers_as_internal` is enabled
but `show_federated_shares_as_internal` is not, filter federated share
suggestions to only include trusted servers. Previously, searching for
an email address would suggest non-trusted federated servers.
Resolved: #54511
Signed-off-by: nfebe <fenn25.fn@gmail.com>
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>
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>
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>
The button group generated in email templates is expected to show the
two buttons side by side in a single row, but in Outlook both buttons
took the full width of the wrapper row and each button was shown in
its own row. To solve that the buttons are wrapped in an additional
table that shows each button in its own cell, limiting their width and
showing them in a single row; this is done conditionally and only
applied in Outlook, so it should not affect other clients.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>