Change project registration RPC APIs to smooth out UI updates
* Make `UnregisterProject` a request. This way the client-side project can wait to clear out its remote id until the request has completed, so that the contacts panel can avoid showing duplicate private/public projects in the brief time after unregistering a project, before the next UpdateCollaborators message is received. * Remove the `RegisterWorktree` and `UnregisterWorktree` methods and replace them with a single `UpdateProject` method that idempotently updates the Project's list of worktrees.
This commit is contained in:
parent
4d4ec793e2
commit
d11beb3c02
6 changed files with 162 additions and 261 deletions
|
@ -35,8 +35,7 @@ message Envelope {
|
|||
OpenBufferForSymbol open_buffer_for_symbol = 28;
|
||||
OpenBufferForSymbolResponse open_buffer_for_symbol_response = 29;
|
||||
|
||||
RegisterWorktree register_worktree = 30;
|
||||
UnregisterWorktree unregister_worktree = 31;
|
||||
UpdateProject update_project = 30;
|
||||
UpdateWorktree update_worktree = 32;
|
||||
|
||||
CreateProjectEntry create_project_entry = 33;
|
||||
|
@ -129,6 +128,11 @@ message UnregisterProject {
|
|||
uint64 project_id = 1;
|
||||
}
|
||||
|
||||
message UpdateProject {
|
||||
uint64 project_id = 1;
|
||||
repeated WorktreeMetadata worktrees = 2;
|
||||
}
|
||||
|
||||
message RequestJoinProject {
|
||||
uint64 requester_id = 1;
|
||||
uint64 project_id = 2;
|
||||
|
@ -177,18 +181,6 @@ message LeaveProject {
|
|||
uint64 project_id = 1;
|
||||
}
|
||||
|
||||
message RegisterWorktree {
|
||||
uint64 project_id = 1;
|
||||
uint64 worktree_id = 2;
|
||||
string root_name = 3;
|
||||
bool visible = 4;
|
||||
}
|
||||
|
||||
message UnregisterWorktree {
|
||||
uint64 project_id = 1;
|
||||
uint64 worktree_id = 2;
|
||||
}
|
||||
|
||||
message UpdateWorktree {
|
||||
uint64 project_id = 1;
|
||||
uint64 worktree_id = 2;
|
||||
|
@ -934,3 +926,9 @@ message ProjectMetadata {
|
|||
repeated string worktree_root_names = 3;
|
||||
repeated uint64 guests = 4;
|
||||
}
|
||||
|
||||
message WorktreeMetadata {
|
||||
uint64 id = 1;
|
||||
string root_name = 2;
|
||||
bool visible = 3;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue