diff --git a/docs/AUTO-UPDATE-SETUP.md b/docs/AUTO-UPDATE-SETUP.md index 1b61016..6c0a80f 100644 --- a/docs/AUTO-UPDATE-SETUP.md +++ b/docs/AUTO-UPDATE-SETUP.md @@ -315,16 +315,11 @@ git push origin v1.0.1 ה-CI ירוץ אוטומטית כמו בשחרור הראשון. **אצל הלקוחות:** -- ClickOnce בודק עדכון אוטומטית **כל 7 ימים** (הגדרה ב-csproj: `UpdateInterval=7`). -- כדי **להאיץ** עדכון אצל לקוח מסויים: - 1. סגור את Outlook לגמרי. - 2. פתח את Outlook שוב. - 3. אם עברו לפחות 7 ימים מבדיקת ה-update הקודמת — יבדוק עכשיו ויעדכן. - 4. אם לא — אפשר לנקות את ה-ClickOnce cache: - ```powershell - rundll32.exe dfshim.dll,CleanOnlineAppCache - ``` - ואז לפתוח שוב את `https://platform.dev.marcus-law.co.il/outlook-addin/OutlookAddin.vsto`. +- ה־VSTO runtime בודק את ה-`.vsto` manifest **בכל פתיחה של Outlook** (משוחזר מ-`false` ב-csproj החל מ-v1.2.9; קודם זה היה פעם ב-7 ימים). הבדיקה היא GET של ~6KB, ~100ms — בלתי מורגש בזמן הטעינה. +- ה-CI מציב `/p:MinimumRequiredVersion=` בכל build, אז מיד כשהבדיקה מזהה גרסה חדשה — ההתקנה נכפית בלי דיאלוג. +- **תרגום מעשי**: 30 שניות אחרי `git push --tags` ה-CI מסיים → תוך 2-3 דקות החבילה נדחפת ל-CDN → בכניסה הבאה של כל אחד מהלקוחות ל-Outlook הוא רץ על הגרסה החדשה. **בלי שום פעולה ידנית מצידם**. +- **הכפתור "בדוק עדכונים" בהגדרות** רק מודיע ("זמינה גרסה X — סגור ופתח Outlook"). הוא לא יכול להתקין מתוך תהליך Outlook רץ — `VSTOInstaller.exe` לא יכול לדרוס DLLs נעולים, וה-ApplicationDeployment API נכשל ב-`TrustNotGrantedException` בהקשר VSTO. ההתקנה תמיד קורית רק דרך ה-runtime בעלייה של Outlook. [פירוט בזיכרון: feedback_vsto_updater_api.md] +- **תקלה נדירה — לקוח שהותקן ידנית עם dev cert** (`HP-OFFICE1\`, publicKeyToken `41d8d795775ea8cb`) לא יכול לעבור auto-update לגרסת prod cert (`Marcus-Law OutlookAddin`, publicKeyToken `c68d2b4c25051c5b`) — ClickOnce מתייחס אליהן כשתי אפליקציות שונות. **פעם אחת**: Apps & Features → uninstall של MarcusLaw.OutlookAddin → התקנה חדשה מ-`https://platform.dev.marcus-law.co.il/outlook-addin/OutlookAddin.vsto`. אחרי זה auto-update עובד. --- diff --git a/docs/PROJECT-BRIEFING.md b/docs/PROJECT-BRIEFING.md index 6989f40..9f70c95 100644 --- a/docs/PROJECT-BRIEFING.md +++ b/docs/PROJECT-BRIEFING.md @@ -284,7 +284,7 @@ If the session is on the Linux dev server (`/home/chaim/espocrm-extensions/Outlo - Uploads `publish.tar.gz` to Gitea generic registry (`outlook-addin-publish//publish.tar.gz`) - Linux job downloads the tar.gz, builds a Docker image `outlook-addin-cdn:latest`, pushes to Gitea registry, calls Coolify to redeploy the CDN container - Posts to Mattermost channel `git-verelasim` with the install URL on success / a failure link on failure -5. Lawyers' installed Add-in checks the deployment manifest at the install URL every 7 days (configured in csproj `7`) or whenever they click "בדוק עדכונים" in Settings → אודות. +5. Lawyers' installed Add-in checks the deployment manifest at the install URL **on every Outlook startup** (csproj has `false` since v1.2.9 — earlier versions waited up to 7 days). The check is a single ~6 KB HTTP GET, ~100 ms. Combined with the CI setting `/p:MinimumRequiredVersion=` per build, this means every tagged release lands on every lawyer's PC the next time they open Outlook, silently and without prompts. **Semver policy:** PATCH for bug fixes (unilateral), MINOR for visible features (unilateral when warranted), MAJOR only with Chaim's explicit approval.