Skip to content

Invalid? "Current completion changed before returning" warning #11

Closed
@AntoineGS

Description

@AntoineGS

I have been seeing this a lot in the LSP warnings for the github.lua NeoVim plugin (zbirenbaum/copilot.lua#399) and I believe I have found the issue.
It would affect all implementations from what I can see.
The culprit code:

        if (u !== f.clientCompletionId) {
            let be = f.getCompletionsForUserTyping(S, I.prompt.suffix);
            if (be && be.length > 0) return so.warn(e, "Current completion changed before returning"), {
                type: "canceled",
                reason: "current completion changed before returning",
                telemetryData: pd(X)
            }
        }

When the warning is triggered, u is undefined, causing the comparison to fail as if there was already a request (there isn't) and seemingly cancelling the new request.

Update, it seems the issue is not completely resolved by simply checking for null, as the previous uuid seems sticky in some situations.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions