Skip to content

feat: bundle ClickHouse, MSSQL, Redis, XLSX, MQL, SQLImport as built-in#445

Merged
datlechin merged 1 commit intomainfrom
feat/bundle-more-plugins
Mar 24, 2026
Merged

feat: bundle ClickHouse, MSSQL, Redis, XLSX, MQL, SQLImport as built-in#445
datlechin merged 1 commit intomainfrom
feat/bundle-more-plugins

Conversation

@datlechin
Copy link
Copy Markdown
Collaborator

@datlechin datlechin commented Mar 24, 2026

Summary

  • Move 6 plugins from registry to built-in: ClickHouse (HTTP-only), MSSQL (CFreeTDS), Redis (CRedis), XLSX Export (pure Swift), MQL Export (pure Swift), SQL Import (pure Swift)
  • Add cleanup logic in PluginManager to auto-remove user-installed copies that now ship built-in
  • Update CLAUDE.md plugin distribution table

Details

pbxproj changes: Added PBXBuildFile, PBXContainerItemProxy, PBXTargetDependency entries for each plugin and added them to the "Copy Plug-Ins" build phase.

Migration: Users who previously installed these via the registry will have their user-installed copies automatically deleted on next launch (removeUserInstalledDuplicates). The existing shadowing logic (skip user plugin if built-in has same bundle ID) serves as a fallback if deletion fails.

Remaining registry plugins: MongoDB (heavy libmongoc), Oracle (OracleNIO SPM), DuckDB (50-100MB libduckdb), Cassandra, Etcd, CloudflareD1.

Test plan

  • Clean build succeeds and all 6 plugins appear in TablePro.app/Contents/PlugIns/
  • App launches and all newly built-in drivers appear in connection creation
  • Simulate upgrade: place a registry-installed copy of one of these plugins in ~/Library/Application Support/TablePro/Plugins/, launch app, verify it gets auto-removed
  • Verify connections using ClickHouse, MSSQL, Redis still work
  • Verify XLSX export, MQL export, SQL import still work

Summary by CodeRabbit

  • New Features

    • Database drivers ClickHouse, MSSQL, and Redis now built-in for immediate availability.
    • Export formats XLSX and MQL added as built-in plugins.
    • SQL import functionality now included.
  • Improvements

    • App now automatically removes user-installed plugin duplicates.
  • Documentation

    • Plugin documentation updated.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 24, 2026

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

Plugin distribution model updated to move several plugins from registry-distributed to built-in status. Build configuration extended to include additional plugin bundles in the app copy phase. Plugin manager enhanced to detect and remove user-installed plugins with bundle identifiers matching built-in plugins.

Changes

Cohort / File(s) Summary
Plugin Distribution Documentation
CLAUDE.md
Updated plugin classification table: moved ClickHouseDriver, MSSQLDriver, RedisDriver, XLSX, and MQL from registry to built-in; registry list now includes Cassandra, Etcd, and CloudflareD1.
Xcode Build Configuration
TablePro.xcodeproj/project.pbxproj
Added build file entries and target dependencies to include ClickHouseDriver, MSSQLDriver, RedisDriver, XLSXExport, MQLExport, and SQLImport plugin bundles in the "Copy Plug-Ins" build phase.
Plugin Manager Logic
TablePro/Core/Plugins/PluginManager.swift
Implemented cleanup logic in discoverAllPlugins() to remove user-installed plugins whose bundle identifiers match built-in plugins, with info and warning logging for operations and failures.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

🐰 With plugins now bundled and sorted with care,
Built-in and user plugins handled fair,
No duplicates lurking to cause a fright,
TablePro's plugin system shines bright!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately captures the main change: moving six specific plugins (ClickHouse, MSSQL, Redis, XLSX, MQL, SQLImport) from registry to built-in distribution.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/bundle-more-plugins

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@datlechin datlechin merged commit 5cf6a42 into main Mar 24, 2026
1 of 2 checks passed
@datlechin datlechin deleted the feat/bundle-more-plugins branch March 24, 2026 14:07
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