
Всё обещание продукта - это ссылка, которую может открыть кто-то другой. До вчерашнего дня на Mac в этой ссылке было написано: ошибка.
Панель пишет VP9 в WebM, у Safari нет для него декодера, а плеер отдавал браузеру единственный источник, собранный из типа самого сохранённого файла. Один источник и ничего в запасе означает, что элемент video падает, а не деградирует, поэтому ссылка, открытая в Safari, показывала слово и больше ничего. В журнал не попадало ничего. Единственным, кто об этом узнавал, был получатель, а тот, кто отправил ссылку, не узнавал никогда.
Сервер теперь кодирует рядом с каждой загрузкой копию в H.264, а плеер предлагает обе, так что браузер берёт ту, которую умеет проигрывать. Расширение 1.6.0, опубликованное в магазине, идёт дальше и пишет сразу в MP4 там, где браузер это позволяет - тогда нечего конвертировать и не нужно хранить второй файл.
Тот, кто сообщил, получает ответ
У отчёта есть статус с тех пор, как он вообще появился, и с тех пор как в списке появилось управление, чтобы его менять, команды действительно могут разбирать очередь. Человеку, который отправил отчёт, об этом не говорили.
Тому, кто сообщил об ошибке на чужом сайте, писали, что его отчёт открыли, а дальше он не слышал ничего, чем бы дело ни кончилось. От этого первое письмо читается как единственное, что мы вообще собирались сказать.
Теперь есть второе письмо - когда отчёт решён. Только решён: «в работе» говорит, что кто-то начал смотреть, это слабее и приучало бы людей игнорировать письмо, а возврат в ожидание не стоит почтового ящика. Один отчёт, одно письмо.
В обратную сторону было так же тихо. Об отчёте, поданном на подтверждённый домен, никому не сообщали, и команда узнавала о нём, открыв список и посмотрев - обратное тому, что обещает продукт, а обещает он, что бегать за вами никому не придётся. Теперь командам сообщают, когда отчёт приходит на домен, который им принадлежит, в том числе в случае, когда отчёт приходит первым, а домен подтверждают после.
И поскольку больше писем не значит автоматически лучше, /app/notifications перечисляет каждое
уведомление, которое продукт может вам прислать, и у каждого свой переключатель.
Ваш собственный просмотр больше не считается просмотром
Владелец сайта читает число просмотров отчёта как «это увидели». Открытие собственного отчёта шло в этот счётчик и тихо раздувало единственное число, которое должно было отвечать на этот вопрос.
Обе половины исправлены. Собственный визит вошедшего в аккаунт автора отчёта не считается, а тот, кто сообщает анонимно - и у кого нет аккаунта, по которому его можно узнать, - при загрузке получает ключ владельца рядом с токеном для ссылки. Открытие отчёта с ключом меняет ключ на куку, ограниченную путём именно этого отчёта, и перенаправляет на чистый URL, так что ключ никогда не остаётся в адресной строке, откуда его можно было бы случайно скопировать в задачу.
Важность, с которой можно не согласиться
У каждого отчёта есть предложенная важность. До вчерашнего дня её можно было прочитать, по ней сортировать и фильтровать, а изменить её не мог никто.
Теперь её может выставить команда. Оба значения сохраняются и показываются, потому что отвечают на разные вопросы, и интерфейс говорит об этом прямо:
- Предложенная важность
- Подсказка для сортировки, а не приговор. Влияние на ваш бизнес в записи не видно.
- Важность, выставленная командой
- Тот, кому принадлежит этот домен, прочитал влияние иначе, чем модель. Подсказка ниже остаётся такой, какой была.
Решение в основе - это то, где живёт ручная правка. Каждое автоматическое чтение переписывает свой вывод целиком, а отчёт можно прочитать заново, поэтому правку, положенную туда, следующее чтение уничтожило бы - молча, ничего не сказав тому, кто её выставил. Вместо этого у неё своя колонка, где записано, кто её выставил и когда, и до которой автоматическое чтение не дотягивается.
Session Replay
Бесплатное расширение для Chrome. Один клик на странице, которая ведёт себя не так, собирает скриншот, консоль и сетевой журнал и отдаёт вам ссылку, которую можно вставить в задачу.
Сверх лимита отчёт сохраняют, а не отклоняют
Отчёт, пришедший сверх месячного лимита платного тарифа, раньше отклоняли. Теперь его принимают и не тарифицируют, и он теряет ровно одно: автоматическое чтение.
Всё остальное без изменений. Он хранится всю положенную тарифу историю и открывается с записью, сетевым журналом, консолью и заметкой того, кто его отправил. Страница говорит, с каким отчётом это случилось и почему, вместо того чтобы оставить пустоту там, где был бы разбор.
Отчёт об ошибке, который вы не можете отправить, не стоит никому ничего, а месячный лимит - это условие тарификации, а не утверждение о том, какие ошибки важны.
Две вещи о захвате, в противоположные стороны
Маскирование теперь можно выключить, узко. Раньше оно решалось целиком в расширении, и сервер не мог сказать иначе - правильное значение по умолчанию, пока каждый отчёт был публичной ссылкой без входа, потому что всё захваченное фактически публиковалось. С тех пор появились приватные отчёты и права по тарифу. Домен теперь может выбрать захват без маскирования, и только когда одновременно верны три вещи: тариф это продаёт, домен об этом просит и отчёты приватные. Не хватает любой из них - и захват маскируется, как раньше.
Страницы с ценами теперь называют ту длительность записи, которую вы действительно получаете. Три публичные поверхности говорили про ровные десять минут с тех пор, как рекордер читал константу. Теперь рекордер берёт длительность из тарифа, так что ровная цифра была неверна в обе стороны: пять минут на неподтверждённом домене, десять на Starter, тридцать на Professional. На прошлой неделе мы писали о потолках загрузки, которые не совпадали с тарифами; это та же ошибка одной поверхностью дальше.
Что помельче
- Тот, кто сообщил, может добраться до собственных отчётов через MCP. Поверхность умела отвечать только на вопрос «что подано на домен, которым владеет моя команда», а это одна из двух линий, которые панель всегда проводила.
- Девять публичных страниц теперь написаны на немецком, испанском, французском, итальянском, португальском и русском наравне с английским, а не машинно слепленными версиями английских.
- Расширение снова открывает окно панели того размера, до которого вы его растянули, а скриншот теперь остаётся вместе с URL и заголовком страницы, на которой он был сделан.
-
desktopCaptureисчез из разрешений расширения. В воскресенье мы писали, что нашли разрешение, которое объявляем и никогда не вызываем, и что оно уйдёт в следующей версии; 1.6.0 и есть эта версия. -
identify()может нести любой ключ, который мог бы нести мета-тег, а не те пять, с которых он начинался. Это опубликовано в npm как 0.4.0; копия, которую отдают наши собственные страницы, подтянется следом.