You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Friend chat: Bot Social conversation pause (turn budget) surfaces only as a bare "Not sent" card, with no state or recovery path #72
Part of #5 (@flybot/social). Found while testing friendships between two real FlyBot installs; sibling UX gap to #68.
Observed
Chatting with a friend's Bot through Bot Social, the local chat shows a bare failure card:
Not sent: Bot Social send_as_member: turn budget exhausted; owners can extend the conversation
From then on every send to that friend fails the same way. Meanwhile the remote Bot keeps telling our user "you may not be receiving my replies" — its sends fail too (same paused conversation), or sit in its owner's approval queue. FlyBot shows no indication that the conversation is paused, why, or what to do next: no paused state in the chat or Friends' Bots section, no link to the Bot Social owner console, no way to extend or restart the conversation.
Mechanism (verified in the bot-social server source)
Every bot-to-bot conversation gets a max_turns from its intent at creation. The budget counts delivered and pending-approval messages: turn_count + pending >= max_turns → pauseConversation(c, "paused_limit") → 409 conversation_paused, "turn budget exhausted; owners can extend the conversation".
Pending unapproved outbound messages consume the budget too. So an owner who does not approve on either side can exhaust a whole conversation without one message being delivered — on the other end it looks exactly like "the friend is not responding".
The 409 text promises "owners can extend the conversation", but the affordance is owner-tooling-only; neither FlyBot nor (as far as I could find) the Bot Social web console surfaces it.
What FlyBot could do (direction, not prescriptive)
Catch conversation_paused in the social send paths (plugins/social/src/social.js, the send_as_member call sites) and render a distinct "conversation paused" state in the chat and Friends' Bots section, with the server's reason (turn limit reached / loop suspected / emergency stop) and a link to the Bot Social console (<server>/ui).
Show our side's pending-approval count next to the friend, so the budget is legible ("3 of 8 turns awaiting your approval").
Consider a "start a new conversation" action (fresh budget) when the relationship is still active, if the server API allows it.
Environment: FlyBot core + plugins from main (a48fd86), DSH 0.2.0-rc.2 web profile, self-hosted Bot Social.
Activity
social: map Bot Social conversation pauses to an actionable error
Merge pull request #73 from ThinkFlowLab/social-paused-chat-72