Skip to content

fix(macos): disambiguate reassign picker and make ServersView routing testable - #1530

Merged
Dumbris merged 1 commit into
mainfrom
fix/issues-w5b6-native-macos-swift-views-and-t
Oct 6, 2026
Merged

Dumbris merged 1 commit into
mainfrom
fix/issues-w5b6-native-macos-swift-views-and-t

Conversation

@Dumbris

@Dumbris Dumbris commented Oct 6, 2026

Copy link
Copy Markdown
Member

Summary

Two macOS tray fixes in the Swift views: the profile delete-reassign picker is now unambiguous, and ServersView routing is extracted into a testable reducer with the duplicated observers removed.

Items

  • Follow-ups from Spec 109-c health vocabulary review (#1376) #1392 (reassign picker): Root cause: the delete-reassign picker labelled entries ambiguously and did not use the full profile list. Change: the picker now uses pickerTitle against the full profile list (ProfileEditorModel.swift, ProfileSheets.swift). Test: added case in ProfileEditorModelTests.swift.
  • Follow-ups from Spec 108-k macOS profiles review (#1442) #1449 (ServersView routing, partial): Root cause: duplicate onReceive observers on serverListView made handlers fire twice, and the routing logic could not be unit tested. Change: extracted ServersRouteReducer and dropped the duplicate observers (ServersView.swift). Test: new ServersViewRoutingTests.swift covers the reducer and once-only handling.

Skipped

  • ViewInspector-based tests of the SwiftUI binding: skipped because it would add a new dependency. The tests cover the routing logic instead of the SwiftUI binding.

Design choice

Option taken: extract the routing into a pure reducer and test that, rather than adding ViewInspector to test the SwiftUI view directly. Trade-off: no new dependency and fast deterministic tests, but the SwiftUI binding itself is not exercised. This awaits maintainer review.

Review Status

Clean after 1 round(s), unresolved findings [].

Closes #1392

Refs #1449

… testable

Delete-reassign picker uses pickerTitle against the full profile list.
Extract ServersRouteReducer, drop the duplicate onReceive observers on
serverListView (handlers fired twice), add reducer + once-only tests.
ViewInspector rejected (no new dependencies): tests cover the routing
logic, not the SwiftUI binding.

Refs #1449, closes #1392
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying mcpproxy-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: c38834d
Status: ✅  Deploy successful!
Preview URL: https://16a8afcf.mcpproxy-docs.pages.dev
Branch Preview URL: https://fix-issues-w5b6-native-macos.mcpproxy-docs.pages.dev

View logs

@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

📦 Build Artifacts

Workflow Run: View Run
Branch: fix/issues-w5b6-native-macos-swift-views-and-t

Available Artifacts

  • archive-darwin-amd64 (31 MB)
  • archive-darwin-arm64 (28 MB)
  • archive-linux-amd64 (19 MB)
  • archive-linux-arm64 (17 MB)
  • archive-windows-amd64 (31 MB)
  • archive-windows-arm64 (27 MB)
  • frontend-dist-pr (0 MB)
  • installer-dmg-darwin-amd64 (27 MB)
  • installer-dmg-darwin-arm64 (24 MB)
  • smart-mcp-proxymcpproxy-go0W5H0F.dockerbuild (0 MB)

How to Download

Option 1: GitHub Web UI (easiest)

  1. Go to the workflow run page linked above
  2. Scroll to the bottom "Artifacts" section
  3. Click on the artifact you want to download

Option 2: GitHub CLI

gh run download 37445279193 --repo smart-mcp-proxy/mcpproxy-go

Note: Artifacts expire in 14 days.

@Dumbris
Dumbris merged commit fcefa33 into main Oct 6, 2026
42 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.

Follow-ups from Spec 109-c health vocabulary review (#1376)

2 participants