Commit Graph

475 Commits (e2ea6d46802255cd1dcdedf0c0d5aeabdcaf283d)

Author SHA1 Message Date
Richard Steinmetz b7dc720848
feat: calendar federation
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-27 17:14:15 +07:00
provokateurin 37175e0e2b
fix(files_sharing): Also hide own reshares in shared with me section
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-18 11:38:05 +07:00
nfebe 2bb8c72c47 feat(files_sharing): Toggle display for trusted server shares
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-07-29 13:24:49 +07:00
Ferdinand Thiessen a18e61a1e5
feat(files_sharing): add config option for extending link-share permissions
This allows the admin to control the behavior whether link shares with
READ permissions should be extended to also gain SHARE permissions,
allowing users (public share receivers) to add the share to their cloud.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-17 16:59:36 +07:00
Côme Chilliet 90a2c77abf
fix: Use Server::get in files_sharing DeletedShareAPIController
In this case we do not want the application DI container because we are
 requesting classes from other applications, so it’s better to ask the
 server container. We use \OCP\Server::get for this.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:32:15 +07:00
Côme Chilliet ab310ce938
fix: Fix issues and tests in DIContainer and friends
Some tests related to MiddlewareDispatcher are still failing.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:32:14 +07:00
Robin Appelman aa15f9d16d
chore: run rector
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-07-01 22:45:52 +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
skjnldsv 9806a9830c feat(files_sharing): allow viewing files with download disabled
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-06-26 11:47:53 +07:00
Ferdinand Thiessen 495c364268
chore: use consistent casing for header names (required by openAPI)
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-09 19:24:26 +07:00
Ferdinand Thiessen 4a9dc6c64d
refactor: move tag handling from files handler to files_sharing
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-16 13:09:03 +07:00
John Molakvoæ (skjnldsv) cd6a53ea4d fix(files_sharing): add mime fallback to public preview too
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2025-05-13 18:28:54 +07:00
Maxence Lange cc96782177 fix(share): assume download enabled on federated share
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-05-06 14:48:28 +07:00
Ferdinand Thiessen 47d1afbb7f
revert: do not unify `hide-download` and `prevent-download` permissions
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-16 20:38:20 +07:00
John Molakvoæ 50dcbdeec6
fix(files_sharing): adjust rate limit share creation to 20 over 10 minutes
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-04-15 10:32:47 +07:00
skjnldsv 338ab64365
fix(files_sharing): rate limit share creation 10 times per 10 minutes
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-04-15 08:45:25 +07:00
skjnldsv 70218dc0a4 fix(files_sharing): fix share creation error handling
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-04-09 14:52:42 +07:00
Côme Chilliet a39bee57d9 fix: Fix download activity for folders
Remove duplicate activity publishing from share controller download,
 listen to BeforeZipCreatedEvent to publish activity for folders, and
 cache folders activity to avoid sending activity for each file in the
 folder.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-03-25 15:43:09 +07:00
Ferdinand Thiessen 00d08a4f69
fix(lookup-server): disable lookup server for non-global scale setups
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-03-11 14:26:47 +07:00
Ferdinand Thiessen 34251c4375
fix(lookup-server): do not query data by default
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-03-11 14:26:47 +07:00
Ferdinand Thiessen 7e6608d119
fix(files_sharing): Also list deleted team shares
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-20 14:32:22 +07:00
Ferdinand Thiessen c19ce403f3
fix(files_sharing): block downloading if needed
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-18 11:58:12 +07:00
Côme Chilliet 64863c9d46
chore: Apply new rector configuration to apps folder
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 11:46:42 +07:00
Côme Chilliet ed5b7ae161
chore: re-apply current rector configuration to apps folder
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 11:45:33 +07:00
Côme Chilliet a3685551f7
fix: Replace isInstalled calls with isEnabledForAnyone or isEnabledForUser
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 10:19:19 +07:00
nfebe 8178797eb5 refactor: Remove some deprecated containers and exceptions
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-02-06 12:15:31 +07:00
Ferdinand Thiessen 73dc0f0f19
fix(sharing): Ensure download restrictions are not dropped
When a user receives a share with share-permissions but also with
download restrictions (hide download or the modern download permission attribute),
then re-shares of that share must always also include those restrictions.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-04 15:39:14 +07:00
Ferdinand Thiessen 253f4345f1
fix(files_sharing): Respect permissions passed when creating link shares
Given:
User creates a link or email share with permissions=4 (create only = file drop).

Problem:
Currently the permissions are automatically extended to permissions = 5
(READ + CREATE). Work around was to create the share and directly update
it.

Solution:
Respect what the user is requesting, create a file drop share.

Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-28 16:40:50 +07:00
Ferdinand Thiessen 305e1bb260
fix: Ensure `label` is always a string
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-26 20:41:31 +07:00
Anna d9a7124592
Merge pull request #49898 from nextcloud/fix/noid/no-emails-for-user-shares
fix(sharing): send share emails for internal users too
2025-01-16 18:50:30 +07:00
Christopher Ng 0eb39d7b9c feat(sharing): Respect admin custom tokens setting
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-01-15 15:50:43 +07:00
Christopher Ng beffb26266 feat(sharing): Fetch a unique generated token
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-01-15 15:49:19 +07:00
Christopher Ng f92875cf6a feat(sharing): Allow updating share token
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-01-15 15:49:19 +07:00
provokateurin 4dfa02c29d
fix(files_sharing): Handle null userId
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-13 15:19:54 +07:00
Anna Larch 236e084fbb fix(sharing): send share emails for internal users too
Signed-off-by: Anna Larch <anna@nextcloud.com>
2025-01-13 14:13:02 +07:00
provokateurin 085d4c9364
refactor(OpenAPI): Adjust scopes to match previous behavior
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-06 14:30:40 +07:00
Benjamin Gaussorgues 5581f0c7bf
chore: remove legacy action to test remote endpoint
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-11-29 11:14:37 +07:00
Benjamin Gaussorgues ae1c3b372e
chore: stricter access to testremote endpoint
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-11-28 11:22:15 +07:00
provokateurin beea8854ca
feat(files_sharing): Allow users with share permission to manage shares on IShareOwnerlessMount
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-11-25 10:27:31 +07:00
provokateurin b658ab7a86
fix(files_sharing): Remove duplicate link/email edit share logic
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-11-25 10:27:31 +07:00
Côme Chilliet f44a192613
fix(files_sharing): Fix error messages from password policy
Exceptions thrown from password_policy may bubble up in share creation
 or update when a password is used. Their message is meant to be shown
 to the user. This always the case for HintException so we catch that
 instead of the subclass GenericShareException.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-11-19 09:40:26 +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
Ferdinand Thiessen c84c256261
fix: Adjust preview for view-only shares
Previously there was a different behavior for public shares (link-shares) and internal shares,
if the user disabled the view permission.
The legacy UI for public shares simply "disabled" the context menu and hided all download actions.
With Nextcloud 31 all share types use the consistent permissions attributes,
which simplifies code, but caused a regression: Images can no longer been viewed.

Because on 30 and before the attribute was not set, previews for view-only files
were still allowed. Now with 31 we need a new way to allow "viewing" shares.

So this is allowing previews for those files, but only for internal usage.
This is done by settin a special header, which only works with custom requests,
and not by opening the URL directly.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-28 15:52:27 +07:00
provokateurin aacb3ddc1e
fix(files_sharing): Cleanup error messages
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-28 09:07:41 +07:00
fenn-cs 227b8462d8 refactor(ShareApiController): Check for null and empty strings with empty()
Proactive measure to avoid warnings in higher php versions as well possible type errors

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-10-24 18:37:42 +07:00
fenn-cs e2d2a17810 fix(ShareAPI): Send mails for mail shares by default
It looks like, the frontend it needs to provide the `sendMail` param
for the backend to decide wether mails would be sent.

Our UI does not have that at the moment so it should default to sending
emails always for mail shares.

Not exactly sure how this was handled earlier but this is a good starting point.

Resolves : https://github.com/nextcloud/server/issues/48012

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-10-24 14:41:07 +07:00
provokateurin 381077028a
refactor(apps): Use constructor property promotion when possible
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-21 12:37:59 +07:00
Côme Chilliet 1580c8612b
chore(apps): Apply new rector configuration to autouse classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-15 10:40:25 +07:00
Ferdinand Thiessen e9d590674d
feat(files_sharing): Make `ShareController` download route use the DAV `ZipFolderPlugin`
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-28 13:18:34 +07:00
provokateurin 9836e9b164
chore(deps): Update nextcloud/coding-standard to v1.3.1
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-19 14:21:20 +07:00