Przeglądaj źródła

fix: handle null batchId in saveExternalResult and improve response validation

Dr-Swopt 2 tygodni temu
rodzic
commit
cb8ec54f76

+ 7 - 2
src/src.palm.vision/services/remote-inference.service.ts

@@ -63,11 +63,16 @@ export class RemoteInferenceService implements OnDestroy {
           return body;
         }
 
-        if (body) {
+        if (body && typeof body === 'object') {
           const extractedRecords = body.records || body.data || body.items || body.history;
           if (Array.isArray(extractedRecords)) {
             return extractedRecords;
           }
+
+          const values = Object.values(body);
+          if (values.length > 0 && values.every(v => v !== null && typeof v === 'object')) {
+            return values as any[];
+          }
         }
 
         return [];
@@ -128,7 +133,7 @@ export class RemoteInferenceService implements OnDestroy {
       this.dpService.stream(message).subscribe({
         next: (res: any) => {
           // Gracefully intercept and isolate system finalization frames before parsing
-          if (res && res.complete === true && !res.message) {
+          if (res && res.complete === true) {
             observer.complete();
             return;
           }

+ 1 - 1
src/src.palm.vision/store/vision.state.ts

@@ -90,7 +90,7 @@ export class VisionState implements NgxsOnInit {
             this.remoteInferenceService.saveExternalResult({
               frame: localFrame.imageDataUrl,
               filename: file.name,
-              batchId: batchId,
+              batchId: batchId ?? 'unbatched_edge_studio',
               detections: localFrame.detections,
               industrial_summary: localFrame.industrial_summary,
               inference_ms: localFrame.inference_ms,