תיקון מעקב ל-#29: pageSize חוזר להיות מידות במ"מ - #33
Merged
Conversation
Y-PLONI
force-pushed
the
fix/pdf-page-size-and-node-modules
branch
from
September 2, 2026 18:29
c141ccc to
dcb42e3
Compare
הקומיט 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
force-pushed
the
fix/pdf-page-size-and-node-modules
branch
from
September 2, 2026 19:39
dcb42e3 to
93b031b
Compare
תוצאות בדיקת תוספי אוצריאמקור מפרט ה-API: GitHub (זמן אמת)
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
תיקון לטעות שלי ב-#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.ts40/40; ועל ה-main המלא (לפני הצמצום כאן): 3023/3023 בדיקות,npm run build, ו-export-pdf-qa.mjs7/7 — ה-payload שנמדד בדפדפן:pageSize: {widthMm: 210.04, heightMm: 297.03}.