Skip to content

v1.3.138

Choose a tag to compare

@topcheer topcheer released this 07 Jul 19:09
· 3720 commits to main since this release

v1.3.138

Desktop

  • Reasoning duration display + search button in chat header
  • Edit & Resend button on user messages
  • Endpoint limits (context_window, max_tokens) and Anthropic OAuth in settings
  • Export conversation as markdown file
  • Onboarding flow: session model restore, config hardening, UI improvements
  • Custom LLM provider support in onboarding (TUI + Desktop)
  • Keyboard shortcuts: Cmd+N, Cmd+Shift+S/T/F, Cmd+F in-conversation search
  • Resizable sidebar with drag-to-resize
  • Skeleton loading placeholders + multi-toast system
  • GitHub-style diff code block highlighting
  • Markdown enhancements: horizontal scroll for wide tables, hover-reveal timestamps, details/summary, kbd, mark styles, blockquote/list/link styling, print export
  • Windows fix: dual title bar removed via Frameless mode
  • Accessibility: reduced-motion support, focus-visible outline, link hover animation
  • Performance: set data-highlighted attribute after highlight.js to prevent re-highlighting

IM (Instant Messaging)

  • Image sending support for WhatsApp adapter
  • Code-block-aware message splitting for Discord, Slack, and Mattermost
  • Slack thread support for inbound and outbound messages
  • DingTalk: convert markdown images to clickable links
  • Matrix: markdown-aware splitting + Close() fix (was reconnecting after shutdown)
  • Feishu: increase message limit from 4000 to 28000 chars
  • Twitch: increase inter-message delay to 1500ms
  • Telegram: add HTTP 429 rate-limit retry, 1s inter-message delay per API docs
  • Nostr: hoist ECDH out of chunk loop, break on sign errors, context propagation
  • WeCom/WeChat: byte-aware message splitting
  • Slack mrkdwn: remove incorrect HTML entity escaping
  • WhatsApp: convert markdown italic to italic, preserve URLs in links
  • Platform limits: sync Slack (12000), Feishu (28000) with actual API docs
  • WebSocket timeouts: 30s dial timeout added to DingTalk, Discord, QQ, PC relay, Mattermost, WeCom, tunnel relay

Agent Intelligence

  • Error classifier (AgentDebug-inspired): 10 categories with type-specific guidance on first error
  • Budget guard (BAGEN-inspired): dual-signal — per-step token cost trend + input token delta
  • Context-fill-aware tool output guard: progressive truncation by fill %
  • Parallel & speculative execution: throttled by context fill, skips memoized tools
  • Compaction: preserve verbatim user requests in summary payload
  • Cache-break-aware tool result clearing

TUI

  • Onboarding: cyclic wrap-around navigation, correct back-navigation for non-linear steps
  • Custom LLM provider support in onboarding
  • Nil deref guards in /compact, /undo, inspector checkpoints, /files commands
  • Stats panel: remove dead loop

Bug Fixes

  • Data race in saveAdaptiveCaps reading lo/hi without cap.mu
  • Cron scheduleJob race + IM SendInteractive lock-while-sending deadlock
  • Negative maxRunes panic in util.Truncate
  • VS16 emoji variation selectors removed from IM tool formatting
  • Windows: CREATE_NO_WINDOW to prevent tool result leaking to terminal
  • GOMEMLIMIT raised to 1GiB to prevent OOM kills in CI
  • Ratchet rules: semantic duplicate detection in AddRule
  • Context: preserve multi_file_read results when only partially superseded
  • Reflection: track multi_file_edit, multi_file_write, notebook_edit in FilesEdited

Performance

  • estimateTokens: use strings.Builder to avoid O(n^2) concat
  • ANSI escape sequences stripped from command output at ingestion
  • cmdpane: truncate stale log files to prevent unbounded disk growth

Infrastructure

  • WebUI: remove dead WebSocket write methods
  • A2A: mTLS client transport respects proxy env vars
  • Knight: bound rejectFeedbackStore in-memory entries (500 cap)
  • Cron persistence: use atomic writes
  • Ratchet rules: use atomic writes
  • HarmonyOS: Flutter for OpenHarmony scaffolding + conditional imports for scanner/wakelock

Full Slot Rotation Completed

All 5 review slots (0-4) completed since v1.3.137.