• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stacklok / toolhive-studio / 24844174681 / 1
66%
main: 70%

Build:
Build:
LAST BUILD BRANCH: renovate/anthropics-claude-code-action-digest
DEFAULT BRANCH: main
Ran 23 Apr 2026 03:38PM UTC
Files 463
Run time 16s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 Apr 2026 03:34PM UTC coverage: 65.959% (-0.7%) from 66.696%
24844174681.1

push

github

web-flow
refactor(mcp-optimizer): remove the feature and migrate legacy users on startup (#2086)

* refactor(mcp-optimizer): remove sunset UI, route, and feature module

Follows the deprecation shipped in #1910. Deletes the /mcp-optimizer route,
the sunset banner, the features/meta-mcp module, and every optimizer-specific
branch that lived across MCP server orchestration, group actions, client
registration, and routing. Stops tracking the toolhive-mcp-optimizer image in
Renovate and drops the sunset blog URL constant. Trims constants.ts down to
the identifiers still used by the legacy-user cleanup migration.

* feat(mcp-optimizer): run cleanup once on startup for legacy users

Users who had MCP Optimizer enabled still have the __mcp-optimizer__ group,
its meta-mcp workload, and their clients registered to the optimizer group
after the feature is removed. On first launch post-upgrade, wait for the
ToolHive daemon to become ready and then run the same teardown that used to
fire when the experimental toggle was flipped off: restore clients to the
ALLOWED_GROUPS target and delete the optimizer group with its workloads.

- Add useMcpOptimizerStartupCleanup and wire it into RootComponent. It polls
  electronAPI.isToolhiveRunning before marking itself as run, so a slow
  daemon start cannot cause the migration to silently no-op.
- Rewrite useCleanupMetaOptimizer to fetch groups and the meta-mcp workload
  at call-time via queryClient.fetchQuery, decoupling it from React Query
  closures and from the feature-flag gate.
- Flip META_OPTIMIZER to isDisabled: true so the flag key is still defined
  (for one release) and the UI no longer surfaces it, while the cleanup path
  remains callable.

* test(e2e): cover MCP optimizer startup cleanup migration

Two-session Playwright spec that relaunches the app against the same
userDataDir to exercise the one-shot startup hook:

- Session 1 creates a custom group via the UI, then seeds __mcp-optimizer__,
  registers a client again... (continued)

3803 of 6273 branches covered (60.62%)

5871 of 8901 relevant lines covered (65.96%)

117.8 hits per line

Source Files on job 24844174681.1
  • Tree
  • List 463
  • Changed 34
  • Source Changed 33
  • Coverage Changed 32
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 24844174681
  • 28d4f81d on github
  • Prev Job for on v0.32.0-rc.0 (#24842322199.1)
  • Next Job for on v0.32.0-rc.0 (#24878808376.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc