Skip to content

feat: @mux UX + Windows updater fix + minimal-first optimization - #171

Merged
its-mash merged 3 commits into
mainfrom
feat/mux-ux-updater-optimization
Jun 15, 2026
Merged

feat: @mux UX + Windows updater fix + minimal-first optimization#171
its-mash merged 3 commits into
mainfrom
feat/mux-ux-updater-optimization

Conversation

@its-mash

Copy link
Copy Markdown
Member

Consolidates #168, #169, #170 into one branch.

  • @mux UX: @mux optimize hint on FeatureSets; "Manage approval prompts" opt-out link on the approval dialog (denies + routes to Built-in tab).
  • Windows updater: ship per-user NSIS only (drop MSI), installMode quiet→passive, skip auto-update under pnpm dev. Fixes the per-machine-MSI silent-install failure that looked like a crash for non-admin users.
  • @mux optimization: concise guidance to start minimal and expand on demand (verbose version trimmed — tool descriptions are sent to the model every session).

No mcpmux API/worker change needed: the resolver rewrites manifest URLs filename-agnostically. Tests green (vitest + clippy/fmt/eslint/typecheck).

its-mash added 3 commits June 15, 2026 18:37
Two small discoverability nudges around tool optimization:

- FeatureSets tab: add a branded "Let your AI build these for you"
  hint showing the `@mux optimize` chat affordance — the assistant can
  discover tools, compose a FeatureSet, and pin it to the current
  folder, each gated behind a one-click approval.

- Meta-tool approval dialog: add a "Prefer not to be asked? Manage
  approval prompts" link that denies the current request (fail-closed,
  so the client is not left hanging for the 60s broker timeout) and
  routes to the Built-in tab, where the "Require approval for tool
  changes" switch can turn these prompts off.

Covered by a new MetaToolApprovalDialog test asserting the link denies
and navigates to builtin-servers.

Signed-off-by: Mohammod Al Amin Ashik <maa.ashik00@gmail.com>
The Windows auto-updater shipped a per-machine MSI installed silently
(installMode "quiet"). Per-machine MSI upgrades need elevation; "quiet"
suppresses the UAC prompt and apps run non-elevated by default, so the
silent install failed (1603 / "must be Administrator") for ordinary
users — and since the app quits to apply the update, it looked like a
crash/loop. This affected any non-elevated user on auto-update, not just
dev.

- bundle.targets: drop "msi" (was "all"). Windows now ships NSIS only,
  which is already configured per-user (nsis.installMode "currentUser")
  — so updates install without elevation. The updater manifest will
  reference the NSIS "-setup.exe"; the api.mcpmux.com resolver rewrites
  URLs filename-agnostically, so no worker change is needed.
- updater.windows.installMode: "quiet" -> "passive". Shows a small
  progress UI and, crucially, surfaces a UAC prompt if elevation is ever
  needed instead of failing invisibly. With per-user NSIS the normal
  path still needs no elevation.
- App.tsx: skip the startup auto-update entirely when import.meta.env.DEV
  (i.e. under `pnpm dev`) — otherwise a dev build detects a newer
  published release, installs it over the dev build, and relaunches, so
  local changes never appear. Production builds are unaffected.

Tests: App update-banner suite stubs DEV=false to keep exercising the
production flow; all 12 pass.

Signed-off-by: Mohammod Al Amin Ashik <maa.ashik00@gmail.com>
Optimizing was slow because the model dumped the whole catalog and built
one large FeatureSet upfront. Add concise (token-cheap) guidance steering
it to start minimal and expand on demand:

- Server instructions: "start minimal, expand later" one-liner.
- mcpmux_list_all_tools: prefer mcpmux_search_tools; flag the full dump as
  token-heavy.
- mcpmux_manage_feature_set: prefer a small initial set expanded later.

Guidance-only; no tool behavior change.

Signed-off-by: Mohammod Al Amin Ashik <maa.ashik00@gmail.com>
@its-mash
its-mash merged commit a215012 into main Jun 15, 2026
13 checks passed
@its-mash
its-mash deleted the feat/mux-ux-updater-optimization branch June 15, 2026 13:46
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