DEV Community

babycat profile picture

babycat

babycat

Joined Joined on 
Test Streaming Markdown for Transient Headings and Half-Written Links

Test Streaming Markdown for Transient Headings and Half-Written Links

Comments
11 min read
An Empty Model Handshake Needs a Recoverable Error, Not a Disabled Composer

An Empty Model Handshake Needs a Recoverable Error, Not a Disabled Composer

Comments
7 min read
Build an Accessible Waiting-for-Tokens Control With Stall Recovery

Build an Accessible Waiting-for-Tokens Control With Stall Recovery

Comments
9 min read
Streaming Chat Needs In-Place Completion, Not a Remount That Drops Focus

Streaming Chat Needs In-Place Completion, Not a Remount That Drops Focus

Comments
8 min read
Cancel Mid-Stream Needs an Abort Owner, Not a Grey Stop Button

Cancel Mid-Stream Needs an Abort Owner, Not a Grey Stop Button

Comments
9 min read
My Screen Reader Read Three Sentences Behind: Debugging a Live-Region Backlog in Streaming Chat

My Screen Reader Read Three Sentences Behind: Debugging a Live-Region Backlog in Streaming Chat

Comments
8 min read
Chat File Consent Needs a Request Snapshot, Not a Sticky Include Checkbox

Chat File Consent Needs a Request Snapshot, Not a Sticky Include Checkbox

Comments
7 min read
Remote Chat Failover Needs a Tab-Stop Origin Banner, Not a Skeleton Overlay

Remote Chat Failover Needs a Tab-Stop Origin Banner, Not a Skeleton Overlay

Comments 2
9 min read
Stream Disconnect Needs an Announced Retry, Not a Frozen Cursor

Stream Disconnect Needs an Announced Retry, Not a Frozen Cursor

Comments
9 min read
Streaming Agents Need a Tool-Call Focus Lock, Not a Toast Over the Composer

Streaming Agents Need a Tool-Call Focus Lock, Not a Toast Over the Composer

Comments
8 min read
Streaming Chat Needs a Content-Type Guard, Not Infinite aria-busy

Streaming Chat Needs a Content-Type Guard, Not Infinite aria-busy

Comments
9 min read
Agent Tool Prompts Need a Blocking Dialog, Not a Chip You Never Tab To

Agent Tool Prompts Need a Blocking Dialog, Not a Chip You Never Tab To

1
Comments 1
8 min read
The Stop Button Lied: Debugging a Cancelled Stream That Never Released the Composer

The Stop Button Lied: Debugging a Cancelled Stream That Never Released the Composer

Comments
9 min read
Stream Cancel Needs a Dead Reader, Not a Hidden Spinner

Stream Cancel Needs a Dead Reader, Not a Hidden Spinner

Comments
8 min read
Streaming Markdown Needs a Settled Document, Not a Live Heading Tree

Streaming Markdown Needs a Settled Document, Not a Live Heading Tree

Comments
8 min read
Chat Retry Needs a Retired Turn, Not a Second Stop Button

Chat Retry Needs a Retired Turn, Not a Second Stop Button

Comments
10 min read
Agent Clarifying Questions Need a Focus Handoff, Not a Noisier Live Region

Agent Clarifying Questions Need a Focus Handoff, Not a Noisier Live Region

Comments
8 min read
Fix Silent 30s AI Stream Timeouts with a Client Watchdog

Fix Silent 30s AI Stream Timeouts with a Client Watchdog

Comments
5 min read
Streaming AI Watermarks Change Mid-Response—Test the Announcement Before You Ship It

Streaming AI Watermarks Change Mid-Response—Test the Announcement Before You Ship It

Comments
4 min read
Streaming Tool Calls Need a Working State, Not a Forever Spinner

Streaming Tool Calls Need a Working State, Not a Forever Spinner

Comments
8 min read
The Free Server Saw My API Key: A Client-Side Redaction Layer for AI Prompts

The Free Server Saw My API Key: A Client-Side Redaction Layer for AI Prompts

Comments
4 min read
A Static Watchdog Page Tells You When a Free Model Endpoint Drops Streaming—Before Your UI Learns the Hard Way

A Static Watchdog Page Tells You When a Free Model Endpoint Drops Streaming—Before Your UI Learns the Hard Way

Comments
5 min read
The Retry Keystroke Failed After Cancel: A Dead AbortSignal Retrospective

The Retry Keystroke Failed After Cancel: A Dead AbortSignal Retrospective

Comments
8 min read
Streaming Chat Needs a Finish Line, Not Mid-Answer Action Buttons

Streaming Chat Needs a Finish Line, Not Mid-Answer Action Buttons

Comments
12 min read
The AI "Memory" Was Fine: A Frontend Context Poisoning Debugging Retrospective

The AI "Memory" Was Fine: A Frontend Context Poisoning Debugging Retrospective

Comments
5 min read
Give Screen Reader Users a Buffer: A Pausable AI Stream Chat on a Free Server

Give Screen Reader Users a Buffer: A Pausable AI Stream Chat on a Free Server

Comments
6 min read
The Stream Closed Silently After a Long Conversation: A Debugging Retrospective

The Stream Closed Silently After a Long Conversation: A Debugging Retrospective

Comments
5 min read
The Token Meter Hit 100% and the Server Disagreed: A Usage-Accounting Retrospective

The Token Meter Hit 100% and the Server Disagreed: A Usage-Accounting Retrospective

Comments
6 min read
The Second Turn Forgot the First: A Payload Debugging Retrospective

The Second Turn Forgot the First: A Payload Debugging Retrospective

Comments
5 min read
When the Free Model Says 429: An Accessible Fallback Pipeline for AI Chat

When the Free Model Says 429: An Accessible Fallback Pipeline for AI Chat

Comments
4 min read
JSON.parse Lied to Me: Incremental Parsing for Half-Arrived AI Responses

JSON.parse Lied to Me: Incremental Parsing for Half-Arrived AI Responses

Comments
5 min read
The First Request Always Failed: Debugging Cold Starts on a Free-Tier AI Server

The First Request Always Failed: Debugging Cold Starts on a Free-Tier AI Server

Comments
6 min read
Streaming Tokens Need a Frame Budget: Keeping Chat Input Responsive at 60 FPS

Streaming Tokens Need a Frame Budget: Keeping Chat Input Responsive at 60 FPS

Comments
5 min read
localhost Was Fine, Production Wasn't: A CORS Debugging Retrospective for a Deployed AI Chat Widget

localhost Was Fine, Production Wasn't: A CORS Debugging Retrospective for a Deployed AI Chat Widget

Comments
5 min read
A 30M-Token Free Tier Needs a Token Ledger, Not Just a Budget Bar

A 30M-Token Free Tier Needs a Token Ledger, Not Just a Budget Bar

Comments
6 min read
Don't Burn Free Tokens Twice: Cache Streaming Chat Responses in a Service Worker

Don't Burn Free Tokens Twice: Cache Streaming Chat Responses in a Service Worker

Comments
5 min read
A Free Model Returned Markdown That NVDA Read as One Endless Sentence: Normalizing LLM Output Before It Reaches the Live Region

A Free Model Returned Markdown That NVDA Read as One Endless Sentence: Normalizing LLM Output Before It Reaches the Live Region

Comments
5 min read
The Network Tab Said 200, but the Streaming Chat Never Finished: A Response-Frame Debugging Retrospective

The Network Tab Said 200, but the Streaming Chat Never Finished: A Response-Frame Debugging Retrospective

Comments
5 min read
A Free Token Pool Won't Reveal Dropped Fields; a Request Fingerprint Harness Will

A Free Token Pool Won't Reveal Dropped Fields; a Request Fingerprint Harness Will

Comments
4 min read
Free AI Quotas Break Silently When Your Proxy Swallows Retry-After

Free AI Quotas Break Silently When Your Proxy Swallows Retry-After

Comments
4 min read
AI Agent Tool Calls Need an Accessible Approval Gate, Not Just a Confirmation Dialog

AI Agent Tool Calls Need an Accessible Approval Gate, Not Just a Confirmation Dialog

Comments
5 min read
A Free Model Endpoint Loses Its Value When a Page Refresh Destroys the Chat

A Free Model Endpoint Loses Its Value When a Page Refresh Destroys the Chat

Comments
5 min read
A Free Token Pool Still Needs a Screen-Reader-Visible Budget Boundary

A Free Token Pool Still Needs a Screen-Reader-Visible Budget Boundary

Comments
5 min read
When the Free Token Bucket Is Empty, Tell the User Before They Ask

When the Free Token Bucket Is Empty, Tell the User Before They Ask

Comments
5 min read
A Watermark Badge Is Not an Accessible Audit Trail for Streaming Output

A Watermark Badge Is Not an Accessible Audit Trail for Streaming Output

Comments
5 min read
Keep Streaming, Abort, and Announcements Intact When You Move a Free Model Behind Your Own Server

Keep Streaming, Abort, and Announcements Intact When You Move a Free Model Behind Your Own Server

Comments
4 min read
An Accessible Chat UI Needs a Batch Policy, Not Just a Free Token Endpoint

An Accessible Chat UI Needs a Batch Policy, Not Just a Free Token Endpoint

Comments
5 min read
Accessible Streaming Probe: Fail on Purpose Before Swapping Models

Accessible Streaming Probe: Fail on Purpose Before Swapping Models

Comments
6 min read
Abort-Forwarding Proxy for a Free Model Endpoint: Stop Losing Tokens After the User Leaves

Abort-Forwarding Proxy for a Free Model Endpoint: Stop Losing Tokens After the User Leaves

Comments
5 min read
Build a Keyboard-Operable Stream Tester and Deploy It on a Free Server

Build a Keyboard-Operable Stream Tester and Deploy It on a Free Server

Comments
5 min read
Probe a Free Model Endpoint for Streaming, Abort, and Retry Before You Build on It

Probe a Free Model Endpoint for Streaming, Abort, and Retry Before You Build on It

Comments
4 min read
An Accessible Queue for Streaming Prompts Needs More Than a Per-Request Spinner

An Accessible Queue for Streaming Prompts Needs More Than a Per-Request Spinner

Comments
6 min read
Streaming Errors Need an Announcement Policy, Not Just a Retry Button

Streaming Errors Need an Announcement Policy, Not Just a Retry Button

Comments
6 min read
Build an Accessible Tool-Call Consent Gate for Streaming Agents

Build an Accessible Tool-Call Consent Gate for Streaming Agents

Comments
5 min read
Build an Accessible Tool-Approval Dialog With Focus Recovery and a Real Model Behind It

Build an Accessible Tool-Approval Dialog With Focus Recovery and a Real Model Behind It

Comments
5 min read
Cancel, Retry, Announce: A Typed State Machine for Accessible Streaming Chat

Cancel, Retry, Announce: A Typed State Machine for Accessible Streaming Chat

Comments
7 min read
Test Your Streaming Chat UI's Cancel and Retry Against a Real Endpoint, Not a setTimeout

Test Your Streaming Chat UI's Cancel and Retry Against a Real Endpoint, Not a setTimeout

Comments
6 min read
Mock Streams Pass, Real Streams Fail: Test Your Accessible Streaming UI Against a Real Model

Mock Streams Pass, Real Streams Fail: Test Your Accessible Streaming UI Against a Real Model

Comments
7 min read
Streaming Chat Needs a Testable State Machine, Not Just a Stop Button

Streaming Chat Needs a Testable State Machine, Not Just a Stop Button

Comments
7 min read
Streaming Chat Needs Cancel and Retry States, Not Just a Spinner

Streaming Chat Needs Cancel and Retry States, Not Just a Spinner

Comments
6 min read
loading...