JJ Liebig
0496636dc7
fix(windows): preserve ctrl+slash key identity ( #3578 )
...
refs #2954
2026-09-03 17:20:57 +02:00
2ae8b91ca5
fix(windows): preserve dead-key composition in kitty panes ( #3548 )
...
refs #3546
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com >
Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com >
2026-09-02 23:19:49 +02:00
JJ Liebig
99c23cd1ea
fix(windows): preserve native pane key identity ( #3503 )
2026-09-01 21:46:16 +02:00
Can Celik
207be3c771
refactor: render the shell in the client ( #3487 )
...
* feat: add opt-in client-rendered shell
* feat: add client-owned shell mouse controls
* feat: complete client-owned shell chrome
* feat: add client-owned shell settings and notifications
* feat: run client shell custom commands
* feat: render popup terminals in client shell
* feat: add client-owned scrollback and copy mode
* fix: preserve client worktree trust defaults
* feat: render startup diagnostics in client shell
* feat: render onboarding in client shell
* feat: render product announcements in client shell
* feat: render release notes in client shell
* feat: render mobile switcher in client shell
* feat: render kitty graphics in client shell
* fix: preserve client shell lifecycle coherence
* refactor: route client shell commands through endpoint connections
* refactor: make the client-rendered shell the default
* refactor: remove monolithic launch mode
* refactor: complete client-rendered shell cutover
* perf: retain client pane surface updates
* perf: scale retained pane surface updates
* perf: remove remote pane input latency
* test: make client shell checks platform-independent
* fix: prevent client timer starvation
* test: fix client shell platform gates
* test: accept retained surfaces in cross-area checks
* test: make client mode assertions platform-neutral
* fix: badge only outdated integrations
2026-09-01 15:48:22 +03:00
Can Celik
c2637dc182
fix: handle associated text on special keys ( #3350 )
...
refs #3328
2026-08-29 00:06:44 +03:00
Can Celik
1d604329b0
fix(windows): preserve non-us shifted text ( #3055 )
...
* fix(windows): preserve non-us shifted text
refs #3045
* fix(windows): retain shifted key repeat lifecycle
refs #3045
2026-08-23 00:01:57 +03:00
Can Celik
a5c69beabf
fix(perf): eliminate redundant terminal wake work ( #2962 )
...
* fix(perf): eliminate redundant terminal wake work
* fix(perf): harden release benchmark gate
* test(perf): strengthen performance guardrails
2026-08-19 04:43:28 +03:00
Can Celik
0bd445020e
fix: preserve macOS IME commits in report-all mode ( #2947 )
2026-08-18 19:30:57 +03:00
Can Celik
d277d2f83b
fix(input): preserve alt-prefixed control keys ( #2543 )
...
refs #2514
2026-08-09 05:10:35 +03:00
Can Celik
1777e9bba3
feat(graphics): add direct pane frame streaming ( #2523 )
...
* feat(graphics): add direct pane frame streaming
* feat(graphics): expose pane visibility
* test(graphics): preserve legacy terminal image output
* fix(graphics): harden streaming lifecycle
* fix(input): preserve mouse releases outside panes
2026-08-09 02:04:39 +03:00
Can Celik
b0723b7906
fix(input): preserve shift in kitty alternate reports ( #2479 )
...
refs #2435
2026-08-07 19:07:36 +03:00
serhat dolmaci
d950fdfe7d
fix(input): decode 0x1f as Ctrl+_ not Ctrl+- per ASCII standard ( #2165 )
...
* fix(input): decode 0x1f as Ctrl+_ not Ctrl+- per ASCII standard
refs #2164
* fix(input): update control-byte matrix test for 0x1f -> Ctrl+_
2026-08-01 19:34:29 +03:00
Can Celik and Jonathan Liebig
b76adc155d
fix(input): preserve native key lifecycle across routing ( #2142 )
...
refs #2077
Co-authored-by: Jonathan Liebig <jonathan.liebig@gmail.com >
2026-08-01 04:27:50 +03:00
akbash and akbash-bot
cfa112e741
fix: preserve kitty associated text ( #2051 )
...
refs #2020
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com >
2026-07-30 03:18:16 +03:00
Can Celik
e536bd8bd9
fix: support non-us shifted keybindings ( #1876 )
...
* fix: support non-us shifted keybindings
refs #1870
* docs: require current pull request base
2026-07-26 04:22:05 +03:00
Ogulcan Celik
e7fc85bfdb
fix: preserve kitty printable key releases
...
refs #1746
2026-07-23 03:47:44 +03:00
akbash and akbash-bot
3023228736
fix: preserve associated emoji input ( #1410 )
...
refs #1404
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com >
2026-07-14 22:46:33 +03:00
Ogulcan Celik
d190c1f55e
fix: send shifted punctuation as text in kitty mode
...
refs #1105
2026-07-07 16:25:36 +03:00
akbash and akbash-bot
39ba6b7a02
fix: preserve alt-shift letters ( #1102 )
...
refs #1088
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com >
2026-07-07 15:54:03 +03:00
akbash and akbash-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
c792f2fd53
fix: preserve alacritty input on windows
...
refs #792
2026-06-25 16:32:00 +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
08bb0768ae
fix: handle kitty keypad input
...
refs #570
2026-06-15 15:12:56 +03:00
Ogulcan Celik
efe7c55769
fix: accept alternate f1-f4 key sequences
...
refs #574
2026-06-15 04:53:46 +03:00
Ogulcan Celik
580db93ecc
fix: handle application keypad input
...
refs #493
2026-06-08 03:55:02 +03:00
Ogulcan Celik
3c2b46d24a
feat: add native windows beta support
2026-06-07 16:29:44 +03:00
Ogulcan Celik
bf9cc20124
fix: preserve live handoff terminal state
2026-05-28 04:12:53 +03:00
Ogulcan Celik
866aaf740e
refactor: separate server client boundaries
2026-05-21 20:22:57 +03:00
Ogulcan Celik
d616bcd6b8
fix: preserve modified enter input
...
refs #168
2026-05-19 14:24:30 +03:00
kangal-bot and kangal-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
Ogulcan Celik
c2e58974f4
fix(input): scroll pane scrollback with pageup/pagedown and parse enhanced tilde sequences
2026-05-14 22:57:09 +03:00
Ogulcan Celik
4af28fbb65
test: add ime input regressions
2026-05-12 15:54:19 +03:00
Ogulcan Celik
5063cdf6d1
chore: remove unused test imports
2026-04-22 01:24:34 +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
edaa3a1a09
fix unify app key normalization for enhanced keyboard reporting
2026-04-14 01:04:51 +03:00
Ogulcan Celik
305d957704
fix input encoding for ctrl+letter in kitty mode
2026-04-13 17:34:13 +03:00
Can Celik
d739880f43
Merge pull request #9 from Edmund-a7/master
...
fix: support IME input for Chinese and other UTF-8 characters
2026-04-08 01:23:23 +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
Ogulcan Celik
ed0c051c55
fix: preserve lf in raw terminal input
2026-04-07 15:48:58 +03: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
8525503dba
fix: match ghostty pane default colors to host terminal theme
2026-04-05 03:46:16 +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
800a8c1a7a
fix ghostty macos arrow and modifier key parsing
2026-03-30 16:33:26 +03:00
Ogulcan Celik
5568449389
refactor sidebar status rollup and preserve pane order
2026-03-30 14:54:21 +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