Skip to content

Conversation

@deansheather
Copy link
Member

No description provided.

@deansheather deansheather merged commit c52ebea into main Dec 3, 2025
13 checks passed
@deansheather deansheather deleted the dean/mock-isDestroyed branch December 3, 2025 03:34
ammario pushed a commit that referenced this pull request Dec 3, 2025
## Summary

Add comprehensive E2E tests covering window lifecycle, IPC robustness,
streaming edge cases, persistence, and error display. These tests target
recent regression patterns.

## Recent Regressions Addressed

| Regression | Test Coverage |
|------------|---------------|
| `MockBrowserWindow.isDestroyed()` (#863) | IPC stability tests verify
no crashes during heavy IPC |
| IPC send to destroyed window (#859) | `ipcRobustness.spec.ts` -
concurrent IPC operations |
| Duplicate IPC handler registration (#851) | `windowLifecycle.spec.ts`
- rapid IPC calls test |
| Stream error handling (#880) | `streamEdgeCases.spec.ts` +
`errorDisplay.spec.ts` |

## New Test Files (26 tests total)

- **windowLifecycle.spec.ts** (6 tests): window operations, IPC
stability under load
- **ipcRobustness.spec.ts** (4 tests): concurrent IPC calls, state
preservation
- **streamEdgeCases.spec.ts** (6 tests): streaming during UI operations,
error scenarios
- **persistence.spec.ts** (4 tests): chat history, settings, mode
persistence
- **errorDisplay.spec.ts** (6 tests): error messages display, recovery
flows

## Infrastructure Changes

- **Error mock scenarios**: rate limit, server error, network error
scenarios
- **Stream timeline capture**: now handles `stream-error` events
(previously only `stream-end`)
- **CI matrix**: Linux (comprehensive, 47 tests) + macOS (window
lifecycle, 6 tests)

## CI Configuration

```yaml
matrix:
  include:
    - os: linux      # Comprehensive E2E tests
    - os: macos      # Window lifecycle tests only (platform-dependent)
```

_Generated with `mux`_
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.

2 participants