Commit graph

36541 commits

Author SHA1 Message Date
Nextcloud bot
354c641bd4
fix(l10n): Update translations from Transifex
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, main, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, guests_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-25 00:18:46 +00:00
Salvatore Martire
e548d71873
fix: avoid checking share validity during mount updates
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-04-24 18:17:45 +02:00
Robin Appelman
987a193a56
fix: properly remove mount with moved child-shares
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:45 +02:00
Robin Appelman
f3830d071c
fix: skip owner when updating for added or removed share
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:45 +02:00
Robin Appelman
f42bfebcc0
fix: don't trigger recursive SharesUpdatedListener when share is moved on validate
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:44 +02:00
Robin Appelman
a05a3b9005
fix: only update share for the user who moved the share
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:44 +02:00
Robin Appelman
41e6124dcc
perf: only load a single mount at a time when checking for share conflicts
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:43 +02:00
Robin Appelman
16a422e58d
fix: fix UserHomeSetupListener disabling with nested events
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:42 +02:00
Robin Appelman
cb8fb349d2
fix: don't trigger on-setup share update from inside the share listener
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:42 +02:00
Robin Appelman
1aa347dc76
fix: check share target parent in userfolders mount
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:41 +02:00
Robin Appelman
aedc57afe7
fix: add optional user param to IUserMountCache::removeMount
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:41 +02:00
Robin Appelman
a1b4a6b6b7
fix: log when user is marked as needing share mount refresh
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:40 +02:00
Robin Appelman
940a68649a
test: add test for UserHomeSetupListener
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:40 +02:00
Robin Appelman
f7803905fe
fix: default user_needs_share_refresh to true
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:40 +02:00
Robin Appelman
3385cd4342
fix: move mountpoint when transfering share
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:39 +02:00
Robin Appelman
e7fcb6c7f5
fix: handle share moves
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:38 +02:00
Robin Appelman
7b3457003c
fix: update shares on group delete
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:37 +02:00
Robin Appelman
1a3da80932
feat: add output options and '--cached-only' to list mounts command
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:16:44 +02:00
Robin Appelman
9853bc880d
fix: improve performance of handling delete shares
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:16:43 +02:00
Robin Appelman
9c399ba4ac
feat: use time-based cutoff for share updating instead of count
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:16:42 +02:00
Robin Appelman
b57959d5d2
test: add some tests for ShareRecipientUpdaterTest
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 14:39:54 +02:00
Robin Appelman
8680d4446b
test: add some tests for SharesUpdatedListenerTest
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 14:39:53 +02:00
Robin Appelman
68448a4a42
feat: export getData for public FileInfo interface
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 14:39:51 +02:00
Robin Appelman
8de080580b
fix: disable share resolve postpone in tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 14:39:51 +02:00
Robin Appelman
6f253302ae
feat: postpone receiving share validation after processing a certain number of users
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 14:39:49 +02:00
Robin Appelman
c1a56cfb99
chore: move share recipient validation logic to a separate class
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 14:39:48 +02:00
Robin Appelman
491fb8d483
fix: only validate mounts for new share
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 14:39:46 +02:00
Nextcloud bot
dfa407ca55
fix(l10n): Update translations from Transifex
Some checks are pending
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, main, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, guests_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-24 07:07:23 +00:00
Robin Appelman
379fa54e2e
Merge pull request #59312 from nextcloud/calender-sync-delete
Fix removed address book items not being synced between federated instances
2026-04-23 20:17:48 +02:00
F. E Noel Nfebe
c4cdb9b7f1
Merge pull request #59873 from nfebe/fix/save-twice-password-guard-public-shares
fix(files_sharing): Restore password guard return for new public shares
2026-04-23 18:43:54 +01:00
Robin Appelman
df76c9f882
fix: fix initial addressbook sync skipping items due to ordering
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-23 17:03:48 +02:00
Ferdinand Thiessen
96206dd183
Merge pull request #59842 from nextcloud/fix/swallow-redirected-navigation
fix(files,files_sharing): swallow redirected navigation errors
2026-04-23 16:22:18 +02:00
Ferdinand Thiessen
07616938a8
Merge pull request #59867 from nextcloud/fix/public-share-download-redirect-trailing-question-mark
fix(files_sharing): Drop trailing '?' from public download redirect URL
2026-04-23 16:21:56 +02:00
Christoph Wurst
1a2712132a
Merge pull request #59767 from nextcloud/enh/noid/safer-oauth2-gettoken
Wrap oauth2 token rotation in a transaction
2026-04-23 14:33:11 +02:00
Git'Fellow
bc105e9c4a fix(files,files_sharing): swallow redirected navigation errors
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-04-23 13:47:06 +02:00
Jana Peper
aded96fff7
fix(webhook-listeners): hour lifetime of tokens
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2026-04-23 13:39:23 +02:00
nfebe
12c9c3ab01 fix(files_sharing): Restore password guard return for new public shares
Creating a new public share without a password silently succeeded: the
password error was shown but execution continued, and the share was
created without a password. Users had to save a second time for the
password to apply.

The password guard now blocks the save when a new public share is
missing a password. Non-public shares (user/group) are never blocked
by this guard, so they remain unaffected.

Tests invoke the real saveShare method against a stubbed context and
cover the save-twice symptom and the non-public-share regression.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-04-23 12:09:18 +01:00
Peter Ringelmann
6f5ede3412 feat(settings): advertise keyboard shortcuts in user management
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-04-23 09:53:22 +02:00
Peter Ringelmann
a17d6a8e02 refactor(settings): use useHotKey composable for Ctrl+F shortcut
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-04-23 09:53:22 +02:00
Peter Ringelmann
6ca6601820 fix: catch ctrl+f event to focus new search
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-04-23 09:53:22 +02:00
Peter Ringelmann
43a1f7c832 feat(settings): unified search for accounts and groups
Replace the unified search event bus subscription and the separate group
sidebar search with a single input in the account management navigation.
The query is shared via Vuex so UserList and AppNavigationGroupList
react to the same state.

Part of #53862
Fixes #59166

Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-04-23 09:53:22 +02:00
nfebe
0ef2caccc6 fix(files_sharing): Drop trailing '?' from public download redirect URL
Public share download links now redirect to the public DAV endpoint
cleanly when no additional query parameters are present. Previously the
redirect always appended a trailing '?' to the target URL, which caused
an Internal Server Error for clients that called the legacy download
endpoint without query parameters (e.g. the Thunderbird FileLink
extension). Links shared before this change are resolvable again.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-04-23 05:58:30 +01:00
Nextcloud bot
9fd18b2812
fix(l10n): Update translations from Transifex
Some checks are pending
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, main, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, guests_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / changes (push) Waiting to run
Psalm static code analysis / static-code-analysis (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-security (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ocp (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ncu (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-strict (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-summary (push) Blocked by required conditions
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-23 00:19:00 +00:00
Ferdinand Thiessen
98f853696f
Merge pull request #59850 from nextcloud/fix/files-share-convert
fix(files): do not show convert-file action in view-only shares
2026-04-22 22:28:10 +02:00
Stephan Orbaugh
def4450a7a
Merge pull request #59780 from nextcloud/fix/dav-chunks
Some checks are pending
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, main, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, guests_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / changes (push) Waiting to run
Psalm static code analysis / static-code-analysis (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-security (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ocp (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ncu (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-strict (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-summary (push) Blocked by required conditions
2026-04-22 17:48:36 +02:00
Benjamin Gaussorgues
ace8b82187
Merge pull request #59843 from nextcloud/fix/dav/unifiy-content-disposition-header-escaping 2026-04-22 17:37:02 +02:00
Ferdinand Thiessen
25fc2d8f69
fix(files): do not show convert-file action in view-only shares
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-22 17:20:52 +02:00
David Dreschner
edda3a01ed
Merge pull request #59830 from nextcloud/fix/refactor-imipservice
fix(ImipService): Refactor `IMipService` to improve performance
2026-04-22 16:28:09 +02:00
Ferdinand Thiessen
a1ddf594ec
fix(dav): do not list intermediate upload folders
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-22 15:06:15 +02:00
Ferdinand Thiessen
bcfa3bd2ee
fix(dav): do not read intermediate uploads
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-22 15:06:15 +02:00