Skip to content

feat(extensions): register sandboxed drivers + activate via PluginRpcBridge - #319

Merged
ZhuchkaTriplesix merged 6 commits into
devfrom
feat/driver-registration-activation
Jul 11, 2026
Merged

feat(extensions): register sandboxed drivers + activate via PluginRpcBridge#319
ZhuchkaTriplesix merged 6 commits into
devfrom
feat/driver-registration-activation

Conversation

@ZhuchkaTriplesix

@ZhuchkaTriplesix ZhuchkaTriplesix commented Jul 11, 2026

Copy link
Copy Markdown
Member

Summary

  • Parse/persist contributions.drivers and capabilities so local install no longer strips them from manifest.json
  • Dynamic New Connection / Driver Manager list: built-ins + installed database_driver packages; SDUI form via SduiFormBuilder
  • Activate on sidebar expand via PluginRpcBridge + schema tree; SQL workspace / table view for extension drivers
  • Mark driver binaries executable after zip install; fall back when bubblewrap user namespaces are unavailable
  • Local Docker ClickHouse (querya / querya, HTTP 8123) for end-to-end testing

Closes #318

Test plan

  • flutter test for extension/SDUI/connection suites
  • Reinstall ClickHouse .qext (old installs may lack contributions / +x on binary)
  • New Connection shows ClickHouse; save; expand schema tree; run a query in workspace
  • Disconnect / remove / quit shuts down plugin process
  • Built-in PostgreSQL/MySQL flows unchanged
  • docker compose -f docker/docker-compose.yml up -d clickhouse healthy on 8123

Wire Discovery→Registration→Activation: preserve contributions in
manifests, list installed drivers in New Connection with SDUI forms,
and open schema trees through PluginRpcBridge (#318).
Expose HTTP 8123 / native 9000 with querya credentials and seed SQL
so extension drivers can be tested against a real instance.
…lback

Zip installs lose +x bits; chmod after unpack. Probe bubblewrap before
use so hosts without user namespaces still launch plugins.
Replace the activation placeholder with query/table views, wire global
SQL actions for extension connections, and improve SDUI tree/icons.
Remove unused _resolveManifest and unused imports; prefer const
constructors in catalog tests so CI flutter analyze passes.
…ation

Update expected NewSqlIntent copy and mock an empty extensions dir so
async showDriverManagerDialog settles in widget tests.
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit 5cbe369 into dev Jul 11, 2026
4 checks passed
@ZhuchkaTriplesix ZhuchkaTriplesix mentioned this pull request Jul 11, 2026
4 tasks
@ZhuchkaTriplesix ZhuchkaTriplesix self-assigned this Jul 12, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix deleted the feat/driver-registration-activation branch July 26, 2026 14:36
ZhuchkaTriplesix added a commit that referenced this pull request Jul 27, 2026
…ation

feat(extensions): register sandboxed drivers + activate via PluginRpcBridge
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