Commit Graph

145 Commits (e2ea6d46802255cd1dcdedf0c0d5aeabdcaf283d)

Author SHA1 Message Date
Richard Steinmetz 40117dced3
Merge pull request #54426 from nextcloud/perf/prevent-fetching-account
perf: prevent fetching a principal's user account if the data is not needed
2025-08-28 16:59:38 +07:00
Richard Steinmetz eb34ddbf97
Merge pull request #54438 from nextcloud/perf/caldav/cache-empty-shares-when-preloading
perf(caldav): also cache empty share arrays
2025-08-28 16:42:46 +07:00
Richard Steinmetz 5b254ea39a
perf: prevent fetching a principal's user account if the data is not needed
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-28 14:13:29 +07:00
Richard Steinmetz 0a79bc44df
perf(caldav): also cache empty share arrays
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-28 13:50:54 +07:00
Richard Steinmetz b7dc720848
feat: calendar federation
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-27 17:14:15 +07:00
Richard Steinmetz 7bb0e0de7a
Merge pull request #54405 from nextcloud/perf/custom-properties-default-value
perf: delete commonly used custom properties instead of setting the default value
2025-08-15 13:34:29 +07:00
Salvatore Martire 75d9aaa3b5
Merge pull request #54318 from nextcloud/feat/54115/emitPreloadCollectionEvent
Emits a `preloadCollection` event in the DAV server, so that plugins can listen to it and preload DAV properties for files inside a collection, to avoid the N+1 issue that would follow if loading properties on a per-file basis.
2025-08-15 11:06:48 +07:00
Salvatore Martire bdcd583045 feat: make use of `preloadCollection` in core apps
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-08-15 10:46:43 +07:00
Carl Schwan 9df79bae10 perf(caldav): Only prefetch published properties
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-15 09:57:58 +07:00
Carl Schwan 46f0c6ebb5 perf(caldav): Cache calendars in CustomPropertiesBackend
We already do that for files, we are now also doing for calendars.
With relatively small amount of calendars, I managed to reduce the
number of DB requests by 35% and from 23 DB requests touching the
oc_properties table to only 3.

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-15 09:57:58 +07:00
Robin Appelman 06aa7035db
Merge pull request #54420 from nextcloud/disable-custom-props-events
perf(calendar): Disable custom properties for individual calendar events
2025-08-14 15:55:36 +07:00
Carl Schwan 90cc0454a7 perf(calendar): Disable custom properties for individual calendar events
Save a query per event stored in the calendar and at least on the
production instance, there is no entries in the table for the events.

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-14 11:27:44 +07:00
Richard Steinmetz 7c0ffc0759
perf: delete commonly used custom properties instead of setting the default value
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-13 20:07:43 +07:00
Robin Appelman 46b5ff7467 perf: ignore any customer property in the nc/oc namespace that isn't explicitly allowed
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-13 19:32:45 +07:00
Ferdinand Thiessen 5981b7eb51
chore: apply new CSFixer rules
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>

# Conflicts:
#	apps/settings/lib/SetupChecks/PhpOpcacheSetup.php
2025-07-01 16:26:50 +07:00
John Molakvoæ bd00b75b29
Merge pull request #53671 from nextcloud/fix/read-only-share-download 2025-07-01 15:11:06 +07:00
Kate 768e99eb36
Merge pull request #52976 from nextcloud/perf/realpath-custom-prop 2025-07-01 13:54:51 +07:00
skjnldsv 9806a9830c feat(files_sharing): allow viewing files with download disabled
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-06-26 11:47:53 +07:00
Daniel Kesselberg 8b66f3518e
fix: hide guests group when searching for principals
Follow-up for https://github.com/nextcloud/server/pull/52914

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-06-17 11:19:23 +07:00
Daniel Kesselberg 5876653677 fix: hide guests group from principal backend
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-05-23 15:24:32 +07:00
Julius Knorr 24f3b15acc
perf: Skip photos app related property in custom properties
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-05-20 11:56:26 +07:00
Daniel Kesselberg c05d3fdb2e
fix(caldav): prevent unshare entry creation for owner unsharing
- Introduces a `unshare` method in `CalDavBackend` to handle user unshares.
- Implements check to determine if unshare entry is needed based on group/circle membership.
- Ensures `updateShares` is only used when the calendar owner manages shares.
- Resolves issue where unsharing a calendar as owner created an unshare entry in `oc_dav_shares`.

Related PRs:
- https://github.com/nextcloud/server/pull/43117
- https://github.com/nextcloud/server/pull/47737

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-05-14 09:03:32 +07:00
Robin Appelman 5c66fead67
fix: fix preloading files with no custom properties
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-04-09 15:04:35 +07:00
Git'Fellow 7c59119c03
Merge pull request #49867 from nextcloud/useHttpFramework
refactor: Use Http framework where possible
2024-12-16 10:36:17 +07:00
Git'Fellow 36d6b0f1e6 refactor: Use Http framework where possible
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-12-14 11:23:29 +07:00
SebastianKrupinski c1dd8ddf59 fix: replace null character when serializing
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-12-13 11:46:26 +07:00
provokateurin bb7841998b
fix(dav): Cleanup view-only check
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-28 08:02:42 +07:00
provokateurin 381077028a
refactor(apps): Use constructor property promotion when possible
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-21 12:37:59 +07:00
provokateurin 9836e9b164
chore(deps): Update nextcloud/coding-standard to v1.3.1
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-19 14:21:20 +07:00
Richard Steinmetz 5afe212103
Merge pull request #47737 from nextcloud/fix/also-allow-unsharing-for-circles
fix(caldav, carddav): also allow unsharing of circle shares
2024-09-10 07:42:17 +07:00
Anna Larch 17ef20c5f3 fix(dav): also allow unsharing of circle shares
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-09-05 21:34:20 +07:00
Anna Larch 8af7ecb257 chore: adjust code to adhere to coding standard
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-09-05 21:23:38 +07:00
Robin Appelman 1363e142d8
fix: make preload custom proterties sharding compatible
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-28 10:27:14 +07:00
Joas Schilling 7a1a0eb7a2
fix(dav): Allow apps to get unshares for DAV resources
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-08-26 18:58:32 +07:00
Daniel Kesselberg af6de04e9e
style: update codestyle for coding-standard 1.2.3
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-08-25 19:34:58 +07:00
Ferdinand Thiessen 4bbcbc5206
feat: Make `ISharedStorage` public API and reuse where possible
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-08-12 11:42:10 +07:00
Richard Steinmetz cbea787233
fix(caldav): stricter default calendar checks
Reject calendars that
- are subscriptions
- are not writable
- are shared with a user
- are deleted
- don't support VEVENTs

Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-07-22 15:24:39 +07:00
Joas Schilling e9bfaf31b8
fix(db): Don't use deprecated 3rdparty constant: `Doctrine\DBAL\Connection::PARAM_STR_ARRAY`
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-19 11:21:13 +07:00
Andy Scherzinger 9d4b944098
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-27 20:11:22 +07:00
Côme Chilliet ec5133b739 fix: Apply new coding standard to all files
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-02 14:16:21 +07:00
Christoph Wurst b6e1685683
fix(dav): ACLs for shared addressbooks
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-03-21 11:50:35 +07:00
Richard Steinmetz 53ef6c5f71
feat(dav): update a principal's schedule-default-calendar-URL
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-02-28 14:51:10 +07:00
Hamid Dehnavi 7bf31df0bc Refactors "substr" calls to improve code readability
Signed-off-by: Hamid Dehnavi <hamid.dev.pro@gmail.com>
2024-02-23 15:54:10 +07:00
Louis Chemineau 8e95d0f3ae
Check share attributes when downloading versions
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-02-21 15:06:01 +07:00
Anna Larch dce69154ba enh(sharing): enable unsharing for sharees for DAV shares (addressbooks and calendars)
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-02-15 18:01:12 +07:00
Louis Chemineau 25274f92b7
Improve view only error message
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-01-10 17:04:26 +07:00
Louis Chemineau 6aa2d2daee
Don't query oc_properties for metadata props
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-12-18 13:09:20 +07:00
Joas Schilling aa5f037af7
chore: apply changes from Nextcloud coding standards 1.1.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-23 10:36:13 +07:00
Hamid Dehnavi d64bbc8bd3 Convert isset ternary to null coalescing operator
Signed-off-by: Hamid Dehnavi <hamid.dev.pro@gmail.com>
2023-09-28 12:18:41 +07:00
Christoph Wurst 9627176a23
Merge pull request #38610 from fsamapoor/replace_strpos_calls_in_dav_app
Refactors "strpos" calls in /apps/dav
2023-09-17 10:14:20 +07:00