Skip to content
palmoni5 edited this page Jul 17, 2026 · 1 revision

עדכון האפליקציה

lib/update/ — עדכון אוצריא עצמה (להבדיל מעדכון הספרייה), מבוסס חבילת updat עם עטיפה מרחיבה.

MyUpdatWidget — ‏my_update_widget.dart

  • פעיל רק בפלטפורמות דסקטופ ולא ב־debug.
  • מקור — ‏GitHub Releases של Otzaria/otzaria. שני ערוצים: יציב וערוץ מפתחים (key-dev-channel).
  • בחירת קובץ עדכון לפי פלטפורמה ולפי סוג ההתקנה:
    • ‏Windows — מתקין exe להתקנה רגילה או ZIP למצב נייד (AppPaths.isPortable); מדלג על גרסאות full (שכוללות ספרייה).
    • ‏macOS — ‏ZIP לעדכון עצמי, ‏DMG להתקנה ידנית.
    • ‏Linux — דרך linux_installer.dart.
  • התקנה שקטה ב־Windows — כולל אפשרות "התקן בעת יציאה" (hook על סגירת החלון).
  • יומן שינויים — נטען מ־assets/יומן שינויים.md של התג; מוצגים רק הקטעים שבין הגרסה הנוכחית לזמינה.
  • חסימות — מצב מנותק או עדכונים כבויים חוסמים את הבדיקה; הבדיקה הראשונית ממתינה לסיום הסיור המודרך.

לקחים מיוחדים (מתועדים בקוד)

  • המתקין מופעל עם CREATE_BREAKAWAY_FROM_JOB — בלי זה ה־Job Object של האפליקציה הרג את המתקין כשהיא נסגרה.
  • התקנת per-user מזוהה כראוי (ולא כנייד) דרך AppPaths.isPortable.
  • ‏postinstall במצב VERYSILENT דורש טיפול מיוחד (תוקן ב־0.9.94+).

עטיפת החלון החיצונית

שימו לב: MyUpdatWidget עוטף את ה־Scaffold הראשי — עוטפים כאלה חייבים לשמור צורת עץ widgets קבועה בכל מצב (מקוון/מנותק), אחרת Flutter מאבד state של המסכים (באג "כלים מציג מסך עיון" שתוקן).

דפים קשורים

Clone this wiki locally