Overview
Fetches messages for a conversation with cursor-based pagination. Can be used for the main message stream or for a specific thread (by passingparentId). Messages are stored in Redux and kept in sync by ChatProvider socket events.
Requires
ChatProvider in the component tree.Usage Example
Props
The ID of the conversation to load messages for.
When provided, loads thread replies for this parent message ID instead of the main stream. Replies are sorted ascending (oldest first);
loadOlder fetches newer replies.Number of messages per page. Defaults to
50.When
true, the server populates the files field on each message. Omitted by default to keep payloads small.Returns
The loaded messages in ascending order (oldest first). See ChatMessage.
true while a fetch is in progress.true if there are more messages to load.For the main stream: fetches messages older than the oldest currently loaded.
For threads: fetches replies newer than the newest currently loaded.
No-ops if
loading is true or hasMore is false.Notes
- New messages that arrive via the socket (
message:created) are appended to the store automatically — no manual refetch needed. - For integration guidance, see Chat: Messages.

