Una segnalazione porta uno stato dal giorno in cui esistono le segnalazioni, e fino a ieri niente nell’interfaccia poteva cambiarne uno. Ci si poteva filtrare da tre schermate e lo si poteva impostare solo tramite l’API, il che voleva dire che ogni segnalazione restava in attesa per sempre e che il badge sulla scheda era decorazione.

Il controllo dello stato ora è nella lista delle segnalazioni ricevute, nella riga delle azioni di ogni scheda, accanto al controllo della visibilità. Il triage è una cosa che si fa a una coda e non a una segnalazione per volta, quindi sta dove sta la coda: legga la scheda, imposti lo stato, passi alla successiva, non apra niente.

Chi può usarlo discende dall’ambito che la schermata aveva già. Una segnalazione arriva nella sua casella perché lei è nel team proprietario del dominio per cui è stata inviata, quindi una segnalazione non attribuita ad alcun sito non mostra alcun controllo invece di mostrarne uno che rifiuta.

Mandare una segnalazione a chi deve correggerla

Una segnalazione privata si apre per il team proprietario del dominio e per chi l’ha inviata. La persona che di solito deve raggiungere non è nessuna delle due: chi sviluppa e si vede consegnare il bug, segue il link e si sente dire che la segnalazione non esiste.

La via d’uscita era finora tenere le impostazioni del team aperte in un’altra scheda e ricordarsi l’indirizzo. Ora c’è un invito sulla segnalazione stessa. Porta quella persona dentro il team, perché è questo che qui significa leggere una segnalazione privata: non c’è una seconda via d’accesso né un link che dia accesso a chiunque lo tenga in mano.

Il registratore usa tutto il piano

La nota della settimana scorsa finiva con un’ammissione: ogni piano vendeva una durata di registrazione che il suo stesso limite di caricamento rifiutava, avevamo alzato i tetti del server perché combaciassero, e il registratore si fermava ancora a dieci minuti tondi per tutti.

L’estensione 1.5.0 è arrivata ieri sul Chrome Web Store e chiude la cosa. Il pannello registra per la durata che il piano vende - cinque minuti su Free, dieci su Starter, trenta su Professional - e i due capi del tubo ora concordano sullo stesso numero.

La stessa versione corregge qualcosa che era peggio di come sembrava. Nessun pulsante dentro il pannello faceva niente quando il pannello girava come finestra a sé invece che agganciato: My Replays, il link allo store, la pagina di benvenuto. L’accesso era il caso peggiore, perché aspettava una scheda che non si sarebbe mai aperta e lasciava il pannello a tempo indeterminato su “Waiting for sign-in…”. Un’app web installata è il posto dove ci si imbatte in questo per primo. Le schede ora si aprono in una vera finestra del browser, da dovunque si trovi il pannello.

Session Replay

Estensione Chrome gratuita. Un clic sulla pagina che si comporta male cattura lo screenshot, la console e il registro di rete, e le consegna un link da incollare nel ticket.

Ottenga l'estensione

La pagina MCP ora dice cosa digitare

La pagina uscita la settimana scorsa consegnava l’indirizzo e diceva che l’autorizzazione era OAuth 2.1 con PKCE. Entrambe vere, e nessuna delle due un’istruzione: l’indirizzo va in un posto diverso in ogni client, ognuno si autentica a modo suo, e chi aveva l’URL era esattamente al punto di partenza.

Il passo della connessione ora porta una scheda per client, ciascuna con l’indirizzo nel punto in cui quel client lo prende e con il comando che lo autorizza.

L’ultimo passo è cambiato per un motivo affine. Prima mostrava tre buste JSON-RPC grezze e le chiamava la sua prima chiamata, il che insegnava l’unica cosa che a chi legge non serve mai - scrivere buste è l’intero mestiere dell’agente che ha appena collegato - e chiedeva un lavoro che nessuno avrebbe fatto. Ora mostra cinque frasi da dire ad alta voce all’agente, costruite dalla sua segnalazione più recente e dal suo dominio verificato. Un team che non ha ancora segnalazioni riceve una prima frase più semplice che nomina il dominio.

C’è anche un file pubblico su /agents/install.md: il dominio, il tag di verifica, entrambe le vie di caricamento, il markup del pulsante, identify() e quel che dipende dal piano, servito come testo semplice e senza accesso. Se la via più rapida per avere un pulsante sul suo sito è affidare il lavoro all’agente di codice che ha già aperto, quello è l’URL da dargli. Essendo pubblico non contiene nulla che appartenga a un singolo sito: il token è un segnaposto tra parentesi quadre e il file dice di chiedere a lei quello vero.

Tre strumenti MCP che ora stanno in una risposta

Vale la pena scriverlo chiaramente, perché la prima versione di ciascuno era sbagliata in un modo che si vedeva solo su una segnalazione vera.

get_report restituiva l’intero documento. Una registrazione da trentadue secondi arrivava a 114.442 caratteri, di cui 42.302 di registro di rete e 22.947 delle sue intestazioni, il che supera quel che un client accetta in un singolo risultato di strumento: lo strumento di lettura principale della superficie non riusciva a leggere una segnalazione, punto. Ora prende un argomento facoltativo sections che nomina uno qualsiasi fra network, console e interactions. Quel che chiede torna intero, meno le intestazioni, i cookie e le stringhe di query che non portano alcun segnale che l’URL della richiesta non porti già. Quel che non ha chiesto viene riassunto.

set_status riserializzava tutta la segnalazione dopo aver cambiato una colonna, così una scrittura già andata a buon fine veniva riportata a chi chiamava come un fallimento. Ora risponde con una ricevuta: il token di condivisione, a che punto sta la segnalazione e quando è stata risolta.

get_frame prende una posizione nella registrazione, e niente nel documento della segnalazione poteva nominarne una. Ogni voce portava un orario assoluto e nessuno scostamento, e chi leggeva dall’esterno dell’applicazione non poteva ricavarne l’inizio della registrazione, per cui in pratica lo scostamento si tirava a indovinare sulla durata - cosa che sopravvive a una cattura breve e a niente di più lungo. La segnalazione ora porta gli scostamenti che lo strumento chiede.

Tutti e cinque gli strumenti dichiarano anche apertamente i loro action hint: le quattro letture sono di sola lettura, set_status no, e nessuno di essi è distruttivo. Un hint omesso non viene letto come falso da un client: ripiega sulla risposta prudente e chiede a una persona prima di ogni lettura.

Il pannello della console si ripete di meno

Le righe di console ripetute venivano raggruppate solo quando erano errori. Tutto il resto riceveva una riga per occorrenza, il che lasciava proprio i livelli che si ripetono di più come quelli espansi per intero.

È arrivata una segnalazione con ventisei righe di console, di cui ventidue erano lo stesso avviso di terze parti a livello debug dentro un solo millisecondo. In un’altra, l’unica riga che nominava il bug era la ventiseiesima. Le righe ora sono raggruppate per livello, messaggio e URL insieme, a ogni livello. Due frame che falliscono allo stesso modo restano due voci, e le stesse parole registrate a due livelli restano due voci.

Cose più piccole

  • Chi amministra un team può rinominarlo. Il nome veniva scritto una volta all’iscrizione e mai più, quindi chi si era iscritto prima di compilare il proprio nome aveva per sempre un team chiamato “someone@example.com’s team”, ed è quel nome che i colleghi leggono nel selettore.
  • La dashboard è nel menu utente di chi ha effettuato l’accesso, dove la gente continuava a cercarla.
  • I dati del piano sulla pagina del team stanno in una scheda invece che in quattro.
  • Le pagine di errore piatte raggiungono il contrasto AA, e il pulsante outline scuro è leggibile in modalità scura.
  • L’accesso web ha un limite di frequenza. Era protetto sull’API e non sul modulo di accesso, contro gli stessi account.