Stop prefetching plugin discovery at app-server startup (#59768)

## What changed

- Remove startup prefetching of remote catalogs, featured plugins, and recommendations while retaining installed-plugin refreshes and bundle downloads.
- Fetch featured plugin IDs on demand, concurrently with marketplace fetching when listing the remote global catalog, and reuse the cached results.
- Retire `plugin_discovery_prefetch` as an ignored compatibility flag and remove forced background catalog refreshes.

## Testing

Update app-server tests to verify that startup downloads installed bundles without discovery requests and that two `plugin/list` calls share one featured-plugin fetch.

GitOrigin-RevId: aa10474f3429102d624c83472e81ec85e3b470ae
This commit is contained in:
Alex Zamoshchin
2026-11-06 00:23:38 +00:00
committed by copyberry
parent 9df200a068
commit 08e4f43c9a
10 changed files with 64 additions and 408 deletions
@@ -592,7 +592,6 @@ impl MessageProcessor {
turn_cost_worker.as_ref().map(TurnCostWorker::handle),
);
if let Some(startup_config) = plugin_startup_tasks {
// Keep plugin startup warmups aligned at app-server startup.
let reload_config = match startup_config {
PluginStartupConfig::Current => {
plugin_config_reload::for_cwd(config_manager.clone(), config.cwd.clone())
@@ -607,7 +606,6 @@ impl MessageProcessor {
.plugins_manager()
.maybe_start_plugin_startup_tasks_for_config(
&config.plugins_config_input(),
config.features.enabled(Feature::PluginDiscoveryPrefetch),
reload_config,
Some(on_effective_plugins_changed),
startup_warnings_tx,