اختلال در عملکرد Autofill مرورگر Safari در درج تاریخ انقضای کارتهای بانکی
Safari's Autofill feature may be distorting time
گزارشهای متعددی از کاربران مرورگر Safari نشان میدهد که قابلیت Autofill در هنگام تکمیل فرمهای پرداخت، تاریخ انقضای کارتهای اعتباری را به اشتباه و با اختلاف یک ماه درج میکند. این مشکل که از سال ۲۰۱۷ گزارش شده، به نظر میرسد ناشی از خطای محاسباتی در مدیریت زمان و مناطق زمانی باشد.
جزئیات فنی و ماهیت مشکل
بر اساس گزارشهای کاربران در انجمنهای پشتیبانی Apple و Reddit، قابلیت Autofill در مرورگر Safari گاهی اوقات تاریخ انقضای کارتهای ذخیرهشده را یک ماه زودتر از موعد واقعی وارد میکند. نکته قابل توجه این است که اطلاعات کارت در تنظیمات سیستم به درستی ذخیره شدهاند و این خطا تنها در زمان پر کردن خودکار فرمها در مرورگر رخ میدهد.
تحلیلهای فنی احتمالی حاکی از آن است که این مشکل ممکن است ناشی از نحوه پیادهسازی تاریخ در کد اختصاصی Safari باشد. استفاده از نوع داده DateComponent در زبان Swift و ذخیرهسازی آن به عنوان یک شیء Calendar با تنظیمات UTC، میتواند باعث شود که هنگام استخراج تاریخ در مناطق زمانی مختلف (مانند Pacific Time)، به دلیل اختلاف ساعت، تاریخ به روز قبل یا ماه قبل منتقل شود.
سابقه و وضعیت فعلی
این باگ برای سالها گزارش شده است؛ اولین گزارشها به سال ۲۰۱۷ بازمیگردد که کاربران از تغییر ماه انقضا هنگام سفر بین مناطق زمانی مختلف شکایت داشتند. گزارشهای مشابهی نیز در سالهای ۲۰۲۱ و ۲۰۲۴ ثبت شده است که نشان میدهد این مشکل حتی با تعویض دستگاه و نصب تازه سیستمعامل نیز برطرف نشده است. با توجه به اینکه Apple پایگاه داده عمومی برای گزارش باگها ندارد، جزئیات رسمی از وضعیت اصلاح این نقص در دسترس نیست.
نکتههای کلیدی
- بروز خطای off-by-one در درج ماه انقضای کارتهای اعتباری توسط Autofill.
- عدم تطابق تاریخ درج شده در فرم با اطلاعات صحیح ذخیره شده در تنظیمات Safari.
- احتمال دخالت تنظیمات منطقه زمانی (Time Zone) در بروز این خطای محاسباتی.
- عدم وجود راهکار رسمی از سوی Apple و تداوم گزارشها از سال ۲۰۱۷ تاکنون.
چه باید کرد
- پاکسازی حافظه کش (Cache) مرورگر Safari.
- حذف و وارد کردن مجدد اطلاعات کارتهای اعتباری در تنظیمات Autofill.
- بررسی و تایید دستی تاریخ انقضای درج شده در فرمهای پرداخت پیش از نهایی کردن تراکنش.