Skip to content

fix(desktop): follow-up to #4225 — minimal migration, streaming scroll, dead code#4238

Merged
esengine merged 3 commits into
main-v2from
fix/gsap-followup
Jun 13, 2026
Merged

fix(desktop): follow-up to #4225 — minimal migration, streaming scroll, dead code#4238
esengine merged 3 commits into
main-v2from
fix/gsap-followup

Conversation

@esengine

Copy link
Copy Markdown
Owner

Follow-up cleanup on top of #4225 (GSAP animation refactor). Three independent commits.

1. Map legacy minimal display mode to compact (fix)

#4225 removed the minimal mode (functionally identical to compact) from the type system and UI, but left the migration incomplete: Config.DesktopDisplayMode() still returned "minimal" for an existing user's persisted toml, and the frontend getDisplayMode/hydrateDisplayMode now reject that value — so anyone who had selected minimal silently dropped to standard (fully verbose) instead of the equivalent compact. Normalized minimal → compact on both the Go read path (config.go, edit.go) and the localStorage hydrate path (displayMode.ts).

2. Drop scroll-behavior: smooth that fights instant streaming scroll (fix)

The streaming auto-scroll pins to the bottom with a direct el.scrollTop = el.scrollHeight write, which #4225 documents as instant specifically to avoid the perpetual tween-chase jitter. #4225 also added a global scroll-behavior: smooth on .transcript, which in Chromium/WebView2 turns that scrollTop write into an animated scroll — reintroducing the lag it set out to remove. Removed the rule; the two call sites that genuinely want smooth (jump-bar via GSAP, warm-turn expand via scrollTo({ behavior: "smooth" })) already request it explicitly and are unaffected.

3. Remove dead code left by the merge (refactor)

  • No-op footer-height effect in Transcript.tsx (empty if body, ref never read elsewhere).
  • Constant false trailing the hot-zone useMemo dependency array.
  • Unused DUR_SLOWER / EASE_IN_OUT / EASE_SCROLL exports in gsapAnimations.ts.
  • Stale compact/minimal comments now that minimal is gone, and the entrance-hook JSDoc whose usage example had the args reversed.

go test ./internal/config/ passes; frontend changes are typechecked by CI.

esengine added 3 commits June 12, 2026 19:51
#4225 removed the minimal mode (it was identical to compact) but left
existing users stranded: DesktopDisplayMode() still returned "minimal"
for a persisted toml, which the frontend now rejects, so those users
fell back to standard (verbose) instead of the equivalent compact.
Normalize the legacy value to compact on both the Go read path and the
localStorage hydrate path.
…scroll

The transcript pins to the bottom during streaming via a direct
scrollTop = scrollHeight write, which #4225 documents as instant to
avoid the perpetual tween-chase jitter. A global scroll-behavior:smooth
on .transcript turns that write into an animated scroll in Chromium,
reintroducing the lag it set out to remove. The two call sites that want
smooth (jump-bar, warm-turn expand) already pass behavior explicitly.
- remove the no-op footer-height effect (empty if body, unused ref)
- drop the constant `false` from the hot-zone useMemo deps
- delete unused DUR_SLOWER/EASE_IN_OUT/EASE_SCROLL exports
- correct stale "minimal mode" comments and the entrance-hook usage doc
@esengine esengine requested a review from SivanCola as a code owner June 13, 2026 02:51
@github-actions github-actions Bot added v2 Go rewrite (1.x) — main-v2 branch, active development desktop Wails desktop app (desktop/**) config Configuration & setup (internal/config) and removed v2 Go rewrite (1.x) — main-v2 branch, active development labels Jun 13, 2026
@esengine esengine merged commit 6cf4a95 into main-v2 Jun 13, 2026
14 checks passed
@esengine esengine deleted the fix/gsap-followup branch June 13, 2026 02:56
CVEngineer66 pushed a commit to CVEngineer66/DeepSeek-Reasonix that referenced this pull request Jun 13, 2026
…ng scroll, dead code (esengine#4238)

* fix(desktop): map legacy "minimal" display mode to compact

esengine#4225 removed the minimal mode (it was identical to compact) but left
existing users stranded: DesktopDisplayMode() still returned "minimal"
for a persisted toml, which the frontend now rejects, so those users
fell back to standard (verbose) instead of the equivalent compact.
Normalize the legacy value to compact on both the Go read path and the
localStorage hydrate path.

* fix(desktop): drop scroll-behavior:smooth fighting instant streaming scroll

The transcript pins to the bottom during streaming via a direct
scrollTop = scrollHeight write, which esengine#4225 documents as instant to
avoid the perpetual tween-chase jitter. A global scroll-behavior:smooth
on .transcript turns that write into an animated scroll in Chromium,
reintroducing the lag it set out to remove. The two call sites that want
smooth (jump-bar, warm-turn expand) already pass behavior explicitly.

* refactor(desktop): drop dead code left by the GSAP animation merge

- remove the no-op footer-height effect (empty if body, unused ref)
- drop the constant `false` from the hot-zone useMemo deps
- delete unused DUR_SLOWER/EASE_IN_OUT/EASE_SCROLL exports
- correct stale "minimal mode" comments and the entrance-hook usage doc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

config Configuration & setup (internal/config) desktop Wails desktop app (desktop/**)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant