خطاهای انتشار حالا به زبان ساده میگویند چه اتفاقی افتاده
وقتی انتشار در Mythex ناموفق میشود، پنجرهی انتشار حالا در یک جملهی ساده میگوید چه اتفاقی افتاده است — ساخت شکست خورد، برنامهتان بعد از شروع متوقف شد، برنامهتان اصلاً شروع نشد، فایلی خیلی بزرگ است، یا مشکلی از سمت ما پیش آمده — و Fix with AI و Try again را نشان میدهد. خروجی خام ساخت و برنامهتان هم همچنان به عامل میرسد تا Fix with AI بتواند آن را بخواند و پروژه را درست کند، اما دیگر لازم نیست خودتان آن را بخوانید.
چه چیزی تغییر کرده
یک جمله که میتوانید بر اساس آن اقدام کنید
هر انتشار ناموفق حالا یک نوع دارد، که لحظهی شکست بر اساس اطلاعاتی که همانجا داریم تعیین میشود — کدام گام شکست خورد، آیا ماشین برنامه کرشها را گزارش کرده، آیا اصلاً اتصالها را پذیرفته — نه با خواندن متن خطا بعداً. هر نوع پیام خاص خودش را دارد:
| آنچه میبینید | یعنی چه |
|---|---|
| «ساخت ناموفق بود.» | دستور ساخت یا Dockerfile پروژهتان ساخته نشد. |
| «برنامهی شما بلافاصله بعد از شروع متوقف شد.» | منتشر شد، سپس خارج شد یا مدام ریاستارت شد. |
| «برنامهی شما بعد از انتشار شروع نشد.» | منتشر شد اما هرگز اتصالها را نپذیرفت. |
| «این فایل خیلی بزرگ است» / تعداد فایلها زیاد است | یک سایت ایستا از حد اندازهی هر فایل یا تعداد فایلها بیشتر است. پیام فایلها را فهرست میکند. |
| «این نام لینک برای انتشار قابل استفاده نیست.» | نام لینک را تغییر دهید و دوباره منتشر کنید؛ کد شما اشکالی ندارد. |
| «انتشار برای لحظهای مشغول است» | اشکالی در برنامهتان نیست. چند دقیقهی دیگر دوباره منتشر کنید. |
| «…یک مشکل از سمت ما، نه در برنامهتان.» | از طرف ما باید رفع شود. چند دقیقهی دیگر دوباره منتشر کنید. |
Fix with AI در هر خطا
هر خطا Fix with AI و Try again را نشان میدهد. وقتی از Fix with AI استفاده میکنید، عامل نوع خطا و خروجی کامل ساخت یا برنامه را بهصورت خصوصی و در بافت خودش دریافت میکند. اگر چیزی در برنامهتان اشکال داشته باشد، آن را درست میکند. اگر هیچ اشکالی نباشد — یک لحظهی مشغول، یا مشکلی از سمت ما — میتواند فقط دوباره منتشر کند. لازم نیست شما بفهمید کدام نوع خطا بوده است.
مشکلات بعد از زنده شدن
انتشار ممکن است موفق باشد و برنامه چند دقیقه بعد از کار بیفتد. Mythex برنامههای منتشرشده را بهطور منظم بررسی میکند. اگر برنامهی زندهای مدام کرش کند، یا در حال اجرا باشد اما اتصال نپذیرد، انتشار ناموفق علامت میخورد، ایمیلی برایتان فرستاده میشود، و پروژه پیام را همراه با Fix with AI نشان میدهد. آنچه برنامه چاپ کرده ذخیره میشود تا عامل بخواندش.
بررسی اندازهها پیش از آپلود
برای سایتهای ایستا، اندازهی هر فایل و تعداد کل فایلها پیش از آپلود بررسی میشوند. اگر چیزی از حد گذشته باشد، یک پیام میگیرید که همهی فایلهای خیلی بزرگ را فهرست میکند، بهجای یک شکست در میانهی کار.
چرا این را ساختیم
یک انتشار ناموفق پیشتر هر چیزی را که ابزارهای پشت انتشار چاپ کرده بودند نشان میداد. در یک هفته در اواخر سپتامبر، بیشتر شکستها متنی را نشان میدادند که مال ما بود، نه مال آنها: اطلاعات تماس صورتحساب، شمارهی نسخههای داخلی، مسیرهای registry، خطاهای ذخیرهسازی. Fix with AI همان متن را در چت میچسباند. از مردم خواسته میشد زیرساخت ما را دیباگ کنند.
بعضی از آن متنها هم بهسادگی نادرست بودند. برنامهای که روی پورتش گوش نمیداد بهعنوان «یک مشکل از سمت ما» گزارش میشد، در حالی که رفع در خود برنامه بود. فایل استاتیکی که از حد اندازه گذشته بود هم به همین شکل گزارش میشد — و انتشار دوباره هرگز نمیتوانست کار کند.
و هر بخشی از Mythex که به یک شکست واکنش نشان میداد — پنجره، اعلانها، Fix with AI، هشدارهای خود ما — پیشتر با تطبیق کلمات در متن خطا میفهمید چه اتفاقی افتاده است. این وقتی متن تغییر میکرد میشکست. حالا نوع خطا در همان نقطهای که شکست رخ میدهد ثبت میشود، و بقیهی بخشها نوع را میخوانند.
همان قاعده را وقتی آنجا بودیم برای خطاهای دیگر هم به کار بردیم:
- چت. اگر اتصال در حین استریم یک پاسخ قطع شود، حالا جملهی خودمان را میبینید بهجای «Load failed» یا «Failed to fetch» مرورگر.
- دامنههای سفارشی. پیامهای مربوط به خرید یا اتصال دامنه حالا از وضعیت و کدهای پاسخ انتخاب میشوند، نه اینکه جملههای خود ارائهدهندهی دامنه منتقل شوند.
- تولید تصویر. کارت پیام ما را نشان میدهد؛ عامل جزئیات سرویس را میگیرد.
نحوهی استفاده
- مثل همیشه از دکمهی Publish منتشر کنید.
- اگر ناموفق شد، پیام یکخطی داخل پنجره را بخوانید.
- روی Fix with AI کلیک کنید. عامل خروجی ساخت یا لاگهای برنامه را میخواند، آنچه اشکال دارد را درست میکند، و اگر چیزی در برنامه نیاز به رفع نداشته باشد، دوباره منتشر میکند.
- یا روی Try again کلیک کنید تا همان نسخه دوباره منتشر شود — انتخاب درست برای «لحظهای مشغول است» و «یک مشکل از سمت ما».
- اگر پیام دربارهی نام لینک است، قبل از انتشار دوباره نام لینک را عوض کنید. برای هر خطای دیگر، همان نام را نگه دارید.
محدودیتها
- بعضی شکستها دکمههای متفاوتی نشان میدهند: نام لینکی که گرفته شده، نامهای دیگری پیشنهاد میکند، و تمام شدن اعتبار راهی برای افزودن اعتبار نشان میدهد.
- سایتهای ایستا حد اندازهی هر فایل حدود ۲۵ تا ۳۰ مگابایت دارند، بسته به نوع سایت، و تا ۲۰٬۰۰۰ فایل. فایلهای بزرگ بهتر است در فضای ذخیرهسازی نگه داشته شوند و به آنها لینک داده شود.
- انتشارهای ناموفق پیش از این تغییر نوع ندارند، پس بهجای دلیل مشخص یک خط خنثی نشان میدهند.
- اگر «مشکلی از سمت ما» مدام رخ میدهد، با پشتیبانی تماس بگیرید و شناسهی پروژه و نام لینک را بفرستید.
فهرست کامل پیامها و اقدام دربارهی هر کدام در عیبیابی انتشار است. اگر دارید یک برنامهی لجوج را دستی درست میکنید، راهنمای ما دربارهی چگونه یک برنامهی ساختهشده با هوش مصنوعی را دیباگ کنیم گامبهگام آن را توضیح میدهد. و برای اینکه وقتی بازنشر میکنید چه بر سر سایت زنده میآید، برنامهی منتشرشدهتان حالا هنگام انتشار مجدد آنلاین میماند را ببینید.