304699fb55
- luaplugin: waitExec now holds the plugin mutex while reading LState, matching the locking exec goroutines do when calling into Lua. The race detector caught this in TestExecCancel. - ipc: log conn.Write failures in writeResponse instead of silently dropping them. - ui/model: collapse empty if/else branches in track-title rendering; drop dead 'Add now-playing' assignment that was always overwritten.