Commit e223099
committed
fix: prevent Ctrl+V crash when clipboard contains non-text data
Two-layer fix for TypeError crash on paste:
1. _SafePyperclipClipboard: wraps PyperclipClipboard.get_data() to treat
None/non-string payloads as empty text, protecting all clipboard access
paths in prompt_toolkit (not just our Ctrl+V handler). Covers MoonshotAI#1750.
2. _try_paste_media() return value: when images are detected but the model
does not support image_in, the paste event is now consumed (return True)
instead of falling through to the text paste path.1 parent a8f09bc commit e223099
File tree
2 files changed
+42
-5
lines changed- src/kimi_cli/ui/shell
- tests/ui_and_conv
2 files changed
+42
-5
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| |||
81 | 82 | | |
82 | 83 | | |
83 | 84 | | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
84 | 103 | | |
85 | 104 | | |
86 | 105 | | |
| |||
1488 | 1507 | | |
1489 | 1508 | | |
1490 | 1509 | | |
1491 | | - | |
| 1510 | + | |
1492 | 1511 | | |
1493 | 1512 | | |
1494 | 1513 | | |
| |||
1846 | 1865 | | |
1847 | 1866 | | |
1848 | 1867 | | |
| 1868 | + | |
1849 | 1869 | | |
1850 | 1870 | | |
1851 | 1871 | | |
| |||
1859 | 1879 | | |
1860 | 1880 | | |
1861 | 1881 | | |
| 1882 | + | |
1862 | 1883 | | |
1863 | 1884 | | |
1864 | 1885 | | |
| |||
1877 | 1898 | | |
1878 | 1899 | | |
1879 | 1900 | | |
1880 | | - | |
| 1901 | + | |
1881 | 1902 | | |
1882 | 1903 | | |
1883 | 1904 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
184 | 185 | | |
185 | 186 | | |
186 | 187 | | |
187 | | - | |
| 188 | + | |
188 | 189 | | |
189 | 190 | | |
190 | 191 | | |
| |||
199 | 200 | | |
200 | 201 | | |
201 | 202 | | |
202 | | - | |
203 | | - | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
204 | 206 | | |
| 207 | + | |
205 | 208 | | |
206 | 209 | | |
207 | 210 | | |
| |||
270 | 273 | | |
271 | 274 | | |
272 | 275 | | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
273 | 289 | | |
274 | 290 | | |
275 | 291 | | |
| |||
0 commit comments