Problem
The sidebar currently falls back to the first preview line for many sessions instead of showing the real thread title that Codex already knows about
Description
Codex stores canonical session titles in session_index.jsonl, including thread_name. The UI should merge those titles into the existing thread title cache and prefer the real session title when rendering the sidebar and session list.
Expected behavior
- Read thread_name from the local session_index.jsonl
- Merge it with the current cached title data\n- Prefer the real session title over preview text when both are available
- Keep the existing cache as a fallback when a session index entry is missing