Skip to content

main fails typecheck: ToolTimelineEntry fixtures missing required seq in Conversations.render.test.tsx #4948

Description

@M3gA-Mind

Summary

main fails the Frontend Checks (quality, i18n, docs, coverage) lane: tsc reports two TS2741 errors in app/src/pages/__tests__/Conversations.render.test.tsx, where ToolTimelineEntry fixtures are missing the now-required seq property. Every PR that syncs main inherits the failure.

Problem

What happened. CI Lite on main went from success at b48b62327 (08:04) to failure at 4a68fd727 (08:18):

src/pages/__tests__/Conversations.render.test.tsx(2414,21): error TS2741:
  Property 'seq' is missing in type '{ id: string; name: string; round: number; status: "success"; }'
  but required in type 'ToolTimelineEntry'.
src/pages/__tests__/Conversations.render.test.tsx(2438,21): error TS2741: (same)
##[error]Process completed with exit code 2.

Root cause — a semantic conflict between two individually-green PRs.

  1. fix(conversations): key the proactive-thread insights fallback (disclosure state leak) #4944 (b48b62327, merged 08:04) added two ToolTimelineEntry fixtures to Conversations.render.test.tsx (the cross-thread disclosure-leak test).
  2. fix(flows): stable issue-order for tool-call timeline (monotonic seq + FIFO result pairing) #4945 (4a68fd727, merged 08:18) made seq: number required on ToolTimelineEntry (app/src/store/chatRuntimeSlice.ts:286) and updated 12 test files — including this one — but was authored against a base predating fix(conversations): key the proactive-thread insights fallback (disclosure state leak) #4944, so it never saw those two fixtures.

Each PR passed CI on its own base. Merged 14 minutes apart, the combination breaks main. Per-PR CI cannot catch this class of defect; it only appears post-merge.

Impact. Release-blocking — release is cut from main. Every open PR that merges current main fails Frontend Checks: already observed on #4912 and #4934 (both Rust-only feature-gate PRs that touch no frontend code, failing purely on inherited breakage). #4913 and #4914 will fail on their next sync.

Steps to reproduce.

  1. git checkout main && git pull upstream main
  2. cd app && pnpm typecheck
  3. Two TS2741 errors at Conversations.render.test.tsx:2414 and :2438.

Platform: CI (ubuntu runner) and local dev; not platform-specific.

Solution

Add seq: 0 to both fixtures in app/src/pages/__tests__/Conversations.render.test.tsx:

  • line 2414entries: [{ id: 'a-1', name: 'web_fetch', round: 1, status: 'success' }]
  • line 2438entries: [{ id: 'b-1', name: 'send_email', round: 1, status: 'success' }]

seq: 0 is the correct value and matches #4945's own convention for every comparable fixture it updated (e.g. timeline/selectors.test.ts, SubMascotLayer.test.tsx, ToolTimelineBlock.test.tsx): both are single-entry timelines on distinct threads, so issue-order index 0 is accurate. The change is test-fixture-only — no production code, no behavior change.

Acceptance criteria

Related

Metadata

Metadata

Assignees

No one assigned

    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