Skip to content

Conversation

@tomcat323
Copy link
Contributor

@tomcat323 tomcat323 commented Feb 5, 2025

Problem

https://taskei.amazon.dev/tasks/IDE-15760
Users want to know that language servers are downloading

Solution

Add a toast notification message with progress bar when LSP is downloading
Also added a developer command to reset LSP download for testing, and a "setup completed" log when downloaded.


Short demo:

Screen.Recording.2025-02-11.at.2.39.47.PM.mov

  • Treat all work as PUBLIC. Private feature/x branches will not be squash-merged at release time.
  • Your code changes must meet the guidelines in CONTRIBUTING.md.
  • License: I confirm that my contribution is made under the terms of the Apache 2.0 license.

@github-actions
Copy link

github-actions bot commented Feb 5, 2025

  • This pull request modifies code in src/* but no tests were added/updated.
    • Confirm whether tests should be added or ensure the PR description explains why tests are not required.

@tomcat323 tomcat323 changed the title use withProgress notification popup feat(lsp): status bar message when downloading Feb 5, 2025
@tomcat323 tomcat323 changed the title feat(lsp): status bar message when downloading feat(lsp): notification message when downloading Feb 5, 2025
@tomcat323 tomcat323 marked this pull request as ready for review February 5, 2025 18:54
@tomcat323 tomcat323 requested review from a team as code owners February 5, 2025 18:54
) {}

// wraps the resolver to show download status message
async resolveWithProgress() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not clear what this is intended to do, but I'll just mention that we have a pretty sophisticated progress wrapper: showProgressWithTimeout

async function showProgressWithTimeout(

which also supports Cancel. The ability to cancel is very important for most "progress" tasks.

@github-actions
Copy link

  • This pull request modifies code in src/* but no tests were added/updated.
    • Confirm whether tests should be added or ensure the PR description explains why tests are not required.
  • This pull request implements a feat or fix, so it must include a changelog entry (unless the fix is for an unreleased feature). Review the changelog guidelines.
    • Note: beta or "experiment" features that have active users should announce fixes in the changelog.
    • If this is not a feature or fix, use an appropriate type from the title guidelines. For example, telemetry-only changes should use the telemetry type.

@tomcat323 tomcat323 merged commit 9114c43 into feature/amazonqLSP Feb 11, 2025
25 of 26 checks passed
@tomcat323 tomcat323 deleted the LSPimprovements branch February 11, 2025 20:58
return await tryStageResolvers('getServer', serverResolvers, getServerVersion)

const timeout = new Timeout(5000)
await showMessageWithCancel(`Downloading '${this.lsName}' language server`, timeout)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the cancel handled? I.e. it should actually cancel the download. Look for existing showMessageWithCancel to see examples.

When the user hits Cancel, it should actually cancel the download.

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.

3 participants