Flujo revisado: TDesignerIA.send() -> selectAutomaticModel() -> sendAutomatic() -> requestIAEndpoint(). sendAutomatic() crea un AbortController nuevo antes del fetch. requestIAEndpoint() pasa su signal al fetch y espera primero fetch(), después response.text(). No existe timeout JavaScript. No se llama abort() al ocultar el selector de modelo ni al cambiar el estado de procesamiento. cancel() es el único método del flujo de consulta que llama AbortController.abort(). La petición observada alcanzó PHP, PHP terminó su POST a Ollama y el navegador recibió el diagnóstico; no hubo AbortError.