Repository navigation
Fix manual project order across paired runtime hosts - #8894
Conversation
Co-authored-by: Orca <help@stably.ai>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughAdds host-qualified manual repository ordering with normalization, stable cross-host application, persistence, and SSH host-id migration. Renderer hydration applies saved ordering immediately, and repository refreshes preserve it across catalog completion orders. Reordering now persists the full cross-host overlay while continuing host-local reorder operations. Tests cover utility behavior, persistence, RPC acceptance, migration, hydration, refresh ordering, and reorder persistence. 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing Touches📝 Generate docstrings
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 17614752-5dd1-42cc-abe7-a4cc32aa4796
📒 Files selected for processing (16)
src/main/persistence.test.tssrc/main/persistence.tssrc/main/runtime/rpc/methods/client-ui-schemas.tssrc/main/runtime/rpc/methods/client-ui.test.tssrc/main/ssh/ssh-target-id-migration.test.tssrc/main/ssh/ssh-target-id-migration.tssrc/renderer/src/store/slices/repos-host-identity-routing.test.tssrc/renderer/src/store/slices/repos-manual-order-hydration.test.tssrc/renderer/src/store/slices/repos-runtime-routing-fixture.tssrc/renderer/src/store/slices/repos.tssrc/renderer/src/store/slices/ui.test.tssrc/renderer/src/store/slices/ui.tssrc/shared/constants.tssrc/shared/manual-repo-order.test.tssrc/shared/manual-repo-order.tssrc/shared/types.ts
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: Orca <help@stably.ai>
* fix(sidebar): persist manual project order across hosts Co-authored-by: Orca <help@stably.ai> * fix(sidebar): scope desktop repo reorder by host Co-authored-by: Orca <help@stably.ai> * fix(web): cover host-scoped repo reorder API Co-authored-by: Orca <help@stably.ai> --------- Co-authored-by: Orca <help@stably.ai>
Summary
Root cause
Cross-host dragging was split into valid per-host
repo.reorderpermutations, but only those host-local permutations were durable. On a cold load, remote catalogs resolve concurrently and unseen repos append in response order, so the desktop had no persisted relationship from which to reconstruct the cross-host interleaving.Fixes #8803.
Real-runtime validation
Reproduced first with the exact reported v1.4.141 artifacts, then validated this branch with:
a1dc486f3orca servev1.4.141 nodes; no mocked RPC or direct store seeding42e0f9747819d331dc88683b5e21cfbb59e7f54e617008ad70cfac7363606391After dragging the five logical headers to
alpha, charlie, bravo, delta, shared, the exact order survived:Every sample retained one merged
sharedheader and both shared workspaces. Server-local orders remainedalpha, bravo, sharedandcharlie, delta, shared.Raw diagnostics and screenshots remain in ignored
test-results/issue-8803/and are not part of this diff.Automated validation
pnpm run typecheckpnpm run lintpnpm run check:max-lines-ratchetpnpm exec electron-vite build --mode e2eRisk notes
Offline-host entries are deliberately retained so a late host can reclaim its saved position. Newly discovered repos append stably after ranked entries, and the next successful drag replaces the overlay with the current complete visible order. The change does not alter canonical project merging or server-side repo persistence.
Made with Orca 🐋