In this video· click a step to jump to it
Test recording
OneChat — multi-model AI chat walkthrough
34,130 ms · 14,383 pixels changed
We built this regression test for onechat.yuvan.me — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against onechat.yuvan.me. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
const shot = (n, slug) => screenshotPath.replace('.png', `-${n}-${slug}.png`);
const SCROLL_THROUGH = "(async () => { const ease = t => 1 - Math.pow(1 - t, 3); const max = Math.max(0, document.body.scrollHeight - window.innerHeight); if (max < 40) return; const anim = (a, b, ms) => new Promise(res => { const t0 = performance.now(); const step = now => { const p = Math.min(1, (now - t0) / ms); window.scrollTo(0, a + (b - a) * ease(p)); p < 1 ? requestAnimationFrame(step) : res(); }; requestAnimationFrame(step); }); await anim(0, max, 1100); await new Promise(r => setTimeout(r, 250)); await anim(max, 0, 600); })()";
const routeBlock = async (p) => {
for (const pattern of [
'**/cdn-cgi/scripts/**/email-decode.min.js',
'**/sentry-cdn.com/**', '**/browser.sentry-cdn.com/**',
'**/cdn.segment.com/**', '**/connect.facebook.net/**', '**/www.googletagmanager.com/**',
]) { await p.route(pattern, function (r) { r.abort(); }).catch(function () {}); }
};
await routeBlock(page);Checks run
Notes from the demo run
AI-generatedOneChat is a clean multi-model AI chat workspace: one interface to chat across models (Mistral Small 3.1 24B and others), with a visible free credit balance, prompt-category starters (Create / Explore / Code / Learn), recent-chats history, and a command palette. This Lastest baseline signs in and runs a real conversation end to end, then walks the categories, model selector and new-chat flow.
- Transparent free creditsA live credit balance ($2.00) sits in the sidebar so users always know what a message costs — honest metering with no card required to start.
- Prompt-category startersCreate / Explore / Code / Learn tabs each surface curated starter prompts, which kills the blank-page problem for a brand-new chat user.
- Per-thread model selectorThe model picker (Mistral Small 3.1 24B) lives in the conversation header, making 'which model am I talking to' and switching it obvious per thread.
- Enter does not sendPressing Enter in the chat box does nothing — you must click the send (up-arrow) button. Almost every chat UX submits on Enter, so this breaks muscle memory and will cost first-time users a beat.
- Three screens before first messageSign-up bounces to /login (no auto-session), and login is blocked until you click an email-verification link. That's three context switches before a new user sends a single prompt.
- Cross-site partitioned session cookieThe session token is issued by the Workers API on a different domain as a partitioned (CHIPS) cookie. It works, but it's the kind of setup that produces hard-to-debug 'logged out on refresh' reports in some browsers.
9 visual changes
Share this run
Proof your app is not AI slop
This test was built for onechat.yuvan.me — claim it free
One click copies the test and baseline screenshots into your own Lastest workspace. Re-run on every deploy and catch regressions before your users do — free, no card required.


























