Skip to content

תיקון מעקב ל-#29: pageSize חוזר להיות מידות במ"מ - #33

Merged
Y-PLONI merged 1 commit into
mainfrom
fix/pdf-page-size-and-node-modules
Sep 2, 2026
Merged

תיקון מעקב ל-#29: pageSize חוזר להיות מידות במ"מ#33
Y-PLONI merged 1 commit into
mainfrom
fix/pdf-page-size-and-node-modules

Conversation

@Y-PLONI

@Y-PLONI Y-PLONI commented Sep 2, 2026

Copy link
Copy Markdown
Owner

תיקון לטעות שלי ב-#29. החצי של node_modules הוסר מכאן — הוא כבר מטופל ב-#30, שקדם ומקיף יותר (הוא מוריד את הלוכסן גם מ-dist/ ומ-tmp/, ומתעד את ההיסטוריה המלאה של הרשומה). שני ה-PR-ים היו מתנגשים על אותו blob ועל אותן שורות; #30 הוא זה שצריך להיכנס.

הבעיה

הקומיט 2763bcb החליף את המפה {widthMm, heightMm} בשם קבוע ('a4') כשמידות המסמך תואמות נייר מוכר, בטענה שהגשר של אוצריא אינו מקבל מפה. הטענה נבדקה מול origin/dev בלבד ולכן הייתה שגויה: תמיכת המפה נוספת ב-Otzaria/otzaria#1092 — הצד השני של אותו שינוי, עם אותם שמות שדות, טווח 10–5080 מ"מ, תיעוד ב-API_REFERENCE ובדיקה שמקבעת 210.02×297.03.

וגרוע מכך, השם היה באג: 'a4' הוא 210×297 מ"מ, ותיבת העמוד שאותו קוד עצמו מזריק ל-@page היא 8.269in = 210.033 מ"מ. הנייר היה יוצא צר בשבריר מהתיבה שהוצהרה — בדיוק מה שהעיגול-כלפי-מעלה במודול קיים כדי למנוע (עמוד שנשבר לשני גיליונות), ובניגוד להצהרת המודול ששתי השכבות מחושבות מאותה קריאה ואינן יכולות לסתור.

מסלול השם הוסר כולו: pageSize הוא שוב מידות המסמך במ"מ.

מה נשאר מ-2763bcb, ובכוונה

  • תיקון ה-forbidden. ההשוואה הייתה code === 'forbidden' ואוצריא מחזירה error.forbidden (API_REFERENCE §קודי שגיאה) — הענף לא נדלק אף פעם מול המארח האמיתי, והמשתמש קיבל „הייצוא נכשל” במקום „נסו שוב”. באג עצמאי, שאינו תלוי ב-#1092.
  • הנפילה-לאחור על invalid_params. לא כי המפה שבורה, אלא כביטוח על סדר השחרור: הכפתור נפתח לכל Host שמדווח 0.9.97+, ואם #1092 ייכנס לגרסה מאוחרת יותר — ייצוא שנדחה על ארגומנט עימוד מצליח בסבב שני בלעדיו, עם אזהרה, במקום להיכשל. בטוח דווקא כאן: אוצריא מפרשת את ארגומנטי העימוד לפני שהיא פותחת דיאלוג, ולכן דחייה כזאת אינה יכולה להשאיר קובץ שנשמר.

איך נבדק

typecheck נקי; tests/unit/print.test.ts 40/40; ועל ה-main המלא (לפני הצמצום כאן): 3023/3023 בדיקות, npm run build, ו-export-pdf-qa.mjs 7/7 — ה-payload שנמדד בדפדפן: pageSize: {widthMm: 210.04, heightMm: 297.03}.

@Y-PLONI
Y-PLONI force-pushed the fix/pdf-page-size-and-node-modules branch from c141ccc to dcb42e3 Compare September 2, 2026 18:29
@Y-PLONI Y-PLONI changed the title תיקוני מעקב ל-#29: pageSize חוזר למידות, ו-node_modules יוצא מהגרסה תיקון מעקב ל-#29: pageSize חוזר להיות מידות במ"מ Sep 2, 2026
הקומיט 2d4abf9 טען ש-`pageSize` כמפה אינו קיים בגשר, ולכן החליף אותו בשם
קבוע (`'a4'`) כשמידות המסמך תואמות נייר מוכר. הטענה נבדקה מול origin/dev
בלבד — והמפה כן קיימת: היא נוספת ב-PR ‏#1092 של Otzaria/otzaria (פתוח,
‏base=dev), שהוא הצד השני של אותו שינוי בדיוק: אותם `widthMm`/`heightMm`,
טווח 10–5080 מ"מ, תיעוד ב-API_REFERENCE ובדיקה שמקבעת מפה של
‏210.02×297.03. כלומר החוזה שה-PR הזה מסתמך עליו נכון, וההנחה שלי שהוא
שבור — לא.

וגרוע מכך, השם היה **באג**: `'a4'` הוא 210×297 מ"מ, ותיבת העמוד שאותו קוד
בדיוק מזריק ל-`@page` היא 8.269in = 210.033 מ"מ. כלומר הנייר היה יוצא צר
בשבריר מהתיבה שהוצהרה — בדיוק מה שהעיגול-כלפי-מעלה קיים כדי למנוע (עמוד
שנשבר לשני גיליונות), ובניגוד למה שהמודול עצמו מצהיר: ששתי השכבות
מחושבות מאותה קריאה ואין להן דרך לסתור. מסלול השם הוסר כולו.

מה שנשאר מאותו קומיט, ובכוונה:

* **תיקון ה-`forbidden`.** ההשוואה הייתה `code === 'forbidden'`, ואוצריא
  מחזירה `error.forbidden` (‏API_REFERENCE §קודי שגיאה) — הענף לא נדלק
  אף פעם מול המארח האמיתי, והמשתמש קיבל „הייצוא נכשל” במקום „נסו שוב”.
  זה באג עצמאי, שאינו תלוי ב-#1092.
* **הנפילה-לאחור על `invalid_params`.** לא כי המפה שבורה, אלא כביטוח על
  סדר השחרור: התוסף פותח את הכפתור לכל Host שמדווח 0.9.97 ומעלה, ואם
  ‏#1092 ייכנס לגרסה מאוחרת יותר — ייצוא שנדחה על ארגומנט עימוד מצליח
  בסבב שני בלעדיו, עם אזהרה, במקום להיכשל. בטוח דווקא כאן: אוצריא
  מפרשת את העימוד לפני שהיא פותחת דיאלוג.

שער ה-QA מודד עכשיו את מה שנשלח בפועל — מפה, בתחום שהגשר מקבל.
7/7, ‏2949 בדיקות, typecheck נקי, build עובר.
@Y-PLONI
Y-PLONI force-pushed the fix/pdf-page-size-and-node-modules branch from dcb42e3 to 93b031b Compare September 2, 2026 19:39
@Y-PLONI
Y-PLONI merged commit 0855456 into main Sep 2, 2026
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

תוצאות בדיקת תוספי אוצריא

מקור מפרט ה-API: GitHub (זמן אמת)

תוסף שגיאות אזהרות עיצוב סטטוס
וורד לאוצריא (com.otzaria_word_editor.superdoc) 0 0 5

הרצה מלאה

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant