Copilot: handle "ok" status message when no user is set (#8116)

In #6954 a user has trouble using copilot. We haven't gotten to the
bottom of the problem, but one problem is that apparently sometimes (I'm
going to find out when) copilot sends an `"OK"` status message without a
username. This is from the user's logs:

2024-02-20T15:28:41-03:00 [ERROR] failed to deserialize response from
language server: missing field `user`. Response from language server:
"{\"status\":\"OK\"}"

The official `copilot.vim` plugin handles this as if the user is not
authenticated (!= authorized):


1a284014d2/autoload/copilot.vim (L574-L579)

So that's what I'm doing here too.

Release Notes:

- Fixed wrong handling of Copilot sign-in status in rare cases.
This commit is contained in:
Thorsten Ball 2024-02-21 11:39:43 +01:00 committed by GitHub
parent fd9823898f
commit 45e2c01773
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 4 additions and 4 deletions

View file

@ -52,7 +52,7 @@ pub struct SignInConfirmParams {
pub enum SignInStatus {
#[serde(rename = "OK")]
Ok {
user: String,
user: Option<String>,
},
MaybeOk {
user: String,