Skip to content

Feature/homescreen webview#12

Open
njb90 wants to merge 72 commits intomainfrom
feature/homescreen-webview
Open

Feature/homescreen webview#12
njb90 wants to merge 72 commits intomainfrom
feature/homescreen-webview

Conversation

@njb90
Copy link
Copy Markdown
Collaborator

@njb90 njb90 commented Apr 7, 2026

Summary

This PR introduces the new homescreen dashboard for the Cloudinary VS Code extension, replacing the previous placeholder with a fully interactive sidebar panel.

Homescreen dashboard

  • Branded header with cloud name, folder mode (Dynamic/Fixed), connection status pill, and a gear button to open the credentials config file
  • Inline search input that submits directly to the media library — the toolbar search command now focuses the dashboard search instead of showing a VS Code input dialog
  • Environment switcher button, shown only when 2+ environments are configured
  • Configure AI Tools accordion for installing Cloudinary agent skills and MCP servers across multiple AI platforms (Claude Code, Copilot, Windsurf, Universal)
  • Reworked welcome guide focused solely on initial credential setup, with links to docs

AI Tools accordion

  • Detects the active editor platform and pre-selects it as the primary target
  • Shows install/configured status for each skill and MCP server; already-installed items are locked (checked + disabled)
  • Multi-platform checklist for targeting additional editors in a single apply
  • Live progress ticks per item during installation; reloads status after apply

Engineering

  • Extracted aiToolsService.ts with all business logic (skill fetching, platform detection, MCP config writing, installation) decoupled from the webview
  • Extracted homescreen inline CSS into media/styles/homescreen.css; added additionalStyles support to createWebviewDocument
  • Webviews refresh automatically when the active environment changes
  • CI workflow to build and upload an installable .vsix artifact on pull request

Test plan

  • Open the sidebar on a freshly configured environment — verify header shows cloud name, folder mode, and green Connected pill
  • Open without credentials — verify amber Setup needed state and Configure banner
  • Type in the search box and press Enter — verify library opens with results filtered
  • Press Escape in search — verify query clears and library resets
  • Click the toolbar search button from the library view — verify it switches back to homescreen and focuses the search input
  • With 2+ environments in ~/.cloudinary/environments.json, verify the Switch Environment button appears
  • Click the gear icon — verify the credentials config file opens
  • Expand Configure AI Tools, check skills/MCP servers, click Apply — verify installation progress ticks and status reloads
  • Switch environment — verify the homescreen header updates correctly
  • Install the .vsix artifact from CI and smoke-test all of the above in a clean VS Code install

njb90 and others added 30 commits March 30, 2026 12:40
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- resetAllPreviewPanels now disposes panels via the openPanels Map
- HomescreenViewProvider clears _webviewView on dispose so refresh()
  no-ops safely instead of throwing "Webview is disposed" and halting
  the onDidChangeEnvironment callback

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…or handling

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
njb90 and others added 29 commits April 1, 2026 16:30
Move all types, helpers, and installation logic from configureAiTools.ts
into a new src/aiToolsService.ts so the webview provider can also import it.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ePlatforms

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…reen webview

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ools panel

- Add inline search input to dashboard that focuses when triggering the
  search command from the library toolbar (replaces VS Code input dialog)
- Add environment switcher button when 2+ environments are configured
- Show folder mode (Dynamic/Fixed) subtitle under the cloud name
- Add gear button in the header bottom row to open the credentials config
- Rework welcome guide to focus on initial setup only; remove MCP/AI tool
  setup guides and simplify to credential configuration steps
- Extract all homescreen inline CSS into media/styles/homescreen.css;
  add additionalStyles support to createWebviewDocument/WebviewDocumentOptions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Runs on every push to non-main branches: lints, packages the extension
with vsce, and uploads the .vsix as a downloadable artifact (14-day retention).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Trigger on pull_request instead of all non-main pushes
- Sanitize branch name (replace / with -) to avoid path errors in the
  output filename; switch to @vscode/vsce (vsce is deprecated)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Patch package.json version to <version>-pr.<number> before packaging
so the test vsix is clearly distinguishable from the released version.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds a github-script step that creates or updates a single comment on
the PR with the artifact link and install instructions after each build.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 7, 2026

📦 Test VSIX ready

Version: 0.1.3-pr.12
Artifact: cloudinary-feature-homescreen-webview

To install:

  1. Download the .vsix from the link above (under Artifacts)
  2. In VS Code: Extensions → ··· → Install from VSIX…
    or run: code --install-extension cloudinary-feature-homescreen-webview.vsix

Updated on every push. Artifact expires after 14 days.

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.

1 participant