mirror of
https://github.com/stablyai/orca.git
synced 2026-11-04 02:57:36 +00:00
* fix(repos): let a project be removed while its paired server is unreachable An unreachable server's repo.rm timeout aborted the whole removal. The error toast now offers 'Remove from this desktop now', which purges this desktop's rows, records a pending repo.rm (persisted UI state, optional), fences the server's catalog so it cannot re-add the project, and replays the removal once the server is ready again. Re-adds and replays for one server are serialized so neither undoes the other. Fixes STA-9705 * fix(repos): replay owed removals whenever the server is ready, and lift the fence on refusal Main publishes status only on change, so a record written or seeded after the ready snapshot now replays at once. A refused replay refreshes the server's catalog, a retired server drops its records, a user disconnect also offers local removal, and the field is main-owned so paired clients cannot overwrite it. * fix(repos): keep owed removals across disconnects and re-pairs; drop them only for forgotten servers Also picks up records written during an in-flight replay, classifies the new UI field for WSL moves, and fixes the test's projection shape. * fix(repos): say 'disconnected' when the user disconnected the server, and test records surviving re-pair * fix(repos): retry a replay when the server reconnects while it is still failing * test(repos): narrow the toast action instead of asserting its type * test(repos): run the toast action's removal directly instead of dispatching its handler