Skip to content

feat: plugin marketplace with in-app browsing and install#208

Merged
datlechin merged 3 commits intomainfrom
feat/plugin-marketplace
Mar 9, 2026
Merged

feat: plugin marketplace with in-app browsing and install#208
datlechin merged 3 commits intomainfrom
feat/plugin-marketplace

Conversation

@datlechin
Copy link
Copy Markdown
Collaborator

Summary

  • Add Browse tab to Settings > Plugins with search, category filtering, and one-click install from the TableProApp/plugins registry
  • Registry client fetches flat JSON manifest with ETag caching and offline fallback
  • Install flow: streaming download with progress → SHA-256 checksum verification → delegates to existing installPlugin(from:)
  • Extract existing installed plugins UI into InstalledPluginsView, restructure PluginsSettingsView as Installed/Browse sub-tab wrapper

New files (backend)

  • Core/Plugins/Registry/RegistryModels.swiftRegistryManifest, RegistryPlugin, RegistryAuthor, RegistryCategory
  • Core/Plugins/Registry/RegistryClient.swift — fetch, ETag cache, search, offline fallback
  • Core/Plugins/Registry/PluginInstallTracker.swift — per-plugin download/install state
  • Core/Plugins/Registry/PluginManager+Registry.swiftinstallFromRegistry() with checksum verification

New files (UI)

  • Views/Settings/Plugins/InstalledPluginsView.swift — extracted from PluginsSettingsView
  • Views/Settings/Plugins/BrowsePluginsView.swift — search bar, filter chips, plugin list
  • Views/Settings/Plugins/RegistryPluginRow.swift — plugin card with verified badge
  • Views/Settings/Plugins/RegistryPluginDetailView.swift — expandable detail panel

Test plan

  • Build succeeds with xcodebuild -skipPackagePluginValidation
  • Settings > Plugins shows Installed/Browse segmented picker
  • Installed tab unchanged from Phase 2
  • Browse tab fetches registry, shows loading then empty state (registry has no plugins yet)
  • Search and category filter chips work
  • Error state shown on network failure, "Try Again" button refetches
  • Existing test suite passes (no regressions)

@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@datlechin datlechin merged commit 50b14d1 into main Mar 9, 2026
2 checks passed
@datlechin datlechin deleted the feat/plugin-marketplace branch March 9, 2026 01:08
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