Skip to content

[ENG-99] Extract GenerateAdapter and migrate state to store#35

Merged
Desgue merged 1 commit intomainfrom
eng-99-generate-store-fix
Apr 12, 2026
Merged

[ENG-99] Extract GenerateAdapter and migrate state to store#35
Desgue merged 1 commit intomainfrom
eng-99-generate-store-fix

Conversation

@Desgue
Copy link
Copy Markdown
Owner

@Desgue Desgue commented Apr 12, 2026

Summary

  • Extracts GenerateAdapter interface and httpGenerateAdapter in src/api/generateClient.ts
  • Migrates module-level globals (activeController, timeoutTimer, isTimeoutAbort) into Zustand store state
  • Generate adapter is injectable for testing
  • No more implicit module-level state

Test plan

  • tsc -b passes
  • All 198 tests pass
  • Manual: generate flow works identically

Closes ENG-99

- Define GenerateAdapter interface in generateClient for testability
- Implement httpGenerateAdapter to wrap the HTTP call
- Move module-level globals (activeController, timeoutTimer, isTimeoutAbort) to store state
- Inject adapter into store for easy mocking in tests
- Encapsulate cancellation logic within store state transitions
@Desgue Desgue merged commit db2c33a into main Apr 12, 2026
@linear
Copy link
Copy Markdown

linear Bot commented Apr 12, 2026

@Desgue Desgue deleted the eng-99-generate-store-fix branch April 12, 2026 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant