Releases: k-l-lambda/anthroid
Releases · k-l-lambda/anthroid
v1.0.15
Changes since v1.0.14
- feat:
set_wrapper.shnow syncs model toconfig.jsonon every run - fix:
run.mjsreadsconfig.jsonfor provider/model defaults (lowest priority after env and stdin config) - refactor: Remove SharedPrefs as credential store —
api_key,base_url,modelnow sourced exclusively from the claude wrapper file (set_wrapper) - fix: Thread safety for session maps and agent buffers (GPT-5.4 review)
- fix: Remove
replay=1from one-shot SharedFlows to prevent re-trigger on screen rotation - fix: Atomic resize-capture-restore per tmux sync cycle (no orphaned resized windows)
- fix: Noise message filter (
HEARTBEAT_OK,PONG,NO) applied on WS path
v1.0.14
Changes since v1.0.13
- feat:
session.drainAllPending— keyless drain for offline message delivery - feat: Only suppress notification for currently viewed remote session (not all foreground)
- feat: Dynamic notification channels per session/job name (Gateway Msg - Gold Monitor, etc.)
- fix: Memory sync always uses full mode (Android has no git for patches)
- fix: New session ID on app launch (prevents old conversation reuse)
- fix: WS ↔ drain message dedup via
dedupeKey - fix: Noise message filter (HEARTBEAT_OK, PONG, NO) in drain path
- fix: Conversation bulk delete now works for OpenClaw sessions
- refactor: Temporary tmux window instead of resizing original (no more restore issues)
- fix: Pre-warm session labels via listSessions before drain notifications
- fix: Summary notification uses dynamic channel (removes Gateway Messages dependency)
v1.0.13
Changes since v1.0.12
- fix: OpenClaw local conversation history — agent now remembers previous messages
- History saved to
.sessions/session-xxx.history.jsonafter each turn - Injected as context prefix on next message
- Fixed readline race condition in session file reading (use readFileSync)
- Fixed ESM require() error in saveHistory/loadHistory
- Fixed wrong assets source directory (root/assets/ not app/src/main/assets/)
- History saved to
- fix: Conversation bulk delete now works for OpenClaw sessions
- fix: clearMessages() resets OpenClaw session for clean new conversation
- fix: deleteConversation() also removes associated .history.json file
v1.0.12
Changes since v1.0.11
- fix: tmux remote black screen — terminal content was not displayed when scroll-pause was triggered during initial layout. Now always updates text; only auto-scroll is controlled by scroll position.
- fix: correct tmux restore order —
resize-window -Afirst, thenset-window-option(prevents -A overwriting option back to "manual")
v1.0.11
Changes since v1.0.10
- fix: tmux auto-resize fully restored on disconnect (width + height)
- Save
window-sizeoption before resize, restore on disconnect - Correct command order:
resize-window -Afirst, thenset-window-option(reversed order causes -A to overwrite option back to "manual") - Dedicated
teardownScopewith idempotent disconnect
- Save
- fix: Shell injection validation (isSafe* regex on all SSH methods)
- fix: ClaudeFragment backstack listener lifecycle cleanup
- fix: ScrollChangedListener leak prevention
v1.0.10
Changes since v1.0.9
- fix: tmux auto-size restore now works reliably on disconnect
- Root cause:
teardownScope.cancel()inonCleared()killed the resize coroutine before SSH command executed - Fix: let teardownScope complete naturally (SupervisorJob + 10s SSH timeout)
- Root cause:
- fix: replaced GlobalScope with dedicated teardownScope (structured concurrency)
- fix: idempotent disconnect via
disconnectedflag - fix: full teardown serialization with
cancelAndJoin()on both sync and watch jobs
v1.0.9
Changes since v1.0.8
- fix: Shell injection prevention — validate hostname/session with safe regex, graceful early return instead of crash
- fix: ClaudeFragment backstack listener — remove in onDestroyView, prevent duplicate registration, guard stale view access
- fix: RemoteAgentFragment scroll listener leak — store reference, remove with isAlive guard in onDestroyView
- fix: Disconnect race condition — use cancelAndJoin() to serialize tmux teardown before resize restore
- feat: Auto-resize tmux window to match Anthroid terminal width (from v1.0.8)
Review: GPT-5.4 code review applied (2 rounds)
v1.0.8
Changes since v1.0.7
- feat: Auto-resize tmux window to match Anthroid terminal width. Measures monospace char width after layout, then runs
tmux resize-window -x <columns>before first capture-pane sync.
v1.0.7
Changes since v1.0.6
- fix: Use
chat.historywithrawContent=truefor full message content in OpenClaw remote view. Previously usedsessions.previewwhich hard-capped messages at 2000 chars. - requires: OpenClaw gateway with
rawContentsupport (commit56e39803)
v1.0.6
Changes since v1.0.5
- fix: Tmux mode — pause content sync when user scrolls up; resume on scroll to bottom. Down-arrow dims when paused.
- fix: Tmux mode — reliable scroll-to-bottom after content update (use explicit scrollTo instead of fullScroll).
- fix: OpenClaw remote — increase history
maxCharsfrom 2000 to 20000 to prevent long messages from being truncated. - fix: Increase
remoteSessionEventFlowbuffer from 64 to 256 to reduce streaming delta drops.