Rework typing notifications
Previously, the bot only had rudimentary typing notification support. It used to send a single notification when starting a long task and did not bother with notifications anymore. By default matrix-rust-sdk gives these notifications a validity of 4 seconds, so it would expire shortly. If the bot takes longer to respond, you'd see the typing notification expire and wonder if a response is coming. Another edge case is the bot sending an answer quicker and the typing notice still being on. Some clients (like element-web) seem to hide the typing notice when a new message comes, so they don't experience this as problematic. The reworked typing notification system should be robust: - typing notices are sent continuously, until the bot finishes doing work - if the bot is performing multiple actions in a room (even for different people), typing notices would continue to be sent until the bot becomes idle - as soon as the bot becomes idle, a "not typing anymore" notice is sent to clear the state
This commit is contained in:
@@ -56,8 +56,6 @@ pub async fn handle_image(
|
||||
original_prompt.to_owned()
|
||||
};
|
||||
|
||||
message_context.room().typing_notice(true).await?;
|
||||
|
||||
let span = tracing::debug_span!(
|
||||
"image_generation",
|
||||
agent_id = agent.identifier().as_string()
|
||||
@@ -139,8 +137,6 @@ pub async fn handle_sticker(
|
||||
return Ok(());
|
||||
};
|
||||
|
||||
message_context.room().typing_notice(true).await?;
|
||||
|
||||
let span = tracing::debug_span!(
|
||||
"sticker_generation",
|
||||
agent_id = agent.identifier().as_string()
|
||||
|
||||
Reference in New Issue
Block a user