
Un informe lleva un estado desde el día en que existen los informes, y hasta ayer nada en la interfaz podía cambiar ninguno. Se podía filtrar por él desde tres pantallas y fijarlo solo por la API, lo que significaba que cada informe se quedaba en pendiente para siempre y la insignia de la tarjeta era decoración.
El control de estado está ahora en la lista de informes recibidos, en la fila de acciones de cada tarjeta, junto al control de visibilidad. El triaje es algo que se le hace a una cola y no a un informe cada vez, así que pertenece al sitio donde está la cola: lea la tarjeta, fije el estado, pase a la siguiente, no abra nada.
Quién puede usarlo se desprende del alcance que la pantalla ya tenía. Un informe llega a su bandeja porque usted está en el equipo dueño del dominio contra el que se presentó, así que un informe que no está atribuido a ningún sitio no muestra control alguno en lugar de uno que se niega.
Enviar un informe a quien tiene que arreglarlo
Un informe privado se abre para el equipo dueño del dominio y para quien lo presentó. La persona a la que suele tener que llegar no es ninguna de las dos: quien programa y recibe el fallo, sigue el enlace y lee que el informe no existe.
La vuelta que había consistía en dejar los ajustes del equipo abiertos en otra pestaña y acordarse de la dirección. Ahora hay una invitación en el propio informe. La incorpora al equipo, porque eso es lo que significa aquí leer un informe privado: no hay una segunda vía de acceso ni un enlace que dé acceso a quien lo tenga en la mano.
El grabador usa todo el plan
La nota de la semana pasada terminaba con una confesión: todos los planes vendían una duración de grabación que su propio límite de subida rechazaba, habíamos subido los techos del servidor para que coincidieran, y el grabador seguía parándose a los diez minutos justos para todo el mundo.
La extensión 1.5.0 llegó ayer a la Chrome Web Store y lo cierra. El panel graba lo que el plan vende - cinco minutos en Free, diez en Starter, treinta en Professional - y los dos extremos de la tubería ya se ponen de acuerdo sobre el mismo número.
La misma versión arregla algo que era peor de lo que parecía. Ningún botón del panel hacía nada cuando el panel corría como ventana propia en vez de acoplado: My Replays, el enlace a la tienda, la página de bienvenida. El inicio de sesión era el peor caso, porque esperaba una pestaña que nunca se iba a abrir y dejaba el panel indefinidamente en “Waiting for sign-in…”. Una aplicación web instalada es donde uno se encuentra eso por primera vez. Las pestañas ahora se abren en una ventana de navegador de verdad, esté el panel donde esté.
Session Replay
Extensión de Chrome gratuita. Un clic en la página que se está portando mal captura la captura de pantalla, la consola y el registro de red, y le da un enlace para pegar en el ticket.
La página de MCP ya le dice qué escribir
La página que salió la semana pasada entregaba la dirección y decía que la autorización era OAuth 2.1 con PKCE. Las dos cosas son ciertas, y ninguna es una instrucción: la dirección va a un sitio distinto en cada cliente, cada uno se identifica a su manera, y quien tenía la URL estaba exactamente donde empezó.
El paso de conexión lleva ahora una pestaña por cliente, cada una con la dirección en el lugar donde ese cliente la toma y con el comando que la autoriza.
El último paso cambió por una razón emparentada. Antes mostraba tres sobres JSON-RPC en crudo y los llamaba su primera llamada, lo que enseñaba lo único que nadie necesita - escribir sobres es el trabajo entero del agente que acaba de conectar - y pedía un trabajo que nadie iba a hacer. Ahora muestra cinco frases para decirle en voz alta al agente, construidas a partir de su propio informe más reciente y de su propio dominio verificado. Un equipo que todavía no tiene informes recibe una primera frase más sencilla que nombra el dominio.
También hay ahora un archivo público en /agents/install.md: el dominio, la etiqueta de
verificación, las dos vías de carga, el marcado del botón, identify() y lo que depende del
plan, servido como texto plano y sin inicio de sesión. Si la vía más rápida para tener un botón
en su sitio es darle el trabajo al agente de programación que ya tiene abierto, esa es la URL que
hay que darle. Al ser pública, no contiene nada que pertenezca a ningún sitio concreto: el token
es un marcador entre corchetes y el archivo dice que hay que pedirle a usted el de verdad.
Tres herramientas MCP que ahora caben en una respuesta
Vale la pena escribirlo con claridad, porque la primera versión de cada una estaba equivocada de una manera que solo salía a la luz con un informe real.
get_report devolvía el documento entero. Una grabación de treinta y dos segundos daba 114.442
caracteres, de los cuales 42.302 eran el registro de red y 22.947 sus cabeceras, lo que pasa de
lo que un cliente acepta en un solo resultado de herramienta: la principal herramienta de lectura
de la superficie no podía leer un informe en absoluto. Ahora admite un argumento opcional
sections que nombra cualquiera de network, console e interactions. Lo que pide vuelve
entero, menos las cabeceras, las cookies y las cadenas de consulta que no llevan ninguna señal
que la URL de la petición no lleve ya. Lo que no pidió viene resumido.
set_status serializaba el informe entero de vuelta tras cambiar una columna, así que una
escritura que ya había aterrizado se le comunicaba a quien la pedía como un fallo. Ahora responde
con un recibo: el token de compartición, dónde está el informe y cuándo se resolvió.
get_frame toma una posición en la grabación, y nada en el documento del informe podía nombrar
una. Cada entrada llevaba una hora absoluta de reloj y ningún desplazamiento, y quien leyera el
informe desde fuera de la aplicación no podía deducir de ahí el comienzo de la grabación, así que
en la práctica el desplazamiento se adivinaba contra la duración, cosa que sobrevive a una
captura corta y a nada más largo. El informe lleva ahora los desplazamientos que la herramienta
necesita.
Las cinco herramientas declaran además sus action hints sin rodeos: las cuatro lecturas son de
solo lectura, set_status no lo es, y ninguna de ellas es destructiva. Un hint omitido no lo lee
un cliente como falso: recurre a la respuesta prudente y pregunta a una persona antes de cada
lectura.
El panel de la consola se repite menos
Las líneas de consola repetidas se agrupaban solo cuando eran errores. Todo lo demás recibía una fila por aparición, lo que dejaba los niveles que más se repiten como los desplegados enteros.
Llegó un informe con veintiséis líneas de consola, de las cuales veintidós eran el mismo aviso de un tercero a nivel de depuración dentro de un solo milisegundo. En otro, la única línea que nombraba el fallo era la vigesimosexta. Las líneas se agrupan ahora por nivel, mensaje y URL a la vez, en todos los niveles. Dos frames que fallan igual siguen siendo dos entradas, y las mismas palabras registradas en dos niveles siguen siendo dos entradas.
Cosas más pequeñas
- Quien administra un equipo puede cambiarle el nombre. El nombre se escribía una vez al darse de alta y nunca más, así que quien se registró antes de rellenar su nombre tenía para siempre un equipo llamado “someone@example.com’s team”, y ese es el nombre que sus compañeros leen en el selector.
- El panel de control está en el menú de usuario de la sesión iniciada, donde la gente lo buscaba.
- Los datos del plan en la página del equipo son una tarjeta en vez de cuatro.
- Las páginas de error planas cumplen el contraste AA, y el botón de contorno oscuro se lee en modo oscuro.
- El inicio de sesión web tiene límite de intentos. Estaba protegido en la API y no en el formulario de acceso, contra las mismas cuentas.