Show an indicator in the sidebar for conversations that have an unsaved composer draft
Problem
When I type a message in a conversation's composer but don't send it (for example, I'm
collecting drafts across several conversations and plan to send them all at once later),
the draft is preserved per conversation, but there is no way to see which conversations
have pending drafts without opening each one.
The sidebar currently distinguishes several thread states (running, unread, waiting for
input), and the desktop app shows an unread/completion badge on threads with new activity.
There is no equivalent signal for "this thread has unsent composer text".
This makes it easy to lose track of pending drafts, especially when:
- drafts are intentionally held back (e.g., waiting for lower API pricing, reviewing later);
- the app is restarted and the thread list is the only place you look;
- multiple conversations each contain a few paragraphs of unsent text.
Requested behavior
Add a small, unobtrusive indicator on sidebar thread rows that have a non-empty unsent
composer draft, similar in placement/style to the existing unread badge:
- a dot (or small pencil/
draftmarker) next to the thread title/row; - shown regardless of whether the thread is currently open or has unread activity;
- disappears when the draft is sent or cleared;
- also visible in any other thread pickers that already render per-thread status
(e.g., the quick-resume list), for consistency.
Suggested scope
- Codex desktop app sidebar (and ideally the same thread-status pickers that already show
running / unread states).
- A plain boolean signal based on the composer draft text (non-empty after trimming) is
sufficient; no need for preview text or timestamps.
Related
- Existing unread/completion badge behavior (see e.g. #33100 for the automation completion
badge discussion).
- Manual workaround today: "Mark chat as unread" (
Ctrl+Shift+U/Cmd+Shift+U) can be
applied to draft-holding threads, but it is manual and not tied to draft state.