Commit Graph
15 Commits
Author SHA1 Message Date
akbashandakbash-bot e98c49658c fix: preserve shifted punctuation for alt legacy input (#1076)
refs #1066

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-07-06 17:37:36 +03:00
Ogulcan Celik f4d216b63d fix: preserve windows backspace input
refs #907

refs #920
2026-07-02 16:22:11 +03:00
Ogulcan Celik a937f7e85b fix: encode ctrl slash as ctrl underscore
refs #847
2026-06-28 23:34:14 +03:00
Ogulcan Celik 520d0b8b9c fix: prevent release key fallback from doubling input
refs #769
2026-06-24 02:47:07 +03:00
Ogulcan Celik 866aaf740e refactor: separate server client boundaries 2026-05-21 20:22:57 +03:00
kangal-botandkangal-bot fa0e380e62 fix: preserve alt backspace in panes (#165)
refs #155

Co-authored-by: kangal-bot <kangal-bot@users.noreply.github.com>
2026-05-18 20:13:19 +03:00
Can Celik 3397e1ce29 feat: add persistent server-client sessions
Make herdr persistent by default.

   Launching herdr now starts or reattaches to a background session
   server. Clients can detach and reattach while panes and agent
   processes keep running. Session mode now supports multi-client attach,
   auto-detect startup, and a thin-client/headless-server split.

   This also refactors the large app, ui, input, pane, config,
   workspace, and persistence modules into smaller focused submodules,
   while preserving behavior and colocating tests with the code they
   exercise.

   Upgrade notes:
   - persistence mode is now the default
   - in-app quit detaches the current client instead of stopping the server
   - use `herdr server stop` to stop the background session
   - use `--no-session` for the old single-process behavior
   - default socket paths now live under the config directory
2026-04-21 16:30:04 +03:00
Ogulcan Celik 305d957704 fix input encoding for ctrl+letter in kitty mode 2026-04-13 17:34:13 +03:00
acumen7 34bc876c66 fix: support IME input for Chinese and other UTF-8 characters
Phase 1: UTF-8 encoding support
- Modified encode_text_input() to handle characters without modifiers
- Added unit tests for Chinese character encoding

Phase 2: IME composition support
- Removed REPORT_ALL_KEYS_AS_ESCAPE_CODES keyboard flag
- Prevents keyboard protocol from interfering with IME
- Allows digit keys to be captured by input method for candidate selection

Fixes issue where IME input was not working properly.
Supports Chinese, Japanese, Korean, and other UTF-8 input methods.
Maintains compatibility with all existing features.

Tested:
- All 388 unit tests pass
- Chinese IME input with pinyin works correctly
- All navigate mode shortcuts work normally
- All terminal applications work normally
2026-04-07 20:52:24 +08:00
Can Celik b2e6929aa8 refactor: remove vt100 backend and make ghostty default 2026-04-05 16:38:50 +03:00
Can Celik 822c3b9e2d refactor: own pane mouse protocol enums outside vt100 2026-04-05 15:56:05 +03:00
Can Celik 41dd733ca7 feat: finish ghostty pane backend integration 2026-04-05 01:23:06 +03:00
Ogulcan Celik e857710d73 fix: align pane scrolling with tmux and ghostty 2026-03-31 23:03:11 +03:00
Ogulcan Celik ca93e6e251 fix: send shifted printable keys as text input 2026-03-30 13:50:24 +03:00
Ogulcan Celik 741fbbe8b3 refactor: split terminal keyboard protocol module 2026-03-30 13:01:52 +03:00