diff --git a/examples/websocket/src/echo.rs b/examples/websocket/src/echo.rs index 1116d1ea..85b3caf6 100644 --- a/examples/websocket/src/echo.rs +++ b/examples/websocket/src/echo.rs @@ -30,7 +30,6 @@ pub fn connect() -> impl Sipper { tokio::time::sleep(tokio::time::Duration::from_secs(1)) .await; - output.send(Event::Disconnected).await; continue; } }; diff --git a/examples/websocket/src/main.rs b/examples/websocket/src/main.rs index a868be70..1968843a 100644 --- a/examples/websocket/src/main.rs +++ b/examples/websocket/src/main.rs @@ -1,6 +1,5 @@ mod echo; -use iced::futures::stream; use iced::widget::{ button, center, column, operation, row, scrollable, text, text_input, }; @@ -23,7 +22,6 @@ enum Message { NewMessageChanged(String), Send(echo::Message), Echo(echo::Event), - Server, } impl WebSocket { @@ -34,7 +32,10 @@ impl WebSocket { new_message: String::new(), state: State::Disconnected, }, - operation::focus_next(), + Task::batch([ + Task::future(echo::server::run()).discard(), + operation::focus_next(), + ]), ) } @@ -76,16 +77,11 @@ impl WebSocket { operation::snap_to_end(MESSAGE_LOG) } }, - Message::Server => Task::none(), } } fn subscription(&self) -> Subscription { - Subscription::batch([ - Subscription::run(|| stream::once(echo::server::run())) - .map(|_| Message::Server), - Subscription::run(echo::connect).map(Message::Echo), - ]) + Subscription::run(echo::connect).map(Message::Echo) } fn view(&self) -> Element<'_, Message> {