Skip to content

Welcome: a key press keeps the native image instead of character art - #532

Draft
raiseCatError wants to merge 1 commit into
feature/welcome-logo-animation-20261029from
fix/welcome-native-still-20261029
Draft

raiseCatError wants to merge 1 commit into
feature/welcome-logo-animation-20261029from
fix/welcome-native-still-20261029

Conversation

@raiseCatError

Copy link
Copy Markdown
Owner

Stacked on #531 (c3620236).

Bug (reproduced in Kitty 0.49.2): any key press, scroll, resize or handover turned the native welcome image into character art for the rest of the session, even with Logo animation Off. cancelMotion() set still, released every upload, and frame() painted with cellsOnly = this.still. Introduced in 8d625b28 (#521 stack); dev is not affected.

Fix (src/welcome/startup.ts):

  • Stopping playback still stops the timer at once and deletes uploaded playback frames (generated logo frames or GIF/APNG frames).
  • A still already on screen (Off, a finished Once, a still-image effect) is kept: no delete and re-send, no flicker.
  • The live paint never forces character art; the archived card (snapshot.still) stays portable character art as before.
  • dispose() releases everything explicitly.

Tests

  • New: tests/welcomeLogoAnimation.test.ts: "a key press keeps the native still…". It fails on c3620236 and passes with the fix.
  • Updated expectations in tests/welcomePlayback.test.ts: after input, frames and timers are freed and playback can't restart, and the repaint shows one native still upload. Scrolling repaints immediately.
  • Focused: welcomeLogoAnimation, welcomePlayback, welcomeRuntime, welcome, welcomeEditor, uiConsistency: 56/56. tsc --noEmit is clean. The full suite is left to CI.

Physical QA (disposable Kitty 0.49.2, private HOME and Kitty config, Auto graphics, this build):

  • Off: native image after a key and after Backspace (6 placeholder rows each).
  • Assemble interrupted by a key: the native still appears at once and stays.
  • Before the fix, the same steps produced character art.
  • Ghostty was not physically tested for this change.

Stopping playback (any key, scroll, resize, handover) used to repaint the
welcome image as character art, even with Logo animation Off. Playback
frames are still deleted at once; a still already on screen stays, and
the next paint shows the still as a native image. The archived card stays
portable character art as before.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant