Commit graph

13018 commits

Author SHA1 Message Date
Arthur Schiwon
ae48fc86d2 fix: add typehine for IRootFolder
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-23 23:04:40 +00:00
Arthur Schiwon
e095311819 fix: expect interface, not a specific implementation
- fixes a regression when deleting folders while music app was enabled,
  for a LazyRoot was passed to this method.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-23 23:04:39 +00:00
Robin Appelman
3e46f6289f
use source cache when listing folder during recursive copy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-06-19 12:31:17 +02:00
Arthur Schiwon
5f566101f1
Merge pull request #38023 from nextcloud/backport/32877/stable26
[stable26] allow storing multiple mounts for the same rootid in the mount cache
2023-06-15 12:40:45 +02:00
Arthur Schiwon
00afe495bc
Merge pull request #37230 from nextcloud/backport/36033/stable26
[stable26] invalidate existing tokens when deleting an oauth client
2023-06-15 11:54:38 +02:00
Arthur Schiwon
d12699a451
Merge pull request #38757 from nextcloud/backport/38468/stable26
[stable26] log failures to read certificates during listing
2023-06-15 11:09:05 +02:00
Arthur Schiwon
794bf5b6b9
Merge pull request #37776 from nextcloud/backport/37534/stable26
[stable26] Adjust the value of the "max-parts" parameter of the object storage 'ListPart' interface to 1000
2023-06-13 11:46:05 +02:00
Robin Appelman
5fde58d4f0 log failures to read certificates during listing
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-06-12 12:55:51 +00:00
Julien Veyssier
793d5320c3 shorten oauth2 client names before resizing the column
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-06-07 15:32:28 +02:00
Julien Veyssier
1bd9544a8a drop the oauth2_clients trusted column, delete unsupported clients and their access tokens
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-06-07 15:32:28 +02:00
Simon L
c77aab679c
Merge pull request #38479 from nextcloud/backport/38440/stable26
[stable26] fix: Catch Deadlock properly as execute throws Doctrine exceptions not our wrapped ones
2023-06-06 16:23:47 +02:00
Daniel
a2ac818bd2
Merge pull request #38517 from nextcloud/backport/38496/stable26
[stable26] fix: catch errors in id3parser library
2023-06-01 20:37:32 +02:00
Robin Appelman
6cfd5cbe64
allow storing multiple mounts for the same rootid in the mount cache
currently `[$userId, $rootId]` is used as the unique key for storing mounts in the mount cache,
however there are cases where the same rootid is mounted in multiple places for a user which currently leads to not all of those mounts being added to the cache.

Previously this didn't matter as the mount cache was only used to list users with access to a specific file, so a user having access to the file multiple times didn' change anything.

With 24 the mount cache is used for more cases and multiple mounts for the same id becomes relevant.
While I think there isn't a real negative effect atm besides missing the optimized path we should ensure that the mounts are properly listed

Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-05-31 15:38:00 +02:00
Varun Patil
119e52f8b6
redis: move lua scripts to class and add type hints
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-05-31 12:00:34 +02:00
Varun Patil
f5895faafa redis: use atomic operations everywhere
This removes a lot of acrobatics in the code and does each operation
atomically using a lua script. This also reduces several round trips
to the server, and the scripts are compiled and cached server-side.

Notably, since all operations work only on a single key (except clear,
which is broken anyway and shouldn't be used), they will continue to
function and be atomic for Redis cluster.

Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-05-31 07:13:23 +00:00
Daniel Kesselberg
ef0cffc937 fix: catch errors in id3parser library
We use a forked version of getID3 to read embedded images from mp3 files to use them as previews.

If the library is unable to extract a image or fails on something different we should handle it properly.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-05-30 13:45:48 +00:00
Julius Härtl
0a7594753f fix: execute throws docrine exceptions not our wrapped ones
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-26 07:46:25 +00:00
Artur Neumann
19bb66a889
public interface to invalidate tokens of user
Signed-off-by: Artur Neumann <artur@jankaritech.com>
2023-05-19 12:02:05 +05:45
Arthur Schiwon
7c6b47dd27
Merge pull request #38091 from nextcloud/backport/35092/stable26
[stable26] Check return value and improve error handling on certificate manager
2023-05-17 19:04:10 +02:00
Andy Scherzinger
4bd2f33cfe
Merge pull request #38307 from nextcloud/backport/37961/stable26
[stable26] SystemTags endpoint to return tags used by a user with meta data
2023-05-17 18:15:02 +02:00
Arthur Schiwon
fc86b9cd85
Merge pull request #38130 from nextcloud/backport/36895/stable26
[stable26] Fix json_decode expecting a string
2023-05-17 13:45:11 +02:00
Arthur Schiwon
4e1b6ee168
Merge pull request #38009 from nextcloud/backport/37925/stable26
[stable26] fix: change maintenance mode info wording
2023-05-17 13:43:36 +02:00
Arthur Schiwon
02dbc04533
Merge pull request #37849 from nextcloud/backport/37834/stable26
[stable26] Fix TypeError in Profiler
2023-05-17 13:42:51 +02:00
Arthur Schiwon
298af3cf0a
refactor: remove where specification from SELECT getter
- search constraints are now fully in control of
  SystemTagsInFilesDetector::detectAssignedSystemTagsIn(), avoids
  duplication of a WHERE statement

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-05-16 12:47:15 +02:00
Arthur Schiwon
f2b5a079db
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-16 12:47:09 +02:00
Arthur Schiwon
c0dbde5fba
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-16 12:46:50 +02:00
Arthur Schiwon
2ea872d156
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-16 12:46:37 +02:00
Simon L
45ecabf7a1
adjust patch
Signed-off-by: Simon L <szaimen@e.mail.de>

Signed-off-by: Simon L. <szaimen@e.mail.de>
2023-05-16 11:56:41 +02:00
jld3103
9ae9f03d83 Clear generated avatar caches
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-05-16 09:52:00 +00:00
jld3103
2374aea9dd Properly clear cached avatars
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-05-16 09:52:00 +00:00
Joas Schilling
7cc7984ab7
Merge pull request #38275 from nextcloud/backport/38274/stable26
[stable26] fix(middleware): Also abort the request when reaching max delay in af…
2023-05-16 11:31:10 +02:00
Côme Chilliet
ffa4906170
Merge pull request #38289 from nextcloud/backport/38196/stable26
[stable26] Get rid of more int casts in file size manipulations
2023-05-16 09:27:11 +02:00
Côme Chilliet
988c03a0a5
Fix return types in phpdoc
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-05-15 17:28:31 +02:00
Côme Chilliet
d618b8061c
Get rid of more int casts in file size manipulations
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-05-15 17:26:18 +02:00
Joas Schilling
94211721a6
fix(middleware): Also abort the request when reaching max delay in afterController
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-05-15 16:24:12 +02:00
Arthur Schiwon
2408b71aa9
Read mtime of version.php only once
- in most cases it would read again in \OC_Util::loadVersion anyway
- remove some unused use statements

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-05-15 13:55:24 +02:00
Côme Chilliet
256f48a48c
Merge pull request #38238 from nextcloud/backport/37709/stable26
[stable26] fix: Check for wrapped retriable exceptions
2023-05-15 12:15:04 +02:00
Côme Chilliet
8d1c1403cc
Merge pull request #38204 from nextcloud/backport/36893/stable26
[stable26] Make sure to never trigger files hooks on a null path
2023-05-15 11:24:33 +02:00
Julius Härtl
27bd9e2ade fix: Check for wrapped retriable exceptions
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-13 22:23:04 +00:00
Git'Fellow
e41eb529b8
Add function_exists() check
Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2023-05-12 19:19:05 +02:00
Git'Fellow
2ef8e76adb
Fix free space problems
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2023-05-12 19:19:04 +02:00
Côme Chilliet
4d215828c9 Make sure to never trigger files hooks on a null path
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-05-11 14:43:04 +00:00
Joas Schilling
9260ef5c29
Merge pull request #37549 from nextcloud/backport/37520/stable26
[stable26] fix DBAL exception handling in setValues
2023-05-09 14:29:03 +02:00
Ilya Apasov
b4fab4cfa4 Update Checker.php
Signed-off-by: Ilya Apasov <apasov@users.noreply.github.com>
2023-05-08 19:33:02 +00:00
Julius Härtl
51549f407b fix: Use proper path when creating node instances
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-08 15:21:52 +00:00
Git'Fellow
22f02a46d1
Fix conflicts
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2023-05-04 22:35:31 +02:00
Jan Messer
364f3f5f26 [BUGFIX] throw exception instead of error if unable to create file handler (only exceptions are catch)
Signed-off-by: Jan Messer <jan@mtec-studios.ch>
2023-05-04 20:33:02 +00:00
Jan Messer
6c90e3f780 [BUGFIX] check return value and improve error handling
With S3 primary storage there was a problem with getting the CA bundle from the storage without having the CA bundle for the connection which causes that the CertificateManager was throwing an Error.
This commit improves the handling in CertificateManager and log unexpected behaviors.

Signed-off-by: Jan Messer <jan@mtec-studios.ch>
2023-05-04 20:33:02 +00:00
Simon L
7f61d9b92d increase imaginary timeouts as for big files the processing could take very long
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-05-04 15:01:27 +00:00
Vitor Mattos
f13aa71076 Update expire_date column of table comments
Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-05-03 08:36:27 +00:00