Rename RemoteProject -> DevServerProject (#11301)

Co-Authored-By: Mikayla <mikayla@zed.dev>

In a fit of ill-advisedness I called these things remote projects;
forgetting that remote project is also what we call collaboratively
shared projects.

Release Notes:

- N/A

---------

Co-authored-by: Mikayla <mikayla@zed.dev>
Co-authored-by: Bennet <bennetbo@gmx.de>
This commit is contained in:
Conrad Irwin 2024-05-02 11:00:08 -06:00 committed by GitHub
parent d61c47d2a9
commit 9bac64a9c1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
46 changed files with 834 additions and 771 deletions

View file

@ -4,9 +4,9 @@ use crate::{
auth,
db::{
self, dev_server, BufferId, Capability, Channel, ChannelId, ChannelRole, ChannelsForUser,
CreatedChannelMessage, Database, DevServerId, InviteMemberResult, MembershipUpdated,
MessageId, NotificationId, PrincipalId, Project, ProjectId, RejoinedProject,
RemoteProjectId, RemoveChannelMemberResult, ReplicaId, RespondToChannelInvite, RoomId,
CreatedChannelMessage, Database, DevServerId, DevServerProjectId, InviteMemberResult,
MembershipUpdated, MessageId, NotificationId, PrincipalId, Project, ProjectId,
RejoinedProject, RemoveChannelMemberResult, ReplicaId, RespondToChannelInvite, RoomId,
ServerId, UpdatedChannelMessage, User, UserId,
},
executor::Executor,
@ -411,11 +411,11 @@ impl Server {
.add_message_handler(unshare_project)
.add_request_handler(user_handler(join_project))
.add_request_handler(user_handler(join_hosted_project))
.add_request_handler(user_handler(rejoin_remote_projects))
.add_request_handler(user_handler(create_remote_project))
.add_request_handler(user_handler(rejoin_dev_server_projects))
.add_request_handler(user_handler(create_dev_server_project))
.add_request_handler(user_handler(create_dev_server))
.add_request_handler(user_handler(delete_dev_server))
.add_request_handler(dev_server_handler(share_remote_project))
.add_request_handler(dev_server_handler(share_dev_server_project))
.add_request_handler(dev_server_handler(shutdown_dev_server))
.add_request_handler(dev_server_handler(reconnect_dev_server))
.add_message_handler(user_message_handler(leave_project))
@ -1067,12 +1067,12 @@ impl Server {
.await?;
}
let (contacts, channels_for_user, channel_invites, remote_projects) =
let (contacts, channels_for_user, channel_invites, dev_server_projects) =
future::try_join4(
self.app_state.db.get_contacts(user.id),
self.app_state.db.get_channels_for_user(user.id),
self.app_state.db.get_channel_invites_for_user(user.id),
self.app_state.db.remote_projects_update(user.id),
self.app_state.db.dev_server_projects_update(user.id),
)
.await?;
@ -1095,7 +1095,7 @@ impl Server {
build_channels_update(channels_for_user, channel_invites),
)?;
}
send_remote_projects_update(user.id, remote_projects, session).await;
send_dev_server_projects_update(user.id, dev_server_projects, session).await;
if let Some(incoming_call) =
self.app_state.db.incoming_call_for_user(user.id).await?
@ -1117,7 +1117,7 @@ impl Server {
let projects = self
.app_state
.db
.get_remote_projects_for_dev_server(dev_server.id)
.get_projects_for_dev_server(dev_server.id)
.await?;
self.peer
.send(connection_id, proto::DevServerInstructions { projects })?;
@ -1125,9 +1125,9 @@ impl Server {
let status = self
.app_state
.db
.remote_projects_update(dev_server.user_id)
.dev_server_projects_update(dev_server.user_id)
.await?;
send_remote_projects_update(dev_server.user_id, status, &session).await;
send_dev_server_projects_update(dev_server.user_id, status, &session).await;
}
}
@ -1970,8 +1970,8 @@ async fn share_project(
session.connection_id,
&request.worktrees,
request
.remote_project_id
.map(|id| RemoteProjectId::from_proto(id)),
.dev_server_project_id
.map(|id| DevServerProjectId::from_proto(id)),
)
.await?;
response.send(proto::ShareProjectResponse {
@ -2023,26 +2023,26 @@ async fn unshare_project_internal(
}
/// DevServer makes a project available online
async fn share_remote_project(
request: proto::ShareRemoteProject,
response: Response<proto::ShareRemoteProject>,
async fn share_dev_server_project(
request: proto::ShareDevServerProject,
response: Response<proto::ShareDevServerProject>,
session: DevServerSession,
) -> Result<()> {
let (remote_project, user_id, status) = session
let (dev_server_project, user_id, status) = session
.db()
.await
.share_remote_project(
RemoteProjectId::from_proto(request.remote_project_id),
.share_dev_server_project(
DevServerProjectId::from_proto(request.dev_server_project_id),
session.dev_server_id(),
session.connection_id,
&request.worktrees,
)
.await?;
let Some(project_id) = remote_project.project_id else {
let Some(project_id) = dev_server_project.project_id else {
return Err(anyhow!("failed to share remote project"))?;
};
send_remote_projects_update(user_id, status, &session).await;
send_dev_server_projects_update(user_id, status, &session).await;
response.send(proto::ShareProjectResponse { project_id })?;
@ -2135,9 +2135,9 @@ fn join_project_internal(
collaborators: collaborators.clone(),
language_servers: project.language_servers.clone(),
role: project.role.into(),
remote_project_id: project
.remote_project_id
.map(|remote_project_id| remote_project_id.0 as u64),
dev_server_project_id: project
.dev_server_project_id
.map(|dev_server_project_id| dev_server_project_id.0 as u64),
})?;
for (worktree_id, worktree) in mem::take(&mut project.worktrees) {
@ -2249,9 +2249,9 @@ async fn join_hosted_project(
join_project_internal(response, session, &mut project, &replica_id)
}
async fn create_remote_project(
request: proto::CreateRemoteProject,
response: Response<proto::CreateRemoteProject>,
async fn create_dev_server_project(
request: proto::CreateDevServerProject,
response: Response<proto::CreateDevServerProject>,
session: UserSession,
) -> Result<()> {
let dev_server_id = DevServerId(request.dev_server_id as i32);
@ -2272,14 +2272,14 @@ async fn create_remote_project(
.forward_request(
session.connection_id,
dev_server_connection_id,
proto::ValidateRemoteProjectRequest { path: path.clone() },
proto::ValidateDevServerProjectRequest { path: path.clone() },
)
.await?;
let (remote_project, update) = session
let (dev_server_project, update) = session
.db()
.await
.create_remote_project(
.create_dev_server_project(
DevServerId(request.dev_server_id as i32),
&request.path,
session.user_id(),
@ -2289,7 +2289,7 @@ async fn create_remote_project(
let projects = session
.db()
.await
.get_remote_projects_for_dev_server(remote_project.dev_server_id)
.get_projects_for_dev_server(dev_server_project.dev_server_id)
.await?;
session.peer.send(
@ -2297,10 +2297,10 @@ async fn create_remote_project(
proto::DevServerInstructions { projects },
)?;
send_remote_projects_update(session.user_id(), update, &session).await;
send_dev_server_projects_update(session.user_id(), update, &session).await;
response.send(proto::CreateRemoteProjectResponse {
remote_project: Some(remote_project.to_proto(None)),
response.send(proto::CreateDevServerProjectResponse {
dev_server_project: Some(dev_server_project.to_proto(None)),
})?;
Ok(())
}
@ -2319,7 +2319,7 @@ async fn create_dev_server(
.create_dev_server(&request.name, &hashed_access_token, session.user_id())
.await?;
send_remote_projects_update(session.user_id(), status, &session).await;
send_dev_server_projects_update(session.user_id(), status, &session).await;
response.send(proto::CreateDevServerResponse {
dev_server_id: dev_server.id.0 as u64,
@ -2357,20 +2357,20 @@ async fn delete_dev_server(
.delete_dev_server(dev_server_id, session.user_id())
.await?;
send_remote_projects_update(session.user_id(), status, &session).await;
send_dev_server_projects_update(session.user_id(), status, &session).await;
response.send(proto::Ack {})?;
Ok(())
}
async fn rejoin_remote_projects(
async fn rejoin_dev_server_projects(
request: proto::RejoinRemoteProjects,
response: Response<proto::RejoinRemoteProjects>,
session: UserSession,
) -> Result<()> {
let mut rejoined_projects = {
let db = session.db().await;
db.rejoin_remote_projects(
db.rejoin_dev_server_projects(
&request.rejoined_projects,
session.user_id(),
session.0.connection_id,
@ -2394,7 +2394,7 @@ async fn reconnect_dev_server(
) -> Result<()> {
let reshared_projects = {
let db = session.db().await;
db.reshare_remote_projects(
db.reshare_dev_server_projects(
&request.reshared_projects,
session.dev_server_id(),
session.0.connection_id,
@ -2467,14 +2467,14 @@ async fn shutdown_dev_server_internal(
connection_id: ConnectionId,
session: &Session,
) -> Result<()> {
let (remote_projects, dev_server) = {
let (dev_server_projects, dev_server) = {
let db = session.db().await;
let remote_projects = db.get_remote_projects_for_dev_server(dev_server_id).await?;
let dev_server_projects = db.get_projects_for_dev_server(dev_server_id).await?;
let dev_server = db.get_dev_server(dev_server_id).await?;
(remote_projects, dev_server)
(dev_server_projects, dev_server)
};
for project_id in remote_projects.iter().filter_map(|p| p.project_id) {
for project_id in dev_server_projects.iter().filter_map(|p| p.project_id) {
unshare_project_internal(
ProjectId::from_proto(project_id),
connection_id,
@ -2492,9 +2492,9 @@ async fn shutdown_dev_server_internal(
let status = session
.db()
.await
.remote_projects_update(dev_server.user_id)
.dev_server_projects_update(dev_server.user_id)
.await?;
send_remote_projects_update(dev_server.user_id, status, &session).await;
send_dev_server_projects_update(dev_server.user_id, status, &session).await;
Ok(())
}
@ -4908,9 +4908,9 @@ fn channel_updated(
);
}
async fn send_remote_projects_update(
async fn send_dev_server_projects_update(
user_id: UserId,
mut status: proto::RemoteProjectsUpdate,
mut status: proto::DevServerProjectsUpdate,
session: &Session,
) {
let pool = session.connection_pool().await;
@ -4973,9 +4973,13 @@ async fn lost_dev_server_connection(session: &DevServerSession) -> Result<()> {
}
let user_id = session.dev_server().user_id;
let update = session.db().await.remote_projects_update(user_id).await?;
let update = session
.db()
.await
.dev_server_projects_update(user_id)
.await?;
send_remote_projects_update(user_id, update, session).await;
send_dev_server_projects_update(user_id, update, session).await;
Ok(())
}