Skip to content

Releases: tianshu-ai/tianshu

v0.107.3

Choose a tag to compare

@github-actions github-actions released this 23 Oct 04:31
d2196a5

0.107.3 (2026-10-23)

Bug Fixes

  • add send dedup guard in wechat adapter (30s window) (0fbb862)
  • dedup wechat poll messages + fix syncBuf empty-string check (8a972ab)
  • disable per-turn auto-recovery to prevent duplicate tool calls (c87caaa)
  • disable recover-interrupted to prevent duplicate wechat replies (5144f96)
  • re-enable auto-recovery (per-turn + boot) (a4b528d)
  • wechat poll syncBuf empty-string check causing duplicate messages (e92d678)

Reverts

  • remove send dedup guard, keep debug log (6f657d9)

v0.107.2

Choose a tag to compare

@github-actions github-actions released this 22 Oct 19:01
4fe1d85

0.107.2 (2026-10-22)

Bug Fixes

  • use log instead of turnLog in entry_added debug trace (eadf4b7)

v0.107.1

Choose a tag to compare

@github-actions github-actions released this 22 Oct 18:57
69f6aeb

0.107.1 (2026-10-22)

Bug Fixes

  • cron,workboard: filter kind='user' when resolving webchat session (5c0251a)
  • messenger: filter channel_id IS NULL when resolving webchat session (8a75005)

v0.107.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 09:48
41bb1d3

0.107.0 (2026-10-22)

Features

  • message queue — pending messages wait for turn completion (5f93b4d)
  • queue: drag-and-drop reorder support (7927874)
  • queue: optimistic insert on drain via queue_update diff (aad03c5)
  • queue: redesign UI — card style with grip/play/edit/delete icons (11013ca)
  • ws: broadcast stream/message events to all tabs via broadcastToUser (a9df5d2)

Bug Fixes

  • await previous turn settlement before starting follow-up (f5974fc)
  • bridge: distinguish graceful unregister from socket drop (ef29400)
  • bridge: exclude ghost connections from forUser(), add null-socket guard in call() (c82f6a2)
  • follow_up runPrompt missing pluginRegistry and homeDir (f98877f)
  • queue: broadcast queue_update to all tabs via broadcastToUser (1860825)
  • queue: don't optimistic-insert queued messages into chat (f742d74)
  • queue: move queue to module-level per-user map, survive WS reconnect (19a23bf)
  • queue: optimistic insert when sending queued message now (004096f)
  • queue: push queue on WS connect, not on hello (ed2e5ac)
  • queue: push queue state on WS hello/reconnect (70f1c7b)
  • ws: register aborter in session-level abort registry for cross-tab stop (b6f6a30)
  • ws: register sendDirect with broadcastToUser to prevent infinite recursion (92b65b2)
  • ws: use sendDirect for connection-init messages (queue_update, stream_start, tool_catalog_changed) (155c143)
  • ws: use server messageId in history_truncated for cross-tab sync (21fcd8d)

Refactor

  • queue: move queue inside composer, match OpenClaw layout (c514b2a)

v0.106.1

Choose a tag to compare

@github-actions github-actions released this 21 Oct 18:02
6283836

0.106.1 (2026-10-21)

Bug Fixes

  • add pino to top-level dependencies (c684f4d)

v0.106.0

Choose a tag to compare

@github-actions github-actions released this 21 Oct 14:50
75ef5e6

0.106.0 (2026-10-21)

Features

  • auto-resume interrupted turns + bridge retry + stop button support (c3a679e)
  • auto-resume interrupted turns on WS reconnect (03b1280)
  • bridge: exponential backoff retry for bridge tool calls (1cfea72)
  • bridge: persist bridge registrations - tenant-scoped with userId (76a7696)
  • bridge: persist bridge registrations across server restarts (ffb9752)
  • server-side auto-recovery of interrupted agent turns (81bd2da)
  • startup recovery via session inbox + detect assistant with pending toolCalls (9f10107)
  • structured logging with pino + correlation ID (#627) (8ffcd94)

Bug Fixes

  • allow stop button to cancel inbox-triggered (recovery) turns (60304cd)
  • auto-resume handles zombie lane ops (not just dangling user msgs) (3b399c2)
  • bridge retry should not retry application errors (71c6f6b)
  • bridge: add exponential backoff retry to BridgeSandboxRunner (f29a298)
  • bridge: extend retry backoff to ~30s max (1s,2s,4s,8s,16s) (0007851)
  • bridge: fix require in ESM + log persist errors (14bec78)
  • bridge: skip redundant persist writes on heartbeat re-register (11e4b03)
  • dangling_user recovery also uses directive prompt + hide notification from user (70aa697)
  • detect interrupted turns where last msg is tool result or assistant with pending toolCalls (8dd5d00)
  • hide internal recovery system_note messages entirely (98b063a)
  • hide internal system_note notifications in frontend (c773cdb)
  • make recovery prompt directive — auto-continue without asking user (5df5cbd)
  • recovery: also delete assistant messages with pending tool calls (f7c10ef)
  • recovery: delete orphaned tool result before recovery turn (606a233)
  • recovery: don't delete successful tool results (e5b95fc)
  • recovery: skip user-stopped sessions on restart (5ba3e55)
  • strengthen auto-recovery in system prompt and recovery note (3ef24a2)

v0.105.0

Choose a tag to compare

@github-actions github-actions released this 21 Oct 01:21
6b53c14

0.105.0 (2026-10-21)

Features

  • 'Jump to latest' button when viewing history_around slice (2c8ea42)
  • load more messages when scrolling down in history_around view (5fcd011)
  • search jump to message loads surrounding context (5f61e8c)
  • universal scroll-to-bottom button (right corner circle) (0553f0f)

Bug Fixes

  • include tool messages in history_around and history_more_after (950a3b3)
  • match 'Load more' button style to 'Load earlier messages' (267ba2e)
  • scroll-to-bottom button fixed position at right corner (21b5f25)
  • show scroll-to-bottom button when hasMoreAfter is true (dc3bf1e)

v0.104.1

Choose a tag to compare

@github-actions github-actions released this 20 Oct 16:03
3df9952

0.104.1 (2026-10-20)

Bug Fixes

  • ui: gradual dissolve with 5-stop keyframes (e8dcf2b)
  • ui: inline keyframe dissolve instead of variants (2eb763c)
  • ui: reduce dissolve blur from 14px to 5px (14069fb)
  • ui: revert to working dissolve animation (183f1cf) (a8ca27e)

v0.104.0

Choose a tag to compare

@github-actions github-actions released this 20 Oct 15:53
9df12b7

0.104.0 (2026-10-20)

Features

  • ui: compact mode delays fold until turn completes (5a44a21)
  • ui: dissolve animation for compact tool call fold (ee4ef44)
  • ui: refined dissolve animation — slower, more layered (4fe8c6a)
  • ui: slower phased dissolve animation for tool calls (839b6af)
  • ui: use motion (framer-motion) for tool call dissolve animation (d5a8fee)

Bug Fixes

  • local truncate on edit_resend instead of full history reload (eb09e31)
  • scroll to bottom after history reload (edit_resend) (42dd04c)
  • use motion animate instead of AnimatePresence for dissolve (183f1cf)

v0.103.1

Choose a tag to compare

@github-actions github-actions released this 20 Oct 14:37
e182fff

0.103.1 (2026-10-20)

Bug Fixes

  • disable composer while awaiting response after WS reconnect (db0bc17)
  • don't clear awaiting state on synthetic empty stream_end (6a33df8)
  • emit synthetic stream_start after connected event via microtask (90707f2)
  • keep streaming state alive across connected/history_truncated (dc1ecdc)
  • markMessageInterrupted breaks JSON content in DB (b523d09)
  • preserve _awaitingResponse across history_truncated (edit_resend) (1f68d31)
  • preserve streaming placeholder across history reload (d4b8986)
  • re-push stream_start on WS reconnect when agent is running (cfd1221)
  • recognize edit_resend in outgoing queue flush (77ee8ac)
  • remove [interrupted] marker from aborted messages (22c1aa7)
  • show retry state when sending prompt while WS disconnected (467086e)
  • synthesize stream_start when flushing queued prompt on reconnect (94e45d3)
  • WS reconnect reliability + streaming state preservation (60ddbdd)