Isolated Graph
Problem
Concurrent requests must not share reactive scheduling, ownership, or failures.
Solution
Create one graph per request and dispose it after rendering.
ts
import { createRipple } from '@vielzeug/ripple';
async function renderRequest(): Promise<string> {
const ripple = createRipple();
try {
const count = ripple.signal(0);
const label = ripple.computed(() => `Count: ${count.value}`);
return `<p>${label.value}</p>`;
} finally {
ripple.dispose();
}
}Pitfalls
- Do not mix values from different graphs.
- Dispose graphs created per request, test, or feature.