Remove orchestration_event_push feature flag; rename poller to streamer (#9265)

## Description

Removes the `orchestration_event_push` feature flag and the polling
fallback in the orchestration event delivery path. SSE-based event push
has been on in dogfood and staging long enough that it's now the only
path; the dual-mode `OrchestrationEventPoller` is renamed to
`OrchestrationEventStreamer` and only opens persistent SSE connections.

- Removed `FeatureFlag::OrchestrationEventPush` and the matching Cargo
feature.
- Renamed `app/src/ai/blocklist/orchestration_event_poller.rs` (and its
tests) to `orchestration_event_streamer.rs`. Renamed the public type to
`OrchestrationEventStreamer`; renamed the shared event-injection sink
`handle_poll_result` → `handle_event_batch`.
- Removed polling-only state (`poll_backoff_index`, `poll_in_flight`),
methods (`poll_and_inject`, `start_idle_poll_timer`), and constants
(`POLL_BACKOFF_STEPS`, `EVENT_POLL_BATCH_LIMIT`). Kept `event_cursor`,
`pending_delivery`, and `conversation_statuses` since they are also used
by the SSE path.
- Removed the now-dead `AIClient::poll_agent_events` trait method and
its `ServerApi` implementation in `app/src/server/server_api/ai.rs`.

The `OrchestrationV2` flag continues to gate streamer instantiation and
watched-run registration; runtime behavior under v2 is unchanged.

Pairs with the warp-server PR that drops the flag server-side:
https://github.com/warpdotdev/warp-server/pull/10736 — that PR should
land first so the polling endpoint stays available for older clients
during rollout.

## Testing
- `cargo build -p warp` clean.
- `cargo clippy -p warp -p warp_features --all-targets -- -D warnings`
clean (after `cargo fmt`).
- `cargo test -p warp --lib ai::blocklist::orchestration_event_streamer`
— all 7 tests pass.

## Agent Mode
- [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode

---

[Plan: Remove orchestration_event_push flag (server +
client)](https://staging.warp.dev/drive/notebook/yAlAxMAr4EO65A9LEy40cX)

[Conversation](https://staging.warp.dev/conversation/ff5e82cb-bba7-4cbf-ae0b-e51f2c542f4a)

---------

Co-authored-by: Oz <oz-agent@warp.dev>
This commit is contained in:
Matthew Albright
2026-04-29 09:42:02 -04:00
committed by GitHub
co-authored by Oz
parent 3f0ac51bc9
commit a6d1ece15e
9 changed files with 68 additions and 242 deletions
+3 -8
View File
@@ -710,15 +710,11 @@ pub enum FeatureFlag {
Orchestration,
/// Enables server-side durable messaging for orchestration (v2).
/// When enabled, messages and events are stored in Postgres and discovered
/// via server polling instead of client-local conversation history.
/// When enabled, messages and events are stored in Postgres and the client
/// opens a persistent SSE connection to the server to receive events in
/// real time.
OrchestrationV2,
/// Enables SSE-based event push for orchestration instead of polling.
/// When enabled the client opens a persistent SSE connection to the server
/// and receives events in real time instead of short-polling.
OrchestrationEventPush,
/// Shows a pending user query indicator during summarization when a follow-up
/// prompt is queued via `/fork-and-compact` or `/compact-and`.
PendingUserQueryIndicator,
@@ -906,7 +902,6 @@ pub const DOGFOOD_FLAGS: &[FeatureFlag] = &[
FeatureFlag::RememberFastForwardState,
FeatureFlag::HOANotifications,
FeatureFlag::OrchestrationV2,
FeatureFlag::OrchestrationEventPush,
FeatureFlag::GeminiNotifications,
FeatureFlag::LocalDockerSandbox,
FeatureFlag::VerticalTabsSummaryMode,