Skip to content

Add language server version prompt#129

Merged
yasmewad merged 1 commit into
smithy-lang:mainfrom
yasmewad:yasmewad/use-latest-lsp-release
May 18, 2026
Merged

Add language server version prompt#129
yasmewad merged 1 commit into
smithy-lang:mainfrom
yasmewad:yasmewad/use-latest-lsp-release

Conversation

@yasmewad
Copy link
Copy Markdown
Contributor

@yasmewad yasmewad commented May 6, 2026

Summary

PR #127 switched the default smithy.server.version from a pinned version to latest.release to receive latest LSP release versions to customers without updating VSCode extension. This follow-up adds user-facing controls so users can discover the change and opt out if needed.

Changes

  • One-time notification on first activation: offers "Use latest" or "Pin a version"
  • Status bar item: shows Smithy LS (latest) or Smithy LS v0.8.0, click to switch
  • Version picker: QuickPick dropdown fetched from Maven Central (replaces free-text input)
  • Command palette: "Smithy: Change Language Server Version"

UX decisions

  • Status bar uses short text labels per VS Code UX guidelines
  • Full "Smithy Language Server" naming in tooltips, notifications, and dialogs
  • Notification shows once ever (tracked via globalState)
  • Dismissing the notification keeps the latest.release default

Testing

  • npx tsc --noEmit passes with zero errors
  • Extension compiles and packages into .vsix successfully

Screenshots:

When you open a workspace with Smithy extension with changes from PR #127, you now get a notification:
Screenshot 2026-05-06 at 11 28 36 AM

New indicator shows the version of Smithy Language Server being used:
Screenshot 2026-05-06 at 11 14 09 PM

When you click on that indicator in the bottom you get a list of available versions like this:
Screenshot 2026-05-06 at 11 15 02 PM

If you selected an older version you get notification to reload and also the indicator shows pinned icon:
Screenshot 2026-05-06 at 11 15 15 PM

@yasmewad yasmewad requested a review from a team as a code owner May 6, 2026 19:58
@yasmewad yasmewad requested a review from kstich May 6, 2026 19:58
@yasmewad yasmewad force-pushed the yasmewad/use-latest-lsp-release branch from a2aac7a to 7fec4ad Compare May 6, 2026 20:02
@yasmewad yasmewad marked this pull request as draft May 6, 2026 20:02
PR smithy-lang#127 switched the default `smithy.server.version` from a
pinned version to `latest.release`. Users upgrading have no way
to discover this change or opt out without knowing the setting
name.

On first activation, a one-time notification offers "Use latest"
or "Pin a version." Choosing to pin opens a QuickPick populated
from Maven Central's `maven-metadata.xml`. A persistent status
bar item shows the active version (`Smithy LS (latest)` or
`Smithy LS v0.8.0`) and lets users switch on click. Status bar
text follows VS Code UX guidelines for short labels; full
"Smithy Language Server" naming appears in tooltips,
notifications, and the QuickPick title.

A `smithy.toggleVersionPolicy` command is registered in
`package.json` as "Smithy: Change Language Server Version" for
command palette access.
@yasmewad yasmewad force-pushed the yasmewad/use-latest-lsp-release branch from 7fec4ad to 5cc8c5a Compare May 7, 2026 07:07
@yasmewad yasmewad marked this pull request as ready for review May 12, 2026 21:38
@yasmewad yasmewad merged commit bbf03e2 into smithy-lang:main May 18, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants