Notas de versión▽0.9.92

Siete cambios en esta versión. Las conexiones se recuperan solas, cada acción se ejecuta como máximo una vez, la escritura llega a editores de código y componentes web, y una página bloqueada deja de recibir entradas en cuanto vence su plazo.

extension 0.9.92mcp 0.11.1chrome 116+node 24MIT
extensión
puente
conectadosin respuesta · sin latidosocket retirado · ranura librereconectado
234.5…30
espera de reconexión, segundos
01

Las conexiones se recuperan solas

  • Un socket que deja de responder tanto a los pings como al latido se cierra y libera la única ranura de extensión del puente.
  • La extensión lee el código de cierre y alarga la espera 1,5× en cada intento hasta un tope de 30 segundos, en lugar de reintentar cada dos segundos para siempre.
  • Una credencial de emparejamiento que el puente ha rechazado se descarta en lugar de reenviarse.
  • Ahora se leen las respuestas de keepalive, así que un socket medio abierto se detecta y se reconecta.
  • fsb-mcp-server termina cuando su host cierra la tubería stdio, de modo que ningún servidor huérfano acaba ocupando el puerto del puente.
  • El socket de retransmisión del panel ya no se reemplaza a sí mismo cada dos segundos, lo que también acaba con el pulso gris del icono de la barra de herramientas.
bridge-events.jsonl
04:12extension_slot_refused
04:13upgrade_rejected_origin_pin
04:14extension_reaped
04:15ext_authority_revoked
13.328 rechazos→1 línea / min
02

Los fallos del puente nombran su causa

  • Los rechazos, revocaciones, reemplazos, retiradas y cierres se registran en bridge-events.jsonl, agrupados en una línea por minuto para cada causa.
  • Un emparejamiento que no coincide nombra los dos orígenes de la extensión y la solución pair --reset, en lugar de un simple HTTP 403.
  • doctor informa de un fallo de autorización en vez de culpar al navegador.
  • disconnect_reason distingue una credencial revocada de un service worker expulsado.
  • La salud local muestra si la extensión está conectada, en qué perfil de Chrome se ejecuta y el estado de su ventana.
Enviar
1×por acción
ejecutadano ejecutada · reintento seguroincierta · no se repite
03

Cada acción se ejecuta como máximo una vez

  • Un clic se envía una sola vez; ninguna capa de reintentos lo repite.
  • Una acción que nunca llegó a la página, incluida una dirigida a una pestaña cerrada, se informa como no ejecutada y puede reintentarse con seguridad.
  • Cuando la entrega es incierta, el resultado lo indica en lugar de repetir la edición.
  • La inserción de texto apunta a una posición concreta y se aplica como máximo una vez.
123
Ctrl+End / ⌘↓
04

La escritura llega donde la pediste en los editores de código

  • Al añadir texto en Monaco, Ace o CodeMirror, primero se mueve el cursor propio del editor al final del documento, así que el texto ya no aparece antes del código existente.
  • Reemplazar texto funciona en editores que reciben la entrada mediante EditContext y no exponen ningún campo de texto, como Monaco 0.57.
  • Los editores de lienzo permiten reemplazar texto. Si se rechaza una inserción, se informa sin repetirla.
  • Al añadir texto a un editor enfocado dentro de un marco, primero se lleva el cursor al final.
  • Google Docs confirma los cambios de formato comparándolos con el texto guardado del documento. Nunca se repite un pegado cuyo resultado es incierto.
x-editor
#shadow-root (closed)
05

Los campos dentro de componentes web son accesibles

  • Un selector que nombra un componente ahora alcanza el campo que contiene.
  • El foco se detecta dentro de shadow roots abiertas y cerradas.
  • Las shadow roots cerradas se alcanzan mediante chrome.dom.
  • Un objetivo dentro de una shadow root ya no se considera tapado por su propio host.
plazo
la página no responde
×recuperar pestaña
06

La navegación puede recuperar una página bloqueada

  • Los sondeos de página, la reinyección de scripts y la captura de pantalla tienen un límite de tiempo en una pestaña que deja de responder.
  • Cuando una inserción de texto o una captura se da por vencida, ya no se envían más pulsaciones, texto ni scripts a esa página.
  • La navegación interrumpe el JavaScript bloqueado en las pestañas controladas y confirma que la página de destino se ha cargado antes de comunicar el éxito.
  • Una pestaña que ya estaba bloqueada antes de que FSB asumiera el control puede seguir necesitando cerrarse.
127.0.0.1✓[::1]✓192.168.1.20403
solo loopback
07

HTTP solo en loopback y correcciones menores

  • El servidor HTTP de MCP solo se enlaza a un host de loopback y responde con un 403 a cualquier otra cabecera Host o a cualquier solicitud que lleve una cabecera Origin. El loopback IPv6 ahora funciona en lugar de responder 500 a cada solicitud.
  • Los selectores conservan sus condiciones CSS y las coincidencias en caché se vuelven a comprobar antes de usarse.
  • La lista de la bóveda distingue una bóveda bloqueada de una que nunca se configuró.
  • La guía del sitio para X solo se aplica en hosts genuinos de X.
  • Los fallos de emparejamiento por QR del panel vuelven a mostrar su motivo y mantienen la cámara en la pestaña Escanear.

Esta versión combina la extensión y el sitio web de presentación 0.9.92 con el paquete MCP 0.11.1. Después de actualizar, reinicia tu cliente MCP o el host nativo. La edición y la recuperación de páginas bloqueadas se han verificado en Chrome real.