Excise the Changelog feature

Kigi never publishes CDN changelogs, so the entire inherited feature
was dead weight: the welcome-menu Changelog row, the hero-box info
slot (bullets + clickable CTA), /release-notes with its /changelog
alias, and the ChangelogManager CDN-fetch/disk-cache pipeline
(Effect::FetchChangelog, TaskResult::ChangelogFetched, startup and
post-login fetch kickoffs, AppView cache fields, mouse hover/click
handling). Welcome menu is now [Import] / New worktree / Resume
session / Quit; the hero box keeps title + version + subtitle and its
layout math simplifies to 3 + menu rows (verified equivalent by the
surviving boundary tests). Action::ShowReleaseNotes and the DocViewer
modal stay — /docs uses them. builtin.rs keeps deleting stale
CHANGELOG.{json,md} caches written by kigi ≤ 0.1.0.

kigi-shell-base drops its reqwest 'blocking' feature (only the deleted
module used it). -1206 lines net.

Gates: fmt clean, workspace check/clippy --all-targets 0/0, kigi-tui
lib 6609 / shell-base 56 / shell util:: 258 all passing, welcome pty
e2e (3 tests incl. braille logo) passing.
This commit is contained in:
2026-07-18 12:31:52 -04:00
parent 6e26d15428
commit 10d0c0816f
19 changed files with 66 additions and 1206 deletions
@@ -1,52 +0,0 @@
name: release-notes-scroll
description: >
Open /release-notes (DocViewer modal) and verify keyboard + mouse-wheel scrolling
moves the changelog body. Seeds CHANGELOG cache offline via setup is not available
in YAML, so this scenario relies on CDN/cache if present and still asserts the
modal chrome + scroll affordances. Prefer the pty_e2e Rust tests for deterministic
offline seeding; this YAML exercises the scripted ptyctl runner path.
terminal:
rows: 40
cols: 110
mock:
response: "SCRIPTED_RELEASE_NOTES_SCROLL unused for this scenario."
steps:
- action: wait_for_text
text: Quit
timeout_ms: 20000
# Promote welcome → session and open release notes (uses CDN or disk cache).
- action: type_text
text: "/release-notes"
- action: keys
keys: "<Enter>"
- action: wait_for_text
text: Release Notes
timeout_ms: 20000
- action: assert_contains
text: scroll
# Keyboard scroll through the modal body.
- action: keys
keys: "<Down><Down><Down><Down><Down><Down><Down><Down><Down><Down>"
- action: wait
millis: 200
- action: keys
keys: "jjjjjjjjjj"
- action: wait
millis: 200
# Mouse wheel at the center of the modal.
- action: scroll
row: 20
col: 55
direction: down
count: 15
- action: wait
millis: 250
- action: assert_contains
text: Release Notes
- action: assert_not_contains
text: panicked
- action: keys
keys: "<Esc>"
- action: screenshot
name: release-notes-after-scroll
note: Release notes modal after keyboard + wheel scroll.