ВсеНовоеУлучшеноИсправлено
Новое

Сайт и Playground на шести языках

Выберите язык с помощью иконки глобуса в header. Сайт и Playground теперь доступны на болгарском, китайском, немецком, польском, вьетнамском и английском языках, с URL с поддержкой локали, которые можно добавить в закладки или которыми можно поделиться.

Исправлено

Ограничение cross-origin доступа к API

Мы ограничили cross-origin доступ, чтобы только foura.ai мог вызывать API с credentials. Мы также усилили фильтр входных данных на metrics endpoint и удалили fallback secret, использовавшийся только для разработки. Существующие интеграции не изменятся.

Исправлено

Пользовательские правила валидации учитываются как успех

Если вы установили validate.status.accept для запроса, движок рассматривает принятый код, отличный от 200, как полный успех. В разделе активности такие запросы по-прежнему помечались как сбои, что искажало вашу статистику использования. Теперь результаты соответствуют вашим правилам валидации. Принятый код 403 отображается как успех, а не как App Fail.

Улучшено

Метки в Активности соответствуют Обзору

В Активности ранее отображались сырые строки результатов вроде Application_fail, в то время как в Обзоре использовались понятные метки (App Fail) с соответствующими цветами. Теперь в Активности используются те же метки и цвета, поэтому оба раздела читаются одинаково.

Исправлено

Страницы не в UTF-8 теперь декодируются корректно

Если вы парсили страницы на кириллице, китайском, японском или другие страницы не в UTF-8 через Single, тело ответа раньше возвращалось в виде кракозябр. Мы принудительно декодировали каждый response в UTF-8 до того, как вы видели необработанные байты. Теперь мы считываем кодировку из response (Content-Type, затем <meta charset>, затем резервный UTF-8) и декодируем его корректно. Спасибо Александру Канчеву (Sensika) за сообщение об этой проблеме.

Исправлено

Обнаружены фейковые proxy, возвращающие ваш request обратно

Некоторые proxy в сети на самом деле не перенаправляют ваш request. Они возвращают его обратно в виде plaintext-дампа сервера и пытаются извлечь его содержимое. Теперь мы обнаруживаем этот паттерн до того, как response попадет в ваш код, поэтому Single, Browser и Proxy Finder возвращают корректную ошибку (или выполняют retry) вместо мусора.

Новое

Воспроизведение любой строки Activity в Playground

Каждая строка Activity с сохраненным payload теперь кликабельна: в диалоговом окне отображаются полные request и response (в отформатированном виде, с кнопками копирования и понятными сообщениями для request, которые завершились с ошибкой до формирования body). Нажмите 'Open in Playground', чтобы загрузить этот вызов обратно в форму с уже отображенным архивным response, что позволит вам изменить параметры и запустить его снова без повторной настройки. Сохраненные payload хранятся 24 часа, до 200 последних на один ключ.

Улучшено

Каждый API response содержит request ID

Аутентифицированные вызовы теперь возвращаются с header X-Foura-Request-Id. Сохраняйте его в своих логах, и вы сможете сопоставить любой request с его строкой в Activity, или передайте его в поддержку, чтобы мы могли точно проверить, что произошло на нашей стороне.

Улучшено

Отмена выполняющихся playground requests

Нажмите новую кнопку Cancel во время загрузки playground request, и мы корректно прервем его. Панель вернется в режим ожидания с пометкой «Request canceled» вместо пугающей ошибки сети.

Новое

Просмотр API-ключей после создания

Ключи, созданные начиная с сегодняшнего дня, можно посмотреть в любое время, как на странице API Keys, так и внутри curl reproducer в playground. Нажмите на иконку глаза, подтвердите действие, и полный ключ отобразится на 15 секунд, а затем автоматически скроется (каждый просмотр записывается в журнал аудита). Более старые ключи остаются доступными для просмотра только один раз; перевыпустите любой старый ключ, чтобы сделать его доступным для просмотра.

Улучшено

Proxy Finder быстрее перепроверяет пул

Очередь перепроверки теперь очищается за дни вместо недель. Мы сократили время выбора каждого proxy для теста с примерно 2 секунд до 10 мс, поэтому пул остается более свежим под нагрузкой. В ротации стало меньше неработающих IP, а каждый вызов Single и Proxy Finder работает с более качественным набором.

Улучшено

Пул proxy обновляется быстрее

Каждый пакет обновления теперь распределяется по отдельным подсетям, поэтому каждый запуск полностью использует доступный лимит параллелизма. Пул Proxy Finder обновляется от 5 до 10 раз быстрее, а устаревшие записи очищаются в течение нескольких часов.

Исправлено

Новые найденные прокси быстрее попадают в пул

Мы устранили задержку, из-за которой новые найденные прокси ожидали проверки. Теперь Proxy Finder проверяет их сразу же, поэтому пул остается более актуальным, а в ротации находится больше активных рабочих прокси.

Улучшено

Playground теперь работает на телефонах

При ширине экрана менее 768px строка URL перестраивается в две строки, вкладки response прокручиваются по горизонтали, а таблица cookie превращается в сетку карточек. Подсказки открываются по тапу вместо наведения; для iPhone SE (менее 374px) применяется дополнительное сжатие. Кнопка Send теперь правильно выровнена по центру, а длинный URL больше не приводит к появлению горизонтальной прокрутки.

Улучшено

Playground expand теперь работает как полноценный полноэкранный overlay

Раньше expand растягивал карточку response внутри потока страницы, поэтому высокие панели добавляли прокрутку страницы и сдвигали макет. Теперь это фиксированный overlay между sidebar и краем viewport, а его панели растягиваются, заполняя viewport. Escape закрывает его; один хелпер обрабатывает клики и нажатия клавиш.