Skip to content

Commit f4fde94

Browse files
committed
feat: 111-probe sweep — Unicode probes reveal ZWJ/VS-16 gaps in xterm.js terminals
1 parent e369e21 commit f4fde94

9 files changed

Lines changed: 217 additions & 14 deletions

docs/data/results/app/cmux-0.62.2-macos.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"os": "macos",
55
"osVersion": "25.3.0",
66
"source": "daemon",
7-
"generated": "2026-03-25T05:35:10.178Z",
7+
"generated": "2026-03-25T06:16:56.646Z",
88
"results": {
99
"cursor.position-report": true,
1010
"cursor.shape": true,
@@ -30,6 +30,10 @@
3030
"text.next-line": true,
3131
"text.wide.cjk": true,
3232
"text.wide.emoji": true,
33+
"text.wide.emoji-zwj": true,
34+
"text.wide.emoji-flags": true,
35+
"text.wide.emoji-vs16": true,
36+
"text.combining": true,
3337
"text.tab": true,
3438
"text.backspace": true,
3539
"erase.line.right": true,
@@ -128,7 +132,7 @@
128132
"modes.synchronized-output": "DECRPM: mode reset",
129133
"extensions.sixel-da1": "DA1 response missing ;4 (sixel)",
130134
"extensions.sixel": "Sixel image didn't move cursor",
131-
"extensions.kitty-graphics": "Terminal responsive but no kitty graphics acknowledgment",
135+
"extensions.kitty-graphics": "No kitty graphics acknowledgment",
132136
"scrollback.total-lines": "Content written to scrollback",
133137
"modes.mouse-all": "DECRPM: mode reset"
134138
},

docs/data/results/app/com-microsoft----ode-1.112.0-macos.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"os": "macos",
55
"osVersion": "25.3.0",
66
"source": "daemon",
7-
"generated": "2026-03-25T05:34:35.879Z",
7+
"generated": "2026-03-25T06:16:49.986Z",
88
"results": {
99
"cursor.position-report": true,
1010
"cursor.shape": true,
@@ -30,6 +30,10 @@
3030
"text.next-line": true,
3131
"text.wide.cjk": true,
3232
"text.wide.emoji": true,
33+
"text.wide.emoji-zwj": false,
34+
"text.wide.emoji-flags": true,
35+
"text.wide.emoji-vs16": false,
36+
"text.combining": true,
3337
"text.tab": true,
3438
"text.backspace": true,
3539
"erase.line.right": true,
@@ -116,6 +120,8 @@
116120
},
117121
"notes": {
118122
"device.decrpm": "DECAWM is set",
123+
"text.wide.emoji-zwj": "width=8, expected 2",
124+
"text.wide.emoji-vs16": "width=1, expected 2",
119125
"modes.alt-screen.enter": "DECRPM: mode reset",
120126
"modes.auto-wrap": "DECRPM: mode set",
121127
"modes.bracketed-paste": "DECRPM: mode reset",
@@ -128,7 +134,7 @@
128134
"modes.synchronized-output": "DECRPM: mode reset",
129135
"extensions.sixel-da1": "DA1 response missing ;4 (sixel)",
130136
"extensions.sixel": "Sixel image didn't move cursor",
131-
"extensions.kitty-graphics": "Terminal responsive but no kitty graphics acknowledgment",
137+
"extensions.kitty-graphics": "No kitty graphics acknowledgment",
132138
"scrollback.total-lines": "Content written to scrollback",
133139
"modes.mouse-all": "DECRPM: mode reset"
134140
},

docs/data/results/app/com-todesktop-230313mzl4w4u92-2.6.21-macos.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,4 +160,4 @@
160160
"extensions.osc11-bg-color": "rgb:1c1c/2121/2828",
161161
"modes.mouse-all": "reset"
162162
}
163-
}
163+
}
Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
{
2+
"terminal": "cursor",
3+
"terminalVersion": "2.6.21",
4+
"os": "macos",
5+
"osVersion": "25.3.0",
6+
"source": "daemon",
7+
"generated": "2026-03-25T06:16:48.126Z",
8+
"results": {
9+
"cursor.position-report": true,
10+
"cursor.shape": true,
11+
"cursor.save-restore": true,
12+
"cursor.hide": true,
13+
"cursor.move.absolute": true,
14+
"cursor.move.up": true,
15+
"cursor.move.down": true,
16+
"cursor.move.forward": true,
17+
"cursor.move.back": true,
18+
"cursor.move.home": true,
19+
"cursor.horizontal-absolute": true,
20+
"cursor.next-line": true,
21+
"device.primary-da": true,
22+
"device.status-report": true,
23+
"device.decrpm": true,
24+
"text.basic": true,
25+
"text.wrap": true,
26+
"text.cr": true,
27+
"text.newline": true,
28+
"text.overwrite": true,
29+
"text.index": true,
30+
"text.next-line": true,
31+
"text.wide.cjk": true,
32+
"text.wide.emoji": true,
33+
"text.wide.emoji-zwj": false,
34+
"text.wide.emoji-flags": true,
35+
"text.wide.emoji-vs16": false,
36+
"text.combining": true,
37+
"text.tab": true,
38+
"text.backspace": true,
39+
"erase.line.right": true,
40+
"erase.line.left": true,
41+
"erase.line.all": true,
42+
"erase.screen.all": true,
43+
"erase.screen.below": true,
44+
"erase.screen.above": true,
45+
"erase.screen.scrollback": true,
46+
"erase.character": true,
47+
"editing.insert-chars": true,
48+
"editing.delete-chars": true,
49+
"editing.insert-lines": true,
50+
"editing.delete-lines": true,
51+
"editing.repeat-char": true,
52+
"modes.alt-screen.enter": true,
53+
"modes.auto-wrap": true,
54+
"modes.bracketed-paste": true,
55+
"modes.insert-replace": true,
56+
"modes.application-keypad": true,
57+
"modes.mouse-tracking": true,
58+
"modes.mouse-sgr": true,
59+
"modes.focus-tracking": true,
60+
"modes.application-cursor": true,
61+
"modes.origin": true,
62+
"modes.reverse-video": true,
63+
"modes.synchronized-output": true,
64+
"scrollback.set-region": true,
65+
"scrollback.scroll-up": true,
66+
"scrollback.scroll-down": true,
67+
"scrollback.reverse-index": true,
68+
"reset.ris": true,
69+
"reset.sgr": true,
70+
"reset.soft": true,
71+
"sgr.bold": true,
72+
"sgr.faint": true,
73+
"sgr.italic": true,
74+
"sgr.underline.single": true,
75+
"sgr.underline.double": true,
76+
"sgr.underline.curly": true,
77+
"sgr.underline.dotted": true,
78+
"sgr.underline.dashed": true,
79+
"sgr.blink": true,
80+
"sgr.inverse": true,
81+
"sgr.hidden": true,
82+
"sgr.strikethrough": true,
83+
"sgr.overline": true,
84+
"sgr.fg.standard": true,
85+
"sgr.bg.standard": true,
86+
"sgr.fg.bright": true,
87+
"sgr.bg.bright": true,
88+
"sgr.fg.default": true,
89+
"sgr.bg.default": true,
90+
"sgr.fg.256": true,
91+
"sgr.bg.256": true,
92+
"sgr.fg.truecolor": true,
93+
"sgr.bg.truecolor": true,
94+
"sgr.underline.color": true,
95+
"sgr.reset": true,
96+
"sgr.selective-reset.bold": true,
97+
"sgr.selective-reset.underline": true,
98+
"sgr.selective-reset.inverse": true,
99+
"charsets.dec-special": true,
100+
"charsets.utf8": true,
101+
"extensions.kitty-keyboard": false,
102+
"extensions.sixel-da1": false,
103+
"extensions.sixel": false,
104+
"extensions.osc52-clipboard": true,
105+
"extensions.osc7-cwd": true,
106+
"extensions.osc10-fg-color": true,
107+
"extensions.osc11-bg-color": true,
108+
"extensions.osc2-title": true,
109+
"extensions.truecolor": true,
110+
"extensions.osc8": true,
111+
"extensions.osc0-icon-title": true,
112+
"extensions.semantic-prompts": true,
113+
"extensions.kitty-graphics": false,
114+
"extensions.reflow": true,
115+
"scrollback.accumulate": true,
116+
"scrollback.total-lines": true,
117+
"scrollback.alt-screen": true,
118+
"modes.alt-screen.exit": true,
119+
"modes.mouse-all": true
120+
},
121+
"notes": {
122+
"device.decrpm": "DECAWM is set",
123+
"text.wide.emoji-zwj": "width=8, expected 2",
124+
"text.wide.emoji-vs16": "width=1, expected 2",
125+
"modes.alt-screen.enter": "DECRPM: mode reset",
126+
"modes.auto-wrap": "DECRPM: mode set",
127+
"modes.bracketed-paste": "DECRPM: mode reset",
128+
"modes.mouse-tracking": "DECRPM: mode reset",
129+
"modes.mouse-sgr": "DECRPM: mode reset",
130+
"modes.focus-tracking": "DECRPM: mode reset",
131+
"modes.application-cursor": "DECRPM: mode reset",
132+
"modes.origin": "DECRPM: mode reset",
133+
"modes.reverse-video": "Behavioral: responsive after enable",
134+
"modes.synchronized-output": "Behavioral: responsive after enable",
135+
"extensions.kitty-keyboard": "No kitty keyboard response",
136+
"extensions.sixel-da1": "DA1 response missing ;4 (sixel)",
137+
"extensions.sixel": "Sixel image didn't move cursor",
138+
"extensions.kitty-graphics": "No kitty graphics acknowledgment",
139+
"scrollback.total-lines": "Content written to scrollback",
140+
"modes.mouse-all": "DECRPM: mode reset"
141+
},
142+
"responses": {
143+
"cursor.position-report": "3;5",
144+
"cursor.save-restore": "3;5",
145+
"cursor.move.absolute": "5;10",
146+
"cursor.move.up": "3;5",
147+
"cursor.move.down": "7;5",
148+
"cursor.move.forward": "5;8",
149+
"cursor.move.back": "5;2",
150+
"cursor.move.home": "1;1",
151+
"cursor.horizontal-absolute": "3;15",
152+
"cursor.next-line": "4;1",
153+
"device.primary-da": "\u001b[?1;2c",
154+
"device.status-report": "\u001b[0n",
155+
"device.decrpm": "set",
156+
"modes.alt-screen.enter": "reset",
157+
"modes.auto-wrap": "set",
158+
"modes.bracketed-paste": "reset",
159+
"modes.mouse-tracking": "reset",
160+
"modes.mouse-sgr": "reset",
161+
"modes.focus-tracking": "reset",
162+
"modes.application-cursor": "reset",
163+
"modes.origin": "reset",
164+
"extensions.sixel-da1": "1;2",
165+
"extensions.osc10-fg-color": "rgb:adad/baba/c7c7",
166+
"extensions.osc11-bg-color": "rgb:1c1c/2121/2828",
167+
"modes.mouse-all": "reset"
168+
}
169+
}

docs/data/results/app/ghostty-1.3.1-macos.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"os": "macos",
55
"osVersion": "25.3.0",
66
"source": "daemon",
7-
"generated": "2026-03-25T05:34:33.006Z",
7+
"generated": "2026-03-25T06:16:55.626Z",
88
"results": {
99
"cursor.position-report": true,
1010
"cursor.shape": true,
@@ -30,6 +30,10 @@
3030
"text.next-line": true,
3131
"text.wide.cjk": true,
3232
"text.wide.emoji": true,
33+
"text.wide.emoji-zwj": true,
34+
"text.wide.emoji-flags": true,
35+
"text.wide.emoji-vs16": true,
36+
"text.combining": true,
3337
"text.tab": true,
3438
"text.backspace": true,
3539
"erase.line.right": true,
@@ -128,7 +132,7 @@
128132
"modes.synchronized-output": "DECRPM: mode reset",
129133
"extensions.sixel-da1": "DA1 response missing ;4 (sixel)",
130134
"extensions.sixel": "Sixel image didn't move cursor",
131-
"extensions.kitty-graphics": "Terminal responsive but no kitty graphics acknowledgment",
135+
"extensions.kitty-graphics": "No kitty graphics acknowledgment",
132136
"scrollback.total-lines": "Content written to scrollback",
133137
"modes.mouse-all": "DECRPM: mode reset"
134138
},

docs/data/results/app/iterm2-3.6.9-macos.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"os": "macos",
55
"osVersion": "25.3.0",
66
"source": "daemon",
7-
"generated": "2026-03-25T05:35:13.447Z",
7+
"generated": "2026-03-25T06:16:53.544Z",
88
"results": {
99
"cursor.position-report": true,
1010
"cursor.shape": true,
@@ -30,6 +30,10 @@
3030
"text.next-line": true,
3131
"text.wide.cjk": true,
3232
"text.wide.emoji": true,
33+
"text.wide.emoji-zwj": true,
34+
"text.wide.emoji-flags": true,
35+
"text.wide.emoji-vs16": true,
36+
"text.combining": true,
3337
"text.tab": true,
3438
"text.backspace": true,
3539
"erase.line.right": true,

docs/data/results/app/kitty-0.46.2-macos.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"os": "macos",
55
"osVersion": "25.3.0",
66
"source": "daemon",
7-
"generated": "2026-03-25T05:35:15.827Z",
7+
"generated": "2026-03-25T06:16:59.107Z",
88
"results": {
99
"cursor.position-report": true,
1010
"cursor.shape": true,
@@ -30,6 +30,10 @@
3030
"text.next-line": true,
3131
"text.wide.cjk": true,
3232
"text.wide.emoji": true,
33+
"text.wide.emoji-zwj": true,
34+
"text.wide.emoji-flags": true,
35+
"text.wide.emoji-vs16": true,
36+
"text.combining": true,
3337
"text.tab": true,
3438
"text.backspace": true,
3539
"erase.line.right": true,
@@ -128,7 +132,7 @@
128132
"modes.synchronized-output": "DECRPM: mode reset",
129133
"extensions.sixel-da1": "DA1 response missing ;4 (sixel)",
130134
"extensions.sixel": "Sixel image didn't move cursor",
131-
"extensions.kitty-graphics": "Terminal responsive but no kitty graphics acknowledgment",
135+
"extensions.kitty-graphics": "No kitty graphics acknowledgment",
132136
"scrollback.total-lines": "Content written to scrollback",
133137
"modes.mouse-all": "DECRPM: mode reset"
134138
},

docs/data/results/app/terminal-app-2.15-macos.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"os": "macos",
55
"osVersion": "25.3.0",
66
"source": "daemon",
7-
"generated": "2026-03-25T05:35:04.235Z",
7+
"generated": "2026-03-25T06:16:57.694Z",
88
"results": {
99
"cursor.position-report": true,
1010
"cursor.shape": true,
@@ -30,6 +30,10 @@
3030
"text.next-line": true,
3131
"text.wide.cjk": true,
3232
"text.wide.emoji": true,
33+
"text.wide.emoji-zwj": false,
34+
"text.wide.emoji-flags": true,
35+
"text.wide.emoji-vs16": false,
36+
"text.combining": true,
3337
"text.tab": true,
3438
"text.backspace": true,
3539
"erase.line.right": true,
@@ -116,6 +120,8 @@
116120
},
117121
"notes": {
118122
"device.decrpm": "No DECRPM response",
123+
"text.wide.emoji-zwj": "width=11, expected 2",
124+
"text.wide.emoji-vs16": "width=1, expected 2",
119125
"modes.alt-screen.enter": "Behavioral: entered and responded",
120126
"modes.auto-wrap": "Behavioral: wrap confirmed",
121127
"modes.bracketed-paste": "Behavioral: terminal responsive after enable",
@@ -128,7 +134,7 @@
128134
"modes.synchronized-output": "Behavioral: responsive after enable",
129135
"extensions.kitty-keyboard": "No kitty keyboard response",
130136
"extensions.sixel-da1": "DA1 response missing ;4 (sixel)",
131-
"extensions.kitty-graphics": "Terminal responsive but no kitty graphics acknowledgment",
137+
"extensions.kitty-graphics": "No kitty graphics acknowledgment",
132138
"scrollback.total-lines": "Content written to scrollback",
133139
"modes.mouse-all": "Behavioral: responsive after enable"
134140
},

docs/data/results/app/warp-0.2026.03.18.08.24.03-macos.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"os": "macos",
55
"osVersion": "25.3.0",
66
"source": "daemon",
7-
"generated": "2026-03-25T05:34:49.182Z",
7+
"generated": "2026-03-25T06:16:54.591Z",
88
"results": {
99
"cursor.position-report": true,
1010
"cursor.shape": true,
@@ -30,6 +30,10 @@
3030
"text.next-line": true,
3131
"text.wide.cjk": true,
3232
"text.wide.emoji": true,
33+
"text.wide.emoji-zwj": false,
34+
"text.wide.emoji-flags": true,
35+
"text.wide.emoji-vs16": false,
36+
"text.combining": true,
3337
"text.tab": true,
3438
"text.backspace": true,
3539
"erase.line.right": true,
@@ -116,6 +120,8 @@
116120
},
117121
"notes": {
118122
"device.decrpm": "No DECRPM response",
123+
"text.wide.emoji-zwj": "width=8, expected 2",
124+
"text.wide.emoji-vs16": "width=1, expected 2",
119125
"modes.alt-screen.enter": "Behavioral: entered and responded",
120126
"modes.auto-wrap": "Behavioral: wrap confirmed",
121127
"modes.bracketed-paste": "Behavioral: terminal responsive after enable",
@@ -128,7 +134,7 @@
128134
"modes.synchronized-output": "DECRPM: mode reset",
129135
"extensions.sixel-da1": "DA1 response missing ;4 (sixel)",
130136
"extensions.sixel": "Sixel image didn't move cursor",
131-
"extensions.kitty-graphics": "Terminal responsive but no kitty graphics acknowledgment",
137+
"extensions.kitty-graphics": "No kitty graphics acknowledgment",
132138
"scrollback.total-lines": "Content written to scrollback",
133139
"modes.mouse-all": "Behavioral: responsive after enable"
134140
},

0 commit comments

Comments
 (0)