Tracking upstream cmux manaflow-ai#6754 + manaflow-ai#6756 (same root cause). Confirmed in our fork; needs two product decisions before implementing.
Root cause (our code): Sources/Panels/BrowserPanel.swift:6257-6259 (and BrowserPopupWindowController.swift:588-591) blanket-.allow every isForMainFrame==false navigation before checking Content-Disposition, so any download started inside an iframe never fires. (The scripted-download machinery the upstream issues mention does not exist in our fork.)
Decision 1 — iframe download trigger: (A, recommended) only on explicit Content-Disposition: attachment; (B) also on non-inline-renderable MIME (risks force-downloading embedded PDFs/media/ads).
Decision 2 — save location: downloadDidFinish (BrowserPanel.swift:5891-5912) always shows an NSSavePanel. Issue wants Safari-style auto-save to ~/Downloads. (A) keep panel; (B) auto-save; (C) setting.
Implement as one PR across the two browser files once decided. No typing-latency hot paths.
Upstream: manaflow-ai#6754, manaflow-ai#6756
Tracking upstream cmux manaflow-ai#6754 + manaflow-ai#6756 (same root cause). Confirmed in our fork; needs two product decisions before implementing.
Root cause (our code):
Sources/Panels/BrowserPanel.swift:6257-6259(andBrowserPopupWindowController.swift:588-591) blanket-.alloweveryisForMainFrame==falsenavigation before checkingContent-Disposition, so any download started inside an iframe never fires. (The scripted-download machinery the upstream issues mention does not exist in our fork.)Decision 1 — iframe download trigger: (A, recommended) only on explicit
Content-Disposition: attachment; (B) also on non-inline-renderable MIME (risks force-downloading embedded PDFs/media/ads).Decision 2 — save location:
downloadDidFinish(BrowserPanel.swift:5891-5912) always shows anNSSavePanel. Issue wants Safari-style auto-save to~/Downloads. (A) keep panel; (B) auto-save; (C) setting.Implement as one PR across the two browser files once decided. No typing-latency hot paths.
Upstream: manaflow-ai#6754, manaflow-ai#6756