Skip to content

fix(save-file-with): Remote Operation Failed Exception - #17998

Merged
alperozturk96 merged 6 commits into
masterfrom
fix/save-file-with
Nov 11, 2026
Merged

alperozturk96 merged 6 commits into
masterfrom
fix/save-file-with

Conversation

@alperozturk96

@alperozturk96 alperozturk96 commented Nov 9, 2026 •

Copy link
Copy Markdown
Collaborator

Issue

The offline operation flow called that needs the server.

Exception com.owncloud.android.operations.RemoteOperationFailedException:
  at com.owncloud.android.datamodel.FileDataStorageManager.saveFileWithParent (FileDataStorageManager.java:679)
  at com.owncloud.android.datamodel.FileDataStorageManager.createPendingFile (FileDataStorageManager.java:252)
  at com.owncloud.android.datamodel.FileDataStorageManager.addCreateFileOfflineOperation (FileDataStorageManager.java:202)
  at com.owncloud.android.ui.activity.FileDisplayActivity$requestUploadOfFilesFromFileSystem$1$1.invokeSuspend (FileDisplayActivity.kt:1164)
  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (ContinuationImpl.kt:34)
  at kotlinx.coroutines.DispatchedTask.run (DispatchedTask.kt:100)
  at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run (LimitedDispatcher.kt:124)
  at kotlinx.coroutines.scheduling.TaskImpl.run (Tasks.kt:89)
  at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely (CoroutineScheduler.kt:586)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask (CoroutineScheduler.kt:798)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker (CoroutineScheduler.kt:717)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run (CoroutineScheduler.kt:704)

Changes

  • The app now creates any missing parent folders locally first.
  • Covers edge cases of saveFileWith such as: a missing root folder never being saved.

How to test?

  1. On the phone (local storage), create a folder with subfolders, for example Trip/day1/a.jpg and Trip/day2/b.jpg.
  2. Open any folder and turn on airplane mode.
  3. Tap + → Upload files.
  4. Select the folder created step 1
  5. Tap Upload.
  6. Turn off airplane mode.

🤖 AI (if applicable)

  • The content of this PR was partly or fully generated using AI (N/A)

@codecov

codecov Bot commented Nov 9, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 36 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...loud/android/datamodel/FileDataStorageManager.java 0.00% 36 Missing ⚠️

📢 Thoughts on this report? Let us know!

@github-actions

github-actions Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

📱 QA build

Download app-qa-debug.apk
QR code Open the QR code for this download
Commit 1679522
Version 17998
Available until 7 days after this build

The QA build installs alongside a released Nextcloud app, so you can keep
using your existing install while testing.

Downloading the file requires a GitHub account, so open this link on the
device you want to test on, or transfer the APK to it.

@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown

SpotBugs

CategoryBaseNew
Bad practice2424
Correctness4848
Dodgy code128128
Experimental11
Malicious code vulnerability11
Multithreaded correctness1313
Performance2625
Security1515
Total256255

@alperozturk96

Copy link
Copy Markdown
Collaborator Author

/backport to stable-35.1.x

@daniele-verducci daniele-verducci left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works

Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
@alperozturk96
alperozturk96 merged commit 13d9b4b into master Nov 11, 2026
23 of 24 checks passed
@alperozturk96
alperozturk96 deleted the fix/save-file-with branch November 11, 2026 14:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants