سورپرایزهای شناخته شده
این فایل نقاط سردرگمی خاص مخزن را که باعث اشتباهات عامل شده اند ردیابی می کند.
معیارهای ورود
فقط در صورتی یک ورودی اضافه کنید که همه درست باشند:
- مخصوص این مخزن است (نه توصیه عمومی).
- این احتمال وجود دارد که برای عوامل آینده تکرار شود.
- این یک کاهش مشخص دارد که می توان آن را دنبال کرد.
اگر مطمئن نیستید، قبل از افزودن ورودی از توسعهدهنده سؤال کنید.
الگوی ورودی
### [Short title]
- **Date:** YYYY-MM-DD
- **Observed by:** agent name or contributor
- **Context:** where/when it happened
- **What was surprising:** concrete unexpected behavior
- **Impact:** what went wrong or could go wrong
- **Mitigation:** exact step future agents should take
- **Status:** confirmed | superseded
ورودی ها
Portless URL برنامه محلی متعارف را تغییر می دهد
- تاریخ: 2026-03-18
- ** مشاهده شده توسط: ** Codex
- ** زمینه: ** تأیید مرورگر و جریان دود
- آنچه تعجب آور بود: URL محلی پیش فرض پورت Vite معمولی نیست. مخزن انتظار
https://bitsocial.localhostرا از طریق Portless دارد، بنابراین بررسیlocalhost:3000یاlocalhost:5173میتواند به برنامه اشتباه یا هیچ چیزی ضربه بزند. - تأثیر: بررسی های مرورگر ممکن است با شکست مواجه شود یا هدف اشتباه را تأیید کند، حتی زمانی که سرور توسعه دهنده سالم است.
- ** کاهش: ** ابتدا از
https://bitsocial.localhostاستفاده کنید. فقط زمانی که به درگاه Vite مستقیم نیاز دارید، آن را باPORTLESS=0 corepack yarn startدور بزنید. - وضعیت: تایید شد
قلاب های Commitizen تعهدات غیر تعاملی را مسدود می کنند
- تاریخ: 2026-03-18
- ** مشاهده شده توسط: ** Codex
- زمینه: جریان های کاری commit مبتنی بر عامل
- چیزی که شگفتانگیز بود:
git commitCommitizen را از طریق Husky فعال میکند و منتظر ورودی تعاملی TTY است که پوستههای عامل غیرتعاملی را آویزان میکند. - تأثیر: عوامل می توانند به طور نامحدود در طول آنچه باید یک commit عادی باشد متوقف شوند.
- ** کاهش:** از
git commit --no-verify -m "message"برای تعهدات ایجاد شده توسط عامل استفاده کنید. انسان ها همچنان می توانند ازcorepack yarn commitیاcorepack yarn exec czاستفاده کنند. - وضعیت: تایید شد
Corepack برای اجتناب از نخ کلاسیک مورد نیاز است
- تاریخ: 2026-03-19
- ** مشاهده شده توسط: ** Codex
- زمینه: مهاجرت مدیر بسته به Yarn 4
- چیزی که تعجب آور بود: دستگاه هنوز هم یک Yarn کلاسیک جهانی روی
PATHنصب دارد، بنابراین اجرای سادهyarnمی تواند به جای نسخه پین شده Yarn 4 به v1 حل شود. - **تأثیر: ** توسعه دهندگان می توانند به طور تصادفی پینینگ مدیر بسته مخزن را دور بزنند و رفتار نصب یا خروجی فایل قفل متفاوت را دریافت کنند.
- ** کاهش:** از
corepack yarn ...برای دستورات پوسته استفاده کنید، یا ابتداcorepack enableرا اجرا کنید تاyarnساده به نسخه پین شده Yarn 4 حل شود. - وضعیت: تایید شد
نامهای برنامههای Portless ثابت در میان درختان کاری وب Bitsocial با هم برخورد میکنند
- تاریخ: 30-03-2026
- ** مشاهده شده توسط: ** Codex
- زمینه: شروع
yarn startدر یک درخت کاری وب Bitsocial در حالی که درخت کاری دیگر قبلاً از طریق Portless ارائه میشد - چیزی که تعجب آور بود: استفاده از نام تحت اللفظی برنامه Portless
bitsocialدر هر درخت کاری باعث می شود که مسیر با یکدیگر برخورد کند، حتی زمانی که پورت های پشتیبان متفاوت هستند، بنابراین فرآیند دوم با شکست مواجه می شود زیراbitsocial.localhostقبلاً ثبت شده است. - تأثیر: شاخههای وب Bitsocial موازی میتوانند یکدیگر را مسدود کنند، حتی اگر Portless به آنها اجازه همزیستی ایمن را بدهد.
- ** کاهش: ** راهاندازی Portless را پشت سر
scripts/start-dev.mjsنگه دارید، که اکنون از یک مسیر شاخهدار*.bitsocial.localhostخارج از کیس متعارف استفاده میکند و زمانی که نام خالیbitsocial.localhostقبلاً اشغال شده است، به مسیر شاخهای بازمیگردد. - وضعیت: تایید شد
پیش نمایش Docs برای پورت کد سخت 3001 استفاده می شود
- تاریخ: 30-03-2026
- ** مشاهده شده توسط: ** Codex
- زمینه: اجرای
yarn startدر کنار سایر مخازن و نمایندگان محلی - چیزی که تعجب آور بود: دستور root dev فضای کاری اسناد را با
docusaurus start --port 3001اجرا کرد، بنابراین هر زمان که فرآیند دیگری قبلاً مالک3001بود، کل جلسه برنامهنویس شکست خورد، حتی اگر برنامه اصلی قبلاً از Portless استفاده میکرد. - تأثیر:
yarn startمیتواند فرآیند وب را بلافاصله پس از راهاندازی از بین ببرد و کار محلی نامرتبط را به دلیل برخورد پورت اسناد قطع کند. - کاهش: راه اندازی اسناد را پشت سر
yarn start:docsنگه دارید، که اکنون از Portless به علاوهscripts/start-docs.mjsبرای احترام به پورت رایگان تزریق شده استفاده می کند یا با اجرای مستقیم به پورت موجود بعدی برمی گردد. - وضعیت: تایید شد
اسناد ثابت نام میزبان Portless سخت کد شده بود
- تاریخ: 2026-04-03
- ** مشاهده شده توسط: ** Codex
- زمینه: اجرای
yarn startدر یک درخت کاری وب Bitsocial ثانویه در حالی که درخت کاری دیگر از قبل اسناد را از طریق Portless ارائه می کرد. - چیزی که تعجب آور بود:
start:docsهنوز نام میزبان تحت اللفظیdocs.bitsocial.localhostرا ثبت کرده است، بنابراینyarn startممکن است از کار بیفتد حتی اگر برنامه about قبلاً می دانست چگونه از برخورد مسیر Portless برای نام میزبان خود جلوگیری کند. - تأثیر: درخت های کاری موازی نمی توانند به طور قابل اعتمادی از دستور root dev استفاده کنند زیرا ابتدا فرآیند docs خارج شد و
concurrentlyسپس بقیه جلسه را از بین برد. - کاهش: راه اندازی اسناد را پشت سر
scripts/start-docs.mjsنگه دارید، که اکنون همان نام میزبان Portless با محدوده شاخه ای را به عنوان برنامه about مشتق می کند و URL عمومی مشترک را به هدف پروکسی توسعه دهنده/docsتزریق می کند. - وضعیت: تایید شد
پوستههای Worktree میتوانند نسخه Node پینشده مخزن را از دست بدهند
- تاریخ: 2026-04-03
- ** مشاهده شده توسط: ** Codex
- زمینه: اجرای
yarn startدر درخت کاری Git مانند.claude/worktrees/*یا تسویهحسابهای درخت کاری خواهر و برادر - چیزی که تعجب آور بود: برخی از پوسته های درخت کاری
nodeوyarn nodeرا به Homebrew Node25.2.1حل و فصل کردند، حتی اگر پین های repo در22.12.0در ZXQPLACEHOLDER4ZQPLACEH به صورت ZXQPLACEHOLDER4ZQPLACEH به صورت ZXQPLACEHOLDER4ZQPLACEH به خوبی اجرا شوند. لانچرها تحت زمان اجرا اشتباه - تأثیر: رفتار سرور برنامهنویس میتواند بین پرداخت اصلی و درختهای کاری جابهجا شود و تولید باگها را سخت کند و زنجیره ابزار Node 22 مورد انتظار مخزن را نقض کند.
- ** کاهش: ** راهاندازهای توسعهدهنده را در پشت
scripts/start-dev.mjsوscripts/start-docs.mjsنگه دارید، که اکنون تحت باینری گره.nvmrcزمانی که پوسته فعلی روی نسخه اشتباه است، دوباره اجرا میشوند. راهاندازی پوسته همچنان بایدnvm useرا ترجیح دهد. - وضعیت: تایید شد
باقیماندههای docs-site/ میتوانند منبع اسناد گمشده را پس از Refactor پنهان کنند.
- تاریخ: 2026-04-01
- ** مشاهده شده توسط: ** Codex
- زمینه: پاکسازی monorepo پس از ادغام پس از انتقال پروژه Docusaurus از
docs-site/بهdocs/ - چیزی که تعجب آور بود: پوشه قدیمی
docs-site/می تواند روی دیسک با فایل های قدیمی اما مهم مانندi18n/باقی بماند، حتی پس از اینکه مخزن ردیابی شده بهdocs/منتقل شد. این باعث میشود که Refactor به صورت محلی تکراری به نظر برسد و میتواند این واقعیت را پنهان کند که ترجمههای اسناد ردیابی شده واقعاً بهdocs/منتقل نشدهاند. - تأثیر: نمایندگان میتوانند پوشه قدیمی را بهعنوان «آشغال» حذف کنند و بهطور تصادفی تنها نسخه محلی ترجمههای اسناد را از دست بدهند، یا به ویرایش اسکریپتهایی ادامه دهند که همچنان به مسیر مرده
docs-site/اشاره میکنند. - ** کاهش: ** با
docs/به عنوان تنها پروژه اسناد متعارف رفتار کنید. قبل از حذف هر گونه باقیمانده محلیdocs-site/، منبع ردیابی شده مانندdocs/i18n/را بازیابی کنید و اسکریپت ها و قلاب ها را به روز کنید تا ارجاع بهdocs-siteمتوقف شود. - وضعیت: تایید شد
پیشنمایش اسناد Multilocale میتواند در حین تأیید، RAM را افزایش دهد
- تاریخ: 2026-04-01
- ** مشاهده شده توسط: ** Codex
- زمینه: رفع i18n اسناد، مسیریابی محلی، و رفتار Pagefind با
yarn start:docsبه علاوه نمایشنامه نویس - چیزی که شگفتآور بود: حالت پیشنمایش اسناد پیشفرض اکنون یک سند کامل چندمکانی بهعلاوه نمایهسازی Pagefind را قبل از ارائه انجام میدهد، و زنده نگه داشتن این فرآیند در کنار چندین جلسه Playwright یا Chrome میتواند رم بسیار بیشتری نسبت به حلقه توسعهدهنده Vite یا تک محلی Docusaurus مصرف کند.
- تأثیر: دستگاه ممکن است محدود به حافظه شود، جلسات مرورگر ممکن است از کار بیفتد، و اجرای قطع شده می تواند سرورهای اسناد یا مرورگرهای بدون هد را پشت سر بگذارد که به مصرف حافظه ادامه می دهند.
- ** کاهش:** برای کارهای اسنادی که نیازی به تأیید مسیر محلی یا Pagefind ندارند،
DOCS_START_MODE=live yarn start:docsرا ترجیح دهید. فقط زمانی از پیشنمایش چند محلی پیشفرض استفاده کنید که نیاز به اعتبارسنجی مسیرهای ترجمه شده یا Pagefind داشته باشید. یک جلسه نمایشنامه نویس را نگه دارید، جلسات مرورگر قدیمی را قبل از باز کردن موارد جدید ببندید و اگر دیگر به آن نیاز ندارید، پس از تأیید، سرور اسناد را متوقف کنید. - وضعیت: تایید شد