בעיה | הכנסת תוסף לחנות
-
@otzaria-bot
תענה בבקשה, קרא את הקוד הרלוונטי.
(אם הוא לא יענה, שלח לי צ'אט עוד כמה שעות). -
@otzaria-bot
קרא את ההודעה הראשונה בשרשור, והגב. -
@הלומד — הרישום שלכם נכון. השגיאה שקיבלתם אינה שגיאת ריצה אלא ולידציה של החנות בהעלאה.
איך זה עובד בפועל
plugin.suspendedו-plugin.resumedנשלחים ישירות כ-CustomEventעלwindowמתוך plugin_runtime_dispatcher.dart (השהיה) ו-שורה 168 (חזרה), וה-dispatch עצמו בשורה 193. מצד ה-SDK,Otzaria.on(event, cb)הוא בסך הכל עטיפה ל-window.addEventListener(plugin_tab_page.dart שורה 712) — בלי בדיקת שם אירוע ובלי בדיקת הרשאה.מכאן שני דברים:
Otzaria.on('plugin.suspended', cb)היא הצורה הנכונה, והיא עובדת.- אין הרשאת
events.subscribe:plugin.suspendedואין צורך בה — אירועי lifecycle אינם עוברים דרך בדיקת ההרשאות שלdispatchEvent. אל תוסיפו אותה ל-manifest, היא תיפסל כהרשאה לא חוקית.
למה החנות בכל זאת חסמה
הוולידטור של החנות בונה את רשימת האירועים המוכרים מתוך
docs/plugin-sdk/API_REFERENCE.md— הוא שולף שמות מדוגמאותOtzaria.on('...')ומהרשאותevents.subscribe:Xשמופיעות שם.plugin.suspendedו-plugin.resumedמתועדים כרגע רק ב-otzaria_plugin.d.ts(שורות 588-590) ולא ב-API_REFERENCE, ולכן הם יוצאים "לא מוכרים". ובהעלאה לחנות כל warning חוסם, לא רק error. זהו פספוס בתיעוד/ולידטור, לא בקוד שלכם.עקיפה שעובדת עכשיו
הסורק מחפש רק
Otzaria.on(/Otzaria.off(. לכן:window.addEventListener('plugin.suspended', () => stopReminderInterval()); window.addEventListener('plugin.resumed', () => startReminderInterval());זהה לחלוטין מבחינת התנהגות (זה מה ש-
Otzaria.onעושה מתחת), ועובר את הולידציה. שימו לב שכאן ה-callback מקבל את אובייקט ה-Event, כך שאם תצטרכו payload באירוע אחר —e.detail. ב-lifecycle ה-detail הואnullבכל מקרה.ובהזדמנות זו:
plugin.suspendedנורה גם ביציאה מלשונית התוסף, לא רק בסגירת האפליקציה, ולכן הוא כן שימושי כ-flush נקודתי — אבל אין להסתמך עליו כאירוע shutdown.התיקון האמיתי הוא להוסיף את שני האירועים ל-API_REFERENCE.md (ולרשימת ה-fallback בוולידטור). @י.-פל.
כדי שזה לא ייעלם — פתחו issue: https://github.com/Otzaria/otzaria/issues
-
@הלומד — הרישום שלכם נכון. השגיאה שקיבלתם אינה שגיאת ריצה אלא ולידציה של החנות בהעלאה.
איך זה עובד בפועל
plugin.suspendedו-plugin.resumedנשלחים ישירות כ-CustomEventעלwindowמתוך plugin_runtime_dispatcher.dart (השהיה) ו-שורה 168 (חזרה), וה-dispatch עצמו בשורה 193. מצד ה-SDK,Otzaria.on(event, cb)הוא בסך הכל עטיפה ל-window.addEventListener(plugin_tab_page.dart שורה 712) — בלי בדיקת שם אירוע ובלי בדיקת הרשאה.מכאן שני דברים:
Otzaria.on('plugin.suspended', cb)היא הצורה הנכונה, והיא עובדת.- אין הרשאת
events.subscribe:plugin.suspendedואין צורך בה — אירועי lifecycle אינם עוברים דרך בדיקת ההרשאות שלdispatchEvent. אל תוסיפו אותה ל-manifest, היא תיפסל כהרשאה לא חוקית.
למה החנות בכל זאת חסמה
הוולידטור של החנות בונה את רשימת האירועים המוכרים מתוך
docs/plugin-sdk/API_REFERENCE.md— הוא שולף שמות מדוגמאותOtzaria.on('...')ומהרשאותevents.subscribe:Xשמופיעות שם.plugin.suspendedו-plugin.resumedמתועדים כרגע רק ב-otzaria_plugin.d.ts(שורות 588-590) ולא ב-API_REFERENCE, ולכן הם יוצאים "לא מוכרים". ובהעלאה לחנות כל warning חוסם, לא רק error. זהו פספוס בתיעוד/ולידטור, לא בקוד שלכם.עקיפה שעובדת עכשיו
הסורק מחפש רק
Otzaria.on(/Otzaria.off(. לכן:window.addEventListener('plugin.suspended', () => stopReminderInterval()); window.addEventListener('plugin.resumed', () => startReminderInterval());זהה לחלוטין מבחינת התנהגות (זה מה ש-
Otzaria.onעושה מתחת), ועובר את הולידציה. שימו לב שכאן ה-callback מקבל את אובייקט ה-Event, כך שאם תצטרכו payload באירוע אחר —e.detail. ב-lifecycle ה-detail הואnullבכל מקרה.ובהזדמנות זו:
plugin.suspendedנורה גם ביציאה מלשונית התוסף, לא רק בסגירת האפליקציה, ולכן הוא כן שימושי כ-flush נקודתי — אבל אין להסתמך עליו כאירוע shutdown.התיקון האמיתי הוא להוסיף את שני האירועים ל-API_REFERENCE.md (ולרשימת ה-fallback בוולידטור). @י.-פל.
כדי שזה לא ייעלם — פתחו issue: https://github.com/Otzaria/otzaria/issues
-
@הלומד
תזכר אותי עוד כמה שעות - א׳ החברים כאן תרם לי מנוי קודקס מורחב (עולה 100$!!!), ואני מתכנן שיפוץ לאתר, לטקסטים ולמהירות הטעינה, על הדרך אתקן גם את זה בע״ה.
אם למישהו יש בעיות נוספות עם האתר (למשל - דף התרומות לא עובד!!!!), אנא פתח שרשור, וכתוב בו את כל הבעיות - אשמח לעבוד בצורה מרוכזת, גם ככה אני על 3-4 repo's במקביל... -
@הלומד
תזכר אותי עוד כמה שעות - א׳ החברים כאן תרם לי מנוי קודקס מורחב (עולה 100$!!!), ואני מתכנן שיפוץ לאתר, לטקסטים ולמהירות הטעינה, על הדרך אתקן גם את זה בע״ה.
אם למישהו יש בעיות נוספות עם האתר (למשל - דף התרומות לא עובד!!!!), אנא פתח שרשור, וכתוב בו את כל הבעיות - אשמח לעבוד בצורה מרוכזת, גם ככה אני על 3-4 repo's במקביל... -
@הלומד
תזכר אותי עוד כמה שעות - א׳ החברים כאן תרם לי מנוי קודקס מורחב (עולה 100$!!!), ואני מתכנן שיפוץ לאתר, לטקסטים ולמהירות הטעינה, על הדרך אתקן גם את זה בע״ה.
אם למישהו יש בעיות נוספות עם האתר (למשל - דף התרומות לא עובד!!!!), אנא פתח שרשור, וכתוב בו את כל הבעיות - אשמח לעבוד בצורה מרוכזת, גם ככה אני על 3-4 repo's במקביל...
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות