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:
@@ -337,8 +337,6 @@ async fn handle_stage_text_generation(
|
||||
)
|
||||
.await?;
|
||||
|
||||
_ = message_context.room().typing_notice(true).await;
|
||||
|
||||
let prefixes_to_strip = match controller_type {
|
||||
ChatCompletionControllerType::ViaText { prefixes_to_strip } => prefixes_to_strip.clone(),
|
||||
ChatCompletionControllerType::ViaAudio => vec![],
|
||||
@@ -498,8 +496,6 @@ async fn handle_stage_speech_to_text_actual_transcribing(
|
||||
.get_media_content(&media_request, true)
|
||||
.await?;
|
||||
|
||||
_ = message_context.room().typing_notice(true).await;
|
||||
|
||||
let span = tracing::debug_span!(
|
||||
"speech_to_text_generation",
|
||||
agent_id = agent.identifier().as_string()
|
||||
|
||||
Reference in New Issue
Block a user