Skip to content

Enhance connection handling, UI features, and add notebook support#65

Merged
ric-v merged 14 commits intodev-asterix:mainfrom
ric-v:main
Apr 10, 2026
Merged

Enhance connection handling, UI features, and add notebook support#65
ric-v merged 14 commits intodev-asterix:mainfrom
ric-v:main

Conversation

@ric-v
Copy link
Copy Markdown
Member

@ric-v ric-v commented Apr 10, 2026

This pull request introduces significant new features and improvements to the PgStudio extension, most notably adding image and vision AI support to the SQL Assistant, enabling file preview from chat, and adding a nightly release channel with automated CI publishing. It also updates documentation and build tooling to reflect these enhancements, including support for GitHub Models authentication and improved release workflows.

Major feature additions:

  • Image and Vision AI support in SQL Assistant: Users can now paste or upload images in chat, see thumbnail previews, and leverage vision-capable AI providers (OpenAI, Anthropic, Gemini, VS Code LM) for image-based queries. Images are rendered as thumbnails and can be opened in a lightbox overlay. [1] [2]
  • File preview from chat: Clicking an attached file chip in the chat input or message history opens the file as a preview tab in the VS Code editor.

AI provider and authentication improvements:

  • GitHub Models provider with native sign-in: Adds first-class support for GitHub Models using VS Code's authentication flow, allowing users to connect with their GitHub account, list available models, and avoid manual PAT management. [1] F095f0bcL36R36, [2] [3] [4]

Release and CI/CD enhancements:

  • Nightly release channel: Adds a new GitHub Actions workflow (publish-nightly.yml) and Makefile targets to publish nightly pre-release builds to both VS Code Marketplace and Open VSX, with a dedicated nightly companion extension and clear versioning policy. [1] [2] [3] [4] [5] [6]
  • Publish workflow strictness: The main publish workflow now fails if the git tag and package.json version do not match, ensuring version consistency.

Documentation and metadata updates:

  • Updates to README.md, MARKETPLACE.md, and CHANGELOG.md to reflect new features, provider support, release channels, and resource links. [1] [2] [3] [4] [5]
  • Adds SEO and social sharing metadata to docs/index.html.
  • Updates copyright year in LICENSE.
  • Adds an empty .vscode/settings.json for workspace configuration.

ric-v added 14 commits April 6, 2026 11:32
- Adjusted connection timeout to use a configurable value for both Azure and general connections, defaulting to 15 seconds.
- Implemented migration logic for legacy Azure connection timeouts from previous versions.
- Enhanced AI service to retrieve API keys from a secret storage service.
- Updated chat interface with improved input handling, including auto-resizing and enhanced suggestion bubbles.
- Refined UI styles for better user experience in chat and connection forms.
- Added support for follow-up questions in chat responses, improving interaction flow.
- Add automated nightly build workflow publishing pre-release builds to VS Code Marketplace and Open VSX on every push to main
- Add prepare-nightly-manifests.js script to generate environment-specific package manifests for nightly releases
- Add Ollama and LM Studio AI providers for local model support without API keys
- Add AI response timing display showing elapsed time alongside token usage
- Add code snippet execution capability via runSnippet() action in suggestion bubbles
- Update connection edit flow to open ConnectionFormPanel directly instead of dispatching commands
- Apply environment-specific accent colors to connection cards (green for DEV, orange for STAGING, red for PROD)
- Improve chat input focus behavior in sendSuggestion() with proper cursor positioning
- Fix markdown rendering of inline code in chat responses
- Fix SVG icon sizing in code block action buttons with explicit width/height attributes
- Remove unused tree filter commands (postgres-explorer.filterTree and postgres-explorer.clearFilter)
- Update publish workflow to fail on version mismatch between git tag and package.json
- Add .vscode/settings.json and update .gitignore for nightly artifacts
- Update CHANGELOG and README with nightly channel documentation
- Add transaction status bar item to display active transaction state with visual indicator
- Implement updateTransactionState() method to manage transaction UI updates
- Register new handlers: RetryCellHandler and ShowConnectionInfoHandler for improved error recovery
- Add transaction state tracking to QueryResults interface with isActive flag and statement count
- Create ActionBar, ErrorPanel, TopBar, and TransactionBanner components for enhanced UI
- Add sqlParsing utility module for SQL statement analysis
- Add notebookTitle utility for automatic notebook title generation on open
- Extend MIME type support with application/x-postgres-notebook-header+json
- Update QueryCodeLensProvider with singleton instance pattern for global access
- Enhance error service with error code and explanation fields in results
- Add transaction state information to query results for better transaction visibility
- Improve status bar initialization with transaction item and tooltip messaging
- Add NotebooksTreeProvider for displaying and managing notebook files in explorer view
- Implement SessionRegistry service for tracking and managing notebook sessions
- Register notebook-related commands: open, rename, delete, and refresh
- Add jumpToSection command for notebook toolbar navigation
- Create notebook view in sidebar with contextual menu actions
- Add notebook toolbar with jump to section navigation
- Implement notebook file operations (rename with validation, delete with confirmation)
- Add unit tests for CloseEventCleanup and NotebookBuilder functionality
- Update vscode mock utilities for notebook document handling
- Extend command registration to support notebook tree provider integration
- Add new SQL Assistant sidebar with dedicated webview container
- Reorganize postgres-explorer views to separate concerns between database exploration and SQL assistance
- Move Notebooks view to primary position in postgres-explorer sidebar
- Collapse Saved Queries and Query History views by default for cleaner UI
- Update view icons and contextual titles for improved clarity
- Create dedicated postgres-sql-assistant container for SQL Assistant webview
- Add AutoRefreshService to automatically sync explorer and notebooks panel
- Add SchemaPoller for background PostgreSQL schema change detection
- Implement configurable auto-refresh settings (enabled by default, 30s poll interval)
- Add fast-check dependency for property-based testing
- Integrate auto-refresh service into provider activation and DatabaseTreeProvider
- Add visual feedback (CodeLens spinner, background tint) during AI assist operations
- Update QueryCodeLensProvider with AI working state tracking
- Enhance ConnectionManager and session handlers with refresh coordination
- Add AI assist cell decoration and spinner animation support
- Bump version to 0.9.2
- Add image paste/upload functionality with thumbnail previews in chat input
- Implement image lightbox overlay for full-size preview of thumbnails
- Add vision AI support for OpenAI, Anthropic, Gemini, and VS Code LM providers
- Enable file preview from chat by clicking attached file chips
- Add `img-src data: blob:` to webview CSP for image rendering
- Include filesystem path on file attachment for preview functionality
- Remove FormatHelpers dependency and inline boolean formatting
- Simplify column property display and remove redundant statistics section
- Update CHANGELOG with v0.9.5 release notes
- Update README with vision AI and file preview feature highlights
- Update documentation version badge to 0.9.5
- Refactor SQL command templates for consistency and clarity
…, and DashboardHtml

- Implemented comprehensive tests for TelemetryService to verify telemetry enabling/disabling, span recording, and error handling.
- Created tests for TransactionManager to ensure proper transaction management, including beginning, committing, rolling back, and handling savepoints.
- Added tests for view commands to cover notebook commands and view properties.
- Developed tests for DashboardHtml to validate HTML generation and asset injection for the dashboard.
- Updated mocks for vscode to include additional methods for testing.
- Modified dashboard templates to support dynamic content injection for improved security and functionality.
@ric-v ric-v merged commit ca03bce into dev-asterix:main Apr 10, 2026
4 of 18 checks 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.

1 participant