Remove standalone launch timer and use status items to better communicate state
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 2k
- Forks
- 281
- Avg merge
- 2h 14m
- Merged PRs (30d)
- 6
Description
Concrete task derived from https://github.com/Shopify/ruby-lsp/discussions/3642.
We originally added a timer for the standalone launch mode because we were getting repeated issues about monorepo configurations that didn't have VS Code's multi-root workspace configs. That ended up being an overcorrection and we can make this a lot more subtle with a status item.
Note: I've been thinking about how the state of the LSP should probably be promoted to a proper status item (as opposed to a language status item). It often includes important information, like whether we're running in degraded mode due to Bundler failures or if it's in standalone.
We can also override onProgress on the client to show progress inside of the same status item, avoiding clutter on the bar. I think it might be worth taking a look at this as part of addressing the timer issue.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading discussion 3642 and locating the standalone launch timer and existing language status item behavior. Review how the VS Code client reports LSP state and progress. Done means removing the standalone timer and communicating standalone, degraded, and progress states through one status item.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby, vscode
- Domain
- developer-experience, devtools
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100