Biblioteca di lettura
Mostrare schermate diverse per risultati vuoti e problemi di trasporto
Distingui una ricerca vuota riuscita da errori HTTP e risposte mancanti, preservando la domanda inviata e rendendo deliberati i tentativi successivi.
Definire le classi di risposta
Un’area dei risultati bianca non spiega cos’è accaduto alla ricerca. Nel quaderno LocalLLaMA proposto, distingui richiesta in corso, risposta riuscita con record, risposta riuscita con array data vuoto, errore HTTP e tentativo di trasporto senza risposta utilizzabile. Sono osservazioni differenti. Un successo vuoto non prova che l’archivio non contenga discussioni pertinenti; una risposta persa non rivela se il server abbia completato la richiesta. Non condensare queste interpretazioni nella scorciatoia visiva “nessun risultato”.
Usa insieme stato HTTP e struttura validata della risposta. Una risposta 200 con data: [] è un recupero vuoto riuscito. HTTP 400, 401, 402, 429 e 502 sono errori, non tipi alternativi di dati vuoti riusciti. Un’eccezione di rete potrebbe non fornire alcuno stato HTTP. Non dedurre dal solo errore se la richiesta abbia attraversato ogni fase del backend. Conserva parametri inviati e identificativo della richiesta dell’applicazione con ogni esito, per associare un arrivo successivo alla ricerca corretta.
Scrivere azioni per lo stato vuoto
Usa un messaggio sobrio, come “Non sono stati restituiti record per questa richiesta”. Mostra vicino q=quantization e subreddit=LocalLLaMA, insieme a eventuali limiti di data o punteggio attivi. Offri un modo deliberato di cambiare una condizione e inviare di nuovo. Non sostituire la risposta con discussioni popolari inventate né ampliare automaticamente la query mantenendo la vecchia etichetta. Se il lettore rimuove un filtro, il risultato successivo appartiene alla nuova richiesta e deve iniziare una sequenza da pagina 1.
Spiega un vincolo pertinente senza fingere di diagnosticare l’assenza. Con quantization memory, tutti i termini analizzati devono corrispondere in un campo title o text; distribuirli tra i due non basta. È una considerazione possibile, non la prova del motivo per cui quella risposta è vuota. Mantieni la distinzione di fatturazione: il recupero vuoto riuscito costa un credito. Anche una pagina vuota profonda può avere totale sconosciuto. Non trasformarla nell’affermazione di zero corrispondenze in tutto l’archivio o in un motivo per richiedere pagine all’infinito.
Scrivere azioni per gli errori
Collega l’errore a chi può intervenire. HTTP 400 richiede di verificare l’input reale, come parametro non supportato o data fuori dal formato YYYY-MM-DD. HTTP 401 riguarda la chiave API del servizio e 402 i crediti dell’account di servizio; nessuno dimostra che sia scaduto l’accesso personale del lettore alla propria applicazione. Il gestore potrebbe dover correggere la credenziale del backend o controllare il saldo. Evita di chiedere al lettore di incollare una chiave di servizio in una schermata pubblica di ricerca.
Per 429 rispetta Retry-After e riduci gli invii ripetuti. Per 502 conserva la query e proponi un tentativo intenzionale quando appropriato; i rimborsi dei crediti riservati possono attendere riconciliazione. Una risposta assente richiede un’altra formula: l’esito è ignoto, anche riguardo a un possibile addebito riuscito. Le richieste non valide rifiutate prima della riserva non sono addebitate, ma un errore di connessione non dimostra quel rifiuto. /v1/status è gratuito e indica descrizione statica del servizio e risposta HTTP; non risolve la richiesta persa né verifica la salute della ricerca.
Verificare la continuità nella navigazione
La continuità comprende la conservazione degli input dell’utente. Prepara fixture locali per risposta vuota valida, errore HTTP ed eccezione di rete prima della risposta. Usa materiale dichiaratamente sintetico: queste fixture verificherebbero l’interfaccia, non la disponibilità dell’archivio. Controlla che producano testi distinti e lascino accessibile la query inviata. Aggiungi un caso in cui il lettore modifica il modulo durante una richiesta: il vecchio esito non deve apparire come risposta alla nuova formulazione.
Se una pagina successiva fallisce, conserva i record caricati e distingui il loro completamento dalla continuazione fallita. Permetti di riprovare quella pagina o tornare al modulo senza inviare silenziosamente altre richieste. Ignorare un arrivo tardivo nell’interfaccia non garantisce la cancellazione del lavoro sul server. Documenta quali transizioni sono davvero testate e quali restano proposte. L’obiettivo è spiegare ciò che si sa e offrire un passo utile, non rassicurare con un messaggio non sostenuto dalla risposta.