mirror of
https://github.com/anomalyco/opentui.git
synced 2026-04-25 13:06:00 +03:00
[PR #417] [MERGED] fix(core): clean up timers and listeners in destroy() to allow process exit #1304
Labels
No labels
bug
core
documentation
feature
good first issue
help wanted
pull-request
question
react
solid
tmux
windows
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/opentui#1304
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/anomalyco/opentui/pull/417
Author: @remorses
Created: 12/14/2025
Status: ✅ Merged
Merged: 12/15/2025
Merged by: @kommander
Base:
main← Head:fix/process-exit-cleanup📝 Commits (1)
6985575fix(core): clean up timers and listeners in destroy() to allow process exit📊 Changes
1 file changed (+15 additions, -1 deletions)
View changed files
📝
packages/core/src/renderer.ts(+15 -1)📄 Description
After #383 changed signal handlers to call
destroy()instead ofprocess.exit(), the process would hang instead of exiting becausedestroy()wasn't cleaning up all active handles.removeExitListeners()call indestroy()to remove signal handlersbeforeExitlistener indestroy()resizeTimeoutIdtimeout indestroy()capabilityTimeoutIdthat removes the capability handlerThe 5-second capability timeout was the main culprit - it kept the event loop alive for exactly 5 seconds after Ctrl+C.
closes #405
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.