Vitruvius — M7 נסגר

UpdateChecker · סשן 2026-05-30 · בדיקת גרסה אוטומטית בעלייה של Revit
מה זה עושה למשתמש

פתיחה של Revit → בקשה אחת ברקע → אם יש עדכון, קופץ דיאלוג

  • בעלייה של Revit, ברקע, Vitruvius שולח בקשת HTTPS יחידה לקובץ manifest. אין payload מזהה.
  • אם יצאה גרסה חדשה — קופץ TaskDialog ב-Idling הראשון אחרי שהבדיקה סיימה.
  • שלושה כפתורים: פתח את דף ההורדה · דלג על גרסה זו · תזכיר בפעם הבאה (סגירה).
  • פעם אחת בלבד פר-סשן. ועם "דלג" — לא קופץ שוב באותה גרסה. גרסה חדשה יותר תקפוץ כרגיל.
  • בלי רשת? שתיקה מוחלטת — לא טעות, לא כעס, לא לוג מוצג למשתמש. רק שורה ב-diagnostic.log.
8 קבצים שנכתבו / השתנו
  • חדש Core/Updates/UpdateInfo.cs — DTO ו-UpdateCheckResult. לעולם לא זורק, כל שגיאה נכנסת לשדה Error.
  • חדש Core/Updates/SemVer.cs — השוואת גרסה (3 חלקים + pre-release tail; 0.2.0-beta < 0.2.0).
  • חדש Core/Updates/UpdateChecker.cs — HTTP GET, HTTPS בלבד, TLS 1.2 מפורש, timeout 10 שניות, cap של 16KB על body, פרסר JSON inline (בלי Newtonsoft / STJ).
  • חדש Revit2024/Updater/UpdateNotifier.cs — מריץ את הבדיקה ב-Task.Run, מציג דיאלוג ב-Idling הראשון אחרי שהבדיקה הסתיימה, anti-nag.
  • הורחב VitruviusConfig — 3 שדות חדשים: UpdateCheckEnabled (default true), UpdateManifestUrlOverride, SkippedUpdateVersion.
  • שינוי VitruviusApp.cs — wiring ל-OnStartup / OnShutdown, עטוף ב-try/catch כך שכשל לא יוריד את הריבון.
  • שינוי SettingsWindow.cs — סקציית "עדכונים" חדשה: toggle, גרסה נוכחית, כפתור "בדוק עכשיו" אסינכרוני, "בטל דילוג".
  • שינוי VitruviusInfo.cs — קונסטנט DefaultUpdateManifestUrl.
Build & Deploy
  • MSBuild נקי, אפס שגיאות / אזהרות.
  • Core 66KB → 78KB · Revit2024 79KB → 89KB.
  • נפרס ל-C:\ProgramData\Autodesk\Revit\Addins\2024\Vitruvius\
  • DLLs ישנים בארכיון OLD\2026-05-30_12-02\ (כלל הארכוב הגלובלי).
2 caveats שחשוב לדעת
1. ה-URL הדיפולטי placeholder — לא חי

הקונסטנט מצביע ל-https://vitruvius.app/updates/manifest.json שלא קיים. עד שתהיה תשתית release, הבדיקה נכשלת בשקט — זה ה-design, לא באג.

לבדיקה end-to-end: להעלות JSON עם שדה latestVersion ל-GitHub Raw (או כל HTTPS פומבי), ולהכניס את ה-URL לשדה updateManifestUrlOverride בקובץ %APPDATA%\Vitruvius\config.json.

2. "הורדה" פותחת דפדפן, לא in-process

כפתור "פתח את דף ההורדה" פותח את ה-URL בדפדפן הדיפולטי. לא מוריד את ה-installer בתוך Revit ולא מתקין — כי installer עדיין לא קיים (זה M9).

איפה אנחנו על ה-roadmap
  • M1–M6 · M4 N/A · M7
  • הצעד הבא: M8LicenseManager stub (IsActivated() → true) + integration נקודתית בכל פקודה. אומדן יום עבודה.
  • אחרי M8: M9 installer · M10 tests · M11 בטא.

PLAN.md עודכן — שורת M7 מסומנת עם תיאור מלא של מה שנבנה בפועל.

לאישור
להמשיך ל-M8 עכשיו?

ענה: כן / לא, עצור / קודם בדוק M7 ידנית עם manifest אמיתי.