Files
Codeman/test-tab-debug.mjs
T
2026-02-18 10:47:56 +01:00

84 lines
2.8 KiB
JavaScript

import { chromium } from 'playwright';
const browser = await chromium.launch({ headless: true });
const page = await browser.newPage();
try {
await page.goto('http://localhost:3000', { waitUntil: 'domcontentloaded' });
await page.waitForTimeout(4000);
// Check what's actually in localStorage right now (user's real settings)
const stored = await page.evaluate(() => {
try {
return JSON.parse(localStorage.getItem('claudeman-app-settings'));
} catch { return null; }
});
console.log('Current stored settings:', JSON.stringify(stored, null, 2));
// Check the tabs state
const state = await page.evaluate(() => {
const el = document.getElementById('sessionTabs');
const style = window.getComputedStyle(el);
return {
classList: el.className,
flexWrap: style.flexWrap,
overflowX: style.overflowX,
overflowY: style.overflowY,
maxHeight: style.maxHeight,
height: el.offsetHeight,
scrollHeight: el.scrollHeight,
numTabs: el.querySelectorAll('.session-tab').length,
tabHeights: [...el.querySelectorAll('.session-tab')].map(t => t.offsetHeight),
};
});
console.log('Tab container state:', JSON.stringify(state, null, 2));
// Now try: set tabTwoRows to false explicitly
console.log('\n--- Setting tabTwoRows=false explicitly ---');
await page.evaluate(() => {
const s = JSON.parse(localStorage.getItem('claudeman-app-settings') || '{}');
s.tabTwoRows = false;
localStorage.setItem('claudeman-app-settings', JSON.stringify(s));
app._cachedAppSettings = null;
app.applyTabWrapSettings();
});
await page.waitForTimeout(500);
const state2 = await page.evaluate(() => {
const el = document.getElementById('sessionTabs');
const style = window.getComputedStyle(el);
return {
classList: el.className,
flexWrap: style.flexWrap,
height: el.offsetHeight,
};
});
console.log('After explicit false:', JSON.stringify(state2, null, 2));
// Now try: set tabTwoRows to true
console.log('\n--- Setting tabTwoRows=true ---');
await page.evaluate(() => {
const s = JSON.parse(localStorage.getItem('claudeman-app-settings') || '{}');
s.tabTwoRows = true;
localStorage.setItem('claudeman-app-settings', JSON.stringify(s));
app._cachedAppSettings = null;
app.applyTabWrapSettings();
});
await page.waitForTimeout(500);
const state3 = await page.evaluate(() => {
const el = document.getElementById('sessionTabs');
const style = window.getComputedStyle(el);
return {
classList: el.className,
flexWrap: style.flexWrap,
height: el.offsetHeight,
};
});
console.log('After explicit true:', JSON.stringify(state3, null, 2));
} catch (err) {
console.error('Error:', err.message);
} finally {
await browser.close();
process.exit(0);
}