Common IssuesUnclosed Streams

Unclosed Streams

Sometimes streams are not closed properly, which can lead to unexpected behavior. The following are some common issues that can occur when streams are not closed properly.

Issue

The streamable UI has been slow to update.

Solution

This happens when you create a streamable UI using createStreamableUI and fail to close the stream. In order to fix this, you must ensure you close the stream by calling the .done() method. This will ensure the stream is closed.

import { createStreamableUI } from 'ai/rsc';
const submitMessage = async () => {
'use server';
const stream = createStreamableUI('1');
stream.update('2');
stream.append('3');
stream.done('4'); // [!code ++]
return stream.value;
};