Skip to content

fix(desktop): lock the sidebar-long-sessions footer-visibility geometry invariant #1311

Description

@Astro-Han

Part of #1303 (surfaced by Codex review of #1308).

Context

The sidebar-long-sessions fixture (60 sessions) exists so the sidebar scroll container can be verified end-to-end: the list scrolls independently and the footer (Settings + Version info) stays visible at the bottom regardless of session count. This was the P0 WAWQAQ flagged in msg 761141c5.

Before #1308, the only regression lock for this geometry was the screenshot baseline of sidebar-long-sessions — which never ran in CI. #1308 retired the screenshot harness, so the invariant is now explicitly unlocked:

  • apps/desktop/src/main/__tests__/sidebar-scroll-contract.test.ts is a static-analysis gate over the sidebar scroll CSS; it does not assert the rendered footer-visibility geometry.
  • apps/desktop/e2e/scroll-geometry.spec.ts boots the long-transcript fixture (not sidebar-long-sessions) and checks .maka-chatViewport content-visibility, not the sidebar.

Acceptance

  • A Playwright E2E (or rendered computed-style) contract boots the sidebar-long-sessions fixture and asserts: the sidebar list scrolls independently of the chat, and the Settings/Version footer stays inside the sidebar panel viewport (not pushed off-screen) with 60 sessions loaded.
  • Green in CI. Reference the sidebar-long-sessions fixture by name.

Notes

The fixture seed and its on-disk 60-session contract are already pinned by visual-smoke-fixture.test.ts; this issue is only about the rendered geometry lock.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions