update at 2026-03-03 21:19:52

This commit is contained in:
douboer@gmail.com
2026-03-03 21:19:52 +08:00
parent 3dc4144007
commit e4987a2d77
139 changed files with 21522 additions and 43 deletions

View File

@@ -0,0 +1,28 @@
const fs = require('fs');
let code = fs.readFileSync('src/components/TerminalPanel.vue', 'utf8');
// The place where we can attach is right after viewportScroller is queried.
// Let's find viewportScroller assignment.
const attachCode = `
viewportScroller = containerRef.value.querySelector(".xterm-viewport");
if (viewportScroller) {
// ---- [VIEWPORT DEBUG START] ----
['touchstart', 'touchmove', 'touchend', 'touchcancel'].forEach(type => {
viewportScroller.addEventListener(type, (event) => {
console.log(\`[Viewport Event] \${type}\`, {
target: (event.target as Node)?.nodeName,
eventPhase: event.eventPhase,
cancelable: event.cancelable,
defaultPrevented: event.defaultPrevented,
touches: (event as TouchEvent).touches?.length
});
}, { capture: true, passive: false });
});
// ---- [VIEWPORT DEBUG END] ----
}
`;
code = code.replace(/viewportScroller = containerRef\.value\.querySelector\("\.xterm-viewport"\);\n\s*if \(\!viewportScroller\) \{/m, attachCode + "\n if (!viewportScroller) {");
fs.writeFileSync('src/components/TerminalPanel.vue', code);