# Address CodeRabbit review: bounded ffmpeg waits, resilient teardown, scoped screenshot cleanup · dara/icarus

[View on GitCafe](https://git.cafe/dara/icarus/commit/2ea72df75498628e950b50e9e582e017979f0576)

Repository: [dara/icarus](https://git.cafe/dara/icarus)

Visibility: public

Requested revision: 2ea72df75498628e950b50e9e582e017979f0576

Requested commit: 2ea72df75498628e950b50e9e582e017979f0576

Commit: 2ea72df75498628e950b50e9e582e017979f0576

Tree: 8a3162f457f1c8e540dc0e752f4390ef1289b10b

Author: Dara Adedeji

Committer: Dara Adedeji

## Message

```
Address CodeRabbit review: bounded ffmpeg waits, resilient teardown, scoped screenshot cleanup

- Bound renderer dispose frame drains with a timeout and release resources
  in a finally block so a stalled or throwing drain cannot hang or leak
- Add _awaitExit helper so writeFrame/finish never wait unboundedly on a
  hung ffmpeg; escalate to SIGKILL after a grace period
- Make frame writer cancel() awaitable and await it before deleting the
  temp frame directory to avoid the Windows delete race
- Gate MouseWatch dispose cleanup on the scoped screenshotProvider instead
  of the global CoordinateSystem flag so live instances disposed during an
  export still unregister hover and hitbox state
- Reset screenshot flag and dispose test container via addTearDown

```

## Parents

- [dab31086f3ce03241d449c597bdf49198bb887f8](https://git.cafe/dara/icarus/commit/dab31086f3ce03241d449c597bdf49198bb887f8?format=markdown)

[Source at this commit](https://git.cafe/dara/icarus/tree/2ea72df75498628e950b50e9e582e017979f0576?format=markdown)
