Roon stops playing when any endpoint (not in use) disconnects

Once again, I was playing KCSM (on Library mini), and once again, it just stopped. You tell me why, please. There’s no Google Cast Group involved. There are no interesting entries in the RAATServer log file.

05/28 12:48:56 Trace: [Library mini] [LowQuality 78.7x, 24/32 MP3 => 24/48] [PLAYING @ 329:25] Miles Davis - Freddie Freeloader / Maîtres de la trompette: 100 Essential Jazz Standards
05/28 12:48:58 Info: 
--[ SignalPath ]---------------------------------------------
SignalPath Quality = LowQuality
Elements:
    Source Format=Mp3 32000/24/2 BitRate=96 Quality=LowQuality
    SampleRateConversion FromSampleRate=32000 ToSampleRate=48000 Algorithm=HighQuality Quality=Enhanced
    Truncate FromBitsPerSample=64 ToBitsPerSample=24 Quality=Lossless
    Output OutputType=Cast Quality=Lossless SubType= Model=Google Home Mini
    Output OutputType=Local_Other Quality=Lossless SubType= Model=
------------------------------------------------------------
05/28 12:49:05 Info: [stats] 24557mb Virtual, 3236mb Physical, 1949mb Managed, 371 Handles, 82 Threads
05/28 12:49:08 Info: [transport] destroyed zone Kitchen Mini was playing? False
05/28 12:49:08 Trace: [zone Kitchen Mini] Suspend
05/28 12:49:08 Info: [zone Kitchen Mini] Canceling Pending Sleep
05/28 12:49:08 Info: [zone Kitchen Mini] Canceling Pending Sleep
05/28 12:49:08 Trace: [Library mini] [LowQuality 78.7x, 24/32 MP3 => 24/48] [PLAYING @ 329:29] Miles Davis - Freddie Freeloader / Maîtres de la trompette: 100 Essential Jazz Standards
05/28 12:49:08 Info: [transport] destroyed zone Basement speaker was playing? False
05/28 12:49:08 Trace: [zone Basement speaker] Suspend
05/28 12:49:08 Info: [zone Basement speaker] Canceling Pending Sleep
05/28 12:49:08 Info: [zone Basement speaker] Canceling Pending Sleep
05/28 12:49:09 Info: [transport] destroyed zone Living Room TV was playing? False
05/28 12:49:09 Trace: [zone Living Room TV] Suspend
05/28 12:49:09 Info: [zone Living Room TV] Canceling Pending Sleep
05/28 12:49:09 Info: [zone Living Room TV] Canceling Pending Sleep
05/28 12:49:09 Trace: [transport/zonedisplay] [Chromecast-2314f5ab2ee83dcebe81207a0de1f25f._googlecast._tcp.local] un-associated endpoint
05/28 12:49:09 Info: [transport] destroyed zone Kitchen mini was playing? False
05/28 12:49:09 Trace: [zone Kitchen mini] Suspend
05/28 12:49:09 Info: [zone Kitchen mini] Canceling Pending Sleep
05/28 12:49:09 Info: [zone Kitchen mini] Canceling Pending Sleep
05/28 12:49:09 Info: [transport] destroyed zone CCA House was playing? False
05/28 12:49:09 Trace: [zone CCA House] Suspend
05/28 12:49:09 Info: [zone CCA House] Canceling Pending Sleep
05/28 12:49:09 Info: [zone CCA House] Canceling Pending Sleep
05/28 12:49:10 Info: [cast] lost device Google Home Mini because it disconnected
05/28 12:49:10 Info: [cast] lost device Google Home Mini because it disconnected
05/28 12:49:10 Info: [transport] destroyed zone Library mini was playing? True
05/28 12:49:10 Trace: [zone Library mini] Suspend
05/28 12:49:10 Info: [zone Library mini] OnPlayFeedback Stopped
05/28 12:49:10 Info: [audio/env] [zoneplayer -> stream] All streams were disposed
05/28 12:49:10 Info: [zone Library mini] Canceling Pending Sleep
05/28 12:49:10 Info: [zone Library mini] Canceling Pending Sleep
05/28 12:49:10 Info: [zone Library mini] Canceling Pending Sleep
05/28 12:49:10 Info: [cast/httpresponder] [/c8d0f639c3ae4d9cbeeeea67e83d723d] delete flac encoder
05/28 12:49:10 Debug: [easyhttp] [4281] POST to https://internetradio.roonlabs.net/2/api/reporting/internetradioplayback/events?format=msgpack& returned after 221 ms, status code: 200
05/28 12:49:11 Info: [transport/zonedisplay] Zone display unregistered: Chromecast
05/28 12:49:11 Info: [cast] lost device Chromecast because it disconnected
05/28 12:49:11 Debug: [easyhttp] [4282] POST to https://internetradio.roonlabs.net/2/api/reporting/internetradioplayback/plays?format=msgpack& returned after 491 ms, status code: 200
05/28 12:49:11 Info: [cast] lost device Google Home Mini because it disconnected
05/28 12:49:11 Info: [cast] lost device Chromecast Audio because it disconnected
05/28 12:49:12 Trace: [raatserver] [RaatServer KFDOWI @ 192.168.50.19:9200] lost client connection. Retrying
05/28 12:49:12 Trace: [raatserver] [RaatServer KFDOWI @ 192.168.50.19:9200] connecting (attempt 1)
05/28 12:49:12 Info: [transport] destroyed zone Fire HD tablet was playing? False
05/28 12:49:12 Trace: [zone Fire HD tablet] Suspend
05/28 12:49:12 Info: [zone Fire HD tablet] Canceling Pending Sleep
05/28 12:49:12 Info: [zone Fire HD tablet] Canceling Pending Sleep
05/28 12:49:12 Trace: [raatserver] [RaatServer KFDOWI @ 192.168.50.19:9200] connected
05/28 12:49:12 Trace: [rnet/RnetJsonClient] SENT {"request":"enumerate_devices","subscription_id":"0"}
05/28 12:49:12 Trace: [rnet/RnetJsonClient] GOT NONFINAL {"status": "Success", "devices": [{"name": "Default Output", "device_id": "default", "is_system_output": true, "type": "android", "config": {"volume": {"type": "android", "device": "default"}, "unique_id": "d0c09824-9bbe-a541-eb8e-521486fd7883", "output": {"type": "android", "device": "default", "name": "Default Output", "max_bits_per_sample": 16}, "external_config": {"max_sample_rate_multiplier": 1, "is_private": true, "max_bits_per_sample": 16}}, "auto_enable": true, "auto_name": "KFDOWI", "discovery_data": {"vendor": "N/A", "protocol_version": "3", "tcp_port": 57783, "unique_id": "d0c09824-9bbe-a541-eb8e-521486fd7883", "model": "N/A", "raat_version": "1.1.38", "version": "N/A"}}]}
05/28 12:49:12 Info: [raatserver] GOT DEVICE 4164beb6364aadbfcad0f14e59e7bc1e::default Type=android Name=Default Output 
05/28 12:49:12 Trace: [rnet/RnetJsonClient] SENT {"request":"enable_device","device_id":"default","subscription_id":"79"}
05/28 12:49:12 Info: [raatserver] [Default Output] connecting (attempt 1)
05/28 12:49:12 Trace: [rnet/RnetJsonClient] GOT NONFINAL {"status": "Success"}
05/28 12:49:12 Trace: [Default Output] [raatclient] Initializing RAAT session
05/28 12:49:12 Trace: [Default Output] [raatclient] Loading script raat.dat:base.lua as module base [1088 chars]
05/28 12:49:12 Trace: [Default Output] [raatclient] Loading script raat.dat:dkjson.lua as module dkjson [22416 chars]
05/28 12:49:12 Trace: [Default Output] [raatclient] Loading script raat.dat:protocol.lua as module protocol [2045 chars]
05/28 12:49:12 Trace: [Default Output] [raatclient] Loading script raat.dat:roon_tcp.lua [43548 chars]
05/28 12:49:12 Trace: [Default Output] [raatclient] RAAT Session initialized in 154ms
05/28 12:49:12 Trace: [Default Output] [raatclient] SENT [2]{"request":"info"}
05/28 12:49:12 Trace: [Default Output] [raatclient] SENT [3]{"request":"set_client_type","client_type":"Roon"}
05/28 12:49:12 Trace: [Default Output] [raatclient] GOT [2] {"flags":{"has_write_chmap":true},"status":"Success","volume":{"info":{},"is_supported":true},"source_selection":{"info":[],"is_supported":false},"output":{"supported_formats":"48000/24/1|2,48000/16/1|2","info":{"refresh_supported_formats_before_playback":true}},"transport":{"is_update_artwork_supported":true,"is_update_status_supported":true,"info":{"config":{}},"is_supported":true},"info":{"unique_id":"d0c09824-9bbe-a541-eb8e-521486fd7883"},"platform":{"uname":{"version":"#1 SMP PREEMPT Sat Feb 19 04:17:49 UTC 2022","release":"3.18.19-gc561fc73e50","sysname":"Linux","nodename":"localhost","machine":"armv8l"},"os":"android"}}
05/28 12:49:12 Trace: [raatserver] [Default Output] connected
05/28 12:49:12 Info: [transport] creating endpoint for raat device d0c09824-9bbe-a541-eb8e-521486fd7883
05/28 12:49:12 Trace: [Default Output] [raatclient] SENT [4]{"request":"subscribe_transport"}
05/28 12:49:12 Trace: [Default Output] [raatclient] SENT [5]{"request":"subscribe_controls","controller_id":"9a3ecccb-7f7c-41b4-aee2-a936f9cace1a"}
05/28 12:49:12 Trace: [dspengine] created new dsp config {"version":3,"items":[{"type":"bs2b","enabled":false},{"type":"parametric_equalizer","enabled":false},{"type":"audeze_presets","enabled":false}]}
05/28 12:49:12 Trace: [transport/audeze] picking preset lowlatency 
05/28 12:49:12 Trace: [transport/audeze] picked null preset!
05/28 12:49:12 Trace: [Default Output] [raatclient] GOT [3] {"status":"Success"}
05/28 12:49:12 Trace: [zone Fire HD tablet] Loading from /volume1/RoonServer/RoonServer/Database/Core/97e68fc1167f4408b497c530723b9701/transport/zone_16012498c0d0be9b41a5eb8e521486fd7883.db
05/28 12:49:12 Trace: [Default Output] [raatclient] GOT [5] {"controls":{"volume":{"step":1.0,"type":"number","mute":false,"min":0.0,"value":23,"info":{},"max":25.0}},"status":"Success","action":"Changed"}
05/28 12:49:12 Trace: [zone Fire HD tablet] Suspend
05/28 12:49:12 Info: [zone Fire HD tablet] Canceling Pending Sleep
05/28 12:49:12 Trace: [Fire HD tablet] [zoneplayer/raat] Endpoint Default Output Initial State: Idle
05/28 12:49:12 Info: [transport] created zone Fire HD tablet
05/28 12:49:12 Info: [transport]     with endpoint Default Output (23:1:d0c09824-9bbe-a541-eb8e-521486fd7883) [IsAvailable=True]
05/28 12:49:12 Trace: [zone Fire HD tablet] Loaded Queue=35 Tracks Swim=Inactive AutoSwim=True Loop=Disabled Shuffle=False
05/28 12:49:12 Info: [cast] lost device Google Home Mini because it disconnected
05/28 12:49:20 Info: [stats] 24557mb Virtual, 3238mb Physical, 2001mb Managed, 331 Handles, 79 Threads
05/28 12:49:22 Debug: [easyhttp] [4283] POST to https://device-map.roonlabs.net/1/register returned after 210 ms, status code: 200
05/28 12:49:22 Trace: [devicemap] device map updated
05/28 12:49:28 Info: [transport] creating endpoint for cast device 23:1:9331d93a-6c08-2f9d-547d-527e8ad6c691
05/28 12:49:28 Trace: [dspengine] loaded DSP config {"version":3,"items":[{"type":"bs2b","enabled":false},{"type":"parametric_equalizer","enabled":true,"bands":[{"type":"equalize_frequency","frequency":51,"gain_db":-3.7,"q":1,"is_enabled":true},{"type":"equalize_frequency","frequency":352.113442378502,"gain_db":0,"q":1,"is_enabled":true},{"type":"equalize_frequency","frequency":1000,"gain_db":0,"q":1,"is_enabled":true},{"type":"equalize_frequency","frequency":4000,"gain_db":0,"q":1,"is_enabled":true},{"type":"equalize_frequency","frequency":8000,"gain_db":0,"q":1,"is_enabled":true}],"gain_db":0,"y_axis_min_db":-24,"y_axis_max_db":12},{"type":"audeze_presets","enabled":false},{"type":"speaker_setup"}],"headroom_adjustment":{"type":"headroom_adjustment","enable_clipping_indicator":true},"sample_rate_conversion":{"type":"sample_rate_conversion"}}
05/28 12:49:28 Trace: [transport/audeze] picking preset lowlatency 
05/28 12:49:28 Trace: [transport/audeze] picked null preset!
05/28 12:49:28 Trace: [zone CCA House] Loading from /volume1/RoonServer/RoonServer/Database/Core/97e68fc1167f4408b497c530723b9701/transport/zone_16013ad93193086c9d2f547d527e8ad6c691.db
05/28 12:49:28 Trace: [zone CCA House] Suspend
05/28 12:49:28 Info: [zone CCA House] Canceling Pending Sleep
05/28 12:49:28 Info: [transport] created zone CCA House
05/28 12:49:28 Info: [transport]     with endpoint Chromecast Audio (23:1:9331d93a-6c08-2f9d-547d-527e8ad6c691) [IsAvailable=True]
05/28 12:49:28 Info: [transport] creating endpoint for cast device 23:1:3f95b722-93d4-9fe3-e653-7e8780ebd05b
05/28 12:49:28 Trace: [dspengine] created new dsp config {"version":3,"items":[{"type":"bs2b","enabled":false},{"type":"parametric_equalizer","enabled":false},{"type":"audeze_presets","enabled":false}]}
05/28 12:49:28 Trace: [transport/audeze] picking preset lowlatency 
05/28 12:49:28 Trace: [transport/audeze] picked null preset!
05/28 12:49:28 Trace: [zone Basement speaker] Loading from /volume1/RoonServer/RoonServer/Database/Core/97e68fc1167f4408b497c530723b9701/transport/zone_160122b7953fd493e39fe6537e8780ebd05b.db
05/28 12:49:28 Trace: [zone Basement speaker] Suspend
05/28 12:49:28 Info: [zone Basement speaker] Canceling Pending Sleep
05/28 12:49:28 Info: [transport] created zone Basement speaker
05/28 12:49:28 Info: [transport]     with endpoint Google Home Mini (23:1:3f95b722-93d4-9fe3-e653-7e8780ebd05b) [IsAvailable=True]
05/28 12:49:28 Info: [transport] creating endpoint for cast device 23:1:189076eb-e04a-9c59-2850-5d93c4c8b189
05/28 12:49:28 Trace: [dspengine] loaded DSP config {"version":3,"items":[{"type":"bs2b","enabled":false},{"type":"parametric_equalizer","enabled":false,"bands":[{"type":"low_shelf","frequency":98,"gain_db":-4.2,"q":1,"is_enabled":false},{"type":"equalize_frequency","frequency":200,"gain_db":0,"q":1,"is_enabled":true},{"type":"equalize_frequency","frequency":1000,"gain_db":0,"q":1,"is_enabled":true},{"type":"equalize_frequency","frequency":2000,"gain_db":0,"q":1,"is_enabled":true},{"type":"high_shelf","frequency":6000,"gain_db":0,"q":1,"is_enabled":true},{"type":"high_pass","frequency":20,"order":1,"is_enabled":false},{"type":"low_pass","frequency":20000,"order":1,"is_enabled":false}],"gain_db":0,"y_axis_min_db":-24,"y_axis_max_db":12},{"type":"audeze_presets","enabled":false}],"headroom_adjustment":{"type":"headroom_adjustment"},"sample_rate_conversion":{"type":"sample_rate_conversion"}}
05/28 12:49:28 Trace: [transport/audeze] picking preset lowlatency 
05/28 12:49:28 Trace: [transport/audeze] picked null preset!
05/28 12:49:28 Trace: [Library mini] [LowQuality, 24/32 MP3 => 24/48] [PLAYING @ 329:29] Miles Davis - Freddie Freeloader / Maîtres de la trompette: 100 Essential Jazz Standards
05/28 12:49:28 Trace: [zone Library mini] Loading from /volume1/RoonServer/RoonServer/Database/Core/97e68fc1167f4408b497c530723b9701/transport/zone_1601eb7690184ae0599c28505d93c4c8b189.db
05/28 12:49:28 Trace: [zone Library mini] Suspend
05/28 12:49:28 Info: [zone Library mini] Canceling Pending Sleep
05/28 12:49:28 Info: [transport] created zone Library mini
05/28 12:49:28 Info: [transport]     with endpoint Google Home Mini (23:1:189076eb-e04a-9c59-2850-5d93c4c8b189) [IsAvailable=True]
05/28 12:49:28 Trace: [Library mini] [LowQuality, 24/32 MP3 => 24/48] [STOPPED @ 0:00]