Commit 0098591
authored
fix(logger): console.assert() throws exception #395
Problem:
Exception when calling `console.assert()`.
Example from vscode-neovim/vscode-neovim#2242 :
{"tag":"dap.send","timestamp":1726115647837,"metadata":{"connectionId":3,"message":{"seq":1,"type":"response","request_seq":1,"command":"initialize","success":false,"body":{"error":{"id":9221,"format":
"Error processing initialize: TypeError: Cannot read properties of undefined (reading 'apply')
at console.<computed> [as assert] (/home/vscode/.vscode-server/extensions/asvetliakov.vscode-neovim-1.18.11/node_modules/neovim/lib/utils/logger.js:72:46)
at r.onInitialize (/vscode/vscode-server/…/extensions/ms-vscode.js-debug/src/extension.js:120:345)
at /vscode/vscode-server/…/extensions/ms-vscode.js-debug/src/extension.js:119:1632
at zc._onMessage (/vscode/vscode-server/…/extensions/ms-vscode.js-debug/src/extension.js:34:4948)
at /vscode/vscode-server/…/extensions/ms-vscode.js-debug/src/extension.js:34:3426
at D.fire (/vscode/vscode-server/…/extensions/ms-vscode.js-debug/src/extension.js:30:10962)
at Socket._handleData (/vscode/vscode-server/…/extensions/ms-vscode.js-debug/src/extension.js:116:688)
at Socket.emit (node:events:519:28)
at addChunk (node:internal/streams/readable:559:12)
at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)
at Socket.Readable.push (node:internal/streams/readable:390:5)
at Pipe.onStreamRead (node:internal/stream_base_commons:191:23)","showUser":false,"sendTelemetry":false}}}},"level":0}
9a2cf4c restored "console.x monkey-patching", but the logic was
sloppy: it replaces every console.x function instead of only the ones
that our logger actually supports.
Solution:
- Only patch `console.x` functions we can actually support.
- Special-case `console.assert`.1 parent bbc0b42 commit 0098591
File tree
3 files changed
+32
-9
lines changed- packages/neovim/src
- attach
- utils
3 files changed
+32
-9
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
50 | 61 | | |
51 | 62 | | |
52 | 63 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
7 | | - | |
8 | | - | |
9 | | - | |
| 6 | + | |
| 7 | + | |
10 | 8 | | |
11 | 9 | | |
12 | 10 | | |
| |||
61 | 59 | | |
62 | 60 | | |
63 | 61 | | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
68 | 80 | | |
69 | 81 | | |
70 | 82 | | |
| |||
0 commit comments