Louis Chemineau
4249a5f66a
feat(files): Add appconfig value to disable fixed userfolder permissions optimization
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: Louis Chemineau <louis@chmn.me>
2026-01-14 19:21:06 +01:00
Benjamin Gaussorgues
bda8fa358d
Merge pull request #57345 from nextcloud/backport/57186/stable31
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
2026-01-08 13:58:38 +01:00
Benjamin Gaussorgues
5e3aea3326
Merge pull request #57298 from nextcloud/backport/52442/stable31
2026-01-08 11:03:23 +01:00
Benjamin Gaussorgues
14ef6200cd
Merge pull request #57419 from nextcloud/backport/57414/stable31
2026-01-08 09:54:02 +01:00
Benjamin Gaussorgues
27583488dc
Merge pull request #57400 from nextcloud/backport/57371/stable31
2026-01-08 09:04:26 +01:00
Benjamin Gaussorgues
f2f5254753
Merge pull request #57415 from nextcloud/backport/56938/stable31
2026-01-08 08:55:40 +01:00
Benjamin Gaussorgues
009946953d
Merge pull request #57417 from nextcloud/backport/57413/stable31
2026-01-08 08:45:09 +01:00
Joas Schilling
81fc235e14
fix(controller): Support native int ranges
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 19:40:15 +01:00
Joas Schilling
ae2bd13285
fix(l10n): Fix language selection
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 19:27:37 +01:00
Daniel Calviño Sánchez
b49d406b53
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 18:34:58 +01:00
Simon L.
f98005aaa5
feat(Config.php): change array_merge to array_replace_recursive when merging configs
...
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-07 11:05:13 +00:00
Maxence Lange
ae250d08f0
fix(team-manager): team is already teamid
...
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2026-01-06 15:01:24 +00:00
Enjeck C
1d7758ef44
fix: Ensure CLOUD key exists before resolving Cloud ID
...
Signed-off-by: Enjeck C <patrathewhiz@gmail.com>
2026-01-06 09:03:15 +00:00
Robin Appelman
4b08384e95
feat: don't gate perBucket object store configuration behind multibucket
...
a setup can have multiple bucket without having `multibucket` enabled trough things like per-groupfolder buckets
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-05 15:50:10 +00:00
Robin Appelman
bb67e9ece2
fix: use interfaces instead of classes in Cache\Watcher type hints
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-31 13:16:17 +01:00
Robin Appelman
2948aaf2f9
feat: add an option to filter what paths get checked for updates
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-31 13:16:13 +01:00
Côme Chilliet
93fc060260
Merge pull request #57106 from nextcloud/backport/55813/stable31
...
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
[stable31] fix(shares): Fix infinite loop when all shares are invalid
2025-12-16 10:22:56 +01:00
F. E Noel Nfebe
0311fb3e7b
Merge pull request #56970 from nextcloud/backport/56758/stable31
...
[stable31] fix: Fix orphan shares blocking moving other shares
2025-12-16 00:24:53 +01:00
Côme Chilliet
79d0ed428d
fix(shares): Fix infinite loop when hide_disabled_user_shares is yes
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-15 19:18:19 +00:00
Côme Chilliet
37b105eff9
feat(log): Add script name and occ command to log details
...
This will help when troubleshooting issues. For web request we have
method and url, but for cron and occ currently we have no way to know if
it’s one or the other and which command.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-15 16:58:53 +01:00
Elizabeth Danzberger
f0abd9250f
fix(templates): deduplicate provider templates
...
Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
2025-12-12 18:19:28 +00:00
Joas Schilling
0caff489aa
fix(comments): Check comment object
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-12-11 07:58:27 +01:00
Côme Chilliet
75171b879a
fix: Log missing nodes of shares at debug level
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-10 18:25:24 +00:00
Côme Chilliet
7a4d9ecf51
fix: Fix orphan shares blocking moving other shares
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-10 18:25:24 +00:00
nfebe
e7ce70744d
fix(sharing): Add isTrustedServer flag to lookup results
...
When `show_federated_shares_to_trusted_servers_as_internal` is enabled,
lookup server results were being filtered out because they lacked the
`isTrustedServer` flag. This adds the flag to lookup results by:
- Injecting TrustedServers service into LookupPlugin
- Adding `server` and `isTrustedServer` fields to each lookup result
- Updating tests to reflect new structure
This ensures lookup results from trusted servers appear in internal
sharing while non-trusted servers are correctly filtered out.
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-12-04 12:05:01 +01:00
nfebe
8d5dcbce79
feat(objectstore): add configurable S3 retry attempts
...
Add retriesMaxAttempts parameter to S3 objectstore configuration
to allow customization of AWS SDK retry behavior for handling
unreliable network conditions or proxy issues.
Defaults to 5 retries (AWS SDK default) if not specified.
Signed-off-by: nfebe <fenn25.fn@gmail.com>
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-12-03 12:53:39 +01:00
provokateurin
e67c8e739e
feat(ObjectStore): Allow overriding arguments per bucket
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-01 16:44:41 +00:00
provokateurin
3140daa1aa
feat(CertificateManager): Add option to specify the default certificates bundle path
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-01 11:57:26 +01:00
Carl Schwan
dac253c0a3
feat(profiler): Use gzdecode/gzencode to parse profiles
...
See 42a80727f9/src/Symfony/Component/HttpKernel/Profiler/FileProfilerStorage.php (L299)
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-30 19:23:16 +01:00
Kent Delante
8706dadcf0
Merge pull request #56616 from nextcloud/backport/56565/stable31
...
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
[stable31] feat: emit an event when an S3 bucket is created
2025-11-27 10:26:42 +08:00
Sebastian Krupinski
8fc0532be0
Merge pull request #56667 from nextcloud/backport/55476/stable31
...
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
[stable31] fix(l10n): do not consider user language when getting the generic one
2025-11-26 10:32:16 -05:00
Richard Steinmetz
e429a689d8
fix(l10n): do not consider user language when getting the generic one
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-11-25 15:43:47 +00:00
Kent Delante
bf4c094741
feat: emit an event when an S3 bucket is created
...
Signed-off-by: Kent Delante <kent.delante@proton.me>
2025-11-25 20:16:21 +08:00
Louis Chmn
8afe1dd53a
fix(encryption): Increment lastChunkNr when size is off
...
When computing the unencrypted file size, we need the size of the last encrypted chunk as its size is usually not the regular 8192 bits.
To avoid reading the whole file, we seek directly to that last chunk based on the expected file size. When the expected file size is smaller than the actual one, we have a logic in place to continue reading until we reach the end of the file.
In that logic, we forgot to increment the `$lastChunkNr` which is important when we later check the signature of the chunk.
This commit adds that missing increment.
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-25 09:19:09 +00:00
Robin Appelman
6b02bb1366
Merge pull request #56557 from nextcloud/backport/52786/stable31
...
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable31, 8.1, stable31, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
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
[stable31] allow configuring multiple object store backends
2025-11-24 17:09:19 +01:00
Robin Appelman
d1a760d618
fix: ensure all object store configuration have distict bucket names
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-11-20 15:36:14 +01:00
Robin Appelman
6d487ac990
fix: make bucket mapper work with new multi-object-store config
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-11-20 15:36:13 +01:00
Robin Appelman
f21dcac9ef
feat: allow object store configuration aliases for easier migrations
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-11-20 15:36:11 +01:00
Robin Appelman
832c77ab52
feat: add command to get user objectstore config mappings
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-11-20 15:16:43 +01:00
Robin Appelman
ff74df3528
feat: allow configuring multiple objectstore configurations
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-11-20 15:16:39 +01:00
Marcel Müller
35a86d6f96
feat: Add option to update the public key of a user
...
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-11-19 12:42:58 +00:00
Joas Schilling
aa654dca44
fix(unified-search): Register config lexicon of core so the default is working
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-11-19 09:43:40 +01:00
Côme Chilliet
96ab777817
feat(login): Add rememberme checkbox
...
Only present if allowed by configuration.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-11-17 14:16:40 +00:00
Côme Chilliet
231e01d252
chore: Improve typing and codestyle in LoginData
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-11-17 14:16:40 +00:00
Benjamin Frueh
563fa568d3
fix: Clear mount cache when file storage changes during move
...
Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>
2025-11-13 14:09:36 +00:00
Maxence Lange
822744cc29
fix(team-api): get all teams details in a single request
...
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-11-12 21:21:55 -01:00
Robin Appelman
09089193d2
Merge pull request #56406 from nextcloud/backport/56255/stable31
...
[stable31] make failed availability check apply in the same request
2025-11-12 22:59:21 +01:00
Daniel Calviño Sánchez
f92244d04a
Merge pull request #56385 from nextcloud/backport/52012/stable31
...
[stable31] Fix user collaborators returned when searching for mail collaborators
2025-11-12 21:37:36 +01:00
Daniel Calviño Sánchez
a4bf16e779
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 21:08:25 +01:00
Robin Appelman
edb370d2ac
chore: better type hints for getAvailability
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-11-12 17:45:41 +00:00