Skip to content

Latest commit

 

History

History
187 lines (115 loc) · 12.8 KB

CHANGELOG.md

File metadata and controls

187 lines (115 loc) · 12.8 KB

יומן שינויים

הספריה עוקבת אחרי Semantic Versioning (עברית).

‏6.1.8

  • תיקון לטייפ של asExpressRouter

‏6.1.7

  • הוספת ולידציה למבנה ההודעה ב‫id_list_message (כמו ב‫read)

‏6.1.6

  • תיקון טייפ עבור typing_playback_mode מסוג Number
  • עדכון הדוגמה (example.js) עם הדגמה לJSDoc שגורם ל-IDE להציג IntelliSense כראוי

‏6.1.5

תיקון טייפ עבור הודעה מסוג music_on_hold

‏6.1.4

  • נוסף ‫JSDoc לקובץ הטייפים עבור כל השיטות והאפשרויות, כולל הטמעת התיעוד של ימות המשיח
  • תיקון הגדרת removeInvalidChars כברירת מחדל ברמת ראוטר/שיחה
  • שיפור התיעוד

‏6.1.3

  • ברירת המחדל של ההגדרה ‫save_on_hangup ‫(record) היתה true, למרות שעל פי התיעוד היא אמורה להיות false. כעת ברירת המחדל תוקנה והיא false.
  • נוספה ההגדרה ‫use_records_recognition_engine ‫(stt) שהופיע בתיעוד אך היתה חסרה בפועל
  • תיקון: ‫router.asExpressRouter ‫(TypeScript בלבד)

‏6.1.2

  • תיקון באג עבור פרויקטים שכתובים ב-CommonJS

‏6.1.1

  • מעבר לESM; עדיין נשלח לnpm קובץ cjs, כך שקוד CommonJS קיים לא אמור להישבר
    • עדכון: בגרסה 6.1.2 תוקן באג עבור פרויקטים שכתובים ב-CommonJS
  • שימוש בספריית stack-trace לצורך חילוץ מקור השגיאה, מה שמתקן מקרים מסוימים שהמקור לא זוהה כראוי

‏6.1.0

  • נוספה החזרת בוליאני מdeleteCall האם השיחה היתה קיימת או לא
  • תוקנו הטייפים (DTS) עבור שימוש בספרייה עם טייפסקריפט - ראה README.md#TypeScript לבעיות ידועות

‏6.0.3

תיקון שינוי ברירות מחדל ברמת ראוטר (לאחר אתחול הראוטר).

‏6.0.2

  • תיקון טעות בlogger שגרמה להדפסה מיותרת של לוגים מסוימים כאשר מוגדר timeout, גם כאשר printLog הוגדר לfalse

תיקונים במנגנון הטיפול בשגיאות:

  • מניעת קריסה מתחת Node.js v18
  • מניעת קריסה בשגיאות ללא stack

‏6.0.1

תוקנה בעיה בשרשור פעולות (prependToNextAction) שבה רק הפעולה האחרונה בוצעה.

‏6.0.0

⚠️ גרסה 6 כוללת שינויים שוברים בAPI של הספריה ⚠️

לפני שדרוג פרויקט קיים לגרסה זו יש לוודא שעדכנתם את הקוד הקיים לשינויים השוברים המפורטים להלן:

שינויים שוברים

  • ‫הוסרו המשתנים call.query ו-call.body, במקומם נוסף המשתנה call.values שמכיל את הquery/body בהתאמה, לפי שיטת הפניה מימות - GET או POST.
  • הוסרה האפשרות להוסיף פונקציית שיחה ע"י add_fn שסומנה כמיושנת בגרסה 5.0.0 ניתן להשתמש במקום בget/post/all, כמו באקספרס רגיל.
  • הוסר המשתנה call.params, ניתן להשתמש בcall.req.params במקום.
  • האפשרות uncaughtErrorsHandler שונתה לכתיב הנכון - uncaughtErrorHandler (בלי ה-s).
  • הפרמטר הבוליאני של id_list_message שהגדיר האם לחבר את ההודעות לפעולה הבאה לצורך שרשור פעולות הוסר, ובמקומו יש להעביר אובייקט, עם prependToNextAction: true, פרטים נוספים בתיעוד.
  • ההגדרות בכתיב השגוי lenght_max ו-lenght_max שהוצאו משימוש בגרסה 5.0.0, הוסרו סופית ולא יעבדו יותר.
  • הסרת סוג השגיאה InputValidationError (בעת הצורך תיזרק שגיאה חדשה - CallError).
  • שמות של אופציות רבות בread שלא היו מספיק ברורות שונו, וב2 מהן אף שונתה ברירת המחדל כדי להתאים לברירת המחדל של ימות המשיח.

להלן פירוט השינויים בשמות האופציות:

שם ההגדרה הישן שם ההגדרה החדש סוג הערות
play_ok_mode typing_playback_mode *️⃣ הקשות
read_none allow_empty *️⃣ הקשות
read_none_var empty_val *️⃣ הקשות
block_change_type_lang block_change_keyboard *️⃣ הקשות
min min_digits *️⃣ הקשות
max max_digits *️⃣ הקשות
block_zero block_zero_key *️⃣ הקשות
block_asterisk block_asterisk_key *️⃣ הקשות
record_ok no_confirm_menu 🎙️ הקלטה ברירת מחדל משמיע תפריט אישור, הפוך מההגדרה הישנה, כלומר false בהגדרה הישנה שקול לברירת מחדל של החדשה - true
record_hangup save_on_hangup 🎙️ הקלטה
record_attach append_to_existing_file 🎙️ הקלטה
length_min length_min 🎙️ הקלטה
length_max max_length 🎙️ הקלטה
allow_typing block_typing 🗣️ זיהוי דיבור ברירת מחדל מאפשר הקשות, הפוך מההגדרה הישנה
use_records_engine use_records_recognition_engine 🗣️ זיהוי דיבור
length_max max_length 🗣️ זיהוי דיבור

טיפ - ניתן להשתמש בביטוי הרגולרי הבא כדי לבצע חיפוש בכל הפרויקט בתוכנת VSCode, וכך למצוא בקלות הגדרות בשמות הישנים הדורשים טיפול:

play_ok_mode:| read_none:| read_none_var:| block_change_type_lang:| min:| max:| block_zero:| block_asterisk:| length_min:| length_max:

תכונות חדשות

  • מנגנון ברירות מחדל, ראה בפירוט בתיעוד.
  • נוסף דגל להסרה שקטה של תווים לא חוקיים מהקראת טקסט - removeInvalidChars. ראו פירוט בתיעוד.
  • נוספה תמיכה להגדרות חסרות באפשרות זיהוי דיבור (stt)
  • נוספה מתודת call.hangup() (קיצור ל call.go_to_folder('hangup'))
  • ניתן להעביר לאתחול הראוטר אופציות עבור אקספרס ראוטר עצמו - ראה פירוט בתיעוד express.js על האופציות הזמינות.
  • תמיכה בכל הפורמטים הקבילים של ספריית ms בהגדרת timeout
  • ‏ניתן להעביר בערך empty_val גם ערכים פרימיטיביים אחרים - לדוגמה null, false או "" והערך שיתקבל מהread במקרה של חוסר תגובה יהיה הערך הפרימיטיבי שהוגדר.
  • מערכת אוונטים - כרגע האוונטים: new_call, call_hangup, call_continue. מקבל כארגומנט את מופע השיחה, ראה דוגמה.

תיקוני באגים ושיפורים

  • שיפורים פנימיים משמעותיים המונעים באגים והתנהגויות לא צפויות
  • התיעוד עודכן ושופר משמעותית

‏5.1.2

תוקנה התמיכה בבקשות POST (ההגדרה api_url_post=yes בשלוחה), שבהן הפרמטרים נשלחים בbody ולא בquery

נוסף פרוקסי שמיירט נסיון גישה לreq.query בבקשות POST או לreq.body בבקשות GET, ומציג הסבר מפורט לתיקון.

‏5.1.4

תוקן באג בid_list_message ללא שרשור לפעולה.

‏5.1.3

תוקנה האופציה timeout באתחול הראוטר.

‏5.1.1

תוקן באג שבו ניתוק מחוץ לפונקציה (לדוגמה השמעת id_list_message, יציאה מהשלוחה ואז ניתוק) היה מפעיל את הפונקציה.

‏5.0.1

כל הפרמטרים בURL (query params) שמתחילים במילה Api (פרמטרים אוטומטיים של ימות), לדוגמה ApiExtension, ApiPhone, כן מוזרקים אוטומטית לאובייקט הCall.

‏5.0.0

גרסה 5 כוללת שינויים רבים, כולל שינויים שוברים, ושכתוב משמעותי של הAPI הפנימי.

שינויים שוברים עיקריים:

  • ‫שם המחלקה Yemot_router הוחלף ל YemotRouter

  • הפרמטרים מהurl לא מוזרקים אוטומטית לאובייקט הcall, אלא זמינים תחת call.req - call.req.params/call.req.query, בהתאמה, או בקיצור - call.params/call.query.

  • סוג שגיאה חדש: InputValidationError - נפלט כאשר הועבר קלט לא חוקי, למשל השמעת הודעת טקסט המכילה תו נקודה (הוסר בגרסה 6).

  • ניתן להשתמש במתודות get/post/all כמו באקספרס רגיל. כרגע מתודת add_fn נשמרת לצורך תאימות, אבל מומלץ לעדכן (עדכון: הוסר בגרסה 6).

  • lenght_min בread מסוג הקלטה תוקן לlength_min, כנ"ל lenght_max תוקן לlength_max. כרגע הכתיב השגוי עדיין נתמך, אבל יוסר בהמשך (שונה לmin_length/max_length בגרסה 6).

  • שליטה באתחול הראוטר האם יודפסו לוגים פנימיים של הספריה (ברירת מחדל לא - בשונה מבגרסאות הקודמות)

  • ‫שמות משתנים הומרו לCamelCase כמקובל, לדוגמה call_id הומר לcallId וכן הלאה.

בנוסף שיפורים ושינויים רבים לא שוברים, לדוגמה:

  • לוג מפורט בהעברת תווים לא חוקיים

  • אפשרות העברת מטפל לשגיאות כלליות שלא נתפסו - לא שגיאות פנימיות של הספריה כמו HangupError, אלא שגיאה לא צפויה. מאפשר לדוגמה לשלוח מייל למפתח עם לוג מפורט, ולהשמיע למשתמש הודעת שגיאה כללית במקום שהתהליך יקרוס.

  • שינויים ושיפורים רבים נוספים מאחורי הקלעים.

‏4.0.0

בגרסה 4.0.0 שינוי משמעותי:

במקום לבדוק בכל פעם את הפרמטר hangup כעת בעת ניתוק תיזרק שגיאה פנימית - HangupError,

‫ניתן לתפוס אותה להתנהגות מותאמת אישית, כלומר שאם מבקשים נתון על ידי read והמשתמש מנתק, תתבצע פעולה, לדוגמה למחוק רשומות שכבר נוצרו בשיחה.

אם לא תופסים את השגיאת ניתוק, היא תגרום לעצירה של ריצת הפונקציה (ללא עצירה של התהליך כולו, כיוון שהשגיאה נתפסת ברמה יותר גבוהה - ע"י הספריה).