Revert "Settings > Browser > Extensions: import, add-unpacked, and live enable/disable for web extensions"
Merged
AU
3mo ago+687+687+012345678901234567890123456789-13720-13720-01234567890123456789012345678901234567890123456789
Reverts manaflow-ai/cmux#7699
Need help on this PR? Tag /codesmith with what you need. Autofix is disabled.
Summary by cubic
Reverts the Browser Extensions feature and all WebKit web‑extension hosting. Removes the browser.webExtensions setting, related UI, discovery/hosting code, and dependent APIs to restore the previous browser behavior.
-
Refactors
- Removed extension settings and UI:
browser.webExtensions,BrowserWebExtensionsCard, discovery/import flows, and all related localizations. - Deleted web‑extension runtime:
BrowserWebExtensionSupportand all popout/permission/toolbar/tab adapter types. - Simplified browser code paths: moved external navigation helpers into
BrowserPanel; removed extension navigation/context switching. - Removed seams from
AppDelegate,DockSplitStore,TabManager, andWorkspacefor extension ownership, routing, and focus. JSONConfigStore: removedupdate(_:); simplifiedJSONConfigStoreReadError.JSONValueModel: removed first‑value/write tracking state; kept a simpler observe/set/reset flow.BrowserPrewarmedWebViewPooland upgrade prewarmers: droppedbrowserWebExtensionHostparameters; updated call sites.- Pruned tests and strings tied to extensions; updated navigation and popup tests accordingly.
- Removed extension settings and UI:
-
Migration
- The
browser.webExtensionskey is no longer read; previously configured extensions will not load. - Remove uses of
SettingsHostActions.discoverBrowserWebExtensions(),.browserWebExtensionsSupported(), and.browserWebExtensionLoadErrorUpdates(). - Replace
JSONConfigStore.update(_:)calls with explicit read/modify/set within the store actor. - Drop
browserWebExtensionHostparameters and references; useBrowserPrewarmedWebViewPool.prewarm(url:profileID:)andclaim(url:profileID:websiteDataStore:).
- The
Summary by CodeRabbit
- Changes
- Removed built-in browser Web Extension discovery, loading, permissions, toolbar actions, popouts, and related settings.
- Simplified browser navigation and external-link handling, including support for HTTP(S) fallbacks from intent links.
- Improved browser popup data-store handling and streamlined web view lifecycle behavior.
- Terminal configuration input now waits for surfaces to become ready before being delivered.
- Simplified settings updates and removed obsolete browser extension configuration options.