()
| 188 | } |
| 189 | |
| 190 | getAdaptiveTimeoutMs() { |
| 191 | const connection = navigator?.connection || navigator?.mozConnection || navigator?.webkitConnection; |
| 192 | const effectiveType = String(connection?.effectiveType || '').toLowerCase(); |
| 193 | if (effectiveType === 'slow-2g' || effectiveType === '2g') return 45000; |
| 194 | if (effectiveType === '3g') return 30000; |
| 195 | return this.defaultTimeoutMs; |
| 196 | } |
| 197 | |
| 198 | cleanupInflightRequest(requestKey, controller) { |
| 199 | if (!requestKey) return; |