mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2026-11-08 00:04:12 -05:00
* Rebuild a drive's arena from its source stores when the snapshot is missing or quarantined Co-authored-by: capy-ai-staging[bot] <305915985+capy-ai-staging[bot]@users.noreply.github.com> * Store rebuild runs off the request path and skips a partition a restore already filled Every reader on a drive funnels through the restore gate, so the fill now runs on its own task: the gate resolves as soon as it starts, roots stay in progress until they land and listings serve the store meanwhile. A partition rebuild_quiesced already filled resolves as restored without a second read. The fill reads a rebuild-only select without the content join: 18.9 s for a 1.01M-record store in release, from 33.1 s. Co-authored-by: capy-ai-staging[bot] <305915985+capy-ai-staging[bot]@users.noreply.github.com> * A browse beneath a source being filled serves the store instead of clearing the subtree is_under_indexing is the ancestor-aware check: a store fill or recursive walk over a root covers everything beneath it, and a browse dispatched into that tree ran clear_for_reindex over what the fill had already placed. The acceptance test lists a subdirectory during the fill and the deepest one after it. REBUILD_PAGE moved above the fill's doc block. Co-authored-by: capy-ai-staging[bot] <305915985+capy-ai-staging[bot]@users.noreply.github.com> * Scope the mid-fill store answer to roots being filled from a store indexing_in_progress also holds walk roots, whose stores cannot promise an answer beneath them, so the prefix gate reads a separate filling_from_store set and falls through to the ordinary dispatch when the store has no row. Co-authored-by: capy-ai-staging[bot] <305915985+capy-ai-staging[bot]@users.noreply.github.com> --------- Co-authored-by: capy-ai-staging[bot] <305915985+capy-ai-staging[bot]@users.noreply.github.com>