You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We need a way of reloading the directory tree on demand, so that it reflects any changes to the filesystem.
The reload should be atomic. i.e. it shouldn't permit modifications to the tree from another task. Otherwise it could get out-of-sync. Suggest we need a asyncio.Lock here.
The highlighted node should stay highlighted, assuming the node still exists. If the node has been removed, then the highlight should go up a directory.
Open directories should be reloaded recursively.
The loading directory information (including subdirectories) should happen in a thread, so as not block the main loop. Note that thins should probably be done in a single thread.
Suggested implementation:
In a thread (or threaded worker), recursively load the directories which have been expanded (assuming they exist).
Note the highlighted node, and the open nodes.
Update the DirectoryTree nodes to reflect the new data.
Restore the highlighted node.
Note than since we want this to be atomic, this should be done in a coroutine, or at least return an awaitable.
We need a way of reloading the directory tree on demand, so that it reflects any changes to the filesystem.
Suggested implementation:
Note than since we want this to be atomic, this should be done in a coroutine, or at least return an awaitable.
Supersedes #3574
The text was updated successfully, but these errors were encountered: