Search sessions and page through history

Session search finds a chat again from something you remember, and a long conversation loads its older messages as you read back. This page covers what a search returns, the rules a query must meet, and the sizes and refusals behind history paging. Where search opens and how the reading view works are covered in Session search and history paging.

What a search covers

What a search returns

What a query must meet

When a search stops early

Reading back through a chat

When history cannot load

How an open chat stays in step

Questions, answered

Which chats does a search look through?

The chats your list shows at that moment. A chat that is still blank, or that has no folder yet, is not in the list, so it is not searched, and a chat with versions is read as the version it is showing. A search reads stored records, so it starts no work in the chats it looks through.

What does a search match inside a chat?

Your messages and Oda's answers. A chat that matches in several places still arrives as one result, with a piece of one matching message.

Why did my search come back empty?

Either nothing in the chats your list shows matches, or there was nothing to search: chats that are still blank or have no folder are left out. Try a different word, and make sure the chat you have in mind is in your list.

Why was my query refused when it looks short?

The limit of 500 counts UTF-16 code units, not characters: an ordinary character counts as one, and a symbol such as most emoji counts as two. A query built from a few hundred emoji can pass 500 units, so shorten it and search again.

Why can a search fail instead of returning partial results?

All the lookups one search needs share a budget of 100. If a search needs more than that, it stops with a failure rather than returning part of the results. Make the query more specific and try again; if it keeps failing, contact your DataMind OS administrator.

Why did loading an older page get refused?

A page can only be served up to the chat's latest entry: a request for a point the chat has not reached is refused with session page through seq <n> is past cursor <n>, and nothing is filled in for it. A page request that fails validation, such as a page size that is not a whole positive number, is refused before anything is read.

Can a page cut a message in half?

No. Pages are cut at message boundaries, and a message means one you sent or an answer from Oda; the other entries that belong to a message ride on the page that carries it.

Why did my open chat reload its history?

After a reconnect, the view starts from a fresh snapshot of the chat's position before later live entries, and when the live feed is missing a part, Oda refuses to show the history with a hole in it and loads the missing part again. A reload means Oda is rebuilding a complete history, not losing one.