mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-04-05 11:15:57 +00:00
- Remove old custom ANSI renderer (src/client/renderer.ts) - Rename XTermRenderer to Renderer and move to renderer.ts - Update renderer-entry.ts to export single Renderer class - Rename and update all test files: - test-xterm-renderer.html → test-renderer.html - simple-xterm-test.html → simple-test.html - debug-xterm.html → debug-renderer.html - Remove obsolete custom renderer tests - Update tests/index.html with new test descriptions - All tests now use single XTerm.js-based Renderer 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
112 lines
No EOL
3.6 KiB
HTML
112 lines
No EOL
3.6 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Debug XTerm Test</title>
|
|
|
|
<!-- XTerm.js CSS -->
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@xterm/xterm@5.5.0/css/xterm.css" />
|
|
|
|
<style>
|
|
body {
|
|
background: #1a1a1a;
|
|
color: #fff;
|
|
font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
|
|
margin: 20px;
|
|
}
|
|
|
|
.terminal {
|
|
border: 2px solid #333;
|
|
border-radius: 8px;
|
|
background: #000;
|
|
height: 400px;
|
|
width: 800px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
button {
|
|
background: #333;
|
|
color: #fff;
|
|
border: 1px solid #555;
|
|
padding: 8px 16px;
|
|
margin: 10px;
|
|
cursor: pointer;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
#log {
|
|
background: #333;
|
|
padding: 10px;
|
|
margin-top: 20px;
|
|
border-radius: 4px;
|
|
font-family: monospace;
|
|
white-space: pre-wrap;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1>Debug XTerm Loading</h1>
|
|
|
|
<button onclick="testXTerm()">Test XTerm</button>
|
|
<button onclick="testRenderer()">Test XTerm Renderer</button>
|
|
|
|
<div class="terminal" id="terminal"></div>
|
|
|
|
<div id="log"></div>
|
|
|
|
<script type="module">
|
|
import { Renderer } from '../bundle/renderer.js';
|
|
|
|
function log(message) {
|
|
const logDiv = document.getElementById('log');
|
|
logDiv.textContent += new Date().toLocaleTimeString() + ': ' + message + '\n';
|
|
}
|
|
|
|
// Test renderer from bundle
|
|
log('Testing Renderer from bundle...');
|
|
log('Renderer available: ' + (typeof Renderer !== 'undefined'));
|
|
|
|
window.testXTerm = function() {
|
|
try {
|
|
log('Testing Renderer...');
|
|
const container = document.getElementById('terminal');
|
|
container.innerHTML = '';
|
|
|
|
const renderer = new Renderer(container, 80, 24);
|
|
renderer.processOutput('Hello from bundled XTerm.js!\r\n');
|
|
renderer.processOutput('\x1b[31mRed text\x1b[0m\r\n');
|
|
renderer.processOutput('\x1b[32mGreen text\x1b[0m\r\n');
|
|
renderer.processOutput('\x1b[1;33mBold yellow text\x1b[0m\r\n');
|
|
|
|
log('Renderer test successful!');
|
|
} catch (error) {
|
|
log('Renderer test failed: ' + error.message);
|
|
}
|
|
};
|
|
|
|
window.testRenderer = function() {
|
|
try {
|
|
log('Testing Renderer advanced features...');
|
|
const container = document.getElementById('terminal');
|
|
container.innerHTML = '';
|
|
|
|
const renderer = new Renderer(container, 80, 24);
|
|
renderer.processOutput('Hello from XTerm Renderer!\r\n');
|
|
renderer.processOutput('\x1b[32mGreen text from renderer\x1b[0m\r\n');
|
|
renderer.processOutput('\x1b[1;34mBold blue text\x1b[0m\r\n');
|
|
renderer.processOutput('\x1b[43mYellow background\x1b[0m\r\n');
|
|
|
|
log('Renderer advanced test successful!');
|
|
} catch (error) {
|
|
log('Renderer advanced test failed: ' + error.message);
|
|
}
|
|
};
|
|
|
|
// Run initial checks
|
|
window.addEventListener('load', () => {
|
|
log('Page loaded, running initial checks...');
|
|
});
|
|
</script>
|
|
</body>
|
|
</html> |