Commit graph

34053 commits

Author SHA1 Message Date
F. E Noel Nfebe
008e9f2101
Merge pull request #52526 from nextcloud/fix/no-issue/prevent-create-delete-perms-on-file-shares
fix(files_sharing): Prevent create/delete permissions on file shares
2025-04-29 14:14:14 +02:00
Ferdinand Thiessen
28df049b99
Merge pull request #52525 from nextcloud/fix/noid/wfe-set-inital-value
fix(WFE): properly set inital status
2025-04-29 13:48:04 +02:00
nfebe
99ae04d9ce fix(files_sharing): Prevent create/delete permissions on file shares
File shares can't support create or delete permissions. This change ensures those permissions are
 stripped or ignored when the shared item is not a folder.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-04-29 13:42:02 +02:00
Ferdinand Thiessen
698146c366
Merge pull request #51592 from nextcloud/fix/search-cast
fix(dav): throw invalid argument when property type does not match
2025-04-29 13:41:48 +02:00
Arthur Schiwon
09bb0720d4
fix(WFE): properly set inital status
The operationComponent.value is only possibly available with registered
operations that have the value prop. Ones that do not would not have the
value set properly initially. Going to inputValue, which is mapped to the
components model-value, solves this.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2025-04-29 12:23:27 +02:00
Ferdinand Thiessen
9df998e710
Merge pull request #52369 from nextcloud/fix/files-versions-author
fix(files_versions): wait for version to be created before setting metadata
2025-04-29 11:01:58 +02:00
Nextcloud bot
0d98f91ae6
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-29 00:22:42 +00:00
Andy Scherzinger
0d19a1333f
Merge pull request #52443 from nextcloud/reminder-dont-validiate-node-dav
fix: don't check node access again for listing reminders in dav
2025-04-28 14:51:25 +02:00
Hamza Mahjoubi
58ffd9d06e fix: check if config is enabled before creating a default contact
Signed-off-by: Hamza Mahjoubi <hamzamahjoubi221@gmail.com>
2025-04-28 11:46:32 +02:00
F. E Noel Nfebe
6a2c0a254e
Merge pull request #52423 from nextcloud/fix/51226/show-remote-shares-as-external-2
fix(files_sharing): Show remote shares as external
2025-04-28 11:13:45 +02:00
Nextcloud bot
e5676ce0a9
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-28 00:23:11 +00:00
Ferdinand Thiessen
8ca23f2c7d
fix(files_versions): only handle path updates when there is path
`getPathForNode` can fail with null for various reasons (e.g. no owner),
in this cases we need to just skip the event handling.

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-04-27 23:51:56 +02:00
Ferdinand Thiessen
e33fcfddc1 fix(dav): throw invalid argument when property type does not match
* Resolves https://github.com/nextcloud/server/issues/49972

Currently a TypeError is thrown when casting fails,
this lead to a HTTP 500 error. Instead throw a proper
InvalidArgumentError so the user receives a HTTP 400.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-27 23:05:07 +02:00
Ferdinand Thiessen
dabe0ec29f
fix(settings): allow to clear twitter and fediverse
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-27 14:15:07 +02:00
Ferdinand Thiessen
1ba88da113
chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-27 11:38:42 +02:00
Ferdinand Thiessen
6d8c49f0d4
fix(settings): group admins only can add users to their groups
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-27 11:35:40 +02:00
Ferdinand Thiessen
8cc0c266d5
feat(settings): provide user groups for accounts list
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-27 11:35:40 +02:00
Nextcloud bot
8df3310cc4
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-27 00:22:59 +00:00
Richard Steinmetz
bb886258e0
Merge pull request #52428 from nextcloud/chore/dav/refactor-inline-listeners
refactor(dav): refactor inline event listeners
2025-04-26 09:00:25 +02:00
Nextcloud bot
7cbca23e51
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-26 00:22:58 +00:00
Robin Appelman
3d36625af6
fix: don't check node access again for listing reminders in dav
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-04-25 20:34:58 +02:00
Richard Steinmetz
16dd61cc28
refactor(dav): refactor inline event listeners
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-04-25 20:32:18 +02:00
Richard Steinmetz
de23547ef9
Merge pull request #52427 from nextcloud/chore/dav/first-class-callable
refactor(dav): use first class callable syntax to boot the app
2025-04-25 20:31:06 +02:00
Ferdinand Thiessen
5dfbac867f fix(settings): Use axios directly for health check to preven URL sanitizing
When using Apache with `DirectorySlash` it will respond with 301 and the URL with trailing slash.
But when using traefik as the reverse proxy it can not rewrite redirects, this leads to the problem
that the Apache response is using HTTP in the redirect but the real server (traefik) is only listening on HTTPS.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-25 14:39:03 +00:00
Richard Steinmetz
109422f24e
refactor(dav): use first class callable syntax to boot the app
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-04-25 15:05:50 +02:00
nfebe
6454cb5124 perf(files_sharing): Change sharing filtering from O(3n) to O(n)
Replaced multiple Array.filter() calls with a single loop to improve performance.
This avoids redundant iterations over the shares array and categorizes them more efficiently.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-04-25 12:00:04 +01:00
nfebe
26cb5ebd8a fix(files_sharing): Show remote shares in external shares section
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-04-25 11:59:47 +01:00
Stephan Orbaugh
258983e665
Merge pull request #51355 from AIlkiv/refactor/rollback-hook-usage
refactor: cleanup rollback hook usage
2025-04-25 11:42:20 +02:00
ailkiv
616716cd6a refactor: cleanup rollback hook usage
Signed-off-by: ailkiv <a.ilkiv.ye@gmail.com>
2025-04-25 08:25:11 +00:00
Joas Schilling
0c3ebbfed5
Merge pull request #52404 from nextcloud/bugfix/49973/allow-federated-filesharing-without-federation-app
fix(federation): Allow federation file sharing when federation app is…
2025-04-25 09:33:33 +02:00
Nextcloud bot
1ae57fb054
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-25 00:22:43 +00:00
Daniel
cc5ca58816
Merge pull request #51438 from nextcloud/perf/db/cards-properties-abid-name-value-idx
perf(db): Extend index on cards_properties to cover name and value
2025-04-24 13:33:37 +02:00
Ferdinand Thiessen
0051db7a43
Merge pull request #52373 from nextcloud/fix/files-version-creation
fix(files_versions): create version if previous does not exist
2025-04-24 13:30:49 +02:00
Joas Schilling
4fc5eaeff0
fix(federation): Allow federation file sharing when federation app is disabled
The app id might be misleading, the federation app is for syncing addressbooks
with trusted servers. It is not always enabled and show not have to be.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-04-24 13:03:14 +02:00
nfebe
3c73f3fcae fix(files_sharing): Improve expiration date input change handling
If the time picker component is emitting a Date object already, then there is redundant call of `new Date(new Date())` and
therefore introduces subtle bugs, for example on chrome users could not  enter expiration date with keyboard.

- Use @update:model-value instead of @change/@input for more reliable date updates
- Ensure null and invalid dates are handled correctly in onExpirationChange
- Validate date input before updating defaultExpirationDateEnabled

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

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-04-24 12:25:47 +02:00
Kate
0567332af1
Merge pull request #52374 from nextcloud/fix/updatenotification/applist-error-handling 2025-04-24 12:24:41 +02:00
Stephan Orbaugh
be5431253a
Merge pull request #48277 from schaarsc/feature/32735-occ-add-tag-to-file-master
new occ commands to manage system-tags for files
2025-04-24 10:12:33 +02:00
Nextcloud bot
1cc990358c
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-24 00:23:35 +00:00
Ferdinand Thiessen
05fecce17d
fix(files): share mtime for file entry components
Also restructure the mtime opacity calculation to work as expected also
for old files.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-23 20:22:28 +02:00
provokateurin
cc17e4c1fe
fix(updatenotification): Fix error handling when fetching applist for server update
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-04-23 16:42:35 +02:00
Ferdinand Thiessen
5e03c6fb58
fix(files_versions): create version if previous does not exist
This issue happens reproducible if:
- Versions is disabled
- Upload a file
- Enable versions
- Upload same file unchanged
- Now the error happens.

Problem is that the mtime is unchanged so no version will be created on the upload, but it tries to update the last version which does not exists.
Instead of "upload same file unchanged" you can also - like in the example stack trace above - use Android with an SD card with invalid mtime -> the mtime will be stripped so its always the same.
Instead of disable versions the same also happens if e.g. the versions creation failed due to other issues.

The solution now is to catch the exception and create if not exists.
A cleaner solution would be to have a method on the versions backend
like `hasVersionEntity(File $file, int $revision): bool` but this would
be a breaking change or at least a feature that apps need to implement.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-23 16:03:20 +02:00
John Molakvoæ
9bfa1e7bd9
Merge pull request #52094 from nextcloud/rakekniven-patch-1 2025-04-23 14:16:11 +02:00
Ferdinand Thiessen
21c128754d
Merge pull request #52241 from nextcloud/bugfix/noid/fix-room-or-resource-condition
fix(caldav): Fix check for ROOM or RESOURCE condition
2025-04-23 13:54:01 +02:00
rakekniven
b27d76059e
chore(i18n): Use "name" instead of "nickname"
Users asked why they should use a nickname?
"Name" covers nickname, pseudonym, username or real name.


Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-04-23 13:53:18 +02:00
Ferdinand Thiessen
2020760f88
fix(files_versions): wait for version to be created before setting metadata
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-23 13:09:43 +02:00
Nextcloud bot
14868ac0ee
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-04-23 00:22:56 +00:00
John Molakvoæ (skjnldsv)
12327fea1e fix(files): prevent dragging preview when drag-drop
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2025-04-22 15:26:18 +00:00
Ferdinand Thiessen
b4255a9652
fix(dav): allow uploading of files with long filenames
A filename must be less or equal 255 characters, but when adding the
`.part` and `.ocfiletransfer` extensions we might overflow this limit.
So we should also use filename hashes for uploading when the file has a
long filename, similar like when we are uploading to the user storage
directly.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-22 11:09:25 +02:00
Ferdinand Thiessen
6141ab1da6
refactor(dav): simplify length header handling
Reduce nesting and drop duplicated sections.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-22 11:09:05 +02:00
Joas Schilling
fe7c1c0aad
fix(caldav): Fix check for ROOM or RESOURCE comment
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-04-22 11:02:13 +02:00