Commit graph

254 commits

Author SHA1 Message Date
Anna Larch
6354dce7ea fix(CardDAV): allow disabling of the system address book via config option
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-09-05 10:22:52 +02:00
Anna Larch
504f396d33 fix(CardDAV): set owner-principal, displayname properties for SAB
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-08-24 15:07:24 +02:00
Johannes Merkel
8dae579261 enh(contacts): show/hide addressbooks for all
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
2023-08-16 10:47:40 +00:00
Arthur Schiwon
592aeec17e
Merge pull request #38919 from nextcloud/backport/38639/stable27
[stable27] pruneOutdatedSyncTokens deletes all entries
2023-07-12 19:50:40 +02:00
Arthur Schiwon
8adad15e77
Merge pull request #38475 from nextcloud/backport/38454/stable27
[stable27] fix(carddav): Make system contact phone number RFC compliant
2023-07-12 01:00:12 +02:00
Richard Steinmetz
f2e9044494
fix(dav): close cursor when fetching max id
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-07-11 08:02:45 +02:00
Arthur Schiwon
1b422df12a
Merge pull request #38792 from nextcloud/backport/38777/stable27
[stable27] fix(carddav): Make SystemAddressBook::__construct $groupManager argument nullable
2023-07-10 18:28:02 +02:00
greta
e44cd0f080 fix(carddav): Make system contact phone number RFC compliant
Signed-off-by: greta <gretadoci@gmail.com>
2023-07-10 18:21:33 +02:00
Johannes Merkel
db8da6a571 fix(sab): put location in proper address field
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-07-07 15:16:58 +00:00
Christof Arnosti
8457a227e3
Issue #36644: Fix pruneOutdatedSyncTokens for CalDAV
pruneOutdatedSyncTokens accidentally deletes all entries of the calendarchanges table
instead of leaving $limit elements in the table

Signed-off-by: Christof Arnosti <charno@charno.ch>
2023-06-21 08:12:52 +02:00
Christoph Wurst
270d661fda fix(carddav): Make SystemAddressBook::__construct $groupManager argument nullable
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-06-13 10:48:29 +00:00
Joas Schilling
297ba1cd3a
Merge pull request #38416 from nextcloud/backport/38308/stable27
[stable27] fix(carddav): Check if SERVER variables are set before accessing them
2023-05-30 12:12:53 +02:00
Joas Schilling
bbb9437116 fix(dav): Fix avatar size in system address book
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-05-26 10:28:59 +00:00
Christoph Wurst
67d8c36537
fix(carddav): Don't show system address book cards to guests
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-05-25 18:21:06 +02:00
Christoph Wurst
11d21994f9 fix(carddav): Check enumeration settings for all SAB methods
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-05-25 08:26:57 +00:00
Johannes Merkel
d96200baed fix(SAB): Save avatar to SAB
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
2023-05-23 14:08:35 +00:00
Anna Larch
c1ac314ff1 fix(carddav): Check if SERVER variables are set before accessing them
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-05-23 12:41:15 +00:00
Thomas Citharel
13a3ebd4cc
feat(CardDAV): Add Sabre\DAV\IMoveTarget support to OCA\DAV\CardDAV\AddressBook
This allows to just UPDATE the card row instead of deleting it and reinsert it. It's very similar to https://github.com/nextcloud/server/pull/30120 for calendars.

As we need the addressbookid exposed, this introduces OCA\DAV\CardDAV\Card that extends Sabre's.

I chose specifically NOT to auto-inject LoggerInterface in Addressbook like in #30120 because the chain of DI is huge just for ONE simple call and it would break an existing dirty call (OCA\Contacts calling OCA\DAV) of ContactsManager in Contacts: https://github.com/nextcloud/contacts/pull/1722 (in SocialApiService), but this is debatable.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-05-16 11:38:57 +02:00
Simon L
25dd264965
Merge pull request #37965 from nextcloud/fix/transactional-system-addressbook-sync
fix(dav): Run system address book create-if-not-exists in transaction
2023-05-16 11:33:09 +02:00
Christoph Wurst
5d038a2dc1
fix(carddav): Mark system address book as read-only
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-05-15 10:27:53 +02:00
Christoph Wurst
2cc672d26b
fix(dav): Run system address book create-if-not-exists in transaction
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-05-12 14:15:02 +02:00
Christoph Wurst
1381c4c157
feat(users): Store and load a user's manager
Co-Authored-By: hamza221 <hamzamahjoubi221@gmail.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-05-12 13:56:48 +02:00
Anna Larch
5c2eb732f1 fix(carddav): expose system address book
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-05-11 18:59:30 +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
Christoph Wurst
8c727f2285
feat(carddav): Map user's additional emails into the SAB card
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-05-04 15:03:01 +02:00
Johannes Merkel
ab76b086aa
enh(contacts): write profile prop and backend prop to system addressbook
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
2023-05-02 16:31:11 +02:00
Thomas Citharel
ff3b69b21d refactor(dav): Since we're in a transaction, use QB properly when incrementing synctoken
Now that we're in a transaction, we can reuse the sync token's previous value without trouble, and rewrite the increment UPDATE query without dirty direct SQL.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-04-17 16:08:44 +00:00
Thomas Citharel
c9a3129cb4 fix(CalDAV/CardDAV): put every method from Cal/CardDAV backends that does multiple DB calls in transactions
In a lot of methods we're doing read-after-writes (for instance calling
updateProperties after touching calendar objects).
There's also a lot of deleting methods that do stuff sequentially which
could cause trouble.
This should avoid this kind of issues.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-04-17 16:08:44 +00:00
jld3103
7e58aa1a05
Fix DAV types
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-04-05 07:06:50 +02:00
jld3103
02f9c3a06f
Use implementations instead of interfaces for accessing private methods
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-03-30 12:33:46 +02:00
Joas Schilling
1a31ddb56d
Do not reuse query builder objects in DAV account deletion
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-02-01 21:49:34 +01:00
Christopher Ng
e6f4705920 Revert "Fix sync errors for duplicate cards with the same UID for different backends"
This reverts commit ddcee3dbab.

Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-01-13 02:11:09 +00:00
Anna Larch
ddcee3dbab Fix sync errors for duplicate cards with the same UID for different backends
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-01-05 12:19:51 +00:00
Côme Chilliet
cbbb0712db
Merge pull request #34807 from nextcloud/fix/compute-notification-parsed-subject
Compute notification parsed subject from rich subject when possible
2022-12-19 10:46:39 +01:00
Côme Chilliet
d9151ff35c Get rid of all useless calls to setParsedSubject now that setRichSubject is able to do it
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-11-29 14:36:29 +00:00
Carl Schwan
6828a3b28d Cleanup contactsinteraction
- Add more typing and use PHP 7.4 typed properties

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-11-25 11:46:18 +01:00
Anna Larch
9dd51601c6 Switch to DisplayNameCache for CardDAV
Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-11-03 10:26:34 +01:00
Thomas Citharel
6f15873321 Add a background job to prune outdated sync tokens
We remove all outdated sync tokens, based on their auto-incremented ID.

By default we only keep the last 10 000, but this can be configurable.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-27 20:12:13 +00:00
Christoph Wurst
19b7dad3dc Wrap address book creation write-read in a transaction
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2022-10-03 17:48:52 +02:00
blizzz
e714524267
Merge pull request #33104 from nextcloud/enhancement/add-logging-federation
Federation - add logging, update the server status if sync fails
2022-10-01 21:53:55 +02:00
blizzz
132f842f80
Merge pull request #33450 from sazanof/bug/base64-card-dav-search
Fix photo url generation (add URI type to VCard2Array)
2022-10-01 21:50:14 +02:00
Joas Schilling
d41841b4a7
Check address book URI length before creation
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-08-26 13:58:18 +02:00
Joas Schilling
71065f5fd5
Merge pull request #33615 from nextcloud/perf/noid/user-displayname-cache-for-activity-providers
Use user name cache in activity providers
2022-08-19 12:28:44 +02:00
Joas Schilling
eab5189abb
Fix carddav activities
The settings where combined last minute but at the same time the activities
where not adjusted to map an existing setting so the filter was not possible
to even limit it to the types that the activities had.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-08-19 10:50:45 +02:00
Joas Schilling
7e11778190
Use user name cache in activity providers
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-08-19 10:48:32 +02:00
Anna Larch
61b55c88da performance optimisation for carddav backend blob data read
Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-08-15 20:47:58 +02:00
Mikhail Sazanov
458f1b0c03 Add URI type to VCard
Signed-off-by: Mikhail Sazanov <m@sazanof.ru>
2022-08-03 13:07:26 +03:00
Anna Larch
2988efeb7f Add logging to federation
Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-07-27 15:00:38 +00:00
luz paz
d4637ef4d8 Fix typos in apps/dav subdirectory
Found via `codespell -q 3 -S l10n -L jus ./apps/dav`

Signed-off-by: luz paz <luzpaz@github.com>
2022-07-26 17:40:10 -04:00
blizzz
4ced3a4518
Merge pull request #32869 from nextcloud/dav-no-deleted-user-activities
Avoid calendar & addressbook activities being created on user being deleted
2022-07-23 00:01:30 +02:00