How it was: a returning visitor's browser could keep serving the old v2 app instead of the new site after a real deploy — nothing at the site root would replace its cached service worker.
What changed: added a root-scope sw.js — a one-time kill switch that clears the old cache and un-registers itself. Doesn't touch this app's own demo/sw.js.
كيف كانت: كان يمكن لمتصفح الزائر العائد أن يستمر بعرض تطبيق الإصدار الثاني القديم بدلاً من الموقع الجديد بعد أي نشر فعلي.
ما الذي تغير: أُضيف sw.js في جذر الموقع — مفتاح إيقاف لمرة واحدة يمسح التخزين المؤقت القديم ويلغي تسجيل نفسه. لا يمس هذا عامل الخدمة الخاص بهذا التطبيق demo/sw.js.
How it was: first version had a weak, generic café look; only a card app, no business site.
What changed: redesigned to match the HighlightCards-level design quality at the owner's request (2026-09-28); added landing and pricing pages; card app moved to /demo and restyled.
كيف كانت: النسخة الأولى كانت بتصميم مقهى ضعيف وعام؛ مجرد تطبيق بطاقة، بدون موقع تعريفي.
ما الذي تغير: أعيد التصميم ليضاهي جودة HighlightCards بناءً على طلب المالك (٢٠٢٦/٠٩/٢٨)؛ أُضيفت صفحتا الهبوط والأسعار؛ وانتقل تطبيق البطاقة إلى /demo وأُعيد تصميمه.
How it was: Arabic shop name overlapped the hero graphic; Arabic button label unreadable.
What changed: fixed after main-agent review.
How it was: nothing — first version.
What changed: first build (2026-09-27) from the design brief (Claude-written fallback, ChatGPT unavailable); 3 palettes, 3 card styles, stamp count 6/8/10/12, EN/AR.