Files
hedena_gold/docs/RELEASE-NOTES.md
T
s.esmaeili ea86636027 Initial commit: Hedena Gold monorepo.
First commit of the Hedena Gold product (separate from gold-bank): branding, package names, and deploy defaults aligned to the new brand; legacy Henza trees stay local-only via .gitignore.
2026-10-15 17:19:10 +03:30

3.1 KiB
Raw Blame History

نسخه و پیام «چه چیزی تغییر کرد»

هر بار که پنل یا اپ‌ها ساخته می‌شوند، شماره‌ی نسخه خودش بالا می‌رود؛ شماره همان تعداد کامیت‌های شاخه است و فایلی برای دستی بالا بردن ندارد.

بعد از انتشار، هر کسی که برنامه را باز دارد حداکثر تا ۵ دقیقه، یا همان لحظه‌ای که دوباره به برنامه برمی‌گردد، پنجره‌ی «نسخه‌ی تازه آماده است» را می‌بیند:

  • فهرست تغییراتِ همان بخش نشان داده می‌شود: اپ مشتری تغییرات اپ را می‌بیند و پنل تغییرات پنل را.
  • پنجره بسته نمی‌شود؛ تنها راه، دکمه‌ی «به‌روزرسانی» است.
  • با زدن دکمه، حافظه‌ی نهان برنامه پاک و صفحه دوباره بار می‌شود.
  • ورود کاربر، سبد خرید و تنظیمات پاک نمی‌شوند.

متن تغییرات از کجا می‌آید؟

از پیام کامیت‌ها. متن فنی و انگلیسی هیچ‌وقت به کاربر نشان داده نمی‌شود؛ فقط خط‌هایی که با یکی از این برچسب‌ها شروع شوند:

برچسب کجا نشان داده می‌شود
اپ: هر دو اپ مشتری
اپ۱: فقط اپ نسخه‌ی ۱
اپ۲: فقط اپ نسخه‌ی ۲
پنل: پنل مدیریت

نمونه‌ی پیام کامیت:

fix(cart): keep the cart when the price refreshes

اپ: سبد خرید با به‌روز شدن قیمت دیگر خالی نمی‌شود.
پنل: در فهرست سفارش‌ها، تاریخ ثبت دقیق نشان داده می‌شود.

چطور بنویسیم

  • برای کاربر بنویسید، نه برنامه‌نویس: «چه چیزی برای او فرق کرده».
  • یک خط کوتاه برای هر تغییر.
  • کامیتی که کاربر چیزی از آن نمی‌بیند (تمیزکاری، تست، تغییر داخلی) برچسب نمی‌خواهد.
  • اگر در یک انتشار هیچ خطِ برچسب‌داری نباشد، پنجره فقط «بهبودها و رفع اشکال‌ها» را نشان می‌دهد.

از نظر فنی

  • scripts/app-version.mjs موقع ساخت، شماره و یادداشت‌ها را درمی‌آورد و version.json را کنار برنامه می‌گذارد.
  • useAppUpdate.ts در هر برنامه آن فایل را بدون حافظه‌ی نهان می‌خواند و با شماره‌ی خودش مقایسه می‌کند.
  • تنظیم nginx هر سه برنامه: index.html، sw.js و version.json هرگز در مرورگر نگه داشته نمی‌شوند. پیش‌تر sw.js شش ماه نگه داشته می‌شد و می‌توانست مرورگر را روی نسخه‌ی قدیمی نگه دارد.