Commit Graph
299 Commits
Author SHA1 Message Date
arkonandClaude Opus 4.6 31b766c10f chore: bump version to 0.1624
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 20:49:16 +01:00
arkonandClaude Opus 4.6 4d70bc5eea chore: bump version to 0.1623
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 20:42:05 +01:00
arkonandClaude Opus 4.6 935bb8c268 chore: bump version to 0.1622
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 20:38:25 +01:00
arkonandClaude Opus 4.6 70cc2a3375 chore: bump version to 0.1621
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 20:37:32 +01:00
arkonandClaude Opus 4.6 9a4917bf91 chore: bump version to 0.1620
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:38:11 +01:00
arkonandClaude Opus 4.6 fcca197e81 chore: bump version to 0.1619
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:24:03 +01:00
3c29b1fa6e fix: CJK/Unicode wide character support (#13)
Set UTF-8 locale in all PTY spawn environments, add xterm-addon-unicode11
for proper double-width character measurement, and update LocalEchoOverlay
helpers to respect CJK character visual width in positioning, line wrapping,
and cursor placement.

Based on PR #13 by @TeigenZhang, adapted to current codebase structure.

Co-Authored-By: Tenggan Zhang <TeigenZhang@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 16:13:09 +01:00
arkonandClaude Opus 4.6 5170c188c3 fix: respect Claude CLI startup mode setting (#12)
The "Startup Mode" setting (normal/bypass/allowedTools) was saved to
settings but never read when spawning sessions. All code paths had
--dangerously-skip-permissions hardcoded. Now reads claudeMode from
~/.claudeman/settings.json and passes it through Session → TmuxManager.

Closes #12

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 15:52:55 +01:00
arkon 5be891a913 chore: bump version to 0.1617 2026-02-24 15:32:30 +01:00
arkon eda1060063 chore: bump version to 0.1616 2026-02-24 13:44:15 +01:00
arkon 0f97d1fa8d chore: bump version to 0.1615 2026-02-24 13:39:44 +01:00
arkon 37af7ead20 chore: bump version to 0.1614 2026-02-24 13:36:42 +01:00
arkon 2e816f55e4 chore: bump version to 0.1613 2026-02-24 13:34:30 +01:00
arkon 3ce3b2bede chore: bump version to 0.1612 2026-02-24 13:30:17 +01:00
arkon b8c7b8df9e chore: bump version to 0.1611 2026-02-24 13:26:27 +01:00
arkon 76e5c4f512 chore: bump version to 0.1610 2026-02-24 13:25:26 +01:00
arkon 2097fd3989 chore: bump version to 0.1609 2026-02-24 13:23:00 +01:00
arkon 406135a7dd chore: bump version to 0.1608 2026-02-24 13:20:19 +01:00
arkon 439ccbe108 chore: bump version to 0.1607 2026-02-24 13:17:08 +01:00
arkon c7967ae21e chore: bump version to 0.1606 2026-02-24 13:15:01 +01:00
arkon 06e4a882fe chore: bump version to 0.1605 2026-02-24 13:07:18 +01:00
arkon 95823cb2bd chore: bump version to 0.1604 2026-02-24 13:00:54 +01:00
arkon 675cfeaf67 chore: bump version to 0.1603 2026-02-24 12:50:27 +01:00
arkon 649958f9ae chore: bump version to 0.1602 2026-02-22 13:46:57 +01:00
arkonandClaude Opus 4.6 21b2a1191b feat: integrate xterm-zerolag-input library into Claudeman app.js
Replace the embedded 348-line LocalEchoOverlay class with the standalone
xterm-zerolag-input library (inlined as ZerolagInputAddon). A bridge
class `LocalEchoOverlay extends ZerolagInputAddon` preserves the
constructor API so existing `new LocalEchoOverlay(terminal)` call works.

All 43+ private property accesses (_flushedOffset, _bufferDetectDone,
_lastRenderKey, _render(), _detectBufferText(), etc.) replaced with
public library methods:

- Backspace: 60-line 3-branch handler → removeChar() returning
  'pending'|'flushed'|false + Map sync
- Tab completion: _bufferDetectDone/_detectBufferText/_flushedOffset
  → resetBufferDetection()/detectBufferText()/undoDetection()/rerender()
- Tab switch save: _flushedOffset/_flushedText reads → getFlushed()
- Tab switch restore: direct assignments → setFlushed(n, t, false)
- Buffer detection guard: _bufferDetectDone=true → suppressBufferDetection()
- Resize re-render: _lastRenderKey='';rerender() → rerender()
- Post-load render: _lastRenderKey='';_render() → rerender()

Verified with 9 Playwright integration tests + manual testing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-22 11:41:44 +01:00
arkon 36f0772c2f chore: bump version to 0.1600 2026-02-22 10:47:46 +01:00
arkon 4aa38c1bbb chore: bump version to 0.1599 2026-02-22 09:23:26 +01:00
arkon c78bb53968 chore: bump version to 0.1598 2026-02-22 07:34:33 +01:00
arkon 90b293ab3d chore: bump version to 0.1597 2026-02-22 06:04:37 +01:00
arkon 84c454cf40 chore: bump version to 0.1596 2026-02-22 05:52:25 +01:00
arkon 1a36ae15b8 chore: bump version to 0.1595 2026-02-22 05:46:56 +01:00
arkon 3a5ab330b7 chore: bump version to 0.1594 2026-02-22 05:45:04 +01:00
arkon 67b5c71019 chore: bump version to 0.1593 2026-02-22 05:34:52 +01:00
arkon ce49cd8c46 chore: bump version to 0.1592 2026-02-22 02:49:19 +01:00
arkonandClaude Opus 4.6 c060b72757 fix: local echo overlay — 5 bugs fixed, 39-test suite, wrapping text survives tab switch
Root cause bugs fixed in local echo overlay:
1. Stored flushed text as string (_flushedText, _flushedTexts Map) to avoid reading stale terminal buffer
2. Overlay stays visible when pendingText empties but flushed > 0
3. Backspace into flushed text has immediate visual feedback
4. _flushedTexts.delete() added alongside _flushedOffsets.delete() in Enter/Ctrl+C/cleanup
5. OSC terminal responses (xterm color queries) no longer clear flushed text state —
   was triggered by _handleColorEvent → triggerDataEvent during buffer load after tab switch

Added comprehensive test suite (test/local-echo-user-test.mjs): 39 tests across 9 groups
including line wrapping, tab switch round-trips, backspace into flushed text, and more.
All 6 test suites pass (133 total assertions).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 02:05:49 +01:00
arkon c820acc96e fix: make localEchoEnabled per-platform so desktop/mobile settings don't overwrite each other
Strip localEchoEnabled from server PUT payload (stays in device-specific
localStorage only). Add to displayKeys as safety net for stale server values.

chore: bump version to 0.1588
2026-02-21 23:37:29 +01:00
arkonandClaude Opus 4.6 6c75432d74 chore: bump version to 0.1587
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 14:35:43 +01:00
arkonandClaude Opus 4.6 7fbc60db9b chore: bump version to 0.1586
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 14:00:16 +01:00
arkon 0fe6251424 chore: bump version to 0.1585 2026-02-21 07:12:57 +01:00
arkonandClaude Opus 4.6 85ee601b5b chore: bump version to 0.1584
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:26:11 +01:00
arkonandClaude Opus 4.6 2de3c46f66 chore: bump version to 0.1583
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:18:43 +01:00
arkon c561c41146 chore: bump version to 0.1582 2026-02-20 15:58:28 +01:00
arkon bad074756d chore: bump version to 0.1581 2026-02-20 15:41:43 +01:00
arkonandClaude Opus 4.6 a34b1cf4ce fix: make brotli optional in build, update dist for perf changes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:07:54 +01:00
arkonandClaude Opus 4.6 819b1771c3 chore: bump version to 0.1580
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:04:45 +01:00
arkon 3f9632c8c7 chore: bump version to 0.1579 2026-02-20 14:33:06 +01:00
arkonandClaude Opus 4.6 663070f3f1 chore: bump version to 0.1578
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 14:04:16 +01:00
arkonandClaude Opus 4.6 ee5e070776 chore: bump version to 0.1576
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:06:45 +01:00
arkonandClaude Opus 4.6 06c4e3933b chore: bump version to 0.1575
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:53:02 +01:00
arkon 2528d98dce chore: bump version to 0.1574 2026-02-20 12:03:51 +01:00