Interesting - and thank you so much for the detailed logging on your end.
I think I’ve been able to pinpoint the offending process(es) that are buggy on Apple’s end.
Could someone else go to Settings -> Privacy -> analytics and look for a log that starts with “stacks-day-month-year-time.ips”?
Below is what mine reads. I have logs happening at just around the same time as the iPhone drops the BT connection. Error 288 is a memory overflow bug and explains why toggling bluetooth on the iPhone seems to restore the connection.
0500","os_version":"iPhone OS 17.4 (21E5184i)","roots_installed":0,"incident_id":"6E9077DD-6EC5-426B-90DB-662ED72D0AA0"}
{
"crashReporterKey" : "8cd1391e516f9b8213a03e048e9d54061f87db13",
"exception" : "0xbd15dead",
"frontmostPids" : [
36
],
"tuning" : {
},
"absoluteTime" : 30957492203,
"product" : "iPhone16,1",
"kernel" : "Darwin Kernel Version 23.4.0: Wed Jan 17 21:43:43 PST 2024; root:xnu-10063.100.610.0.2~73\/RELEASE_ARM64_T8122",
"date" : "2024-01-25 18:03:38.06 -0500",
"reason" : "BTAudioPlugin start condition timed out",
"codeSigningMonitor" : 2,
"incident" : "6E9077DD-6EC5-426B-90DB-662ED72D0AA0",
"build" : "iPhone OS 17.4 (21E5184i)",
"roots_installed" : 0,
"bug_type" : "288",
"memoryStatus" : {"compressorSize":57793,"compressions":440490,"decompressions":165719,"busyBufferCount":0,"memoryPressureDetails":{"pagesWanted":469,"pagesReclaimed":0},"pageSize":16384,"memoryPressure":false,"memoryPages":{"active":175567,"throttled":0,"fileBacked":173621,"wired":76958,"purgeable":26733,"inactive":161497,"free":1531,"speculative":14247}},