Repository navigation
Conversation
EphemeralTaskManager.queueDelete() dropped the directory path and EphemeralWorker never sent the refresh broadcast the explorer listens to, so deleted items kept showing until a manual refresh. Move and upload had the same problem because they go through the same worker. - queueDelete(): pass the current path as DELETE_PATH - EphemeralWorker: remember the affected directory per operation and send the existing background-service broadcast once the work is finished (destination only for upload, destination + source for move)
gulp79
referenced
this pull request
in gulp79/Round-Sync
Nov 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #425.
Problem
Ephemeral operations (delete, move, upload) run as
EphemeralWorkerjobs, but the worker nevernotified the file explorer, so the listing stayed stale until a manual refresh.
EphemeralWorkeralready had
sendUploadFinishedBroadcast()(line 370) that nothing called, andEphemeralTaskManager.queueDelete()acceptedcurrentPathwithout putting it into the input data.Change
queueDelete(): passcurrentPathasDELETE_PATHin the worker input dataEphemeralWorker: keep the affected directory per operation and send the existingbackground_service_broadcastafterpostSync():path) + source directory (path2, already handled by the receiver)No other behaviour is touched; scheduled syncs still go through
SyncWorkerunchanged.Testing
Built with AGP 8.8 / Gradle 8.12.1 and tested on a real device (nubia NX711J, Android 13,
arm64-v8a, debug build of 2.5.6) against a
localremote:Happy to split this into separate PRs per operation if you prefer smaller changes.