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

Kiota Workspace panel should list all clients and plugins available in the current VS code workspace #5715

Closed
3 tasks
Tracked by #5713
maisarissi opened this issue Nov 1, 2024 · 1 comment · Fixed by #5784 or #5897
Closed
3 tasks
Tracked by #5713
Assignees
Labels
Milestone

Comments

@maisarissi
Copy link
Contributor

maisarissi commented Nov 1, 2024

Challenge

Due to time constraints, when we first implemented the workspace panel we added a reference to the workspace file so one could easily find it and open it to edit their existing clients and plugins.

However, the intention behind that panel was to list all clients and plugins in the current context.

Proposal

We need to modify the existing workspace panel to list all clients and plugins available in the current context.

Image

Tasks

  • Move the My Workspace panel to the top
  • List all clients and plugins available in workspace.json
  • Allow remove and edit for each client and plugin listed

Acceptance Criteria

  1. When there are clients and plugins in the current context, Kiota should show the Workspace panel expanded and listing all clients and plugins available as the image above.
  2. The "My workspace" panel must be in the top.
  3. When there is no clients or plugins in the context, the Workspace panel should load collapsed when opening Kiota extension.
  4. When there is no clients or plugins in the context and one expands the Workspace panel, we should show a "No clients or plugins are available" in the panel.
  5. Only show the Clients component when there is at least 1 client in the current context. If no client was found, the node shouldn't be displayed.
  6. Only show the Plugins component when there is at least 1 plugin in the current context. If no plugin was found, the node shouldn't be displayed.
  7. Clients and Plugins components must to be expandable/collapsible.
  8. When hovering the { } icon in any existing plugin/client, we should show the text Select. When clicking on it, the API Explorer should be loaded with the right client/plugin and right selected paths (same as the EditPaths codelense action) and the notification for regeneration should be displayed.
  9. When hovering the trash icon in any existing plugin/client, we should show the text Delete. When clicking on it for any existing plugin/client, the plugin remove should be performed.
@github-project-automation github-project-automation bot moved this to Needs Triage 🔍 in Kiota Nov 1, 2024
@thewahome thewahome moved this from Needs Triage 🔍 to Todo 📃 in Kiota Nov 5, 2024
@thewahome thewahome self-assigned this Nov 5, 2024
@thewahome thewahome moved this from Todo 📃 to In Progress 🚧 in Kiota Nov 25, 2024
@thewahome thewahome moved this from In Progress 🚧 to In Review 💭 in Kiota Nov 25, 2024
@github-project-automation github-project-automation bot moved this from In Review 💭 to Done ✔️ in Kiota Nov 27, 2024
@baywet baywet added this to the Kiota v1.21 milestone Dec 5, 2024
@maisarissi maisarissi reopened this Dec 10, 2024
@github-project-automation github-project-automation bot moved this from Done ✔️ to In Progress 🚧 in Kiota Dec 10, 2024
@maisarissi
Copy link
Contributor Author

maisarissi commented Dec 10, 2024

Reopening. ACs 3, 4 and 8 are not met:

  1. When there is no clients or plugins in the context, the Workspace panel should load collapsed when opening Kiota extension.
  2. When there is no clients or plugins in the context and one expands the Workspace panel, we should show a "No clients or plugins are available" in the panel.
  3. When hovering the { } icon in any existing plugin/client, we should show the text Select. When clicking on it, the API Explorer should be loaded with the right client/plugin and right selected paths (same as the EditPaths codelense action) and the Add notification to users to "Generate"/"Regenerate" after loading an API in API Explorer #5712 for regeneration should be displayed.

Not working as expected

  1. When opening Kiota extension in a new instance of VS Code (new window - no folder), the workspace tab loads expanded. Expected: It should load collapsed.
  2. There is no message in the panel when there is no client/plugins (AC 4). Expected: It should have a message "No clients or plugins are available".
  3. With VS Code opened, when opening a new folder (CTRL+K CTRL+O or using the File > Open Folder) sometimes the extension loads with the workspace tab expanded even when the project has no workspace file. Expected: It should always load collapsed when there is no workspace.

Image

  1. When clicking on { } icon in the My Workspace, I'm getting the below error. Expected: When clicking on the icon, the API Explorer should be loaded with the right client/plugin with the right selected paths. The Select in codelense is working as expected though.

Image

Working as expected

  1. When using the CLI to open a new VS Code instance from an existing folder that contains the workspace file, the workspace shows the existing plugin/client. Working as expected.
  2. When using the CLI to open a new VS Code instance from an existing folder with no workspace file, the workspace tab loads collapsed. Working as expected.
  3. In a new VS Code instance, when opening an existing folder using the UI in a project that contains the workspace file, the workspace tab shows the existing plugin/client. Working as expected.
  4. In a new VS Code instance, when opening an existing folder with no workspace file, the new instance opens with the workspace tab collapsed. Working as expected.

@github-project-automation github-project-automation bot moved this from In Progress 🚧 to Done ✔️ in Kiota Dec 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done ✔️
3 participants