Commit Graph

2113 Commits (7b6a650b6e09b07d4b85a4ae84eb64a6c32b217f)

Author SHA1 Message Date
Thomas Citharel 3886b00a33 Fix creating events with old (< unix time) lastoccurence
Closes #20804

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-06-27 11:16:47 +07: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 +07:00
Johannes 199b9788e6
Merge pull request #38856 from nextcloud/fix/contacts/3404/put-location-in-proper-place
fix(sab): put location in proper address field
2023-06-22 11:51:33 +07:00
Joas Schilling e9d8dbf53c
Merge pull request #38747 from nextcloud/perf/early-exit-mkcol
perf: skip request without write permission
2023-06-22 09:02:55 +07:00
Arthur Schiwon 00b396a674
refactor: save unnecessary method_exists
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 20:35:41 +07:00
Arthur Schiwon a0b683477f
fix: use array_unitersect against objects
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 20:28:02 +07:00
Arthur Schiwon 27f6f86d75
fix: obey offset and limit for results from favs and circles
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 20:28:01 +07:00
Arthur Schiwon a0f9556f7c
fix: cominbation of small fixes
- possible null return
- parameter name mismatch in implementation
- incomplete unit test

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 20:28:01 +07:00
Arthur Schiwon 49db546f78
fix: include invisible tags for admins
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 20:28:01 +07:00
Arthur Schiwon 29f59a54b4
fix: search with more than one search tags
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 20:28:00 +07:00
Arthur Schiwon 30028bb9ac
fix: no search when LazyFolder was provided
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 18:19:09 +07:00
Arthur Schiwon ddb65be58f
chore: cleanup unused code
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 18:19:09 +07:00
Arthur Schiwon be50bd1b0f
fix: ensure searchBySystemTag() is available
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 18:19:08 +07:00
Arthur Schiwon 783e32a64d
fix: favorites view and universal search against tags
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 18:19:08 +07:00
Arthur Schiwon 58f7fd2370
use efficient tag retrieval on DAV report request
- uses DAV search approach against valid files joined by systemtag selector
- reduced table join for tag/systemtag search
- supports pagination
- no changes to the output formats or similar

Example request body:

<?xml version="1.0"?>
<oc:filter-files xmlns:d="DAV:" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns" xmlns:ocs="http://open-collaboration-services.org/ns">
  <d:prop>
    <d:getcontentlength/>
    <d:getcontenttype/>
    <d:getetag/>
    <d:getlastmodified/>
    <d:resourcetype/>
    <nc:face-detections/>
    <nc:file-metadata-size/>
    <nc:has-preview/>
    <nc:realpath/>
    <oc:favorite/>
    <oc:fileid/>
    <oc:permissions/>
    <nc:nbItems/>
  </d:prop>
  <oc:filter-rules>
    <oc:systemtag>32</oc:systemtag>
  </oc:filter-rules>
  <d:limit>
    <d:nresults>50</d:nresults>
    <nc:firstresult>0</nc:firstresult>
  </d:limit>
</oc:filter-files>

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 18:19:08 +07:00
Robin Appelman 58a4a222d0
clean failed upload chunks
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-06-21 15:32:27 +07:00
Simon L 56c16b306f
Merge pull request #38639 from charno/bugfix/36644-pruneOutdatedSyncTokens-deletes-all-entries
Bugfix/36644 pruneOutdatedSyncTokens deletes all entries
2023-06-20 16:36:28 +07:00
Johannes Merkel 3cb8968808 fix(sab): put location in proper address field
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
2023-06-20 16:18:09 +07:00
Carl Schwan 9725d00329
Cleanup comments code
- Fix various psalm issues
- Add as much typing as possible while preserving stable API

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2023-06-20 10:55:20 +07:00
Daniel Kesselberg debd03f30d perf: skip request without write permission
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-06-19 13:42:13 +07:00
Christoph Wurst 62c41967e8
fix(carddav): Make SystemAddressBook::__construct $groupManager argument nullable
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-06-12 18:44:25 +07:00
Christof Arnosti 73fb2997f4 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-12 08:35:35 +07:00
Faraz Samapoor 8c64ccae01 Fixes "PossiblyNullArgument" Psalm warnings.
Co-authored-by: Thomas Citharel <tcit@tcit.fr>
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
2023-06-12 09:46:07 +07:00
Faraz Samapoor 0bae21b1d1 Refactors "strpos" calls in /apps/dav to improve code readability.
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
2023-06-12 09:46:07 +07:00
Christoph Wurst a213650b71
fix(caldav): Cast calendar objects id to int when building index
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-06-06 09:45:39 +07:00
Christoph Wurst 6f3f84e955
fix(caldav): Close DB cursor in reminder index background job
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-06-05 18:47:24 +07:00
Christoph Wurst b7e7d80173
fix(caldav): Ignore invalid events for reminder generation
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-05-31 09:49:04 +07:00
Joas Schilling ef93bb926c
fix(dav): Fix avatar size in system address book
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-05-26 10:03:58 +07:00
Arthur Schiwon cd5bd11771
Merge pull request #38448 from nextcloud/fix/carddav/no-sab-guest-users
fix(carddav): Don't show system address book cards to guests
2023-05-25 17:26:46 +07:00
Christoph Wurst 9780472a02
Merge pull request #38454 from nextcloud/fix/capitalization-other-tel
fix(carddav): Make system contact phone number RFC compliant
2023-05-25 15:56:08 +07:00
Christoph Wurst e524631ce3
fix(carddav): Don't show system address book cards to guests
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-05-25 12:26:26 +07:00
greta 50b61c8b7b fix(carddav): Make system contact phone number RFC compliant
Signed-off-by: greta <gretadoci@gmail.com>
2023-05-25 11:10:25 +07:00
Christoph Wurst 5cfbd4c535
fix(carddav): Check enumeration settings for all SAB methods
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-05-25 09:11:26 +07:00
Johannes 7ec1ceb79a
Merge pull request #38413 from nextcloud/fix/38412/save-avatar-SAB
fix(SAB): Save avatar to SAB
2023-05-23 15:55:26 +07:00
Johannes Merkel 5983ef001d
fix(SAB): Save avatar to SAB
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
2023-05-23 11:15:34 +07:00
Anna Larch 3c93ce9c25
fix(carddav): Check if SERVER variables are set before accessing them
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-05-23 10:58:29 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Anna Larch 5c2eb732f1 fix(carddav): expose system address book
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-05-11 18:59:30 +07:00
Arthur Schiwon b6c034ac57
Merge pull request #37961 from nextcloud/poc/noid/systemtags-perf
SystemTags endpoint to return tags used by a user with meta data
2023-05-11 10:16:03 +07:00
Arthur Schiwon 2d41f0c064
Merge pull request #38067 from nextcloud/fix/noid/sortTags
fix: sort tags by name
2023-05-11 09:54:15 +07:00
Arthur Schiwon e20e18f45f
fix: use interface instead of implementation as type hint
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-05-10 19:06:29 +07:00
Anna 9e53934498
Merge pull request #36118 from nextcloud/fix/caldav/invitation-outlook-compatibilty
Fix calendar emails to be outlook compatible
2023-05-10 12:10:42 +07:00
Christoph Wurst 1fd8f41e33
Merge pull request #38048 from nextcloud/enh/add-x-nc-scope-property
feat(dav): store scopes for properties and filter locally scoped properties for federated address book sync
2023-05-10 11:05:41 +07:00
Julius Härtl b935725b70
Merge pull request #38100 from tanganellilore/fix_delete_ChunkingV2Plugin 2023-05-10 08:34:25 +07:00
Arthur Schiwon dbfd2f936a
refactor: remove SystemTag logic from Folder into QuerySearchHelper
- adds OC\SystemTag\SystemTagsInFilesDetector where the search logic is
  moved to

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-05-09 23:51:52 +07:00
Arthur Schiwon 7f3725c962
chore: polish SystemTagsInUseCollection
- DI SystemTagManager
- add some comments and doc
- catch NoUserException
- add return type hints

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-05-09 23:51:52 +07:00
Arthur Schiwon b07c5dff72
fix: improve naming of new systemtags endpoint to systemtags-assigned
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-05-09 23:51:51 +07:00
Arthur Schiwon 2489a2d63a
feat: specify media type via url path: systemtags-current/$mediaType
- only the media part of the mime type can be search, but not the full
  mime type. It can be added, should it become necessary.
- thus fixes previously hardcoded selector for image/ types
- also fixes a return type hint
- adds a return type hint

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-05-09 23:51:51 +07:00
Arthur Schiwon 6bff6a5667
PoC: SystemTags endpoint to return tags used by a user with meta data
Target case is photos app: when visiting the tags category, all systemtags
of the whole cloud are retrieved. In subequent steps the next tag is
requested until the browser view is filled with tag tiles (i.e. previews
are requested just as well).

With this approach, we incorpoate the dav search and look for user related
tags that are used by them, and already returns the statistics (number of
files tagged with the respective tag) as well as a file id for the purpose
to load the preview. This defaults to the file with the highest id.

Call:
curl -s -u 'user:password' \
  'https://my.nc.srv/remote.php/dav/systemtags-current' \
  -X PROPFIND -H 'Accept: text/plain' \
  -H 'Accept-Language: en-US,en;q=0.5'  -H 'Depth: 1' \
  -H 'Content-Type: text/plain;charset=UTF-8' \
  --data @/home/doe/request-systemtag-props.xml

With request-systemtag-props.xml:
<?xml version="1.0" encoding="UTF-8"?>
<d:propfind xmlns:d="DAV:">
        <d:prop xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns">
                <oc:id/>
                <oc:display-name/>
                <oc:user-visible/>
                <oc:user-assignable/>
                <oc:can-assign/>
                <nc:files-assigned/>
                <nc:reference-fileid/>
        </d:prop>
</d:propfind>

Example output:
  …
  <d:response>
    <d:href>/master/remote.php/dav/systemtags/84</d:href>
    <d:propstat>
      <d:prop>
        <oc:id>84</oc:id>
        <oc:display-name>Computer</oc:display-name>
        <oc:user-visible>true</oc:user-visible>
        <oc:user-assignable>true</oc:user-assignable>
        <oc:can-assign>true</oc:can-assign>
        <nc:files-assigned>42</nc:files-assigned>
        <nc:reference-fileid>924022</nc:reference-fileid>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
  </d:response>
  <d:response>
    <d:href>/remote.php/dav/systemtags/97</d:href>
    <d:propstat>
      <d:prop>
        <oc:id>97</oc:id>
        <oc:display-name>Bear</oc:display-name>
        <oc:user-visible>true</oc:user-visible>
        <oc:user-assignable>true</oc:user-assignable>
        <oc:can-assign>true</oc:can-assign>
        <nc:files-assigned>1</nc:files-assigned>
        <nc:reference-fileid>923422</nc:reference-fileid>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
  </d:response>
  …

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-05-09 23:51:48 +07: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 +07:00
Côme Chilliet 185fe5378b
Merge pull request #36893 from nextcloud/fix/avoid-file-events-on-null-path
Make sure to never trigger files hooks on a null path
2023-05-09 17:44:14 +07:00
Christopher Ng 4e51f5224c feat(UserMigration)!: 32-bit support
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-05-05 17:59:57 +07:00
Lorenzo Tanganelli d920e65dc5 fix error on delete in ChunkingV2Plugin
Signed-off-by: Lorenzo Tanganelli <lorenzo.tanganelli@hotmail.it>
2023-05-05 13:07:58 +07:00
Simon L a1ed1db01b
Merge pull request #31660 from dzatoah/pr/rename-sendEventRemindersToSharedGroupMembers-to-sendEventRemindersToSharedUsers
Rename setting 'sendEventRemindersToSharedGroupMembers' -> 'sendEventRemindersToSharedUsers'.
2023-05-05 08:12:04 +07:00
Côme Chilliet 6034cc6893 Make sure to never trigger files hooks on a null path
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-05-04 17:55:09 +07: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 +07:00
Arthur Schiwon badee49b4b
fix: sort tags by name
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-05-04 13:21:14 +07:00
Daniel Teichmann 56f36b94e5
Rename setting 'sendEventRemindersToSharedGroupMembers' to 'sendEventRemindersToSharedUsers'.
Signed-off-by: Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
2023-05-04 13:05:00 +07:00
Joas Schilling b91957e3df
fix(dav): Abort requests with 429 instead of waiting
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-05-03 22:43:36 +07: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 +07:00
John Molakvoæ 20df0019f1
fix(psalm): systemtags
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-04-28 12:23:52 +07:00
Robin Appelman 74ced3d2eb
expose system tags as dav property for files
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-04-28 10:46:38 +07:00
Ferdinand Thiessen 62c4ae78df Feature: Provide access to app generated calendars through CalDAV
This adds CalDAV support for app generated calendars,
which are registered to the nextcloud core.
This is done by adding a dav plugin which wraps
all ICalendarProviders into a Sabre plugin (inspired by the deck app).

Add unit test for AppCalendar wrapper plugin and calendar object implementation.

Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
2023-04-25 18:11:49 +07:00
Maximilian Martin c8985944ec fix event move issue
Signed-off-by: Maximilian Martin <maximilian_martin@gmx.de>
2023-04-18 09:45:30 +07:00
Simon L 855e7a2efb
Merge pull request #36774 from nextcloud/bugfix/noid/sabre-nodes
fix: always use proper path on node api when calling the view
2023-04-18 04:11:44 +07:00
Simon L 66ab45b8a0
Merge pull request #36528 from nextcloud/dav-backend-transations
CalDAV/CardDAV: put every method from backends that does multiple DB calls in transactions
2023-04-18 00:55:29 +07:00
Simon L 6afda50590
Merge pull request #37645 from nextcloud/fix/improve-imip-emails
fix(dav): Parse sender PARTSTAT in REPLYs
2023-04-17 23:49:16 +07:00
Julius Härtl 160bd75d0a fix: Use proper path when creating node instances
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-04-17 23:46:52 +07: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 +07: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 +07:00
Simon L e63720b714
Merge pull request #36217 from nextcloud/handle-push-notification-with-no-calendar-name
Handle reminders where calendar name is null
2023-04-17 15:43:21 +07:00
Simon L bdb09abd1a
Merge pull request #36845 from Murena-SAS/reminder-iterator-exception
Fix max instances exception in get vevent call
2023-04-17 15:26:11 +07:00
Anna Larch fd85c86cde fix(dav): Parse sender PARTSTAT in REPLYs
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-04-13 18:55:08 +07:00
Arthur Schiwon 784b2bd703
Merge pull request #37626 from nextcloud/fix/compare-imip-email-values
fix(dav): add string comparison for diff
2023-04-11 19:36:13 +07:00
jld3103 b153340b62
Add type hints for mappers
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-04-07 09:49:42 +07:00
Anna Larch 1811a0e8f9 fix(dav): add string comparison for diff
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-04-07 00:28:42 +07:00
jld3103 7e58aa1a05
Fix DAV types
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-04-05 07:06:50 +07:00
Louis 7ab44b2d28
Merge pull request #37146 from nextcloud/artonge/feat/migrate_metadata_to_value
Migrate metadata JSON column to new value TEXT column
2023-04-04 10:23:54 +07:00
Louis Chemineau 1a6709cf43 Migrate metadata as JSON to value as STRING
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-04-03 14:06:28 +07: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 +07:00
Simon L 0e5fcb49d4
Merge pull request #36661 from onny/event-update-mail-subject
Invitation mail: Change subject if event got updated
2023-03-16 12:26:12 +07:00
Joas Schilling 4b79e75072
Merge pull request #36852 from nextcloud/bugfix/noid/fix-user-status-automation-on-the-day-rules-are-adjusted
fix(user_status): Fix the user status automation on the day availablity rules are adjusted
2023-03-13 15:30:27 +07:00
Anna ac90fa2f8e
Merge pull request #36800 from rotdrop/feature/dav-macos-quirks
apps/dav: add some OSX specific quirks.
2023-03-13 11:46:19 +07:00
Joas Schilling c3c3dcbcd9
fix(user_status): Fix the user status automation on the day availability rules are adjusted
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-03-13 11:41:36 +07:00
Thomas Citharel 5c5de0bac1
fix(dav): Handle no next potential toggle in availability detection
Fixes:  min(): Array must contain at least one element at /var/www/nc/nextcloud/apps/dav/lib/BackgroundJob/UserStatusAutomation.php#142
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-03-10 12:18:13 +07:00
Arthur Schiwon 315510df84
Merge pull request #27034 from nextcloud/enh/s3-multipart-upload-api
Use MultipartUpload for uploading chunks to s3
2023-03-09 13:55:57 +07:00
Michiel de Jong c0e84cb512 Add SHARE_TYPE_SCIENCEMESH
Signed-off-by: Michiel de Jong <michiel@unhosted.org>
2023-03-08 16:46:55 +07:00
Julius Härtl e23aa8883e
feat(s3): Use multipart upload for chunked uploading
This allows to stream file chunks directly to S3 during upload.

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-08 14:00:04 +07:00
Claus-Justus Heine 64e9dcc9c3
apps/dav: add some OSX specific quirks.
Signed-off-by: Claus-Justus Heine <himself@claus-justus-heine.de>
2023-03-07 16:23:30 +07:00
Julius Härtl d515da502f fix: Use proper path for quota fetching
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-06 22:46:07 +07:00
Julius Härtl 3287eddbbc fix: Recalculate storage statistics on updating the quota
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-06 22:46:07 +07:00
Richard Steinmetz 7a020b1d1a
Merge pull request #36935 from nextcloud/fix/noid/imip-plugin-null-hardening
fix(caldav): harden null handling of iMip scheduling method
2023-03-02 12:28:17 +07:00
blizzz e08fa78224
Merge pull request #36594 from nextcloud/fix-handling-of-invitations
fix(caldav): Correctly handle calendar recreation for invitations when the current calendar is in the trashbin
2023-03-02 11:54:51 +07:00
Richard Steinmetz a35b960c7a fix(caldav): harden null handling of iMip scheduling method
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-03-02 09:42:10 +07:00
Richard Steinmetz 2c0d89e56a
fix(caldav): convert iMip recipient name to a string
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-02-28 15:20:58 +07:00
Akhil e823718383
Remove reminder if max instances exceeded
Signed-off-by: Akhil <akhil@e.email>
2023-02-27 15:56:39 +07:00
Akhil Potukuchi e354e9266e
Update apps/dav/lib/CalDAV/Reminder/ReminderService.php
Co-authored-by: Christoph Wurst <ChristophWurst@users.noreply.github.com>
Signed-off-by: Akhil Potukuchi <akhil.potukuchi@gmail.com>
2023-02-27 12:55:48 +07:00
Akhil 9f9da964f6
Fix max instances exception for get vevent call
Signed-off-by: Akhil <akhil@e.email>
2023-02-26 21:27:37 +07: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 +07:00
Daniel c6c512a19d
Merge pull request #34375 from nextcloud/fix/trashbin-uid
fix(dav) Handle Calendar trashbin UID conflicts by removing the deleted calendar object
2023-02-21 16:32:05 +07:00
Anna Larch ed70815076 Fix calendar emails to be outlook compatible
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-02-21 14:37:11 +07:00
Joas Schilling 98ed72b3ed
Revert "fix(performance): Do not set up filesystem on every call" 2023-02-21 07:36:43 +07:00
Jonas Heinrich 944efa388a Invitation mail: Change subject if event got updated
Signed-off-by: Jonas Heinrich <heinrich@synyx.de>
2023-02-20 13:53:53 +07:00
Maximilian Martin 245351fdae assign group share value
Signed-off-by: Maximilian Martin <maximilian_martin@gmx.de>
2023-02-20 10:10:17 +07:00
Julius Härtl 3bdf3322ec
fix: Use passed LazyFolder when building sabre nodes
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-02-17 19:21:05 +07:00
Anna Larch 5d4efb4d5f
Do not set up filesystem on every call
Also remove old Oc_FileChunking logis that produced GC- collectable chunks

Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-02-17 19:18:37 +07:00
Anna Larch 5b6a0affd0 Allow reimporting prev. deleted items by deleting trashbin item
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-02-13 15:00:23 +07:00
rakekniven 421df8d456
l10n: Fixed grammar
Reported at Transifex.

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>


Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2023-02-11 22:09:26 +07:00
Christoph Wurst b5f7afd0fb
fix(caldav): Fix reminder timezone drift for all-day events
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-02-09 15:19:00 +07:00
Thomas Citharel 4fd58aa45c
fix(caldav): Correctly handle calendar recreation for invitations when the current calendar is in the trashbin
Follow-up to #32361, see https://github.com/nextcloud/calendar/issues/4098 for details

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-02-09 14:43:27 +07:00
Julius Härtl 7b413a41eb
perf(dav): Do not call general setupFS on ever dav auth
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-02-09 10:19:37 +07:00
Christoph Wurst ee05e01cf4
Merge pull request #29010 from mattian/fix/19218/birthday-leap-day
dav: fix birthday calendar event generation for leap days
2023-02-08 08:55:22 +07:00
Côme Chilliet c4d90f3e81
Removed catch of ValueError as we cannot know if it’s >2038 or <1970
Also fixed numericToString to correctly convert float to int if it fits

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-07 11:23:35 +07:00
Côme Chilliet 028c225d96
Fix psalm errors
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-07 11:23:32 +07:00
Côme Chilliet d315bce300
Improve behavior with dates on 32bits and fix tests or skip them
We do not support events after 2038 on 32bits but still behave better
 when date range start/end is after 2038.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-07 11:23:32 +07:00
Côme Chilliet 110fc79918
Silence errors of return type mismatch from Sabre for now
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-07 11:23:31 +07:00
Côme Chilliet cd885b5705
Type sizes as int|float throughout the code base
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-07 11:23:31 +07:00
Côme Chilliet 5c1a0e0307
Allow float sizes in FileInfo for 32bits
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-07 11:23:31 +07:00
Mattia Narducci b55c62c6c2 dav: fix birthday calendar event generation for leap days
Fix generation of birthday calendar events for the 29th of February.

A recurring event for the 29th of February in the (default) Gregorian
calendar system would only generate instances in leap years. Fix this
behaviour by generating recurring events for the last day of February,
the 29th on leap years and the 28th otherwise.

Signed-off-by: Mattia Narducci <mattianarducci1@gmail.com>
2023-02-06 19:11:46 +07:00
Anna Larch 38e9cb6a05 Use recurrence instance to build iMip email
instead of the main VEVENT of a repeating event

Fixes part of https://github.com/nextcloud/calendar/issues/3919

Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-02-02 16:25:59 +07:00
Côme Chilliet dde5c46a3e
Migrate to Symfony Mailer
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-02 10:30:06 +07: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 +07:00
Christoph Wurst df0bb9165d
Merge pull request #36380 from nextcloud/fix/caldav/reminder-service-nullable-calendar-data
fix(caldav): Fix wrong Psalm report for nullable calendar data
2023-01-27 15:43:33 +07:00
Christoph Wurst 954284f8cd
fix(caldav): Fix wrong Psalm report for nullable calendar data
> Docblock-defined type Sabre\VObject\Component\VCalendar for $vcalendar is never falsy

^ is a lie

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-01-26 11:24:53 +07:00
Richard Steinmetz bbda231e18
fix(dav): check if principal has email address before accessing it
Ref https://github.com/nextcloud/calendar/issues/4811

Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-01-24 09:27:53 +07:00
Joas Schilling 3eda055c68
Merge pull request #36260 from nextcloud/bugfix/noid/fix-user-availability-selection
Fix WHERE condition when selecting user's availability for the status…
2023-01-23 15:59:39 +07:00
Christoph Wurst 83711e9267
Merge pull request #36254 from nextcloud/chore/dav/throw-json-encode-decode
chore(dav): Make json_encode and json_decode throw on error
2023-01-23 12:52:22 +07:00
Joas Schilling 1aba0e22ba
Fix WHERE condition when selecting user's availability for the status automation
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-01-20 07:21:22 +07:00
Christoph Wurst afd1ddb0ea
chore(dav): Make json_encode and json_decode throw on error
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-01-19 19:19:22 +07:00
Christoph Wurst 3c9ceffa7c
chore(dav): Remove useless var tag
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-01-19 19:05:23 +07:00
Anna Larch a9264b007f fix(dav): catch MaxInstancesExceedeException for recurring events without end date
Ref https://github.com/nextcloud/calendar/issues/4811

Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-01-18 15:40:36 +07:00
Thomas Citharel 62739ecf6c
Handle reminders where calendar name is null
This adds an interface change, but that's not a public API.

We're handling this in the providers and not in ReminderService because
the fallback is translated with the user's language.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-01-18 14:30:43 +07:00
Vincent Petry ecf6b7667b Extend ViewOnly DAV plugin to versions endpoint
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2023-01-13 09:27:16 +07: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 +07:00
John Molakvoæ c2b6922c33
Merge pull request #35973 from nextcloud/fix/hook-into-event-lifecycle
Hook into sabre event lifecycle for iMip Messages
2023-01-05 15:47:29 +07: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 +07:00
Anna Larch d58ecdcfad Hook into sabre event lifecycle for iMip Messages
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-01-05 11:55:26 +07:00
Anna Larch 05f2dc68fc [WIP] Add logging to Scheduling Plugin
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-01-04 16:58:00 +07:00
Joas Schilling 348454cb91
Merge pull request #35876 from bennet0496/patch-mail-header
Adding option to set Auto-Submitted email header
2023-01-04 09:34:14 +07:00
Bennet Becker 5a1cc8de9b
update usages of AutoSubmittedValue to AutoSubmitted::VALUE_
Signed-off-by: Bennet Becker <dev@bennet.cc>
2023-01-03 15:28:43 +07:00
Côme Chilliet 06da8adcd3
Merge pull request #35943 from nextcloud/fix/code-fixes-from-34997
Code fixes from PR 34997
2023-01-03 14:32:31 +07:00
Côme Chilliet a372564850
Fix psalm spotted errors with new requirements
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-01-02 15:02:28 +07:00
Julius Härtl b8046e2ba4
Align checksum dav property with desktop client parsing
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-12-30 16:55:35 +07:00
Côme Chilliet 9430899f16
Fix psalm issues related to signature changes from PHP 8.0
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-12-29 12:36:34 +07:00
Bennet Becker 7a9f4fbbbe
Setting Auto-Submitted header for calendar events and new user mail
Signed-off-by: Bennet Becker <bbecker@pks.mpg.de>
2022-12-23 19:26:38 +07:00
Anna Larch e6f23f50df Remove comment and guests option from Invitations UI
Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-12-20 16:31:06 +07:00
Côme Chilliet 1bc51a059b
Fix parameter type for EntityCollection::setReadMarker in comments app
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-12-19 11:44:27 +07: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 +07:00
Côme Chilliet 30560d3165
Merge branch 'master' into tests/fix-phpunit-warnings
Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2022-12-05 12:03:39 +07:00
Côme Chilliet cb0450b5c4
Improve typing on new methods
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-12-05 12:01:12 +07:00
Simon L 82e2a9033f
Merge pull request #34232 from nextcloud/fix/noid/refresh-filesize-on-conflict
compare cached filesize on download
2022-12-03 19:53:46 +07:00
Simon L 53f2519a6c
Merge pull request #34920 from ibpl/master-IB#1126265
Added parameter to disallow calendar subscription via link
2022-12-03 19:08:22 +07:00
Maxence Lange cc639a8877 compare cached filesize on download
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2022-12-01 15:42:15 +07:00
Carl Schwan f4adfd1ead
Merge pull request #35426 from nextcloud/cleanup/contactintegration
Cleanup contactsinteraction
2022-11-30 12:17:30 +07: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 +07:00
Simon L cd7cec587e
Merge pull request #35425 from nextcloud/bumpMinimumDesktopClientForWebdav
minimum desktop client that is supported is 2.3.0
2022-11-28 15:34:32 +07:00
Carl Schwan e8ae4406ce
Merge pull request #34849 from nextcloud/feat/hint-about-no-access-reasons
Add an hint about reasons why files can't be accessed
2022-11-25 13:12:55 +07: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 +07:00
Matthieu Gallien c63ff42410
minimum desktop client that is supported is 2.3.0
2.3.0 was release on Mar 3, 2017

added support for new chunking algorithm allowing to now deprecate the
older one

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-25 11:40:30 +07:00
Louis Chemineau 90bce5d58e Do not check quota for non Node
Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-11-24 11:35:02 +07:00
Carl Schwan 48ea9e1c23 Use public IAppManager instead of OC_App
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-11-23 17:04:22 +07:00
Côme Chilliet feafa63afb Apply the same fix as on beforeCopy on beforeMove
Let’s be safe

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-11-17 13:22:50 +07:00
Robin Appelman 9150082eb7 fix dirname usage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-11-17 13:22:50 +07:00
Côme Chilliet 81d3a76d5d Fix psalm issues
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-11-17 13:22:50 +07:00
Côme Chilliet 5ed840ed23 Check quota on file copy
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-11-17 13:22:49 +07:00
Côme Chilliet 4893d5e746
Merge pull request #35156 from nextcloud/fix/fix-tests-for-8.2
Fix dynamic properties and other problems in tests for PHP 8.2
2022-11-15 13:04:51 +07:00
Côme Chilliet c79a6b3f62
Fix errors from PHP 8.2 testing
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-11-14 17:08:21 +07:00
Côme Chilliet 9ba9f9a7dc
Make sure to not pass null to DateTime::createFromFormat
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-11-14 16:23:50 +07:00
Julius Härtl 908b7aa70a
Attempt to fix CalendarImpl tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-11-09 16:37:34 +07:00
Richard Steinmetz 304b71647f
Fix duplicate event email notifications
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2022-11-04 16:24:57 +07:00
Christoph Wurst 3b084e5fbc
Merge pull request #34893 from nextcloud/fix/move-imip-to-separate-interface
Move iMIP to its own interface
2022-11-03 15:03:42 +07:00
Anna Larch 9dd51601c6 Switch to DisplayNameCache for CardDAV
Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-11-03 10:26:34 +07:00
Anna Larch e5c290bb7f Switch to DisplayNameCache for CalDAV
Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-11-03 10:26:34 +07:00
Anna Larch aebcc3126a Move iMIP to it's own interface
and clean up the code a bit.

Added:
- author

Removed:
- unused imports

Changed:
- moved iMIP handling to new interface
- pointed code to new implementation

Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-11-03 10:07:09 +07:00
Pawel Boguslawski b1716b0ef0 Added parameter to disallow calendar subscription via link
Added calendar application config parameter `dav.allow_calendar_link_subscriptions` to disallow calendar
subscription via link (i.e. for internal Nextcloud setups). Use

```
occ config:app:set dav allow_calendar_link_subscriptions --value 'yes'
```

to allow (default if not set) and

```
occ config:app:set dav allow_calendar_link_subscriptions --value 'no'
```

to disallow calendar subscription via link.

Author-Change-Id: IB#1126265
Signed-off-by: Pawel Boguslawski <pawel.boguslawski@ib.pl>
2022-11-02 09:36:25 +07: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 +07:00
Carl Schwan 5f6997f6fe Add an hint about reasons why files can't be accessed
Hopefully saves some debugging time next time

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-27 14:17:56 +07:00
Christoph Wurst 232c760de4
Merge pull request #34626 from nextcloud/enhancement/rename-personal-groupware-settings-section-availability
Rename personal Groupware settings section to "Availability"
2022-10-24 10:13:37 +07:00
Vincent Petry 56fe33ffca
Merge pull request #34508 from starypatyk/dav_displayname
WebDAV - use file/folder name for dav:displayname
2022-10-21 15:42:27 +07:00
Christoph Wurst e12df7941e
Merge pull request #34565 from nextcloud/debt/noid/fakelocker-too-many-arguments
Fix TooManyArguments for FakeLockerPlugin
2022-10-17 13:26:32 +07:00
Christoph Wurst 0799b8988b
Rename personal Groupware settings section to "Availability"
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2022-10-17 09:30:13 +07:00
Daniel Kesselberg 934e75384c
Fix TooManyArguments for FakeLockerPlugin
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2022-10-14 15:06:38 +07:00
Dariusz Olszewski 2b4a11598d WebDAV - use file/folder name for dav:displayname
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-10-10 21:20:07 +07:00
Dariusz Olszewski c0bd7484c6 Review comment - remove redundant empty() call
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-10-10 21:03:28 +07:00
Dariusz Olszewski 255d1dd686 Read notes from share already loaded into memory
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-10-07 23:24:12 +07:00
Christoph Wurst 2f4b7c9057
Merge pull request #34415 from nextcloud/fix/caldav-backend-causal-reads
Fix causal reads in CalDAV backend
2022-10-06 10:58:58 +07:00
blizzz 23df942454
Merge pull request #34378 from nextcloud/add-isDeleted-to-icalendar
Add isDeleted to OCP\Calendar\ICalendar
2022-10-04 15:37:56 +07:00
Christoph Wurst e6d8da4cdc Fix causal reads in CalDAV backend
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2022-10-03 20:03:29 +07:00
Thomas Citharel d084e7656b
Add isDeleted property to OCP\Calendar\ICalendar
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-03 18:56:02 +07: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 +07:00
Anna 9c516c2009
Merge pull request #34388 from sylvainmetayer/feat_2464_exclude_contact_from_birthday_calendar
feat(contacts): exclude contact from birthday calendar
2022-10-03 14:15:36 +07:00
blizzz f055328094
Merge pull request #33608 from nextcloud/perf/improve-getCalendarsForUsers
Remove the loop of calendars when only one is needed
2022-10-03 10:59:25 +07:00
Thomas Citharel 98030e97d3
Add typings to OCP\Calendar\ICalendar and implementation
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-03 08:35:42 +07:00
Sylvain 5b8d8271a2 fix: define exclusion key as constant
Signed-off-by: Sylvain <git@sylvain.dev>
2022-10-02 18:30:13 +07:00
Sylvain e3d50f99c9 feat(contacts): exclude contact from birthday calendar
Signed-off-by: Sylvain <git@sylvain.dev>
2022-10-02 17:55:11 +07:00
Anna Larch 3a8c7b6bf3 Remove the loop of calendars when only one is needed
Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-10-01 22:17:40 +07:00