Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
2faad4f to
1398897
Compare
Greptile SummaryThis PR introduces a Key changes:
Confidence Score: 5/5Safe to merge — all findings are P2 quality suggestions and no production code paths are at risk. The only finding is a minor polling-loop race in the test harness's waitForSnapshot that could occasionally produce a false timeout (~1.6% of cycles at the timeout boundary). Production code changes are minimal and well-tested. CI integration is straightforward. test/integration/tuistoryHarness.ts — the waitForSnapshot polling loop should add a final predicate check before throwing. Important Files Changed
Sequence DiagramsequenceDiagram
participant BunTest as Bun Test Runner
participant Harness as tuistoryHarness
participant Tuistory as tuistory (PTY)
participant Hunk as hunk process (PTY child)
BunTest->>Harness: createTuistoryHarness()
BunTest->>Harness: createXxxFixture()
Harness-->>BunTest: { fixture paths }
BunTest->>Harness: launchHunk({ args, cols, rows })
Harness->>Tuistory: launchTerminal(bun run src/main.tsx)
Tuistory->>Hunk: spawn in PTY (HUNK_DISABLE_UPDATE_NOTICE=1)
Hunk-->>Tuistory: PTY output stream
Tuistory-->>BunTest: Session
BunTest->>Harness: session.waitForText(regex)
Harness->>Tuistory: session.text({ immediate })
Tuistory-->>Harness: snapshot string
BunTest->>Harness: session.press(key) / scrollDown / resize
Harness->>Tuistory: forward input to PTY
BunTest->>Harness: waitForSnapshot(predicate, timeout)
loop poll every ~80 ms
Harness->>Tuistory: waitIdle + session.text
Tuistory-->>Harness: snapshot
end
Harness-->>BunTest: snapshot (or timeout error)
BunTest->>Harness: session.close()
BunTest->>Harness: cleanup() [afterEach]
Harness->>Harness: rmSync all temp dirs
|
1398897 to
8c7f422
Compare
8c7f422 to
547cc38
Compare
Summary
Testing
This PR description was generated by Pi using OpenAI o3