נתקלתי באותו סוג של תקלה, אבל הלכתי בדרך אחרת. במקום לצרוך את נקודות הקצה של ה-API של לוח השנה ישירות, הייבואן שלי בונה BBCode של [event] ומפרסם אותו ל-Discourse, מה שמאפשר לפלאגין לנתח אותו כאילו משתמש צוות יצר את האירוע ידנית. כך אני נמנע מהסתמכות על פרמטרים חולפים של שאילתות כמו include_expired, ואני מקבל חוזה יציב יותר - פוסטים רגילים ו-BBCode לא צפויים להשתנות ללא הודעה מוקדמת.
[event start="2025-09-29 09:00" end="2025-10-29 10:00" location="Office B1"]
Meet to discuss Discourse RESTful API
[/event]
הפשרה היא יותר עבודה מצדי: הייתי צריך לכתוב פורמטר שממיר נתוני ICS לתגיות [event] שעברו בריחה כראוי, מטפל באירועים של כל היום לעומת אירועים מתוזמנים, וכן הלאה. אבל בפועל הגישה הזו הייתה הרבה יותר עמידה לאורך שדרוגים. היא לא מבטלת את הצורך בהודעות על הפסקת שימוש (עדיין הייתי רוצה ש-APIs ייכשלו במהירות או לפחות יזהירו כאשר אפשרויות מוסרות), אך היא הפחיתה את הסיכון שהסקריפטים שלי יישברו בשקט.