Make ServiceUpdateSettingsFrame uninterruptible—settings updates are generally independent of specific utterances.
Before this change, settings updates were often not applied. For example, a `TTSUpdateSettingsFrame` queued while the bot was speaking would only have an effect at the end of the bot's reply, and any interruption before the end of the reply would "cancel" the update.
This commit is contained in:
4
changelog/3819.changed.md
Normal file
4
changelog/3819.changed.md
Normal file
@@ -0,0 +1,4 @@
|
||||
- `ServiceSettingsUpdateFrame`s are now `UninterruptibleFrame`s. Generally speaking, you don't want a user interruption to prevent a service setting change from going into effect. Note that you usually don't use `ServiceSettingsUpdateFrame` directly, you use one of its subclasses:
|
||||
- `LLMUpdateSettingsFrame`
|
||||
- `TTSUpdateSettingsFrame`
|
||||
- `STTUpdateSettingsFrame`
|
||||
@@ -2118,7 +2118,7 @@ class TTSStoppedFrame(ControlFrame):
|
||||
|
||||
|
||||
@dataclass
|
||||
class ServiceUpdateSettingsFrame(ControlFrame):
|
||||
class ServiceUpdateSettingsFrame(ControlFrame, UninterruptibleFrame):
|
||||
"""Base frame for updating service settings.
|
||||
|
||||
Supports both a ``settings`` dict (for backward compatibility) and a
|
||||
|
||||
Reference in New Issue
Block a user