Commit graph

139 commits

Author SHA1 Message Date
Carl Schwan
8555f98e32 refactor: Port External\Manager to the query builder
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-16 11:36:12 +02:00
Carl Schwan
7e1c49ad9d refactor: Port away from IQueryBuilder::execute in apps/
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-16 11:35:01 +02:00
Carl Schwan
0e7d5dce1c refactor: Port away from changeColumn
Replace by the drop-in replacement modifyColumn

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-12 18:05:19 +02:00
Maxence Lange
a867ff8b27 feat(migration-attributes): missing attributes
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-03 13:55:02 -01:00
Carl Schwan
ef5edb6801 fix(psalm): Fix ParamNameMismatch with Job::run
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-08-29 14:31:39 +02:00
Richard Steinmetz
b7dc720848
feat: calendar federation
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-27 17:14:15 +02: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 +02: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 +02:00
Richard Steinmetz
cef60f9fd1
fix(dav): add repair step to queue job to update rooms and resources
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-05-09 17:19:43 +02:00
SebastianKrupinski
a2d4f8d3f1
feat: Calendar Export
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-05-06 11:09:33 +02:00
Richard Steinmetz
d0fcb7e638
fix(dav): move orphan cleaning logic to a chunked background job
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-05-05 12:13:09 +02:00
Richard Steinmetz
33a8e2226c
perf(caldav): increase chunk size in RemoveOrphanEventsAndContacts repair step
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-04-29 16:34:19 +02:00
Daniel
cc5ca58816
Merge pull request #51438 from nextcloud/perf/db/cards-properties-abid-name-value-idx
perf(db): Extend index on cards_properties to cover name and value
2025-04-24 13:33:37 +02:00
Joas Schilling
a8be6314ae
fix(dav): Really only run the chunk cleanup once
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-04-08 09:59:20 +02:00
Christoph Wurst
8388646ae7
perf(db): Extend index on cards_properties to cover name and value
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-03-12 13:14:29 +01:00
Christoph Wurst
ec664b0aea fix(dav): Create SAB at installation
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-03-06 18:40:30 +01:00
Côme Chilliet
b45bc2a462
fix: Use the new countUsersTotal method where it makes sense
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-01-14 12:38:02 +01:00
Mikhail Kotelnikov
e9d6c50170 fix(job): Check if carddata is resource and read it to string
Fixes nextcloud/server#46100

Co-authored-by: Christoph Wurst <ChristophWurst@users.noreply.github.com>
Signed-off-by: Mikhail Kotelnikov <fox@woland.me>
2024-11-19 22:28:27 +05:00
provokateurin
381077028a
refactor(apps): Use constructor property promotion when possible
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-21 12:37:59 +02:00
Git'Fellow
a1681b0756 chore(db): Apply query prepared statements
Fix: psalm

fix: bad file

fix: bug

chore: add batch

chore: add batch

chore: add batch

fix: psalm
2024-10-17 20:30:47 +02:00
Git'Fellow
c254855222 chore(db): Correctly apply query types
fix: psalm

fix: error

fix: add batch

fix: fatal error

fix: add batch

chore: add batch

chore: add batch

fix: psalm

fix: typo

fix: psalm

fix: return bool

fix: revert Manager
2024-10-17 09:21:07 +02:00
Côme Chilliet
1a4978c4ea
chore: Apply rector configuration to apps folder
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-20 17:51:00 +02: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 +02: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 +02: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 +02:00
Maxence Lange
726b7a6995 fix(metadata): revert wrongly renamed column
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-08-02 18:37:37 -01:00
Maxence Lange
5e1196095c feat(migrations): add metadata to existing migrations
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-08-02 18:26:12 -01:00
Joas Schilling
829f2b9bc7
fix(db): Promote the use of getDatabaseProvider to reduce the impage of removed upstream platforms
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-19 11:21:14 +02:00
Daniel
92acbb0d39
Merge pull request #45766 from nextcloud/feat/ooo-replacement
Feat: Allow users to select another user as their out-of-office replacement
2024-07-01 23:25:43 +02:00
Hamza Mahjoubi
a9774741e8 Feat: Allow users to select another user as their out-of-office replacement
Signed-off-by: Hamza Mahjoubi <hamzamahjoubi221@gmail.com>
2024-07-01 15:10:16 +02:00
Arthur Schiwon
1d3ff4337e
fix(BuildSocialSearchIndexBackgroundJob): offset not applied
with more than 100 results, this job may never finish

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-07-01 14:31:27 +02:00
SebastianKrupinski
ff7e2c1837 fix(dav): add missing database index for dav_shares resourceid, type and access
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>

Co-authored-by: Richard Steinmetz <richard@steinmetz.cloud>
Signed-off-by: Sebastian Krupinski <165827823+SebastianKrupinski@users.noreply.github.com>

Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>

Co-authored-by: Richard Steinmetz <richard@steinmetz.cloud>
Signed-off-by: Sebastian Krupinski <165827823+SebastianKrupinski@users.noreply.github.com>

Co-authored-by: Richard Steinmetz <richard@steinmetz.cloud>
Signed-off-by: Sebastian Krupinski <165827823+SebastianKrupinski@users.noreply.github.com>

Co-authored-by: Richard Steinmetz <richard@steinmetz.cloud>
Signed-off-by: Sebastian Krupinski <165827823+SebastianKrupinski@users.noreply.github.com>

Co-authored-by: Daniel <mail@danielkesselberg.de>
Signed-off-by: Sebastian Krupinski <165827823+SebastianKrupinski@users.noreply.github.com>

Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-06-26 14:20:36 -04:00
Christoph Wurst
169eedabf9
fix(dav): Limit number of UPDATES for sync token created_at
Address book and calendar sync tokens have a created_at column in 26+
and we need to assign a current timestamp to the existing data at
upgrade so the data isn't cleaned up immediately. Updating the full
table is expensive and fails on clustered setups that limit transaction
size. We don't need a timestamp for the oldest rows so we can skip
updating them.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-06-19 15:38:36 +02:00
Anna Larch
ad78f7e48e fix(caldav): automatically delete outdated scheduling objects
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-05-31 13:14:01 +02:00
Andy Scherzinger
9d4b944098
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-27 20:11:22 +02:00
Christoph Wurst
3dea99f42b
fix(dav): Add retention time to sync token cleanup
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-03-21 18:37:21 +01:00
Johannes Merkel
631f2b48ea
fix(db): remove redundant index in cards
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
2024-02-18 20:51:43 +01:00
Côme Chilliet
303e2febc7
Merge pull request #43387 from nextcloud/fix/migrate-away-from-ilogger-in-jobs 2024-02-08 18:27:44 +01:00
Louis Chemineau
898df41de9
Revert "Merge branch 'master' of github.com:nextcloud/server"
This reverts commit d9d60238c7, reversing
changes made to ba3fdb0cdc.
2024-02-08 15:31:19 +01:00
Côme Chilliet
166773879b fix!: Migrate jobs away from deprecated interfaces
BREAKING CHANGE: Removed ILogFactory::getCustomLogger deprecated method

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-02-08 10:28:29 +01: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 +01:00
Daniel Kesselberg
7b74b07046
fix: lower threshold for system address book sync
- Switch back to countUsers to have the actual value. countSeenUsers is bad if Nextcloud is connected to a larger directory, but only a part is using Nextcloud and therefore the seen count is much lower because the sync is done for all users.
- Lower the threshold to 100 for smaller installations.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-11-22 14:59:02 +01:00
Akhil
439de119c7
add index for classification
Signed-off-by: Akhil <akhil@e.email>
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-10-31 10:41:32 +01:00
Richard Steinmetz
45ed9b10d5
feat(dav): implement personal absence settings backend
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-10-29 00:08:44 +02:00
Daniel Kesselberg
108916cf5e fix: use faster method to fetch user count
countUsers: the actual user count reported by the backend.
countSeenUsers: count every user who was logged in once.

1: We should avoid expensive operations (like asking every backend for it's user count) in migrations.
2: The current check is wrong because countUsers returns an array. var_dump([] > 1000) => true ;)

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-09-14 12:19:22 +02:00
Anna Larch
7f11ee8c4a fix(CardDAV): only run upgrade sync if 1000 users or less
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-08-26 17:21:50 +02:00
Christoph Wurst
92c18b252c
fix(dav): Catch SAB sync errors during upgrade
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-06-26 10:52:07 +02:00
Anna Larch
bd80a1b2dd
feat(dav): store scopes for properties and filter locally scoped properties for federated address book sync
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-05-09 19:17:39 +02:00
Joas Schilling
6fb0da7e4f
fix(Repair): Fix repair step compatibility with Oracle DB
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-02-23 16:57:54 +01:00
Thomas Citharel
bd8b2137e2
Allow DAV Object properties
The current implementation only saves them as string. It seems they can
be more complex than that, and that objects were saved directly.

You may find such objects saved in some production databases by
executing:
```sql
SELECT * from oc_properties where propertyvalue = 'Object';
```

This commit adds a repair job to clean all of these "broken" properties
values, adds a new database column to save the type of the property, and
handles converting from and to correct values.

Implementation is very similar to SabreDAV's own PDO backend: 4921806dfb/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-16 15:02:00 +02:00