WszystkieNoweUlepszoneNaprawione
Naprawione

Ograniczenie dostępu cross-origin w API

Ograniczyliśmy dostęp cross-origin, tak aby tylko foura.ai mogło wywoływać API z poświadczeniami. Zabezpieczyliśmy również filtr wejściowy na endpoincie metrics i usunęliśmy fallback secret używany wyłącznie w środowisku deweloperskim. Istniejące integracje działają bez zmian.

Naprawione

Własne reguły walidacji liczą się jako sukces

Jeśli ustawisz validate.status.accept w request, silnik traktuje zaakceptowany kod non-200 jako pełny sukces. Activity wciąż jednak oznaczało je jako błędy, co zaburzało statystyki użycia. Wyniki są teraz zgodne z Twoim werdyktem walidacji, więc zaakceptowany kod 403 wyświetla się jako sukces, a nie App Fail.

Ulepszone

Etykiety Activity są zgodne z Overview

W Activity wyświetlane były surowe ciągi znaków wyniku, takie jak Application_fail, podczas gdy Overview używało czytelnych etykiet (App Fail) z odpowiednimi kolorami. Teraz Activity używa tych samych etykiet i kolorów, więc oba widoki są spójne.

Naprawione

Strony non-UTF-8 dekodują się teraz poprawnie

Jeśli scrapowałeś strony w cyrylicy, po chińsku, japońsku lub inne strony non-UTF-8 przez Single, body wracało jako mojibake. Wymuszaliśmy dekodowanie każdego response jako UTF-8, zanim zobaczyłeś surowe bajty. Teraz czytamy charset z response (Content-Type, potem <meta charset>, a na końcu fallback do UTF-8) i dekodujemy go poprawnie. Dzięki, Alexandar Kanchev (Sensika), za zgłoszenie tego.

Naprawione

Wykryliśmy fałszywe proxy, które odsyłają Twoje requesty

Niektóre proxy w sieci tak naprawdę nie przekazują Twoich requestów. Odsyłają je jako zrzut serwera w formacie plaintext i próbują przechwycić ich zawartość. Wykrywamy teraz ten schemat, zanim response trafi do Twojego kodu, dzięki czemu Single, Browser i Proxy Finder zwracają jasny błąd (lub ponawiają próbę) zamiast śmieciowych danych.

Nowe

Odtwórz dowolny wiersz Activity w Playground

Każdy wiersz Activity z zapisanym payloadem można teraz kliknąć: okno dialogowe pokazuje pełny request i response (czytelnie sformatowane, z przyciskami do kopiowania i jasnymi komunikatami dla requestów, które zakończyły się błędem przed wygenerowaniem body). Kliknij 'Open in Playground', aby załadować to konkretne wywołanie z powrotem do formularza z już wyrenderowanym, zarchiwizowanym response, dzięki czemu możesz dostosować parametry i uruchomić je ponownie bez budowania go od nowa. Zapisane payloady są przechowywane przez 24 godziny, maksymalnie do 200 ostatnich na klucz.

Ulepszone

Każda odpowiedź API zawiera request ID

Uwierzytelnione zapytania zwracają teraz header X-Foura-Request-Id. Zapisz go w swoich logach, aby dopasować każdy request do jego wiersza w Activity, lub przekaż go do supportu, żebyśmy mogli sprawdzić, co dokładnie stało się po naszej stronie.

Ulepszone

Anuluj trwające requesty w playground

Kliknij nowy przycisk Cancel, gdy request w playground się ładuje, a przerwiemy go w czysty sposób. Panel natychmiast wraca do stanu idle z komunikatem 'Request canceled' zamiast niepokojącego błędu sieci.

Nowe

Podgląd kluczy API po utworzeniu

Klucze utworzone od dzisiaj możesz podejrzeć w dowolnym momencie, zarówno na stronie API Keys, jak i w reproducerze curl w playgroundzie. Kliknij ikonę oka, potwierdź, a pełny klucz wyświetli się na 15 sekund, po czym automatycznie zniknie (każde wyświetlenie jest rejestrowane w logach audytowych). Starsze klucze pozostają jednorazowego wglądu; wygeneruj ponownie dowolny stary klucz, aby móc go wyświetlać.

Ulepszone

Proxy Finder szybciej weryfikuje pulę

Kolejka ponownego sprawdzania opróżnia się teraz w kilka dni zamiast tygodni. Skróciliśmy czas wyboru każdego proxy do testu z około 2 sekund do około 10 ms, dzięki czemu pula pozostaje świeższa pod obciążeniem. Mniej martwych IP w rotacji, a każde wywołanie Single i Proxy Finder działa na zdrowszym zestawie.

Ulepszone

Szybsze odświeżanie puli proxy

Po zniesieniu wczorajszego limitu na pojedyncze uruchomienie, odświeżanie ciągle się zawieszało, gdy tylko jeden duży blok proxy przejmował kolejkę. Teraz rozdzielamy każdą partię na osobne podsieci, dzięki czemu każde uruchomienie w pełni wykorzystuje budżet współbieżności. Pula Proxy Finder rotuje 5-10 razy szybciej, a nieaktualne wpisy znikają w ciągu kilku godzin.

Naprawione

Nowo odkryte proxy szybciej trafiają do puli

Usunęliśmy spowolnienie, przez które nowo odkryte proxy czekały na walidację. Proxy Finder sprawdza je teraz natychmiast, dzięki czemu pula pozostaje świeższa, a w rotacji znajduje się więcej aktywnych, działających proxy.

Ulepszone

Playground działa teraz na telefonach

Poniżej 768px wiersz URL układa się w dwa wiersze, zakładki response przewijają się w poziomie, a tabela cookie zmienia się w siatkę kart. Tooltipy z podpowiedziami otwierają się po tapnięciu zamiast po najechaniu, a iPhone SE (poniżej 374px) zyskuje dodatkowe zmniejszenie. Przycisk Send jest prawidłowo wyśrodkowany, a długi URL nie powoduje już poziomego przewijania strony.

Ulepszone

Expand w Playground to teraz prawdziwy pełnoekranowy overlay

Dotychczas expand rozciągał kartę response w page flow, przez co wysokie panele dodawały przewijanie do body i przesuwały układ. Teraz to stały overlay między sidebarem a krawędzią viewportu, z panelami, które rozszerzają się, by wypełnić cały viewport. Escape go zamyka; jeden helper obsługuje kliknięcia i skróty klawiszowe.

Naprawione

Cookie w Playground zgodne z regułami host-only RFC 6265

Cookie host-only wyciekały do poddomen. Teraz prawidłowo śledzimy atrybut Domain i dodaliśmy oznaczenie HO w widoku Parsed dla (rzadkich) przypadków host-only. Widok Raw odpowiada temu, co przesłał upstream: Domain=.example.com dla cookie domenowych, brak linii Domain= dla host-only.