Rework remote task synchronization (#18746)
Reworks the way tasks are stored, accessed and synchronized in the `project`. Now both collab and ssh remote projects use the same TaskStorage kind to get the task context from the remote host, and worktree task templates are synchronized along with other worktree settings. Release Notes: - Adds ssh support to tasks, improves collab-remote projects' tasks sync
This commit is contained in:
parent
f1053ff525
commit
49c75eb062
18 changed files with 1262 additions and 1366 deletions
|
@ -245,8 +245,6 @@ message Envelope {
|
|||
|
||||
TaskContextForLocation task_context_for_location = 203;
|
||||
TaskContext task_context = 204;
|
||||
TaskTemplatesResponse task_templates_response = 205;
|
||||
TaskTemplates task_templates = 206;
|
||||
|
||||
LinkedEditingRange linked_editing_range = 209;
|
||||
LinkedEditingRangeResponse linked_editing_range_response = 210;
|
||||
|
@ -290,6 +288,7 @@ message Envelope {
|
|||
reserved 87 to 88;
|
||||
reserved 158 to 161;
|
||||
reserved 166 to 169;
|
||||
reserved 205 to 206;
|
||||
reserved 224 to 229;
|
||||
reserved 247 to 254;
|
||||
}
|
||||
|
@ -2260,6 +2259,7 @@ message GetSupermavenApiKeyResponse {
|
|||
message TaskContextForLocation {
|
||||
uint64 project_id = 1;
|
||||
Location location = 2;
|
||||
map<string, string> task_variables = 3;
|
||||
}
|
||||
|
||||
message TaskContext {
|
||||
|
@ -2268,35 +2268,6 @@ message TaskContext {
|
|||
map<string, string> project_env = 3;
|
||||
}
|
||||
|
||||
message TaskTemplates {
|
||||
uint64 project_id = 1;
|
||||
optional Location location = 2;
|
||||
optional uint64 worktree_id = 3;
|
||||
}
|
||||
|
||||
message TaskTemplatesResponse {
|
||||
repeated TemplatePair templates = 1;
|
||||
}
|
||||
|
||||
message TemplatePair {
|
||||
TaskSourceKind kind = 1;
|
||||
TaskTemplate template = 2;
|
||||
}
|
||||
|
||||
message TaskTemplate {
|
||||
string label = 1;
|
||||
string command = 2;
|
||||
repeated string args = 3;
|
||||
map<string, string> env = 4;
|
||||
optional string cwd = 5;
|
||||
bool use_new_terminal = 6;
|
||||
bool allow_concurrent_runs = 7;
|
||||
RevealStrategy reveal = 8;
|
||||
HideStrategy hide = 10;
|
||||
repeated string tags = 9;
|
||||
Shell shell = 11;
|
||||
}
|
||||
|
||||
message Shell {
|
||||
message WithArguments {
|
||||
string program = 1;
|
||||
|
@ -2323,32 +2294,6 @@ enum HideStrategy {
|
|||
HideOnSuccess = 2;
|
||||
}
|
||||
|
||||
message TaskSourceKind {
|
||||
oneof kind {
|
||||
UserInput user_input = 1;
|
||||
Worktree worktree = 2;
|
||||
AbsPath abs_path = 3;
|
||||
Language language = 4;
|
||||
}
|
||||
|
||||
message UserInput {}
|
||||
|
||||
message Worktree {
|
||||
uint64 id = 1;
|
||||
string abs_path = 2;
|
||||
string id_base = 3;
|
||||
}
|
||||
|
||||
message AbsPath {
|
||||
string id_base = 1;
|
||||
string abs_path = 2;
|
||||
}
|
||||
|
||||
message Language {
|
||||
string name = 1;
|
||||
}
|
||||
}
|
||||
|
||||
message ContextMessageStatus {
|
||||
oneof variant {
|
||||
Done done = 1;
|
||||
|
|
|
@ -290,8 +290,6 @@ messages!(
|
|||
(SynchronizeBuffersResponse, Foreground),
|
||||
(TaskContextForLocation, Background),
|
||||
(TaskContext, Background),
|
||||
(TaskTemplates, Background),
|
||||
(TaskTemplatesResponse, Background),
|
||||
(Test, Foreground),
|
||||
(Unfollow, Foreground),
|
||||
(UnshareProject, Foreground),
|
||||
|
@ -460,7 +458,6 @@ request_messages!(
|
|||
(ShareProject, ShareProjectResponse),
|
||||
(SynchronizeBuffers, SynchronizeBuffersResponse),
|
||||
(TaskContextForLocation, TaskContext),
|
||||
(TaskTemplates, TaskTemplatesResponse),
|
||||
(Test, Test),
|
||||
(UpdateBuffer, Ack),
|
||||
(UpdateParticipantLocation, Ack),
|
||||
|
@ -543,7 +540,6 @@ entity_messages!(
|
|||
StartLanguageServer,
|
||||
SynchronizeBuffers,
|
||||
TaskContextForLocation,
|
||||
TaskTemplates,
|
||||
UnshareProject,
|
||||
UpdateBuffer,
|
||||
UpdateBufferFile,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue