Align background task execution and progress with bDS2 #111
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Align RuDS background-task coverage, scheduling, cancellation, progress reporting, task UI, scripting semantics, and remote integration with bDS2. Preserve the stronger RuDS atomic database-rebuild behavior while matching the observable bDS2 phases and progress.
This issue is based on a static code-path audit; runtime performance measurements remain part of acceptance.
Current standing
Already broadly aligned:
Partial or missing parity:
spawn_blockingbefore admission and occupy blocking-pool workers while waiting.Vecentries instead of keyed storage plus FIFO queues.1.0progress event may be throttled, leaving stale phase text.running, so its task indicator never appears.bDS2 task coverage to align
Managed in both, but RuDS needs progress or workflow improvements:
Currently bypassing the RuDS manager or missing UI integration:
Keep editor-scoped async work outside the global manager where bDS2 does the same: WXR import, previews, chat, and one-shot analysis. Git, media validation, image import/enrichment, and managed scripts remain valid RuDS additions.
Tag delete/merge/rename are synchronous in both implementations but violate the synchronized Allium background-task requirement; correct RuDS as part of this work.
Implementation
spawn_blocking; hold capacity until the actual worker exits, including after cancellation.Acceptance criteria
cargo test --workspace,cargo build --workspace, Allium validation, macOS bundling, and Computer Use inspection pass.Defaults
TaskManager::newas the concurrency override; do not add a user preference without evidence.