🤖 refactor: remove mux.md link support#3568
Conversation
Remove the mux.md end-to-end-encrypted share/paste feature, which has regressed and is no longer maintained: - Sharing UI: ShareTranscriptDialog, ShareMessagePopover, ShareSigningBadges, the AssistantMessage "Share" button, "Share transcript" menu/keybind, and the telemetry-gated link-sharing context. - Consuming: web_fetch no longer special-cases mux.md URLs. - Signing: signingService + orpc `signing` namespace/schemas (only used by mux.md sharing). - Client lib, share-expiration prefs/storage, preload/vite/env overrides. - Docs page, nav/redirects, @coder/mux-md-client dependency; regenerated built-in skill docs index. Plan-file display: replace the "Share" (copy mux.md link) action with a "Copy file path" action.
|
@codex review |
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
|
Codex Review: Didn't find any major issues. More of your lovely PRs please. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
@codex review Only change since your last review is a deterministic |
|
Codex Review: Didn't find any major issues. Nice work! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Summary
Removes all mux.md link support — the end-to-end-encrypted share/paste feature — which has regressed and is no longer maintained. This strips the sharing UI, the link-consumption path, the signing service that existed solely to sign mux.md shares, the client library and its dependency, and the related preferences/docs. In the plan-file display, the former mux.md Share (copy link) action is replaced with a Copy file path action.
Background
The mux.md feature let users share assistant messages / transcripts to an external encrypted paste service (producing
https://mux.md/<id>#<key>links), consume such links viaweb_fetch, and cryptographically sign shares. That product area has regressed and will no longer be maintained, so it's being removed wholesale.Implementation
ShareTranscriptDialog,ShareMessagePopover,ShareSigningBadges, theAssistantMessage"Share" button, the "Share transcript" workspace-menu item +SHARE_TRANSCRIPTkeybind, and the telemetry-gatedTelemetryEnabledContext/useLinkSharingEnabled(its only purpose was gating the share UI). Theapi.telemetrynamespace itself is untouched.web_fetchno longer special-cases mux.md URLs (no more client-side decrypt branch).signingService+ the orpcsigningnamespace/schemas/context wiring (only consumed by the two share components).muxMdclient lib,shareExpirationhelpers,sharedUrlCache,SHARE_EXPIRATION_KEY/SHARE_SIGNING_KEY, theuserPreferences.sharingblock + its storage round-trip, themuxMdUrlOverridepreload bridge,__MUX_MD_URL_OVERRIDE__Vite define, and ambient global types.@coder/mux-md-client.workspaces/sharing.mdx(+ image, nav, redirects), trimmed the telemetry doc's Share note, and regenerated themux-docsbuilt-in skill index.propose_plancard'sShareaction is replaced with aCopy file pathaction that copies the plan's on-disk path (hidden when no path is available).Validation
make static-checkpasses (lint, typecheck, formatting, docs-sync, code→docs links).web_fetch,userPreferences/appConfigOnDisk/userPreferencesStorage,ProposePlanToolCall,WorkspaceActionsMenuContent,AgentListItem,WorkspaceMenuBar,ProjectSidebar,SshPromptDialog.Risks
sharingpreferences block is gone; stale on-disksharingkeys are silently stripped by the zod schema on load (no migration needed, no crash).mux.mdURLs are now fetched as ordinary web pages (and will fail to decrypt, as expected). Low regression risk to unrelated flows since the change is almost entirely deletions.Out of scope
packages/chat-components/is a separately published rendering library used by the external mux.md viewer site and is not imported by the app, so it is left untouched.Generated with
mux• Model:anthropic:claude-opus-4-8• Thinking:xhigh• Cost:n/a