# Devin rebuilds renderer for long sessions

The updated renderer cuts chat load times by 70% and layout shift by 86% on sessions containing over 100,000 events.

- Loads an indexed outline array of message types to render skeleton placeholders approximating total chat height without fetching full JSON
- Fetches detailed event data in islands around the user's scroll position with a buffer in both directions
- Preserves the viewport position of the top-most visible message or skeleton before painting to eliminate layout shifts
- Extends fetches across small isolated skeleton gaps to prevent mixed layout shifts
- Used Devin to build an internal virtualization debugger to inspect logs, generate fixes in parallel, and test UI bugs overnight

## Why it matters

Devin users with multi-day coding sessions can open and scroll through long conversation histories without experiencing 20-second load times, dropped frames, or jumpy layouts.

## Sources

- [Devin: How Devin rebuilt its renderer | Devin](https://devin.ai/blog/rebuilding-devins-chat-renderer)
- [Anthropic: Claude rebuilds streaming renderer for web and desktop](https://x.com/ClaudeDevs/status/2092006814804214163)

---

Summarized by dstilled on 2026-08-24. https://dstilled.ai/story/7975f165-ba43-4fdc-b2f8-c081c00d31a8
