# Keep the presence worker alive through pipe errors · dara/icarus

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

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

Visibility: public

Requested revision: 5145588422370d366d54eb00f0fab84c344e7893

Requested commit: 5145588422370d366d54eb00f0fab84c344e7893

Commit: 5145588422370d366d54eb00f0fab84c344e7893

Tree: 646a3442cc1a78d16477015acce0b16dabcb9efd

Author: Dara Adedeji

Committer: Dara Adedeji

## Message

```
Keep the presence worker alive through pipe errors

The package's pipe reads and closes can throw outside the service's own
catch, for example when Discord quits mid-session. On the UI isolate those
reached main()'s guarded zone; on the worker an uncaught error would end
the isolate and presence with it, and dispose() would wait forever. The
worker now runs in a zone that logs them, dispose() gives up after two
seconds, and clear() no longer starts a worker that was never needed.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

```

## Parents

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

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