Просмотр исходного кода

fix(printer): suppress "not homed" re-prompt after Auto Home (#1052 follow-up)

  The bed-jog "not homed" warning modal was gated on a session-scoped
  "warned" flag set only by the "Move anyway" button. Clicking "Auto
  Home" sent the G28 and closed the modal but never set the flag, so the
  next jog click in the same session re-prompted — even though the
  printer was now homed.

  The homeAxes mutation's onSuccess handler now flips the same
  `bambuddy.bedJog.warned.<printerId>` sessionStorage flag. The warning
  still fires once per printer per session (intended safety guard,
  cleared on restart), but not repeatedly after a successful auto-home.
maziggy 4 месяцев назад
Родитель
Сommit
1de4e409b0
4 измененных файлов с 10 добавлено и 3 удалено
  1. 1 1
      CHANGELOG.md
  2. 8 1
      frontend/src/pages/PrintersPage.tsx
  3. 0 0
      static/assets/index-DFkuTMRb.js
  4. 1 1
      static/index.html

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
CHANGELOG.md


+ 8 - 1
frontend/src/pages/PrintersPage.tsx

@@ -1878,7 +1878,14 @@ function PrinterCard({
 
 
   const homeAxesMutation = useMutation({
   const homeAxesMutation = useMutation({
     mutationFn: (axes: 'z' | 'xy' | 'all') => api.homeAxes(printer.id, axes),
     mutationFn: (axes: 'z' | 'xy' | 'all') => api.homeAxes(printer.id, axes),
-    onSuccess: () => showToast(t('printers.bedJog.homingStarted')),
+    onSuccess: () => {
+      // Flip the session-scoped "warned" flag so the next bed-jog click doesn't re-prompt
+      // the not-homed modal. The flag is the same one "Move anyway" sets; after a successful
+      // auto-home request the printer is (or will shortly be) in a known-homed state, so
+      // prompting again in the same session is noise — #1052 follow-up.
+      try { sessionStorage.setItem(`bambuddy.bedJog.warned.${printer.id}`, '1'); } catch { /* ignore */ }
+      showToast(t('printers.bedJog.homingStarted'));
+    },
     onError: (error: Error) =>
     onError: (error: Error) =>
       showToast(error.message || t('printers.toast.failedToSendCommand'), 'error'),
       showToast(error.message || t('printers.toast.failedToSendCommand'), 'error'),
   });
   });

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
static/assets/index-DFkuTMRb.js


+ 1 - 1
static/index.html

@@ -26,7 +26,7 @@
 
 
     <!-- Splash screens for iOS -->
     <!-- Splash screens for iOS -->
     <link rel="apple-touch-startup-image" href="/img/android-chrome-512x512.png" />
     <link rel="apple-touch-startup-image" href="/img/android-chrome-512x512.png" />
-    <script type="module" crossorigin src="/assets/index-DbBotyQl.js"></script>
+    <script type="module" crossorigin src="/assets/index-DFkuTMRb.js"></script>
     <link rel="stylesheet" crossorigin href="/assets/index-CkAOuJaW.css">
     <link rel="stylesheet" crossorigin href="/assets/index-CkAOuJaW.css">
   </head>
   </head>
   <body>
   <body>

Некоторые файлы не были показаны из-за большого количества измененных файлов