Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FileDownloadWorker and TwoWaySync Notification #13906

Open
4 tasks done
alperozturk96 opened this issue Oct 30, 2024 · 0 comments
Open
4 tasks done

FileDownloadWorker and TwoWaySync Notification #13906

alperozturk96 opened this issue Oct 30, 2024 · 0 comments
Assignees
Labels
0. Needs triage bug feature: sync feature: transfers [WIP] Any uploading / downloading matters that aren't auto upload or sync specific stable-3.30

Comments

@alperozturk96
Copy link
Collaborator

alperozturk96 commented Oct 30, 2024

⚠️ Before posting ⚠️

  • This is a bug, not a question or an enhancement.
  • I've searched for similar issues and didn't find a duplicate.
  • I've written a clear and descriptive title for this issue, not just "Bug" or "Crash".
  • I agree to follow Nextcloud's Code of Conduct.

Steps to reproduce

  1. Set up the folder for two-way sync.
  2. Wait until the sync is complete.

Expected behaviour

  1. Notifications should not get stuck at 100%.
  2. Notifications should reflect actual progress and not jump to 100% when progress is lower.
  3. Empty notifications should not appear at all.

Actual behaviour

Notifications occasionally get stuck at 100% and do not reflect actual progress. Empty notifications may also appear, along with intermittent blinking.

Technical Explanation

The FileDownloadWorker can be triggered for each file or folder. Typically, it is initiated by individual files, meaning that a new worker starts for each file or folder. This can lead to issues with notifications, such as blinking, inaccurate progress and difficulty tracking current and total download counts.

FileDownloadWorker uses a static IndexedForest() to track each download’s status, enabling the display of sync, tick, and cancel icons in adapters. This complex data type is paired with Vector() to add a DownloadDataTransferProgressListener and notify LocalBroadcastManager. This approach is overly complex and can be unreliable.

Suggested Solution

Separate the FileDownloadWorker into two distinct workers: one for folders and one for individual files. Simplify the data structure by removing unnecessary complexity.

Android version

15

Device brand and model

Android Emulator

Stock or custom OS?

Stock

Nextcloud android app version

3.30.3

Nextcloud server version

29.0.4

@alperozturk96 alperozturk96 self-assigned this Oct 30, 2024
@joshtrichards joshtrichards added feature: transfers [WIP] Any uploading / downloading matters that aren't auto upload or sync specific feature: sync stable-3.30 labels Oct 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. Needs triage bug feature: sync feature: transfers [WIP] Any uploading / downloading matters that aren't auto upload or sync specific stable-3.30
Projects
None yet
Development

No branches or pull requests

2 participants