Skip to content

fix: late replies, unknown backgrounds, small windows, and --cells - #151

Merged
vyncint merged 7 commits into
mainfrom
fix/terminal-rendering
Oct 30, 2026
Merged

vyncint merged 7 commits into
mainfrom
fix/terminal-rendering

Conversation

@vyncint

@vyncint vyncint commented Oct 30, 2026

Copy link
Copy Markdown
Owner

Terminal compatibility: slow terminals, light terminals, small windows, and choosing a cell style.

main (#148–#150) is merged in. The conflicts were in app.rs, ui.rs, both test files, README and CHANGELOG. The failure screen now wraps (#133) in the terminal's own colours and offers u only where it works (#139), and the season follows --today (#136). Checks on the merged tree: fmt and clippy -D warnings clean, cargo test --all-features 299 passed, --test cli -- --ignored 4 passed, rustdoc -D warnings. The event loop changed, so the stress workflow is dispatched on this branch.

Closes #139
Closes #140
Closes #141
Closes #142
Closes #143

Signed-off-by: Vyncint Ng 115854244+vyncint@users.noreply.github.com

A slow terminal's answers to the start-up probe arrived after its 250 ms
deadline and crossterm read the background colour as Alt+] (next year), r
(reload) and two d's (cell style). The probe now waits 500 ms and gives a
terminal that has started answering a second window to finish; anything
later is swallowed in the key handler up to its terminator, and Alt keys
no longer act as their plain letter.

Fixes #140

Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
With no OSC 11 answer the appearance fell back to dark, and on a light
terminal the chrome was #f0f6fc at about 1.07:1. Text now uses the
terminal's default colour and only the cells keep GitHub's; the help
overlay offers --theme light; sixel edges are cut instead of blended into
a guessed dark canvas. README: native Windows never probes, so it needs
--graphics sixel --cell WxH.

Fixes #141

Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
The source label trimmed q quit off the footer before itself, and a short
window lost the note and the footer under the statistics. Short windows
now give up the summary, spacing, detail and legend first; below the
smallest chart they say "terminal too small (needs W×H) — q quits". The
failure screen offers u only where it works, and the tooltip marker no
longer overwrites a month label.

Fixes #139

Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
--cells STYLE starts the chart in a named cell style, and mossaic-glyphs
points at it. Pixel cells forced into a window too narrow for them drew
nothing; they now draw the weeks that fit, and d from a style that does
not fit goes to the best one that does. A terminal that speaks kitty or
sixel without reporting its cell size is told to pass --cell WxH.

Fixes #142

Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
Both always sent truecolour on the dark theme. They now use the chart's
palette: the 256-colour ramp unless COLORTERM says otherwise, and the
theme of the background the terminal reports, which --draw and an
interactive mossaic-glyphs now ask for. The late-reply filter moves to
term::LateReplies so the editor can drop a reply instead of painting it.

Fixes #143

Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
Resolves the conflicts with #149 and #150: the failure screen wraps (#133) in the terminal's own colours and offers u only where it works (#139); the season follows --today (#136) and the chrome follows a known background (#141); both branches' new tests kept; one Added/Changed/Fixed list under Unreleased, every bullet kept.

Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
@vyncint vyncint added this to the 0.9.0 milestone Oct 30, 2026
an_unknown_background_leaves_the_text_to_the_terminal expected truecolour, which it got only where COLORTERM says so. CI's runners set none, so the palette fell back to the 256-colour ramp and the test failed on every OS and in every stress shard. It now expects each Primer value converted the way the app converts it here, and a cell colour of either kind.

Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
@vyncint
vyncint merged commit 4ba6601 into main Oct 30, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment