nextcloud / nextcloud/ios

[Data Loss] File modified in Files app while offline resets on reconnect

Open
#2,585 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Swift
Stars
2.5k
Forks
1k
Avg merge
2d 18h
Merged PRs (30d)
13

Description

Steps to reproduce
  1. Make a folder available offline
  2. Open the folder in the Files app
  3. Go offline
  4. Open a file in the folder from the Files app -- e.g. a PDF using markup
  5. The file will now show a "download" icon -- why?
  6. Go back online
  7. File syncs again
  8. Changes are lost
Expected behaviour

The changes should be uploaded.

Actual behaviour

The changes reset back to the server version.

Screenshots

N/A

Logs
N/A
Reasoning or why should it be changed/implemented?

Prevent data loss

Environment data

iOS version: iPadOS 16.6

Nextcloud iOS app version: 4.8.6.4

Server operating system: Irrelevant (Docker)

Web server: Apache Docker with nginx proxy

Database: Postgres

PHP version: 7.4

Nextcloud version: 27.0.2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue in the iOS Files app with an offline-available folder, an edited file, and a reconnect. Trace the offline file and sync flow described in the report, focusing on why the edited file shows a download icon and is replaced by the server version. Done means local edits are uploaded after reconnect instead of being lost.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, swift
Domain
cloud, mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.