mirror of
https://github.com/openai/codex.git
synced 2026-10-28 18:58:46 +00:00
## Why Automatic marketplace update failures were only logged, leaving users without a visible startup warning. ## What changed Send marketplace update errors and task startup failures through app-server warning notifications. Queue background warnings until a client initializes in both standalone and in-process servers, and centralize startup configuration warning delivery. ## Testing Add a TUI integration test and snapshot covering two marketplace name mismatch failures, the warning count, and navigation between their details with `F2` and the arrow keys. GitOrigin-RevId: af55a5555affd9d89ac15a546163daeaafd3b3e8
40 lines
1.2 KiB
Rust
40 lines
1.2 KiB
Rust
//! Delivers configuration and background task warnings after a client initializes.
|
|
//! The runtime event loop owns the receiver and consumes background warnings once.
|
|
|
|
use codex_app_server_protocol::ConfigWarningNotification;
|
|
use codex_app_server_protocol::ServerNotification;
|
|
use codex_app_server_protocol::WarningNotification;
|
|
|
|
use crate::outgoing_message::ConnectionId;
|
|
use crate::outgoing_message::OutgoingMessageSender;
|
|
|
|
pub(crate) struct StartupWarnings {
|
|
pub(crate) config: Vec<ConfigWarningNotification>,
|
|
}
|
|
|
|
impl StartupWarnings {
|
|
pub(crate) async fn send_config_to_connections(
|
|
&self,
|
|
outgoing: &OutgoingMessageSender,
|
|
connection_ids: &[ConnectionId],
|
|
) {
|
|
for notification in self.config.iter().cloned() {
|
|
outgoing
|
|
.send_server_notification_to_connections(
|
|
connection_ids,
|
|
ServerNotification::ConfigWarning(notification),
|
|
)
|
|
.await;
|
|
}
|
|
}
|
|
}
|
|
|
|
pub(crate) async fn send_warning(outgoing: &OutgoingMessageSender, message: String) {
|
|
outgoing
|
|
.send_server_notification(ServerNotification::Warning(WarningNotification {
|
|
thread_id: None,
|
|
message,
|
|
}))
|
|
.await;
|
|
}
|