Skip to content

v0.80.0

Choose a tag to compare

@ltdan-88 ltdan-88 released this 03 Sep 15:26
· 9 commits to main since this release
9c0ea78

What

Details (turned on via Actions → Settings → Details) now survives a
relaunch, not just the current session.

Why

Raised live: "changing themes and relaunching toggles the details
pane into off in settings."

Picking a theme relaunches the whole process to apply the new colors
(pick_theme()'s own exec). DETAILS_VISIBLE/DETAILS_PINNED had
never been written to config at all — a deliberate "per-session view
preference, not a setting" choice from when this first shipped, which
made Details the one row in Settings that didn't actually behave like
a setting (everything else there — Theme, Startup Screen, Sort,
Compact View, Details Position, Alt Keybinds — already persists).

This is the third distinct report rooted in the same gap: the earlier
"not always persistent" fix already closed it for a stray F3 press
within one session; this is that same gap reached through a different
door (any real process restart, not only F3). Fixed it properly this
time instead of special-casing the theme-relaunch trigger.

Implementation

A new DETAILS= config key, read at startup the same way every other
setting already is, written only from open_settings_menu()'s
toggle_details case. F3 itself still never writes it — a peek stays
a peek, and stays a no-op while Details is pinned on regardless of
whether that pin came from this session's own Settings press or a
config file read at startup.

Verification

  • Confirmed live in tmux, not just checked the file: turned Details
    on via Settings, killed the session and started a fresh one against
    the same $HOME, confirmed it was already pinned on with no keys
    pressed — then turned it back off and confirmed a second relaunch
    stayed off too.
  • test/details-pinned-f3-fixtures.sh extended with source-text
    checks (config parsing, startup seeding, the write site, F3 never
    writing) and the two live relaunch checks.
  • Proved the test catches the regression two ways (write removed;
    startup-seeding text kept but effect defeated) before restoring.
  • Full local suite passes.
  • README, EXTENDING.md, F1's Details topic updated.

🤖 Generated with Claude Code

https://claude.ai/code/session_01H7EeVRRBpp94V7PkdVHdE6