File made offline cannot be opened if owncloud backend isn't available
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 251
- Forks
- 142
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 3
Description
Any file which is marked as "Offline available" and already downloaded by owncloud iOS app, cannot be opened in an app if the owncloud backend isn't currently running. This is a major issue related to the "Offline available" feature of the iOS app.
Steps to reproduce
- mark a keepass file in owncloud iOS as "Offline available"
- wait until it's downloaded by the owncloud iOS app
- open it with the "Keepassium" app
- close Keepassium, reopen it => keepass file is opened again
- close Keepassium
- disconnect the iOS device from the network (or shutdown the owncloud backend) so the owncloud backend isn't available
- open Keepassium again after it has been closed for several hours => keepass file cannot be opened
Expected behavior
Keepass file can be opened in step 6, because it's marked as "Offline available".
Actual behavior
Keepass file cannot be opened by KeePassium.
I assume it's because of the provider for the file (the owncloud iOS app) doesn't allow the file to be opened because it tries to load the file again from the owncloud backend which fails.
Is there any code which makes the owncloud iOS to invalidate the file handle after the file has not been used for hours? - I don't know. I've observed that the problem only occurs if I didn't use KeePassium for hours and then reopen it.
Client
iOS version:
14.4
ownCloud app version:
11.4.5 build 182
Device model:
iPhone XR
Server configuration
- Docker image: owncloud/server:10.6.0, mariadb:10.5.8, redis:6.2-rc2
- nginx as reverse proxy / https
Logs
No logs available.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the six-step scenario on iOS 14.4 with ownCloud 11.4.5, especially reopening the downloaded file after several hours offline. Investigate the Offline available file-opening flow and its interaction with the ownCloud provider. Done means KeePassium can reopen the downloaded KeePass file after the backend or network is unavailable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100