sunheycho commited on
Commit
a839cac
·
1 Parent(s): 54e2305

Fix: Update React ProductComparison.js SSE handling

Browse files

- Match backend streaming data format (message, status, final_result, error)
- Add console logging for debugging SSE data reception
- Fix blank screen issue in React UI by properly handling streaming responses

frontend/src/components/ProductComparison.js CHANGED
@@ -225,16 +225,24 @@ const ProductComparison = () => {
225
  eventSource.onmessage = (event) => {
226
  try {
227
  const data = JSON.parse(event.data);
 
 
228
  if (data.message) {
229
  addLog(data.message, data.agent || 'info');
230
- }
231
- // 최종 결과가 오면 분석 결과 업데이트
232
- if (data.final_result) {
 
233
  setAnalysisResults(data.final_result);
234
  setIsProcessing(false);
235
  eventSource.close();
 
 
 
 
236
  }
237
  } catch (err) {
 
238
  addLog(`Event processing error: ${err.message}`, 'error');
239
  }
240
  };
 
225
  eventSource.onmessage = (event) => {
226
  try {
227
  const data = JSON.parse(event.data);
228
+ console.log('React SSE received:', data);
229
+
230
  if (data.message) {
231
  addLog(data.message, data.agent || 'info');
232
+ } else if (data.status) {
233
+ addLog(`Status: ${data.status}`, 'system');
234
+ } else if (data.final_result) {
235
+ console.log('Final result received:', data.final_result);
236
  setAnalysisResults(data.final_result);
237
  setIsProcessing(false);
238
  eventSource.close();
239
+ } else if (data.error) {
240
+ addLog(`Error: ${data.error}`, 'error');
241
+ setIsProcessing(false);
242
+ eventSource.close();
243
  }
244
  } catch (err) {
245
+ console.error('SSE parsing error:', err);
246
  addLog(`Event processing error: ${err.message}`, 'error');
247
  }
248
  };