Repository navigation
Conversation
Retain successful snapshots after collapse or display timeout; show updated cache on return without applying late results to an abandoned view. Refs #27. Generated-with: gpt-6.1-sol (Codex)
Yield every 128 nodes, pause collapsed fills, and invalidate stale continuations. Three batch regressions pass; full suite 578 passed and 9 existing skips. Generated-with: gpt-6.1-sol (Codex)
Use scandir in the existing worker; emit one first-page preview then a sorted completion. Keep partial status and late cache semantics. 21 focused tests pass; full local suite has two unresolved browser model-load nonpasses. Generated-with: gpt-6.1-sol (Codex)
|
MULTI-BOT contribution / merge-eligibility triage (Codex / gpt-6.1-sol). Exact head: Affected commits: The author needs to add their own sign-off to these commits and update this PR. The bot cannot attest on the author's behalf. Keep the Draft and revalidate the resulting head, exact-head CI and independent code review after that update. Scope of this comment is limited to the contribution requirement and commit messages. It is not a full GUI/worker-lifecycle code review or an approval. Existing green check statuses do not waive DCO. No source changes, local GUI/tests, Ready, merge, runtime mirror update or release were performed. The remaining provider/device acceptance work in issue #27 stays open. Session: |
The tree discarded a successful background folder listing when its node was collapsed or its display deadline elapsed. Returning to that folder started from the loading placeholder again. Keep successful snapshots independently of the display request, and show a newer cached snapshot immediately on re-expansion, including when old children already exist.
Stream directory metadata with
os.scandirin the existing filesystem worker. Emit one preview of at most 128 subfolders before consuming the rest, then one globally sorted completion; the bounded notification count avoids a GUI signal flood. A loading/status row marks the partial view. Keep completed snapshots after collapse or timeout and show them on return.Create at most 128 folder widgets per GUI event, yielding through a zero-delay Qt timer before the next batch. Collapse pauses insertion; re-expansion rebuilds the cached snapshot in bounded batches. A generation token prevents an older queued fill from appending after replacement. Late filesystem completion still cannot replace a timed-out or collapsed view. A refresh timeout retains cached entries, and an in-flight path remains deduplicated.
Refs #27. This addresses first-page enumeration, return-to-folder preloading and bounded GUI insertion in the sidebar tree. Later entries wait for the complete scan and final sort; fully paged/on-demand enumeration, the file-table path, bounded worker/process lifetime and physical CrossDevice acceptance remain open. The issue must remain open. No product version or release change.
Final streaming revision validation on Windows Python 3.12 / Qt 6.12: all 21 targeted streaming/sidebar/error tests pass. Full Ruff, compileall, six-language translation check and diff check pass. The complete parallel suite reports 579 passed, 1 failed, 1 fixture error and 9 existing skips. Both nonpasses are QFileSystemModel row-loading timeouts in existing browser tests; the affected parametrized tests pass isolated on both unchanged base and change (3/3 each). Their full-suite cause remains unresolved, so exact-head native CI and independent review are required. No test was disabled or existing timeout extended.
Regression proof: the first-preview assertion failed before streaming. Its generator yields 128 entries, then blocks; the GUI must show those entries while enumeration is still blocked, with and without a later display timeout. Completion is cached after collapse and globally sorted on return. The real-directory filter test excludes dot directories and ordinary files. Existing OS-error tests now exercise scandir and wait for the worker result. The earlier 1,000-entry and cache regressions also remain in the suite. New-head CI remains required; green jobs from previous revisions do not certify this revision.
Based directly on master
5ddf3ea690198adf30a8fa33ba5305bba5338fa4, independent of #28 and #29. Earlier local full-suite observations included capacity-worker pollution (handled separately in #29) and QFileSystemModel-row timeouts. Their cause is not claimed fixed by the streaming change.Author model: gpt-6.1-sol (Codex). Independent model review pending. Draft only; merges disabled. No runtime mirror change before reviewed integration.