#The toolbar badge
The small mark on the extension icon is the only thing that reports an export you are not watching. It matters most for scheduled backups, which run in a background tab with no overlay and no window of their own. Without the badge, a backup that failed three weeks ago looks exactly like one that worked.
#The five badges
Hover the icon at any time; the tooltip says the same thing in words, and for a finished export it repeats the result.
| Badge | Colour | State id | Meaning |
|---|---|---|---|
… |
grey #6F757D |
running |
Export running. Reading through the AI Studio API (the normal path). |
~ |
amber #D9A34A |
reading |
Export running, reading the page. The API was unavailable, so the conversation is being scraped from the rendered page instead. |
✓ |
green #5CC98A |
done |
Finished. Everything asked for is in the file. |
! |
amber #D9A34A |
partial |
Finished, but not completely. Open the popup; it says what was missing. |
X |
red #E8736B |
failed |
Did not finish, or did not do what you asked. Open the popup for the reason. |
The state ids are what the code calls them (see src/badge.js) and what
chrome.storage.local.runStatus records.
No badge at all means nothing has run since you last opened the popup.
#Which one you get
… and ~ are live states. The moment a single-conversation export gives up
on the API and falls back to reading the page, grey becomes amber; this happens
while the slow part is still running, not after it.
When the export ends, one of the last three replaces it:
| Outcome | Badge |
|---|---|
| Everything exported | ✓ |
Read from the page rather than the API (source: "dom") |
! |
| One or more attachments could not be downloaded | ! |
| A library export where some conversations failed | ! |
| The format could not represent something (such as non-Latin text in a PDF) | ! |
| The export failed, or you cancelled it | X |
| A Pro format was requested without a licence and exported as Markdown | X |
| Library export requested without a licence | X |
| A scheduled backup could not start (no tab, or the browser is signed out) | X |
! always means a file was produced. X means either no file, or not the file
you asked for.
The amber pair (~ while running and ! when finished) are the same signal
at two moments: what you get from the page is thinner than what the API
returns. No token counts, no model settings, no system instruction, and only
the attachments the page had already rendered. See
source.
#What clears them
| Badge | Clears |
|---|---|
… ~ |
When the export ends. |
✓ |
By itself, after five seconds. |
! X |
When you open the popup. Not before. |
That asymmetry is the point. A success you missed costs nothing; a failure you missed costs the backup. So the two that need reading stay until they have been read, and opening the popup is the acknowledgement.
The popup shows the message that goes with the badge (the same sentence the tooltip carries) under the export buttons, styled to match: green, amber or red. It survives a browser restart, so a backup that failed overnight is still explained in the morning.
#Why a downgrade is red
Requesting PDF without a licence produces a Markdown file. Nothing failed, and
! would be the tidier choice, but you asked for one thing and got another,
and the place people normally discover that is their downloads folder, a week
later, when they go looking for the PDF. Red now is cheaper.
The popup is more precise than 16 pixels can be. It has room to say that a file
was still produced, so it draws the downgrade in amber, under the heading
"Exported in the wrong format", with a link to unlock Pro. The badge is the
alarm; the popup is the explanation. This is the only case where the two
deliberately differ, and it is recorded as kind: "downgrade" alongside the
state so nothing has to infer it from the message text.
The export still runs and the file is still saved.