Commit b4b2153
feat: voice session hardening - client reconnect and heartbeat
- Client attempts to find existing session by DeviceId before creating new
- Add heartbeat timer (5 min) to keep server session alive during idle periods
- Dispose heartbeat timer on session end
- Add TurnCounter and TranscriptCount to McpVoiceSessionStatus
- Add FindExistingSessionAsync to McpVoiceConversationService
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent 15a1bca commit b4b2153
5 files changed
Lines changed: 76 additions & 2 deletions
File tree
- lib
- src
- McpServerManager.Android/Views
- McpServerManager.Core
- Models
- Services
- ViewModels
- GitVersion.yml+1-1
- docs/Operations/Tunnel-Cloudflare.md+15-15
- docs/Operations/Tunnel-Ngrok.md+15-15
- docs/Project/Technical-Requirements.md+1-1
- docs/SESSION-HANDOFF-20260224.md+18-2
- src/McpServer.Support.Mcp/Controllers/VoiceController.cs+23
- src/McpServer.Support.Mcp/Options/VoiceConversationOptions.cs+16
- src/McpServer.Support.Mcp/Services/VoiceConversationContracts.cs+16
- src/McpServer.Support.Mcp/Services/VoiceConversationService.cs+142-5
- tests/McpServer.Support.Mcp.Tests/Controllers/TodoControllerTests.cs+2-1
- tests/McpServer.Support.Mcp.Tests/Controllers/TodoLifecycleIntegrationTests.cs+2-1
Lines changed: 25 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
| 86 | + | |
86 | 87 | | |
87 | 88 | | |
88 | 89 | | |
| |||
219 | 220 | | |
220 | 221 | | |
221 | 222 | | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
222 | 226 | | |
223 | 227 | | |
224 | 228 | | |
| |||
234 | 238 | | |
235 | 239 | | |
236 | 240 | | |
| 241 | + | |
| 242 | + | |
237 | 243 | | |
238 | 244 | | |
239 | 245 | | |
| |||
757 | 763 | | |
758 | 764 | | |
759 | 765 | | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
760 | 785 | | |
761 | 786 | | |
762 | 787 | | |
| |||
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
121 | 121 | | |
122 | 122 | | |
123 | 123 | | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
124 | 130 | | |
125 | 131 | | |
126 | 132 | | |
| |||
Lines changed: 16 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
226 | 226 | | |
227 | 227 | | |
228 | 228 | | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
229 | 245 | | |
230 | 246 | | |
231 | 247 | | |
| |||
Lines changed: 28 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
94 | 121 | | |
95 | 122 | | |
96 | 123 | | |
97 | 124 | | |
98 | 125 | | |
99 | 126 | | |
100 | | - | |
| 127 | + | |
101 | 128 | | |
102 | 129 | | |
103 | 130 | | |
| |||
0 commit comments