#14834
termio: send the config change color scheme report directly
StreamHandler.changeConfig queued a color_scheme_report message into the termio mailbox. changeConfig runs on the io thread, which is the only reader of that mailbox, so when the mailbox was full (for example, from a burst of query replies queued by the reader thread) the io thread blocked forever pushing to itself. Every other thread then blocked on its next send to the same mailbox, freezing Ghostty on a config reload.
Write the report from Termio.changeConfig instead, using the same colorSchemeReportLocked the message handler uses. The report still follows the config update in order with other output.
Fixes: #14833
AI disclosure: Claude Code was used in the preparation of this PR.
Activity
0No activity yet.