Commit Graph

345 Commits (master)

Author SHA1 Message Date
Robin Appelman 5c625b7a07 feat: add an option to filter what paths get checked for updates
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-31 12:23:04 +07:00
Salvatore Martire 6e9ba894a2 fix: add $forChildren parameter to IPartialMountProvider
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-29 18:06:12 +07:00
Carl Schwan 6945a030f5
refactor(OC_Helper): remove buildNotExistingFileNameForView
Move the functionality in the last place it is used OC\Files\Node\Folder

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:38:29 +07:00
Salvatore Martire fcdb28e4a3 feat: add IPartialMountProvider to support authoritative mounts
IMountProviders implementing this interface will be able to take
advantage of authoritative mounts.

The function `getMountsFromMountPoints` will receive the path that
the provider is asked to set-up and an array of IMountProviderArgs
providing information regarding the stored mount points and the
file cache data for the related root. The mount provider should verify
the validity of the mounts and return IMountPoints related to them.

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-10 16:05:27 +07:00
Carl Schwan b6313f68d3
perf(s3): Expose pre-signed urls for S3
This is faster than going back to nextcloud to download the files.

This is an opt-in setting that can be enabled by setting
use_presigned_url in the object store config.

Additionally add support for the proxy config which is needed in a
docker setup. See https://github.com/juliusknorr/nextcloud-docker-dev/pull/431

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-09 11:21:35 +07:00
Andy Scherzinger 1ef465f804
Merge pull request #56251 from nextcloud/carl/template-manager-cleanup
refactor(template-manager): Modernize template manager API
2025-12-04 17:26:53 +07:00
Kent Delante 96672e1c4d feat: emit an event when an S3 bucket is created
Signed-off-by: Kent Delante <kent.delante@proton.me>
2025-11-24 19:37:18 +07:00
Carl Schwan 9522dde7a2
feat: Add Folder::getOrCreateFolder api
Allow to remove some boilerplate and also this new function is type
safe.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-24 11:10:52 +07:00
Carl Schwan 38fd84aa6a
refactor(template-manager): Modernize template manager API
And correct openapi types for the size.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-24 10:00:47 +07:00
Carl Schwan 475c84722f refactor(IPropagator): Cleanup implementation
- Add missing type hinting
- Use only public methods from IStorage instead of relying on internal
  \OC\Storage methods
- Refactor HomePropagator to use ignore argument from Propagator instead
  of reimplementing the same logic.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-08 17:15:18 +07:00
provokateurin 8d8f94b8ce
fix(files): Always return a valid mimetype
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-06 09:06:17 +07:00
Marcel Klehr 43be97de08 fix(FileAccess): Use one param for rewriting home dirs and excluding non-user files mounts
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +07:00
Julien Veyssier cb221c8211 fix(FileAccess*): Change the way home dir root is found, remove the excludeTrashbinMounts param of getDistinctMounts
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-07-15 09:15:16 +07:00
Julien Veyssier 7e986988fe fix(FileAccess*): Adress review comments
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-07-15 09:15:16 +07:00
Marcel Klehr 131125bbb7 fix(FileAccessTest): Adress review comments
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +07:00
Marcel Klehr 5689af5a94 fix(FileAccess): Run cs:fix
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +07:00
Marcel Klehr d8c6f8d18e fix(FileAccess): Address review comments
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +07:00
Marcel Klehr 611d83aa6a fix: Fix psalm issues
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +07:00
Marcel Klehr 3eef614769 feat(IFileAccess#getMounts): Add new method to retrieve all distinct mounts
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +07:00
Marcel Klehr 845b78086b feat(IFileAccess#getByAncestorInStorage): Add new method to retrieve all files in a mount
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +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
provokateurin baeaaf09dc
chore(public): Remove unused union type for user mount events
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-01 10:50:28 +07:00
Ferdinand Thiessen 35a27b5fd5
fix(FilenameValidator): use `_` as default replacement for invalid chars
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-18 09:44:57 +07:00
skjnldsv e41e8de0e2 fix(dav): file drop nickname
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-06-05 09:09:17 +07:00
provokateurin 40973ddde0
chore: Set correct version for new UserMount events
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-05-20 13:13:49 +07:00
Elizabeth Danzberger 5c7216f3fd
feat: only load template fields when requested
Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
2025-05-19 17:51:25 +07:00
provokateurin 6818aa9b12
feat(UserMountCache): Emit events for added, removed and updated mounts
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-05-19 13:54:51 +07:00
John Molakvoæ cac44fd924
Merge pull request #52822 from nextcloud/feat/mime-names 2025-05-15 11:41:12 +07:00
John Molakvoæ (skjnldsv) 24bc1d606e
feat(core): add human readable mimes
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2025-05-14 22:55:06 +07:00
Kate bfa494f247
Merge pull request #52800 from nextcloud/debt/noid/simple-file-generic-exception 2025-05-14 15:25:41 +07:00
Daniel Kesselberg 866063c198
fix: annotate possible exceptions
File.getContent can throw a GenericFileException since https://github.com/nextcloud/server/pull/37943.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-05-13 22:27:19 +07:00
Ferdinand Thiessen 6cf1870322
feat(FilenameValidator): allow to sanitize filenames
Share the filename sanitizing with the OCP filename validator.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-13 14:14:17 +07:00
Kate 9592390070
Merge pull request #51779 from nextcloud/object-store-filename 2025-05-06 15:21:01 +07:00
Ferdinand Thiessen 97ad171d32
refactor(IMimeTypeDetector): use consistent capitalization
- use consistantly `mimeType` as it is called MIME type
- fix issues where implementation and interface had different parameter
  names (this is an issue since PHP has named parameters).

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-02 13:22:16 +07:00
Robin Appelman 8aae332622
feat: store original storage id and path in object store metadata
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-03-31 15:10:58 +07:00
Robin Appelman 94114b99f7
feat: more generic way of passing metadata to object storage backends for new objects
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-03-31 14:55:18 +07:00
Robin Appelman fcde776683
feat: add command to list objects
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-03-31 14:30:40 +07:00
Robin Appelman c3bc362f48
feat: add command to get object metadata
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-03-31 14:30:40 +07:00
Robin Appelman 2e9222a29a
feat: add getParentId to ICacheEntry
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-03-28 16:47:07 +07:00
Ferdinand Thiessen d5efd17942
fix(IMimeTypeDetector): use correct return type
In PHP array keys that are integers are always kept as integer,
meaning the type of the key of `$a = ["1" => "one"]` will be integer not
string.
While are hacks to circumvent this (case std object with string keys to
an assoc. array) those hacks are performance wise awefull and also not
needed as in PHP you can always access that element with `$a[1]` or
`$a["1"]`.

So TL;DR;: do not lie about return types.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-03-18 15:34:28 +07:00
Robin Appelman 2786ca579a
fix: don't use cached root info from shared cache if the watcher has detected an update
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-02-06 19:41:43 +07:00
John Molakvoæ 1e30936b78
fix: psalm and OCP @since declarations
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-02-06 15:21:18 +07:00
skjnldsv 6baafd82b6 fix: make sure we process mime extensions as string
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-05 12:35:41 +07:00
skjnldsv 7cbcbdc051 fix(files): conversion api simplification and conflict check
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-01-16 18:35:40 +07:00
Arthur Schiwon 8998e77c9d
Merge pull request #50196 from nextcloud/fix/template-return-type
docs: Use proper return type for custom template listing
2025-01-16 12:31:38 +07:00
Elizabeth Danzberger fdfeb7f265
feat(api): File conversion API
Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
2025-01-15 16:38:18 +07:00
Julius Knorr 12028430bd
docs: Use proper return type for custom template listing
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-01-15 12:18:29 +07:00
Louis Chemineau 199b0bd4d9
fix(files): Correctly copy the cache information on copy operations
Needed to copy the `encrypted` flag of encrypted files when those files are two level down in a moved folder.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-12-03 17:04:44 +07:00
provokateurin ea93dc0c7d
feat(Files\Mount): Add IShareOwnerlessMount
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-11-25 09:56:02 +07:00
provokateurin 77114fb327
fix(OpenAPI): Adjust array syntax to avoid ambiguities
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-11-05 09:58:11 +07:00