Open gohrner opened 1 year ago
This is especially interesting as I don't experience this behavior with the same files on my old Android 10 device, but I do on Android 13 (same device as yours actually).
Syncing an entire folder is not even necessary to trigger this error message. I usually encounter the problem when I try to download or export a single file.
File names for which the problem occurs are of the form: 2023-11-10_event_myname_0001.JPG
. I suspect that the problem is not the file name but the name of the parent folders, which include '*', '@', and spaces.
``` 11-10 11:33:50.419 26101 26101 D FileActivity: show loading dialog 11-10 11:33:50.419 26101 26101 W OnBackInvokedCallback: OnBackInvokedCallback is not enabled for the application. 11-10 11:33:50.419 26101 26101 W OnBackInvokedCallback: Set 'android:enableOnBackInvokedCallback="true"' in the application manifest. 11-10 11:33:50.454 26101 496 D OpenGLRenderer: endAllActiveAnimators on 0xb400007c5117c190 (RippleDrawable) with handle 0xb400007b60de9f70 11-10 11:33:50.464 26101 26101 W OnBackInvokedCallback: OnBackInvokedCallback is not enabled for the application. 11-10 11:33:50.464 26101 26101 W OnBackInvokedCallback: Set 'android:enableOnBackInvokedCallback="true"' in the application manifest. 11-10 11:33:50.465 26101 26101 D OperationsService: Starting command with id 4 11-10 11:33:50.477 26101 530 I SynchronizeFileOperation: Synchronizing berlin.lukas@cloud.[HOST], file /Streikbilder Berlin/2023-11-09_[EVENT]/Nach Fotograf*innen sortiert/Lukas - OPT - ig@[INSTAGRAM HANDLE]/2023-11-10_[EVENT]_FFF-OPT_lukas_LS__4031.jpg: Operation finished with HTTP status code -1 (success) 11-10 11:33:50.478 26101 530 D OperationsService: Called 1 listeners 11-10 11:33:50.478 26101 530 D OperationsService: Stopping after command with id 4 11-10 11:33:50.479 26101 496 E OpenGLRenderer: Unable to match the desired swap behavior. 11-10 11:33:50.486 26101 496 W Parcel : Expecting binder but got null! 11-10 11:33:50.489 26101 26101 D FileDownloader: Starting command with id 2 11-10 11:33:50.492 26101 26101 D FileActivity: Received result of operation in FileActivity - common behaviour for all the FileActivities 11-10 11:33:50.492 26101 26101 D FileActivity: dismiss loading dialog 11-10 11:33:50.497 26101 532 D OwnCloudClient #0: REQUEST GET /remote.php/dav/files/berlin.lukas/Streikbilder%20Berlin/2023-11-09_[EVENT]/Nach%20Fotograf*innen%20sortiert/Lukas%20%20-%20OPT%20-%20ig%40[INSTAGRAM HANDLE]/2023-11-10_[EVENT]_FFF-OPT_lukas_LS__4031.jpg 11-10 11:33:50.513 26101 26101 W OnBackInvokedCallback: OnBackInvokedCallback is not enabled for the application. 11-10 11:33:50.513 26101 26101 W OnBackInvokedCallback: Set 'android:enableOnBackInvokedCallback="true"' in the application manifest. 11-10 11:33:50.702 26101 532 E DownloadFileRemoteOperation: Error creating file /storage/emulated/0/Android/media/com.nextcloud.client/nextcloud/tmp/berlin.lukas@cloud.[HOST]/Streikbilder Berlin/2023-11-09_[EVENT]/Nach Fotograf*innen sortiert/Lukas - OPT - ig@[INSTAGRAM HANDLE]/2023-11-10_[EVENT]_FFF-OPT_lukas_LS__4031.jpg 11-10 11:33:50.702 26101 532 E DownloadFileRemoteOperation: java.io.IOException: Operation not permitted 11-10 11:33:50.702 26101 532 E DownloadFileRemoteOperation: at java.io.UnixFileSystem.createFileExclusively0(Native Method) 11-10 11:33:50.702 26101 532 E DownloadFileRemoteOperation: at java.io.UnixFileSystem.createFileExclusively(UnixFileSystem.java:317) 11-10 11:33:50.702 26101 532 E DownloadFileRemoteOperation: at java.io.File.createNewFile(File.java:1006) 11-10 11:33:50.702 26101 532 E DownloadFileRemoteOperation: at com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(DownloadFileRemoteOperation.java:114) 11-10 11:33:50.702 26101 532 E DownloadFileRemoteOperation: at com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.run(DownloadFileRemoteOperation.java:88) 11-10 11:33:50.702 26101 532 E DownloadFileRemoteOperation: at com.owncloud.android.lib.common.operations.RemoteOperation.execute(RemoteOperation.java:205) 11-10 11:33:50.702 26101 532 E DownloadFileRemoteOperation: at com.owncloud.android.operations.DownloadFileOperation.run(DownloadFileOperation.java:180) 11-10 11:33:50.702 26101 532 E DownloadFileRemoteOperation: at com.owncloud.android.lib.common.operations.RemoteOperation.execute(RemoteOperation.java:205) 11-10 11:33:50.702 26101 532 E DownloadFileRemoteOperation: at com.owncloud.android.files.services.FileDownloader.downloadFile(FileDownloader.java:474) 11-10 11:33:50.702 26101 532 E DownloadFileRemoteOperation: at com.owncloud.android.files.services.FileDownloader.-$$Nest$mdownloadFile(Unknown Source:0) 11-10 11:33:50.702 26101 532 E DownloadFileRemoteOperation: at com.owncloud.android.files.services.FileDownloader$ServiceHandler.handleMessage(FileDownloader.java:424) 11-10 11:33:50.702 26101 532 E DownloadFileRemoteOperation: at android.os.Handler.dispatchMessage(Handler.java:106) 11-10 11:33:50.702 26101 532 E DownloadFileRemoteOperation: at android.os.Looper.loopOnce(Looper.java:201) 11-10 11:33:50.702 26101 532 E DownloadFileRemoteOperation: at android.os.Looper.loop(Looper.java:288) 11-10 11:33:50.702 26101 532 E DownloadFileRemoteOperation: at android.os.HandlerThread.run(HandlerThread.java:67) 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: Download of /Streikbilder Berlin/2023-11-09_[EVENT]/Nach Fotograf*innen sortiert/Lukas - OPT - ig@[INSTAGRAM HANDLE]/2023-11-10_[EVENT]_FFF-OPT_lukas_LS__4031.jpg to /storage/emulated/0/Android/media/com.nextcloud.client/nextcloud/tmp/berlin.lukas@cloud.[HOST]/Streikbilder Berlin/2023-11-09_[EVENT]/Nach Fotograf*innen sortiert/Lukas - OPT - ig@[INSTAGRAM HANDLE]/2023-11-10_[EVENT]_FFF-OPT_lukas_LS__4031.jpg: Unexpected exception 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: com.owncloud.android.lib.resources.files.CreateLocalFileException: File could not be created 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: at com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(DownloadFileRemoteOperation.java:117) 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: at com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.run(DownloadFileRemoteOperation.java:88) 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: at com.owncloud.android.lib.common.operations.RemoteOperation.execute(RemoteOperation.java:205) 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: at com.owncloud.android.operations.DownloadFileOperation.run(DownloadFileOperation.java:180) 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: at com.owncloud.android.lib.common.operations.RemoteOperation.execute(RemoteOperation.java:205) 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: at com.owncloud.android.files.services.FileDownloader.downloadFile(FileDownloader.java:474) 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: at com.owncloud.android.files.services.FileDownloader.-$$Nest$mdownloadFile(Unknown Source:0) 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: at com.owncloud.android.files.services.FileDownloader$ServiceHandler.handleMessage(FileDownloader.java:424) 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: at android.os.Handler.dispatchMessage(Handler.java:106) 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: at android.os.Looper.loopOnce(Looper.java:201) 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: at android.os.Looper.loop(Looper.java:288) 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: at android.os.HandlerThread.run(HandlerThread.java:67) 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: Caused by: java.io.IOException: Operation not permitted 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: at java.io.UnixFileSystem.createFileExclusively0(Native Method) 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: at java.io.UnixFileSystem.createFileExclusively(UnixFileSystem.java:317) 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: at java.io.File.createNewFile(File.java:1006) 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: at com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation.downloadFile(DownloadFileRemoteOperation.java:114) 11-10 11:33:53.353 26101 532 E DownloadFileRemoteOperation: ... 11 more 11-10 11:33:53.354 26101 532 I DownloadFileOperation: Download of /Streikbilder Berlin/2023-11-09_[EVENT]/Nach Fotograf*innen sortiert/Lukas - OPT - ig@[INSTAGRAM HANDLE]/2023-11-10_[EVENT]_FFF-OPT_lukas_LS__4031.jpg to /storage/emulated/0/Android/media/com.nextcloud.client/nextcloud/berlin.lukas@cloud.[HOST]/Streikbilder Berlin/2023-11-09_[EVENT]/Nach Fotograf*innen sortiert/Lukas - OPT - ig@[INSTAGRAM HANDLE]/2023-11-10_[EVENT]_FFF-OPT_lukas_LS__4031.jpg: Unexpected exception 11-10 11:33:53.375 26101 26101 D PreviewImageFragment: onStop starts 11-10 11:33:55.374 26101 532 D FileDownloader: Stopping after command with id 0 ```
⚠️ Before posting ⚠️
Steps to reproduce
Expected behaviour
In case a file with an "invalid" filename is encountered, the error notification should indicate which file was affected, so the user has a way to identify and adjust the offending file(name).
(The most convenient solution would probably be to transparently "adjust" the filename and continue successfully, but that's a different issue is not directly related to this issue here.)
Actual behaviour
An error notification is generated which only says "Invalid filename for local file" but does not provide any information regarding which file was actually affected, and why the filename was "invalid".
See screenshot.
I ended up with a dozend or so of these notifications - how am I supposed to fix this?
Android version
13
Device brand and model
FairPhone 5
Stock or custom OS?
Stock
Nextcloud android app version
3.25
Nextcloud server version
27.1.3
Using a reverse proxy?
Yes
Android logs
No response
Server error logs
Additional information
I don't have Android development tools installed and no dev mode active, so cannot easily access the client's logs.
Why don't you make these accessible in the GUI directly?