v0.6.90b420.dev733
The TUI shows correct colors wherever truecolor is missing or wrongly reported, including every SSH session. Catalog search queries HuggingFace as you type. A source you remove stays removed, and you can add it back. A new install no longer opens a chat screen that cannot chat.
Colors are correct on a 256-color terminal
Dark themes rendered as black or a wrong hue. On rose-pine, the background and panel came out navy. It hit seven of 33 dark surfaces.
lilbee now reduces color through Rich's perceptual matcher. Truecolor terminals are untouched.
A terminal that claims truecolor may not have it
COLORTERM=truecolor is a convention, not a capability check. Some terminals set it and cannot draw 24-bit color. A gradient comes out green and magenta.
lilbee now reads TERM_PROGRAM as well, and reduces color for the terminals that need it.
tmux hides the terminal under it
tmux replaces TERM_PROGRAM and forwards COLORTERM, so a tmux session on such a terminal still looked truecolor.
lilbee now reads the original terminal from tmux. The answer is per server, so a server started in one terminal and attached from another still gets it wrong.
Every border uses box-drawing characters
Settings showed dashes and corner ticks instead of borders. Textual's tall and thick borders use partial block glyphs, which many fonts do not draw at exactly one cell.
All 39 declarations now use solid and heavy. Progress bars leave shade blocks too.
Catalog search queries the hub as you type
A search for a model the catalog had not paged to reported no such model. The hub was queried only on Enter, and only when nothing matched locally.
Typing now queries the hub. Enter moves the cursor to the results, and no longer starts a download.
A search returns a full screen
A search for "qwen3" returned six cards, one of them from the hub. The page held 4 rows and could not fill the grid.
Browse pages now hold 24 rows. A search gets a larger limit of its own. The wiki sidebar fills the same way.
A new install stops on the setup wizard
A new install points at models that are not on disk. The gate opened chat anyway and layered the wizard over it. Escape left a live prompt with no engine and no route to the catalog. Returning to the Chat tab later gave the dead screen with no wizard.
Setup now runs before chat opens.
The services container builds behind the loading bar
Building the container on the mount path blocked the first frame and skipped the gate's boot worker. One startup task never ran in a shipped build. A stale model reference was left to fail later, instead of being swapped for a working one.
The gate now builds the container on its own thread.
A removal stays removed
A removed file came back on the next sync. Each sync pruned the markers that hold a removal down to the files found on that pass. A source whose root was not visible then lost its marker. In the multi-GPU fanout, each worker wiped the markers of every other worker.
Markers now persist. They clear when the file ingests cleanly.
You can add a removed source back
Adding a removed source reported "Registered 0 source(s)" and did nothing.
An add now clears the markers for the paths you name, and the next sync ingests them.
A show before the model bar no longer crashes the app
A show that arrived before the prompt area mounted its children crashed the app.
The model bar scans on its own mount, so there is nothing to refresh until it exists.
Security
h2 moves to 4.4.1.