Ошибки публикации теперь говорят, что случилось, простыми словами
Когда публикация на Mythex не удаётся, диалог теперь в одном простом предложении сообщает, что произошло: сборка не удалась, ваше приложение остановилось сразу после запуска, ваше приложение не запустилось, файл слишком большой или что-то пошло не так на нашей стороне. Также вам предлагаются Исправить с ИИ и Попробовать снова. Сырой вывод сборки и вашего приложения по-прежнему доходит до агента, так что «Исправить с ИИ» может его прочитать и исправить проект, но вам больше не нужно читать его самому.
Что изменилось
Одно предложение, по которому можно действовать
Каждая неудачная публикация теперь получает тип, который определяется в момент сбоя по фактам, которые там уже есть — на каком шаге это произошло, сообщала ли машина приложения о падениях, начало ли приложение вообще принимать соединения — а не по чтению текста ошибки потом. У каждого типа своё сообщение:
| Что вы видите | Что это значит |
|---|---|
| «Сборка не удалась.» | Команда сборки или Dockerfile вашего проекта не собрались. |
| «Ваше приложение остановилось сразу после запуска.» | Оно опубликовалось, а затем завершилось или постоянно перезапускалось. |
| «Ваше приложение не запустилось после публикации.» | Оно опубликовано, но так и не начало принимать соединения. |
| «Этот файл слишком большой» / слишком много файлов | Статический сайт превышает лимит размера одного файла или количества файлов. Сообщение перечисляет файлы. |
| «Это имя ссылки нельзя использовать для публикации.» | Измените имя ссылки и опубликуйте снова; ваш код в порядке. |
| «Публикация занята на минуту» | С вашим приложением всё в порядке. Опубликуйте снова через несколько минут. |
| «…проблема на нашей стороне, а не в вашем приложении.» | Это наша задача. Опубликуйте снова через несколько минут. |
«Исправить с ИИ» при каждой ошибке
При каждой ошибке показываются Исправить с ИИ и Попробовать снова. Когда вы используете «Исправить с ИИ», агент получает тип ошибки и полный вывод сборки или приложения приватно, в своём контексте. Если в вашем приложении что-то не так, он это исправляет. Если в приложении ничего не так — например, занятость или проблема на нашей стороне, — он может просто опубликовать снова. Вам не нужно определять, какой это был случай.
Проблемы после запуска
Публикация может пройти успешно, а приложение через несколько минут сломаться. Mythex регулярно проверяет опубликованные приложения. Если живое приложение постоянно падает или работает, но перестаёт принимать соединения, публикация помечается как неудачная, вы получаете письмо, а проект показывает сообщение с кнопкой «Исправить с ИИ». То, что напечатало приложение, сохраняется для чтения агентом.
Проверка размеров до загрузки
Для статических сайтов перед загрузкой проверяется размер каждого файла и общее количество файлов. Если что-то превышает лимит, вы получаете одно сообщение со списком всех слишком больших файлов, а не сбой где-то на полпути.
Зачем мы это сделали
Неудачная публикация раньше показывала всё, что напечатали инструменты публикации. За одну неделю в конце сентября большинство сбоев показывали тексты, которые относились к нам, а не к тем, кто выполнял сборку: контакты для выставления счетов, внутренние номера версий, пути реестра, ошибки хранилища. «Исправить с ИИ» затем вставлял этот же текст в чат. Людей просили отлаживать нашу инфраструктуру.
Часть этого также была просто неверной. Приложение, которое не слушало свой порт, сообщалось как «проблема на нашей стороне», хотя исправление было в самом приложении. Статический файл сверх лимита размера сообщался так же — а повторная публикация никогда бы не сработала.
И каждая часть Mythex, которая реагировала на сбой — диалог, уведомления, «Исправить с ИИ», наши собственные оповещения, — раньше понимала, что произошло, сопоставляя слова в тексте ошибки. Это ломалось, когда формулировка менялась. Теперь тип записывается в том месте, где происходит сбой, и всё остальное опирается на тип.
То же правило мы применили и к другим ошибкам, раз уж были там:
- Чат. Если соединение обрывается во время потоковой передачи ответа, вы видите наше предложение вместо «Load failed» или «Failed to fetch» от браузера.
- Собственные домены. Сообщения о покупке или подключении домена теперь выбираются по статусу ответа и кодам, а не передаются дальше в виде фраз провайдера домена.
- Генерация изображений. Карточка показывает наше сообщение; агент получает подробности от сервиса.
Как пользоваться
- Публикуйте как обычно кнопкой Опубликовать.
- Если публикация не удалась, прочитайте однострочное сообщение в диалоге.
- Нажмите Исправить с ИИ. Агент читает вывод сборки или логи вашего приложения, исправляет то, что не так, и публикует снова, если в приложении ничего исправлять не нужно.
- Или нажмите Попробовать снова, чтобы опубликовать ту же версию ещё раз — правильный выбор для «занято на минуту» и «проблема на нашей стороне».
- Если сообщение касается имени ссылки, измените имя ссылки перед повторной публикацией. Для любой другой ошибки оставьте то же имя.
Ограничения
- Некоторые сбои показывают другие кнопки: занятое имя ссылки предлагает другие имена, а закончившиеся кредиты предлагают способ их пополнить.
- У статических сайтов лимит на файл составляет около 25–30 МБ в зависимости от типа сайта, и до 20 000 файлов. Большие файлы лучше хранить в хранилище и ссылаться на них.
- Неудачные публикации до этого изменения не имеют типа, поэтому показывают нейтральную строку, а не конкретную причину.
- Если «проблема на нашей стороне» повторяется, обратитесь в поддержку, указав ID проекта и имя ссылки.
Полный список сообщений и что с каждым делать есть в устранении неполадок при публикации. Если вы чините упрямое приложение вручную, наше руководство как отлаживать приложение, созданное с ИИ проведёт через это. А о том, что происходит с живым сайтом во время повторной публикации, см. ваше опубликованное приложение теперь остаётся доступным во время повторной публикации.