The language server has been launched successfully, and all features are ready, but the message is pinned on the status bar. It's probably a racing condition, and it's not stably reproducible.
I've done some investigation to print out the notifications, and I find the sequence on my machine is usually as following:
[Starting] 30% Starting Java Language Server
[Starting] 35% Starting Java Language Server
[Starting] 100% Starting Java Language Server
[Starting] 100% Starting Java Language Server
[Started] Ready
[Starting] 100% Starting Java Language Server
You may notice that after a "started" notification, it still receives a "starting" notification.
But when I met the issue, the log looks like the following, indicating that previous notifications are not received by the callback.
[Starting] 100% Starting Java Language Server
So I guess if it's because: immediately after the languageClient onReady, the previous notifications have been sent, before the callback completes the registration.
The language server has been launched successfully, and all features are ready, but the message is pinned on the status bar. It's probably a racing condition, and it's not stably reproducible.
I've done some investigation to print out the notifications, and I find the sequence on my machine is usually as following:
You may notice that after a "started" notification, it still receives a "starting" notification.
But when I met the issue, the log looks like the following, indicating that previous notifications are not received by the callback.
So I guess if it's because: immediately after the languageClient
onReady, the previous notifications have been sent, before the callback completes the registration.