Skip to content

Drag'n'drop Folders to a Team Folder doesn't work #4515

@Signum

Description

@Signum

How to use GitHub

  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Steps to reproduce

  1. Create a team folder
  2. Drag/drop a folder from your computer (Linux Mint or MacOS) to that folder containing two small text files

Expected behaviour

The folder should be created and the text files should appear in the folder.

Actual behaviour

No files are uploaded.

The user is shown these popups:

Image

Users can create folders in the web UI though. And they can drag multiple files into the folder successfully. Just dragging complete folders does not work. Uploading a complete folder works in the context of the user's personal files – just not with team folders.

Server configuration

Operating system: Debian 12

Web server: Nginx 1.22.1

Database: MariaDB 10.11.14

PHP version: PHP 8.2.30

Nextcloud version: Nextcloud Hub 26 Winter (33.0.0)

Team folders version: 21.0.6

Updated from an older Nextcloud/ownCloud or fresh install: Updated

Where did you install Nextcloud from: https://nextcloud.com/install/ ZIP file

Are you using external storage, if yes which one: Not for the team folders.

Are you using encryption: no

Are you using an external user-backend, if yes which one: LDAP

Client configuration

Browser: Firefox 148 or Chromium 146.0.7680.71

Operating system: Linux Mint or MaCOS

Logs

Web server error log

Web server error log

The nginx logs:

- - - [24/Mar/2026:13:16:48 +0100] "PROPFIND /remote.php/dav/files/some.user%40example.org_5453/Ferhlersuche/ HTTP/2.0" 207 717 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:148.0) Gecko/20100101 Firefox/148.0"
- - - [24/Mar/2026:13:16:48 +0100] "PROPFIND /remote.php/dav/files/some.user@example.org_5453/ipv6-vortrag HTTP/2.0" 207 358 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:148.0) Gecko/20100101 Firefox/148.0"
- - - [24/Mar/2026:13:16:48 +0100] "PUT /remote.php/dav/files/some.user%40example.org_5453/Ferhlersuche/ipv6-vortrag/ipv6.sozi.json HTTP/2.0" 404 207 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:148.0) Gecko/20100101 Firefox/148.0"
- - - [24/Mar/2026:13:16:49 +0100] "PUT /remote.php/dav/files/some.user%40example.org_5453/Ferhlersuche/ipv6-vortrag/ipv6.sozi.html HTTP/2.0" 404 207 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:148.0) Gecko/20100101 Firefox/148.0"

Nextcloud log (data/nextcloud.log)

(Too long for this issue. See followup).

Browser log

Browser log
[DEBUG] files: Templates folder enabled 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, templatesEnabled: true }
core-common.js:1:2920541
[DEBUG] files: Initial templates folder 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, templatesPath: false }
core-common.js:1:2920541
[DEBUG] @nextcloud/files: New sidebar action with id "files-favorite" registered. 
Object { app: "@nextcloud/files", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] @nextcloud/files: FileListHeaders initialized 
Object { app: "@nextcloud/files", uid: "some.user@example.org_5453", level: 0 }
index-Bnw2WuIx.chunk.mjs:4:176
[WARN] viewer: Some mimes were ignored because they are not enabled in the server previews config 
Object { app: "viewer", uid: "some.user@example.org_5453", level: 0, ignoredMimes: (4) […] }
previewUtils-mb7vuryY.chunk.mjs:5:313
[DEBUG] viewer: OCA.Viewer initialized 
Object { app: "viewer", uid: "some.user@example.org_5453", level: 0 }
previewUtils-mb7vuryY.chunk.mjs:5:177
[DEBUG] core: Unified search initialized! 
Object { app: "core", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] files: OCA.Files.Settings initialized 
Object { app: "files", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] files: Register hotkey for action "delete" 
Object { app: "files", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] files: Register hotkey for action "favorite" 
Object { app: "files", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] files: Register hotkey for action "rename" 
Object { app: "files", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] files: Register hotkey for action "details" 
Object { app: "files", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] files: Hotkeys registered 
Object { app: "files", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] files: Setting active view 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, view: null }
core-common.js:1:2920541
[DEBUG] files: Route view id files is different from active view id undefined, updating active view... 
Object { app: "files", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] files: Setting active view 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, view: {…} }
core-common.js:1:2920541
[DEBUG] files: New file list filter registered 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, id: "files:hidden" }
core-common.js:1:2920541
[DEBUG] files: New file list filter registered 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, id: "files:type" }
core-common.js:1:2920541
[DEBUG] files: New file list filter registered 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, id: "files:modified" }
core-common.js:1:2920541
[DEBUG] files: New file list filter registered 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, id: "files:filename" }
core-common.js:1:2920541
[DEBUG] files: New file list filter registered 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, id: "files_sharing:account" }
core-common.js:1:2920541
[DEBUG] @nextcloud/upload: Destination set 
Object { app: "@nextcloud/upload", uid: "some.user@example.org_5453", level: 0, folder: {…} }
core-common.js:1:2920541
[DEBUG] @nextcloud/upload: Upload workspace initialized 
Object { app: "@nextcloud/upload", uid: "some.user@example.org_5453", level: 0, destination: {…}, root: "https://cloud.example.org/remote.php/dav/files/some.user@example.org_5453", isPublic: false, maxChunksSize: 104857600 }
core-common.js:1:2920541
[DEBUG] files: Mounted note-to-recipient FilesListHeader 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, header: {…} }
core-common.js:1:2920541
[DEBUG] files: Fetching contents for directory 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, dir: "/", currentView: {…} }
core-common.js:1:2920541
[DEBUG] files_sharing: OCA.Sharing.ShareSearch initialized 
Object { app: "files_sharing", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] files_sharing: OCA.Sharing.ExternalShareActions initialized 
Object { app: "files_sharing", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] @nextcloud/files: New sidebar tab with id "sharing" registered. 
Object { app: "@nextcloud/files", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[INFO] files: Initializing unified search plugin: folder search from files app 
Object { app: "files", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920608
[INFO] viewer: 5 viewer handlers registered 
Object { app: "viewer", uid: "some.user@example.org_5453", level: 0, handlers: (5) […] }
previewUtils-mb7vuryY.chunk.mjs:5:246
[INFO] core: session heartbeat polling started 
Object { app: "core", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920608
[WARN] @nextcloud/vue: You need to fill either the text or the ariaLabel props in the button component. 
Object { uid: "some.user@example.org_5453", app: "@nextcloud/vue", level: 0, text: undefined, ariaLabel: null, instance: {…} }
core-common.js:1:2920673
[DEBUG] files: Rendered note-to-recipient FilesListHeader 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, header: {…} }
core-common.js:1:2920541
[DEBUG] files: Generating favorites view 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, favoriteFolders: [] }
core-common.js:1:2920541
[DEBUG] files: Fetched contents 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, dir: "/", folder: {…}, contents: (10) […] }
core-common.js:1:2920541
[DEBUG] files: Directory contents changed 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, view: {…}, folder: {…}, contents: (10) […] }
core-common.js:1:2920541
[DEBUG] @nextcloud/upload: Destination set 
Object { app: "@nextcloud/upload", uid: "some.user@example.org_5453", level: 0, folder: {…} }
core-common.js:1:2920541
[DEBUG] @nextcloud/upload: UploadPicker initialised 
Object { app: "@nextcloud/upload", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] files: Updated note-to-recipient FilesListHeader 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, header: {…} }
core-common.js:1:2920541
Notifications permissions not yet requested NotificationsApp-zv-lMaEW.chunk.mjs:83:58528
Polling interval updated to 30000 NotificationsApp-zv-lMaEW.chunk.mjs:83:57611
Started background fetcher as session_keepalive is enabled NotificationsApp-zv-lMaEW.chunk.mjs:83:54771
[DEBUG] core: this browser is officially supported ! 🚀 
Object { app: "core", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] files: VirtualList: resizeObserver updated 
Object { app: "files", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] files: SW registered:  
Object { app: "files", uid: "some.user@example.org_5453", level: 0, registration: ServiceWorkerRegistration }
core-common.js:1:2920541
Got notification data, restoring default polling interval. NotificationsApp-zv-lMaEW.chunk.mjs:83:56566
[DEBUG] files: Directory changed 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, newDir: "/Ferhlersuche", oldDir: "/" }
core-common.js:1:2920541
[DEBUG] files: Fetching contents for directory 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, dir: "/Ferhlersuche", currentView: {…} }
core-common.js:1:2920541
[DEBUG] files: Cancelled previous ongoing fetch 
Object { app: "files", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] files: FilesListVirtual: checking for requested fileId, openFile or openDetails 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, nodes: (10) […], fileId: 1428772, openFile: false, openDetails: false }
core-common.js:1:2920541
[DEBUG] files: Scrolling to file 1428772 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, fileId: 1428772, index: 3 }
core-common.js:1:2920541
[DEBUG] files: Updating active fileid in URL query 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, fileid: 1428772 }
core-common.js:1:2920541
[DEBUG] files: VirtualList: Skip scrolling, index already visible 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, index: 3 }
core-common.js:1:2920541
[DEBUG] files: Ignoring duplicated navigation from vue-router 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, error: NavigationDuplicated }
core-common.js:1:2920541
[DEBUG] files: Fetched contents 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, dir: "/Ferhlersuche", folder: {…}, contents: [] }
core-common.js:1:2920541
[DEBUG] files: Directory contents changed 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, view: {…}, folder: {…}, contents: [] }
core-common.js:1:2920541
[DEBUG] files: VirtualList: Skip scrolling, index already visible 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, index: 3 }
core-common.js:1:2920541
[DEBUG] @nextcloud/upload: Destination set 
Object { app: "@nextcloud/upload", uid: "some.user@example.org_5453", level: 0, folder: {…} }
core-common.js:1:2920541
[DEBUG] @nextcloud/upload: UploadPicker initialised 
Object { app: "@nextcloud/upload", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] @nextcloud/upload: Destination set 
Object { app: "@nextcloud/upload", uid: "some.user@example.org_5453", level: 0, folder: {…} }
core-common.js:1:2920541
[DEBUG] files: Updated note-to-recipient FilesListHeader 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, header: {…} }
core-common.js:1:2920541
[DEBUG] files: VirtualList: resizeObserver updated 
Object { app: "files", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] files: VirtualList: resizeObserver updated 
Object { app: "files", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] files: Handling recursive file tree 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, entry: "ipv6-vortrag" }
core-common.js:1:2920541
[DEBUG] files: Dropped 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, event: drop, folder: {…}, fileTree: File }
core-common.js:1:2920541
[DEBUG] files: Uploading files to /Ferhlersuche 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, root: File, contents: (1) […] }
core-common.js:1:2920541
[DEBUG] @nextcloud/upload: Uploader paused 
Object { app: "@nextcloud/upload", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] files: Processing directory 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, relativePath: "/ipv6-vortrag" }
core-common.js:1:2920541
[DEBUG] files: Uploading file to /Ferhlersuche/ipv6-vortrag/ipv6.sozi.json 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, file: File }
core-common.js:1:2920541
[DEBUG] @nextcloud/upload: Uploading ipv6.sozi.json to https://cloud.example.org/remote.php/dav/files/some.user%example.org_5453/Ferhlersuche/ipv6-vortrag/ipv6.sozi.json 
Object { app: "@nextcloud/upload", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] @nextcloud/upload: Initializing regular upload 
Object { app: "@nextcloud/upload", uid: "some.user@example.org_5453", level: 0, file: File, upload: {…} }
core-common.js:1:2920541
[DEBUG] files: Uploading file to /Ferhlersuche/ipv6-vortrag/ipv6.sozi.html 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, file: File }
core-common.js:1:2920541
[DEBUG] @nextcloud/upload: Uploading ipv6.sozi.html to https://cloud.example.org/remote.php/dav/files/some.user%example.org_5453/Ferhlersuche/ipv6-vortrag/ipv6.sozi.html 
Object { app: "@nextcloud/upload", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] @nextcloud/upload: Initializing regular upload 
Object { app: "@nextcloud/upload", uid: "some.user@example.org_5453", level: 0, file: File, upload: {…} }
core-common.js:1:2920541
[DEBUG] @nextcloud/upload: Uploader resumed 
Object { app: "@nextcloud/upload", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
XHRPUT
https://cloud.example.org/remote.php/dav/files/some.user@example.org_5453/Ferhlersuche/ipv6-vortrag/ipv6.sozi.json
[HTTP/2 404  132ms]

XHRPUT
https://cloud.example.org/remote.php/dav/files/some.user@example.org_5453/Ferhlersuche/ipv6-vortrag/ipv6.sozi.html
[HTTP/2 404  707ms]

[ERROR] @nextcloud/upload: Failed uploading ipv6.sozi.json 
Object { app: "@nextcloud/upload", uid: "some.user@example.org_5453", level: 0, error: AxiosError, file: File, upload: {…} }
core-common.js:1:2920739
[ERROR] @nextcloud/upload: Failed uploading ipv6.sozi.html 
Object { app: "@nextcloud/upload", uid: "some.user@example.org_5453", level: 0, error: AxiosError, file: File, upload: {…} }
core-common.js:1:2920739
[ERROR] files: Error while uploading files 
Object { app: "files", uid: "some.user@example.org_5453", level: 0, errors: (2) […] }
core-common.js:1:2920739
[DEBUG] @nextcloud/upload: Uploader state reset 
Object { app: "@nextcloud/upload", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541
[DEBUG] files: VirtualList: resizeObserver updated 
Object { app: "files", uid: "some.user@example.org_5453", level: 0 }
core-common.js:1:2920541

Metadata

Metadata

Assignees

Labels

2. developingItems that are currently under developmentbug

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions