build: release v1.2.0-beta.5 — streaming preview, typing indicators, markdown rendering, rate limiting

Made-with: Cursor
This commit is contained in:
chenhg5 committed 2026-03-06 11:21:46 +08:00
1 parent c953bab72b
commit 53d5576b4b
3 files changed
+5 -2

No files matched your search

+2 -1
View File
@@ -1,6 +1,6 @@
# Changelog
## v1.2.0-beta.4 (2026-03-06)
## v1.2.0-beta.5 (2026-03-06)
### New Features
- **Streaming Preview**: Real-time message preview that updates in-place as the agent streams output; supported on Telegram, Discord, and Feishu with configurable interval, min delta, and max length
@@ -13,6 +13,7 @@
- **`/switch` Fuzzy Matching**: Switch sessions by name, ID prefix, or summary substring in addition to numeric index
### Improvements
- **Streaming Preview + Tool Messages UX**: In non-quiet mode, when thinking/tool messages are sent, the streaming preview freezes and the final response is delivered as a new message at the bottom of the chat (instead of silently updating an older message above the tool messages)
- **Telegram Markdown→HTML**: Full Markdown-to-HTML conversion with proper escaping, placeholder-based tag nesting, and automatic fallback to plain text on parse errors
- **Discord Code-Fence-Aware Splitting**: Message chunking now respects code block boundaries, closing and re-opening fences across splits
- **Feishu Dual Rendering**: Simple markdown uses Post messages (normal font), code blocks/tables use Card messages (native rendering); matches Claude-to-IM's approach
+2
View File
@@ -884,6 +884,7 @@ func (e *Engine) processInteractiveEvents(state *interactiveState, session *Sess
switch event.Type {
case EventThinking:
if !quiet && event.Content != "" {
sp.freeze()
preview := truncateIf(event.Content, e.display.ThinkingMaxLen)
e.send(p, replyCtx, fmt.Sprintf(e.i18n.T(MsgThinking), preview))
}
@@ -891,6 +892,7 @@ func (e *Engine) processInteractiveEvents(state *interactiveState, session *Sess
case EventToolUse:
toolCount++
if !quiet {
sp.freeze()
inputPreview := truncateIf(event.ToolInput, e.display.ToolMaxLen)
e.send(p, replyCtx, fmt.Sprintf(e.i18n.T(MsgTool), toolCount, event.ToolName, inputPreview))
}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "cc-connect",
"version": "1.2.0-beta.4",
"version": "1.2.0-beta.5",
"description": "Bridge local AI coding agents (Claude Code, Cursor, Gemini CLI) to messaging platforms (Feishu, DingTalk, Slack, Telegram, Discord, LINE, WeChat Work)",
"keywords": [
"claude-code",