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.
3.1 KiB
3.1 KiB
نسخه و پیام «چه چیزی تغییر کرد»
هر بار که پنل یا اپها ساخته میشوند، شمارهی نسخه خودش بالا میرود؛ شماره همان تعداد کامیتهای شاخه است و فایلی برای دستی بالا بردن ندارد.
بعد از انتشار، هر کسی که برنامه را باز دارد حداکثر تا ۵ دقیقه، یا همان لحظهای که دوباره به برنامه برمیگردد، پنجرهی «نسخهی تازه آماده است» را میبیند:
- فهرست تغییراتِ همان بخش نشان داده میشود: اپ مشتری تغییرات اپ را میبیند و پنل تغییرات پنل را.
- پنجره بسته نمیشود؛ تنها راه، دکمهی «بهروزرسانی» است.
- با زدن دکمه، حافظهی نهان برنامه پاک و صفحه دوباره بار میشود.
- ورود کاربر، سبد خرید و تنظیمات پاک نمیشوند.
متن تغییرات از کجا میآید؟
از پیام کامیتها. متن فنی و انگلیسی هیچوقت به کاربر نشان داده نمیشود؛ فقط خطهایی که با یکی از این برچسبها شروع شوند:
| برچسب | کجا نشان داده میشود |
|---|---|
اپ: |
هر دو اپ مشتری |
اپ۱: |
فقط اپ نسخهی ۱ |
اپ۲: |
فقط اپ نسخهی ۲ |
پنل: |
پنل مدیریت |
نمونهی پیام کامیت:
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شش ماه نگه داشته میشد و میتوانست مرورگر را روی نسخهی قدیمی نگه دارد.