Remove unused cyclic dependency from copilot crate

Mikayla Maki created

Move notification handling earlier so that there are less copilot messages in the log

Change summary

Cargo.lock                    |  1 -
crates/copilot/Cargo.toml     |  1 -
crates/copilot/src/copilot.rs | 15 ++++++++-------
crates/copilot/src/request.rs |  2 +-
4 files changed, 9 insertions(+), 10 deletions(-)

Detailed changes

Cargo.lock 🔗

@@ -1358,7 +1358,6 @@ dependencies = [
  "smol",
  "theme",
  "util",
- "workspace",
 ]
 
 [[package]]

crates/copilot/Cargo.toml 🔗

@@ -47,4 +47,3 @@ lsp = { path = "../lsp", features = ["test-support"] }
 rpc = { path = "../rpc", features = ["test-support"] }
 settings = { path = "../settings", features = ["test-support"] }
 util = { path = "../util", features = ["test-support"] }
-workspace = { path = "../workspace", features = ["test-support"] }

crates/copilot/src/copilot.rs 🔗

@@ -378,13 +378,6 @@ impl Copilot {
                     cx.clone(),
                 )?;
 
-                let server = server.initialize(Default::default()).await?;
-                let status = server
-                    .request::<request::CheckStatus>(request::CheckStatusParams {
-                        local_checks_only: false,
-                    })
-                    .await?;
-
                 server
                     .on_notification::<LogMessage, _>(|params, _cx| {
                         match params.level {
@@ -405,6 +398,14 @@ impl Copilot {
                     )
                     .detach();
 
+                let server = server.initialize(Default::default()).await?;
+
+                let status = server
+                    .request::<request::CheckStatus>(request::CheckStatusParams {
+                        local_checks_only: false,
+                    })
+                    .await?;
+
                 server
                     .request::<request::SetEditorInfo>(request::SetEditorInfoParams {
                         editor_info: request::EditorInfo {

crates/copilot/src/request.rs 🔗

@@ -143,8 +143,8 @@ pub enum LogMessage {}
 #[derive(Debug, Serialize, Deserialize)]
 #[serde(rename_all = "camelCase")]
 pub struct LogMessageParams {
-    pub message: String,
     pub level: u8,
+    pub message: String,
     pub metadata_str: String,
     pub extra: Vec<String>,
 }