WIP

Antonio Scandurra created

Change summary

crates/collab/migrations/20221219181850_project_reconnection_support.sql |  3 
crates/collab/src/integration_tests.rs                                   |  1 
crates/rpc/proto/zed.proto                                               | 25 
3 files changed, 29 insertions(+)

Detailed changes

crates/collab/src/integration_tests.rs 🔗

@@ -6077,6 +6077,7 @@ async fn test_random_collaboration(
     let mut user_ids = Vec::new();
     let mut op_start_signals = Vec::new();
     let mut next_entity_id = 100000;
+    let mut can_disconnect = rng.lock().gen_bool(0.2);
 
     let mut operations = 0;
     while operations < max_operations {

crates/rpc/proto/zed.proto 🔗

@@ -253,6 +253,15 @@ message ShareProjectResponse {
     uint64 project_id = 1;
 }
 
+message ReshareProject {
+    uint64 id = 1;
+    repeated WorktreeMetadata worktrees = 2;
+}
+
+message ReshareProjectResponse {
+    repeated Collaborator collaborators = 1;
+}
+
 message UnshareProject {
     uint64 project_id = 1;
 }
@@ -273,6 +282,22 @@ message JoinProjectResponse {
     repeated LanguageServer language_servers = 4;
 }
 
+message RejoinProject {
+    uint64 project_id = 1;
+    repeated RejoinWorktree worktrees = 2;
+}
+
+message RejoinWorktree {
+    uint64 id = 1;
+    uint64 scan_id = 2;
+}
+
+message RejoinProjectResponse {
+    repeated WorktreeMetadata worktrees = 1;
+    repeated Collaborator collaborators = 2;
+    repeated LanguageServer language_servers = 3;
+}
+
 message LeaveProject {
     uint64 project_id = 1;
 }