DiscoTOC מראה לי שגיאת סוג TypeError

בסדר, הצלחתי לגרום לשגיאה להיעלם ושחזרתי אותה.

סיכום מהיר

  • חזרה להגדרות סיומת S3 שעבדו קודם והסרת ההתקנה והתקנת מרכיב DiscoTOC מובילים להתקנה ללא שגיאות של המרכיב.
  • השבתת S3 על ידי הערת כל ההוראות ב-app.yml מובילה להחזרת השגיאה כאשר המרכיב מותקן, ואני מניח שבעדכון השגיאה תחזור גם.
  • קביעת DISCOURSE_USE_S3: false לא מונעת מ-Discourse להשתמש בנתיבי S3, זה מרגיש כמו באג או שההגדרה הזאת לא עושה את מה שאני חושב שהיא עושה.

סקירה מפורטת

בהתחלה מה שעשיתי זה להחיות את ההגדרה שלי של minio, לבטל את ההגדרות ב-app.yml, לבנות את היישום, ולוודא להריץ את המשימה s3:upload_assets. כשהאתר חזר לפעול, ניגשתי לחלק של הרכיבים. הרכיב DiscoTOC שכבר הותקן עדיין הראה את השגיאה, אך כשמחקתי אותו והתקנתי מחדש, השגיאה לא הופיעה שוב. במהלך ההתקנה של רכיב DiscoTOC נבקשה הקובץ sprite.svg משרת ה-S3 שלי.

במהלך ניסיון לשחזור הבעיה נתקלתי בבעיה מעניינת. נראה שכאשר אני משאיר את כל ההוראות ב-app.yml פעילות, כלומר לא הערתי אותן, אבל מגדיר DISCOURSE_USE_S3: false, פני האתר לא ייטען אם שירות מיניו אינו רץ.

אולי DISCOURSE_USE_S3: False לא מיועד לשלול את כל הגישה ל-S3, אני מנחש שזה מתוך השם, אבל באופן ברור זה לא. ברגע שאני מחדש את שירות מיניו ומרענן את האתר, הכל עובד בסדר. אני גם מצליח להסיר ולשים מחדש את רכיב DiscoTOC מבלי לשחזר את השגיאה במצב הזה. נראה שזה לפחות באג.

זהו מצב שלישי שהוביל אותי לשחזור השגיאה:

כדי שהאתר שלי יעבוד בלי שרות מיניו פועל מחדש, הערתי את כל ההגדרות שיש להן קשר ל-S3 ב-config. לאחר שבניתי את היישום שוב, ולא רץ מיניו, הטעינה של האתר נעימה. אך אם אני מתקין מחדש את ה-DiscoTOC, השגיאה מופיעה שוב. ניסיתי גם להפעיל את מיניו במצב הזה, והשגיאה חזרה על עצמה בעת ההתקנה. כנראה בשל העובדה שלא היו הגדרות ל-S3 ב-app.yml, כך שגם אם המערכת סבירה לנסות להתחבר ל-S3 באופן אוטומטי, היא תעשה זאת עם ערכים ברירת מחדל שאינם מטעים.
למרות זאת, נראה כי חלק מהתמונות מנסים עדיין להישתף מ- S3 אפילו לאחר rebake של הפוסט (למשל 1531a70abda0d81d1a4039b6f3fa38bea79ef0de_2_180x180.png/xl.meta).

2 לייקים