tag:github.com,2008:https://github.com/statico/meshtastic-cli/releases Release notes from meshtastic-cli 2026-03-09T22:35:39Z tag:github.com,2008:Repository/1119038610/v1.13.2 2026-03-09T22:38:42Z v1.13.2 <ul> <li>Use alternate screen buffer (like vim/htop) to prevent scroll contamination in tmux</li> <li>Fullscreen connecting splash screen with centered cyberpunk banner</li> <li>Update ink 6.6.0 → 6.8.0 (fixes nested Text wrapping, trailing newline, synchronized output)</li> <li>Treat keycap emoji (e.g. 4⃣) as double-width characters for correct column alignment</li> <li>Ctrl+L now also clears scrollback buffer for cleaner redraws</li> </ul> github-actions[bot] tag:github.com,2008:Repository/1119038610/v1.13.1 2026-03-09T21:51:16Z v1.13.1 <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/statico/meshtastic-cli/compare/v1.13.0...v1.13.1"><tt>v1.13.0...v1.13.1</tt></a></p> github-actions[bot] tag:github.com,2008:Repository/1119038610/v1.13.0 2026-03-09T21:08:42Z v1.13.0 <ul> <li>Fix display scrolling/broken UI under tmux: off-by-one in panel height calculations caused every panel to overflow by 1 line</li> <li>Update ink 6.6.0 → 6.8.0: fixes nested Text wrapping, fullscreen trailing newline, and synchronized output</li> <li>Treat keycap emoji (e.g. 4⃣) as double-width characters for correct column alignment</li> <li>Ctrl+L now also clears scrollback buffer for cleaner redraws in tmux</li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/statico/meshtastic-cli/compare/v1.12.1...v1.13.0"><tt>v1.12.1...v1.13.0</tt></a></p> statico tag:github.com,2008:Repository/1119038610/v1.12.1 2026-03-09T05:23:45Z v1.12.1 <p>Fix DM input field rendering below the conversation list panel. Now uses a full border box matching the chat panel's layout approach.</p> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/statico/meshtastic-cli/compare/v1.12.0...v1.12.1"><tt>v1.12.0...v1.12.1</tt></a></p> statico tag:github.com,2008:Repository/1119038610/v1.12.0 2026-03-09T05:21:21Z v1.12.0 <h2>What's new</h2> <ul> <li><strong>Cyberpunk nav tabs</strong>: Restyled navigation with <code>1⟩Pkt 2⟩Nod</code> format</li> <li><strong>Ctrl+D/U page navigation</strong> in DM conversations and config panel</li> <li><strong>Nodeinfo request</strong> (<code>i</code> key) in chat and DM views</li> <li><strong>Triangle accordion indicators</strong> in config panel</li> <li><strong>Inline reply indicators</strong> (<code>↪ "text"</code>) instead of separate lines</li> </ul> <h2>Bug fixes</h2> <ul> <li>Fix <code>n</code>/Enter in packet view jumping to wrong node (was searching unsorted array)</li> <li>Fix node navigation race condition causing wrong node selection</li> <li>Fix packet list missing rows (memo comparison and scroll bounds)</li> <li>Fix DM input field overflowing below conversation list</li> <li>Fix chat not using full height (messages now anchor to bottom)</li> <li>Fix DM messages being truncated (now multi-line with word wrap)</li> <li>Fix chat scrolling (simple Slack-style instead of center-scroll)</li> <li>Fix unread DM markers never clearing</li> <li>Fix emoji rendering through help dialog overlay</li> <li>Fix MeshView invalid dates (use <code>import_time_us</code>)</li> <li>Fix chat "No channel info" after config load</li> <li>Fix nav bar wrapping into border at certain widths</li> <li>Fix crash when protobuf enum is undefined (Docker compatibility)</li> <li>Strip newlines from node names and packet text everywhere</li> <li>Strip variation selectors (U+FE0F) from message text</li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/statico/meshtastic-cli/compare/v1.11.1...v1.12.0"><tt>v1.11.1...v1.12.0</tt></a></p> statico tag:github.com,2008:Repository/1119038610/v1.11.1 2026-03-08T04:33:31Z v1.11.1 <ul> <li>Fix 5 bugs: Logger.warn data loss, falsy value handling, logging flag, boolean upsert, DM query</li> <li>Fix UI bugs and update dependencies (ink 6.8.0, protobufs 2.7.18)</li> <li>Lazy-load config sections instead of loading all at once</li> <li>Refactor nav bar: extract NavBar component with data-driven TABS array</li> </ul> github-actions[bot] tag:github.com,2008:Repository/1119038610/v1.11.0 2026-03-04T03:12:14Z v1.11.0 <ul> <li>Fix log tab: proper column headers, full MM/DD timestamps, newest-first ordering</li> <li>Add Shift+X in nodes view to bulk-remove all unknown nodes</li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/statico/meshtastic-cli/compare/v1.10.0...v1.11.0"><tt>v1.10.0...v1.11.0</tt></a></p> statico tag:github.com,2008:Repository/1119038610/v1.10.0 2026-02-09T23:40:14Z v1.10.0 <p>Flat config editor, diff-based change tracking, bot mode, and chat/node bug fixes.</p> <ul> <li><strong>New flat config editor</strong> — Replace hierarchical 2-level config UI with a single flat scrollable list of every config setting. Navigate with j/k, Enter/Space to edit, / to filter, c to commit, C to discard. ConfigPanel.tsx rewritten from 1468 → 152 lines.</li> <li><strong>Diff-based batch edit count</strong> — Toggling a value back no longer inflates the edit counter.</li> <li><strong><code>--bot</code> flag</strong> — Auto-reply to ping/test messages with pong/ack including SNR, RSSI, and hop count info.</li> <li><strong>Chat selection fixes</strong> — Keep viewport stable when entering selection mode; clamp selectedMessageIndex to prevent selecting past last message.</li> <li><strong>Node navigation fixes</strong> — Deterministic sort ordering with tiebreaker; preserve node selection across list updates.</li> </ul> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/statico/meshtastic-cli/compare/v1.9.6...v1.10.0"><tt>v1.9.6...v1.10.0</tt></a></p> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/statico/meshtastic-cli/compare/v1.9.6...v1.10.0"><tt>v1.9.6...v1.10.0</tt></a></p> statico tag:github.com,2008:Repository/1119038610/v1.9.6 2026-02-02T03:44:07Z v1.9.6 <p>Add MeshView URL to node details panel (clickable link when meshview server is configured)</p> <p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/statico/meshtastic-cli/compare/v1.9.5...v1.9.6"><tt>v1.9.5...v1.9.6</tt></a></p> statico tag:github.com,2008:Repository/1119038610/v1.9.5 2026-01-30T17:58:22Z v1.9.5 <h2>Bug Fixes</h2> <p><strong>Fixed random quit issue with comprehensive exit tracking and logging</strong></p> <p>This release addresses the issue where the program would randomly quit after running for hours without explanation. Multiple critical fixes were implemented:</p> <h3>Critical Fixes</h3> <ul> <li><strong>Synchronous log flushing</strong>: All exit and error logs now use <code>fsyncSync()</code> to guarantee logs are written to disk before process exits. Previously, async writes could be lost during unexpected exits.</li> <li><strong>Race condition in quit flow</strong>: Fixed issue where <code>process.exit()</code> was called immediately after Ink's <code>exit()</code> without allowing cleanup to complete. Added 100ms delay to ensure proper shutdown.</li> <li><strong>Hung iterator detection</strong>: Added automatic cleanup if the transport poll loop exits unexpectedly while still marked as running.</li> </ul> <h3>New Exit Tracking</h3> <ul> <li><strong>Exit log</strong> (<code>~/.config/meshtastic-cli/exit.log</code>): Every program exit now logged with reason, uptime, memory usage, and full context</li> <li><strong>Heartbeat system</strong> (<code>~/.config/meshtastic-cli/heartbeat.log</code>): Updates every 10 seconds to detect silent crashes</li> <li><strong>beforeExit handler</strong>: Catches when event loop becomes empty unexpectedly</li> <li><strong>Process warning handler</strong>: Logs Node.js warnings (deprecation, experimental features)</li> </ul> <h3>Enhanced Logging</h3> <ul> <li>Transport async iterator operations (queued outputs, pending promises, done signals)</li> <li>Poll loop lifecycle (start, heartbeat, exit with full context)</li> <li>Emit operations (resolver vs queue tracking)</li> <li>Quit dialog interactions (key presses, confirmations, cancellations)</li> <li>All critical operations now logged with detailed context</li> </ul> <h3>Debug Files</h3> <ul> <li><code>~/.config/meshtastic-cli/exit.log</code> - Detailed exit tracking</li> <li><code>~/.config/meshtastic-cli/heartbeat.log</code> - Process health monitoring</li> <li><code>~/.config/meshtastic-cli/error.log</code> - Error tracking (existing)</li> <li><code>~/.config/meshtastic-cli/log</code> - Verbose logging with <code>--enable-logging</code></li> </ul> <p>See the exit log to diagnose why the program quit. Use heartbeat timestamp to detect silent crashes.</p> statico