bloby-bot 0.37.0 → 0.37.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bloby-bot",
3
- "version": "0.37.0",
3
+ "version": "0.37.1",
4
4
  "releaseNotes": [
5
5
  "1. # voice note (PTT bubble)",
6
6
  "2. # audio file + caption",
@@ -736,13 +736,19 @@ export class ChannelManager {
736
736
  }).catch(() => {});
737
737
  }
738
738
 
739
- // Handle turn completion — restart backend if file tools were used
740
- if (type === 'bot:turn-complete' && eventData.usedFileTools) {
741
- this.opts.restartBackend();
739
+ // Handle turn completion — restart backend if file tools were used,
740
+ // and tell every chat client the agent is idle so the typing dots
741
+ // stop. This callback owns the live conversation whenever a WhatsApp
742
+ // self-chat arrives before the dashboard does, so without this signal
743
+ // the dashboard's typing indicator would stay on forever.
744
+ if (type === 'bot:turn-complete') {
745
+ if (eventData.usedFileTools) this.opts.restartBackend();
746
+ broadcastBloby('bot:idle', { conversationId: convId });
747
+ return;
742
748
  }
743
749
 
744
750
  // Don't forward internal events to chat clients
745
- if (type === 'bot:turn-complete' || type === 'bot:conversation-ended') return;
751
+ if (type === 'bot:conversation-ended') return;
746
752
 
747
753
  // Mirror streaming + task events to chat clients
748
754
  broadcastBloby(type, eventData);