ratatui / templates

Templates for bootstrapping a Rust TUI application with Ratatui
https://ratatui.rs/templates
MIT License
255 stars 36 forks source link

Check select! bug in async #49

Open joshka opened 8 months ago

joshka commented 8 months ago

I suspect that this is still a bug as the select can complete on either branch of the select in a non-deterministic fashion. The right way to handle (I think) is to not fail when the sender fails to send. The send failing can indicator that the receiver is closed. See https://docs.rs/tokio/latest/tokio/sync/mpsc/struct.Sender.html

I think there's probably a second bug with this in how cancelations are handled https://docs.rs/tokio/latest/tokio/sync/mpsc/struct.Sender.html#cancel-safety

Originally posted by @joshka in https://github.com/ratatui-org/templates/pull/48#pullrequestreview-1913139384

MMitsuha commented 8 months ago

Sorry for late response, I am in school now. Maybe we need a simplified test to validate this

orhun commented 6 months ago

Is this still an issue?

joshka commented 6 months ago

This is mostly a prompt to check whether this is a bug at some point. I haven't looked into it more than superficially.