Nextcloud Android Uploads: Cancelled Files Reappear
When you're relying on Nextcloud's auto-upload feature for your photos and videos, the last thing you want is for it to get confused. Recently, some users have encountered a peculiar issue where files marked as "cancelled" inexplicably reappear in the upload queue, leading to frustration and a less-than-smooth syncing experience. This isn't just a minor glitch; it affects the reliability of your backups and can be a significant hurdle if you're trying to manage your media efficiently, especially when dealing with fluctuating internet connections or specific file types like MP4s.
Imagine this: you're on the go, your internet connection is a bit spotty, and you've configured Nextcloud to automatically back up your precious memories. You take a bunch of photos (JPGs) and some videos (MP4s). The JPGs upload just fine, but those MP4s? They time out due to your connection limitations. Totally understandable, right? You decide to "cancel" the upload for those specific MP4s, intending to re-upload them later when you have a more stable connection. This is where the problem starts to surface. You then take more pictures, and the Android notification pops up, indicating that it's trying to re-attempt the MP4 uploads. The odd part is, these cancelled MP4s aren't showing up in the "Current" upload list; instead, they seem to be lurking in the "Cancelled" list. Meanwhile, your newly taken JPGs are sitting in the "Waiting to Upload" queue, even though your network is perfectly capable of handling them. You find yourself repeatedly cancelling these rogue MP4s, but they keep popping back up, while your other files remain in limbo. This inconsistency in how cancelled files are handled and displayed is the core of the issue.
Understanding the Inconsistency: Why Cancelled Files Keep Coming Back
Let's dive a bit deeper into why Nextcloud's Android auto-upload might be re-attempting cancelled files. The expected behavior is straightforward: if a user explicitly cancels an upload, that file should remain in a state of being cancelled until the user manually initiates the upload again or resets the queue. However, in this scenario, the app seems to be misinterpreting or ignoring the cancellation status under certain conditions. This could be due to a few factors. One possibility is a bug in the state management within the app. When a file upload times out, the app might not be correctly flagging it as "cancelled" in its internal database or memory. Instead, it might be treating it as a temporary error, leading it to periodically check if the conditions for uploading have improved and then re-adding it to the active queue. Another contributing factor could be how the app handles network interruptions and retries. While retry mechanisms are essential for ensuring uploads complete, they seem to be overriding the user's explicit cancellation instruction in this case. The app might be programmed to aggressively retry failed uploads, and the "cancel" action isn't given the appropriate priority to prevent these retries. Furthermore, the discrepancy between what the Android notification shows (attempting an MP4) and what is visible in the "Current" uploads list (only JPGs) suggests a synchronization issue between the notification system, the background upload service, and the UI. The background process might be aware of the MP4 file and its pending status, but the UI isn't reflecting this accurately, or vice-versa.
This is particularly problematic because it undermines user control. Users intentionally cancel files to manage their bandwidth and avoid failed uploads, especially when dealing with larger files like videos that are prone to timing out on slower connections. The inability to trust the "cancel" function means users might be forced into more drastic measures, like disabling video uploads altogether. This is inconvenient as it requires re-selecting and re-uploading files later, potentially including older files that were already successfully synced. The desire to avoid this manual intervention highlights the importance of a reliable and predictable auto-upload system. The current behavior, where cancelled MP4s keep reappearing while other files wait, creates a confusing and inefficient user experience. It forces users to constantly monitor the app, re-cancel files, and troubleshoot the upload process, which is counterproductive to the very idea of an