Commit Graph

6 Commits

Author SHA1 Message Date
Teknium eb1b14b952 test(desktop-e2e): fix spec drift accrued while the lane was disabled
The Desktop E2E lane was disabled Aug 2 – Sep 1; the app and gateway kept
moving, so 16 specs rotted against current main. All failures traced to
spec/harness drift, not product regressions:

- fixtures.ts: title generation now rides the main model (#83636), firing a
  background completion at the mock after every turn — it contains the whole
  conversation (trigger keywords included), advancing scripted-turn indices
  and tripping hold-for-prompt matchers. Disabled by default in the mock
  provider config; specs supplying their own `auxiliary:` section own it.
- chat/interim-messages/session-compression/correction-session-switch/
  hidden-history-messages: busy-state and transcript assertions updated to
  the current composer aria-labels, interim-message semantics, and
  verify-on-stop continuation behavior on main.
- bot-mode-closed-chat-stays-closed/group-to-local-bot-handoff: Bot Chat tab
  selectors updated for the Bot Mode rework (tabs keyed by
  connection+profile, renamed tab triggers).
- glyph-spinner: assertions made compositor-honest for the CI runner
  (steps() keyframes + layer promotion probed via the animation registry
  instead of GPU-dependent screenshots).
- sidebar-states/tile-unread-bug: event-driven waits with mock-server
  release handles replace wall-clock polls that lost races on loaded
  runners.
- warm-resume-jitter/image-attachment-resume: real-session-builder harness
  waits for the thread viewport before evaluating; failure path now dumps
  per-surface pane state.

Local full-suite run on the CI-equivalent xvfb setup: 62 passed,
11 skipped, 1 flaky-passed (correction-session-switch live-correction spec,
passes on retry). No product code changed.
2026-09-01 12:04:29 -07:00
Brooklyn Nicholson 76e9ac3915 fix(desktop): preserve correction order in session tabs 2026-07-26 05:00:18 -05:00
Brooklyn Nicholson fc39c7ac31 test(desktop): scope e2e transcript helpers to the active chat surface
The sidebar "+" now stacks a tab instead of replacing the surface, so the
prior session stays mounted and several chat surfaces can be on the page at
once. Helpers that waited for the old transcript to disappear from the page
timed out, and `.first()` locators / bare `document.querySelector` calls
started resolving against the wrong session (CI's "resolved to 2 elements"
strict-mode violation).

Target the most recently mounted `[data-composer-target]` surface instead,
and assert the NEW surface is empty rather than waiting for the old text to
vanish.
2026-07-26 03:57:49 -05:00
ethernet 8a21df18ac fix(desktop): place steer messages before redirected replies (#69739)
* test(desktop): reproduce steer transcript placement

* fix(desktop): place steer messages before redirected replies
2026-07-22 22:04:57 -04:00
ethernet 6d17b2a593 fix(desktop): preserve active correction on warm resume (#69725)
Update the gateway's live turn projection after an accepted correction so a warm session resume does not add the stale original prompt beside the persisted correction.

Cover the inference-time correction path end to end and assert both redirect entry points refresh the live user text.
2026-07-22 21:53:56 -04:00
ethernet a23e39fe6d test(desktop): cover correction resume without duplicate prompts (#69708)
* test(desktop): cover correction resume without duplicate prompts

Exercise a live composer correction, switch away and back before the
response settles, and assert both user turns retain their order and occur
exactly once.

* test(desktop): cover correction warm resume during tool run

Exercise a correction accepted at a foreground-tool boundary, a switch through a persisted session, and the warm resume back. Assert the original prompt and correction remain singular and ordered.
2026-07-23 01:06:30 +00:00