Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regressions introduced with clojure-lsp multi-project support in 2.0.327 #2041

Closed
bpringe opened this issue Jan 27, 2023 · 0 comments
Closed
Labels
bug Something isn't working lsp regression Regression error

Comments

@bpringe
Copy link
Member

bpringe commented Jan 27, 2023

The following issues have been found with the latest change:

  • Clojure-lsp is started in the wrong project root in some situations involving VS Code workspaces.
  • Clojure-lsp commands such as clean ns are not working / not found.
  • When working with a Polylith project with many bricks/projects, the jack-in/connect menu item is very large now that we show the project type below the project paths. We should restore this to how this list looked before.
  • Can't use add require feature after updating to 2.0.327 version #2040

CC @julienvincent

Version 2.0.328 has been released and is a rollback of 2.0.327. Once we have the above items fixed, we can push the multi-project support out again.

@bpringe bpringe added bug Something isn't working regression Regression error lsp labels Jan 27, 2023
julienvincent added a commit to julienvincent/calva that referenced this issue Jan 30, 2023
When the `"when-workspace-opened-use-workspace-root"` setting is enabled
the clojure-lsp is started in _all_ workspace roots open instead of only
valid clojure project roots.

This commit reworks this behaviour to first check if the workspace root
is a valid Clojure project before attempting to auto-start the lsp
server.

Addresses BetterThanTomorrow#2041
julienvincent added a commit to julienvincent/calva that referenced this issue Jan 30, 2023
This resolves a regression from BetterThanTomorrow#2020 which prevents certain vscode
operations such as organise-imports and add-missing-import from
functioning correctly.

This was a result of disabling the automatic command registrations being
performed by the lsp client. Originally it was assumed that these
commands were unused, however they are used internally by vscode to
handle their native organise-imports and related operations.

This is now fixed by manually registering the missing commands with the
added functionality of multi-client support.

Addresses BetterThanTomorrow#2041
Fixes BetterThanTomorrow#2040
julienvincent added a commit to julienvincent/calva that referenced this issue Jan 30, 2023
The clojure-lsp refactor project in BetterThanTomorrow#2020 reworked the way the project
picker menus work, adding additional information on a second line
indicating which files contributed to a folder being picked as a valid
clojure project.

This turned out significant hurt the UX experience in workspaces with
many clojure projects.

This commit removes the additional information from the picker menus,
shrinking the list items to a single line.

Some other smaller changes included:

- Projects are now grouped by their workspace root which should help
  make it easier to sort through the list visually.
- Project folders are now sorted within their groups to make the list
  more deterministic.
- Project folders show the path relative to the workspace root instead
  of the absolute path. This should help make scanning the list easier
  by removing unnecessary/duplicate information.

Addresses BetterThanTomorrow#2041
Closes BetterThanTomorrow#2043
julienvincent added a commit to julienvincent/calva that referenced this issue Jan 30, 2023
julienvincent added a commit to julienvincent/calva that referenced this issue Jan 30, 2023
When the `"when-workspace-opened-use-workspace-root"` setting is enabled
the clojure-lsp is started in _all_ workspace roots open instead of only
valid clojure project roots.

This commit reworks this behaviour to first check if the workspace root
is a valid Clojure project before attempting to auto-start the lsp
server.

Addresses BetterThanTomorrow#2041
julienvincent added a commit to julienvincent/calva that referenced this issue Jan 30, 2023
This resolves a regression from BetterThanTomorrow#2020 which prevents certain vscode
operations such as organise-imports and add-missing-import from
functioning correctly.

This was a result of disabling the automatic command registrations being
performed by the lsp client. Originally it was assumed that these
commands were unused, however they are used internally by vscode to
handle their native organise-imports and related operations.

This is now fixed by manually registering the missing commands with the
added functionality of multi-client support.

Addresses BetterThanTomorrow#2041
Fixes BetterThanTomorrow#2040
julienvincent added a commit to julienvincent/calva that referenced this issue Jan 30, 2023
The clojure-lsp refactor project in BetterThanTomorrow#2020 reworked the way the project
picker menus work, adding additional information on a second line
indicating which files contributed to a folder being picked as a valid
clojure project.

This turned out significant hurt the UX experience in workspaces with
many clojure projects.

This commit removes the additional information from the picker menus,
shrinking the list items to a single line.

Some other smaller changes included:

- Projects are now grouped by their workspace root which should help
  make it easier to sort through the list visually.
- Project folders are now sorted within their groups to make the list
  more deterministic.
- Project folders show the path relative to the workspace root instead
  of the absolute path. This should help make scanning the list easier
  by removing unnecessary/duplicate information.

Addresses BetterThanTomorrow#2041
Closes BetterThanTomorrow#2043
julienvincent added a commit to julienvincent/calva that referenced this issue Jan 30, 2023
julienvincent added a commit to julienvincent/calva that referenced this issue Jan 30, 2023
This resolves a regression from BetterThanTomorrow#2020 which prevents certain vscode
operations such as organise-imports and add-missing-import from
functioning correctly.

This was a result of disabling the automatic command registrations being
performed by the lsp client. Originally it was assumed that these
commands were unused, however they are used internally by vscode to
handle their native organise-imports and related operations.

This is now fixed by manually registering the missing commands with the
added functionality of multi-client support.

Addresses BetterThanTomorrow#2041
Fixes BetterThanTomorrow#2040
julienvincent added a commit to julienvincent/calva that referenced this issue Jan 30, 2023
The clojure-lsp refactor project in BetterThanTomorrow#2020 reworked the way the project
picker menus work, adding additional information on a second line
indicating which files contributed to a folder being picked as a valid
clojure project.

This turned out significant hurt the UX experience in workspaces with
many clojure projects.

This commit removes the additional information from the picker menus,
shrinking the list items to a single line.

Some other smaller changes included:

- Projects are now grouped by their workspace root which should help
  make it easier to sort through the list visually.
- Project folders are now sorted within their groups to make the list
  more deterministic.
- Project folders show the path relative to the workspace root instead
  of the absolute path. This should help make scanning the list easier
  by removing unnecessary/duplicate information.

Addresses BetterThanTomorrow#2041
Closes BetterThanTomorrow#2043
julienvincent added a commit to julienvincent/calva that referenced this issue Jan 30, 2023
julienvincent added a commit to julienvincent/calva that referenced this issue Jan 30, 2023
The clojure-lsp refactor project in BetterThanTomorrow#2020 reworked the way the project
picker menus work, adding additional information on a second line
indicating which files contributed to a folder being picked as a valid
clojure project.

This turned out significant hurt the UX experience in workspaces with
many clojure projects.

This commit removes the additional information from the picker menus,
shrinking the list items to a single line.

Some other smaller changes included:

- Projects are now grouped by their workspace root which should help
  make it easier to sort through the list visually.
- Project folders are now sorted within their groups to make the list
  more deterministic.
- Project folders show the path relative to the workspace root instead
  of the absolute path. This should help make scanning the list easier
  by removing unnecessary/duplicate information.

Addresses BetterThanTomorrow#2041
Closes BetterThanTomorrow#2043
@bpringe bpringe closed this as completed in 2c4405e Feb 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working lsp regression Regression error
Projects
None yet
Development

No branches or pull requests

1 participant