Ferdinand Thiessen
694e2312fd
Merge pull request #58589 from nextcloud/fix/external-missing
...
fix(files_external): boolean comparison of array
2026-02-27 15:40:14 +01:00
Ferdinand Thiessen
69a5db46bd
fix: code style
...
Co-authored-by: Carl Schwan <carl@carlschwan.eu >
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de >
2026-02-27 14:31:42 +01:00
Kent Delante
8d1cb50048
fix: pass only object key to deleteObjects call
...
Some S3-compatible object storage hosts don't like the ETag being included in
the request and return a MalformedXML response. In the AWS API documentation,
only the object key is required so just pass that in.
Signed-off-by: Kent Delante <kent.delante@proton.me >
2026-02-27 10:54:23 +08:00
Ferdinand Thiessen
d50fbfe37d
fix(files_external): boolean comparison of array
...
To check if there are no missing required dependencies we need to check
if the required dependencies are **empty** because `!array` is still
true.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de >
2026-02-26 14:21:50 +01:00
Daniel Kesselberg
67d1fac6f6
fix: show configuration options for external storage backends
...
The occ files_external_backends command is supposed to list available backends along with their configuration options.
For the SMB backend, only the timeout option is currently shown, while options like host, share, root, and domain are missing. This makes configuring external storage via occ complicated.
Since the timeout option is marked as hidden but still shown, while the other options are not, the logic needs to be inverted so that all relevant configuration options are displayed correctly.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de >
2026-02-25 15:24:20 +01:00
Jan-Philipp Litza
0f4d6b8027
fix(files_external): ignore unsatisfied optional dependencies
...
Signed-off-by: Jan-Philipp Litza <janphilipp@litza.de >
2026-02-17 18:03:56 +01:00
Benjamin Gaussorgues
f2907f133c
Merge pull request #58282 from nextcloud/carl/refactor-migration
...
refactor(psalm): Modernize migration doc
2026-02-17 14:58:03 +01:00
Git'Fellow
b1e71ae646
fix(sftp): Handle empty port parameter to allow host-defined ports
...
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com >
2026-02-14 12:29:38 +01:00
Carl Schwan
f6c839d125
refactor(psalm): Modernize migration doc
...
And remove all the duplication in the subclasses
Signed-off-by: Carl Schwan <carlschwan@kde.org >
2026-02-12 11:25:55 +01:00
provokateurin
f12cecb684
feat(rector): Enable SafeDeclareStrictTypesRector
...
Signed-off-by: provokateurin <kate@provokateurin.de >
2026-02-09 10:59:31 +01:00
Carl Schwan
3979c493f9
refactor: Apply second batch of comments
...
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com >
2026-02-06 13:52:51 +01:00
Andy Scherzinger
08e1d9b83e
Merge pull request #58025 from nextcloud/carl/refactor-share-mountprovider
...
refactor(mount-provider): Refactor share mount provider
2026-02-05 11:50:40 +01:00
Carl Schwan
8f81b91733
refactor(mount-provider): Refactor share mount provider
...
- Add more precise types
- Remove dead code
Signed-off-by: Carl Schwan <carlschwan@kde.org >
2026-02-04 12:46:14 +01:00
Robin Appelman
522663b9f0
fix: partial external storage config matching non-child mounts
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2026-02-03 16:50:57 +01:00
Robin Appelman
b79af98a31
fix: fix partial external storage provider not finding root mount
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2026-02-03 16:16:22 +01:00
Andy Scherzinger
1bdc27202a
Merge pull request #57924 from nextcloud/carl/fix-external-partialmountprovider
...
fix(external-storage): Rtrim trailing slash at the end
2026-02-03 15:57:27 +01:00
pac0san
e48f871bd0
fix(files_external): Respect explicit port configuration
...
It allows the use of the alternative SFTP port defined in the GUI (external storage), instead of the default port (22).
Signed-off-by: pac0san <7056343+pac0san@users.noreply.github.com >
Signed-off-by: provokateurin <kate@provokateurin.de >
2026-02-02 11:27:42 +01:00
Carl Schwan
761a6979a7
fix(external-storage): Rtrim trailing slash at the end
...
Otherwise we don't have any matches when $forChildren is false
Signed-off-by: Carl Schwan <carlschwan@kde.org >
2026-01-30 15:50:19 +01:00
Carl Schwan
916ce3f8ec
feat(external-storage): Implement IPartialMountPoint
...
Signed-off-by: Carl Schwan <carlschwan@kde.org >
2026-01-28 17:09:22 +01:00
Carl Schwan
4c79c2faff
Merge pull request #57591 from nextcloud/carl/query-exception
...
refactor(QueryException): Remove most usage of QueryException
2026-01-20 15:59:56 +01:00
Carl Schwan
11cf69d8ba
fix(psalm): Fix static analysis issues in apps/*/tests
...
There are still 1200 more to fix before we can enable static analysis
for the tests.
Signed-off-by: Carl Schwan <carlschwan@kde.org >
2026-01-16 12:00:51 +01:00
Carl Schwan
9a8d45d81f
refactor(QueryException): Remove most usage of QueryException
...
This is preparation to move QueryException from OCP to OC as part of
Nextcloud 34.
Signed-off-by: Carl Schwan <carlschwan@kde.org >
2026-01-16 11:55:06 +01:00
Robin Appelman
9fde2523e6
Merge pull request #57493 from nextcloud/smb-invalid-arg-unavailable
...
fix: handle InvalidArumentException as availability failure in smb->getFileInfo
2026-01-14 12:00:03 +01:00
Robin Appelman
ae74dbef2b
Merge pull request #56499 from nextcloud/authoritative-mount-provider-files_external
...
Add api for authoritative mount providers and implement it for files_external
2026-01-13 16:36:33 +01:00
Ferdinand Thiessen
0e22ae1efe
refactor(files_external): migrate public key auth to Vue 3
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de >
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
5ed7c4fd97
fix(files_external): adjust settings
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de >
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
545c72becb
chore: remove non working and legacy OAuth2 auth schema
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de >
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
e1133ec926
feat(files_external): Migrate settings to Vue
...
Template parameters are migrated to initial state, common state between admin and user settings is shared in the CommonSettingsTrait.
The template is cleaned and replaced with only a stub for the Vue mount.
Code only used for the frontend of the settings is moved from the MountConfig to the CommonSettingsTrait (the missing dependency messages).
On the frontend a wrapper view is created that currently holds the global credentials settings and the external storages settings.
- The global credentials sections is now a stand-alone sections - fully implemented.
- The external storages section holds the table + user config + warnings on missing dependencies
The legacy UI is temporarly renamed but will be removed in a following commit.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de >
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
d4674060dc
fix(files_external): return correct type for new user defined storages
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de >
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
38ed0a8283
fix: hard type controllers where the type is required to match
...
Prevent HTTP 500 errors where a 400 would be the correct response
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de >
2026-01-13 01:30:37 +00:00
Ferdinand Thiessen
4c8b9deca0
feat(files_external): Move script loading to CommonSettingsTrait to reduce duplicated code between admin and user settings
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de >
2026-01-13 01:30:37 +00:00
Robin Appelman
4dcd4223de
fix: make smb auth failure on forbidden exception more reliable
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2026-01-12 15:23:57 +01:00
Robin Appelman
43727cb72c
fix: handle InvalidArumentException as availability failure in smb->getFileInfo
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2026-01-12 15:23:57 +01:00
Robin Appelman
272d6141ca
fix: improve handling updated storages
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2026-01-09 17:53:55 +01:00
Robin Appelman
be3bbf22e0
fix: better applicable check for updating external mounts
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2026-01-09 17:53:54 +01:00
Robin Appelman
fa61c4c57d
fix: don't error when checking login credential storage from cli
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2026-01-09 17:53:53 +01:00
Robin Appelman
6dd6d06606
fix: update external storage mounts on login
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2026-01-09 17:53:53 +01:00
Robin Appelman
9dffca2f07
fix: improve handling of unavailable storages
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2026-01-09 17:53:52 +01:00
Robin Appelman
73e84f9bf5
perf: cache root cache entries for external storage in MountCacheService
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2026-01-09 17:53:51 +01:00
Robin Appelman
d64f7eb939
feat: listen to user/group events and update external storage mounts
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2026-01-09 17:53:51 +01:00
Robin Appelman
5565cdb390
feat: make external storage mount provider authoritative
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
# Conflicts:
# apps/files_external/lib/AppInfo/Application.php
2026-01-09 17:53:50 +01:00
Robin Appelman
c80c980e29
feat: add typed events for external storage config changes
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2026-01-09 17:53:49 +01:00
Carl Schwan
98192fc17c
feat(external-s3): Expose config option to enable direct s3 preview
...
Signed-off-by: Carl Schwan <carlschwan@kde.org >
2026-01-02 17:13:43 +01:00
Carl Schwan
2ea1bd4cdc
feat(movie-preview): Use getDirectDownloadById for generating preview
...
Allow to speed-up considerably the creation of previews for movies
stored on S3.
Signed-off-by: Carl Schwan <carlschwan@kde.org >
2026-01-02 17:13:41 +01:00
invario
ffe91b48dc
feat(previews): allow ffmpeg to connect direct for AWS S3 buckets
...
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com >
Signed-off-by: invario <67800603+invario@users.noreply.github.com >
2026-01-02 10:48:39 +01:00
Edward Ly
1490ea95cb
Merge pull request #56781 from nextcloud/fix/s3-name
...
fix(s3): rename 'Amazon S3' to 'S3 Storage'
2025-12-02 09:20:34 -08:00
Edward Ly
09f774a61f
fix(s3): rename 'Amazon S3' to 'S3 Storage'
...
The current name may be confusing to users who take advantage of other S3-compatible storage solutions not offered by Amazon, so a more generic name is preferred here.
Signed-off-by: Edward Ly <contact@edward.ly >
2025-12-02 08:33:06 -08:00
Côme Chilliet
69b85fab32
fix(files_external): Properly register event listeners in register method
...
This is the clean solution, LoginCredentials was the only auth class
actually registering stuff in constructor.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com >
2025-11-25 15:08:35 +01:00
Côme Chilliet
3279afc529
fix(files_external): Fix registration of listeners with PHP >= 8.4
...
With the lazy ghosts the constructor is not always called in
files_external boot. This is a quick and dirty fix but we should
instead move the code out of the constructors and to the boot method.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com >
2025-11-25 15:08:35 +01:00
Tobias Kaminsky
6f0537b4e9
Merge pull request #56494 from nextcloud/carl/result-improv
...
Improve IResult
2025-11-20 15:38:17 +01:00