Girish Jeswani commited on
Commit
b6bf0ee
·
1 Parent(s): 55471ff

fix expand method

Browse files
phd-advisor-frontend/src/pages/ChatPage.js CHANGED
@@ -343,9 +343,14 @@ const handleExpandMessage = async (messageId, advisorId) => {
343
  }
344
 
345
  const data = await response.json();
 
 
 
 
346
 
347
  if (data.type === 'single_persona_response' && data.persona) {
348
- const expandedMessage = {
 
349
  id: generateMessageId(),
350
  type: 'advisor',
351
  advisorId: advisorId,
@@ -354,14 +359,42 @@ const handleExpandMessage = async (messageId, advisorId) => {
354
  isExpansion: true,
355
  expandsMessageId: messageId,
356
  timestamp: new Date(),
357
- // NEW: Map RAG metadata for expanded responses
358
  ragMetadata: {
359
  usedDocuments: data.persona.used_documents || false,
360
  chunksUsed: data.persona.document_chunks_used || 0,
361
  documentChunks: data.persona.retrieved_chunks || []
362
  }
363
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
364
  setMessages(prev => [...prev, expandedMessage]);
 
 
 
 
 
 
 
 
 
365
  }
366
 
367
  } catch (error) {
@@ -375,9 +408,9 @@ const handleExpandMessage = async (messageId, advisorId) => {
375
  setMessages(prev => [...prev, errorMessage]);
376
  }
377
 
378
- setIsLoading(false);
379
- setThinkingAdvisors([]);
380
- };
381
 
382
  const handleReplyToMessage = (message) => {
383
  const advisor = advisors[message.advisorId];
 
343
  }
344
 
345
  const data = await response.json();
346
+ console.log('Expand response data:', data); // Debug log
347
+
348
+ // FIX: Handle both new and old response structures
349
+ let expandedMessage = null;
350
 
351
  if (data.type === 'single_persona_response' && data.persona) {
352
+ // New backend structure
353
+ expandedMessage = {
354
  id: generateMessageId(),
355
  type: 'advisor',
356
  advisorId: advisorId,
 
359
  isExpansion: true,
360
  expandsMessageId: messageId,
361
  timestamp: new Date(),
 
362
  ragMetadata: {
363
  usedDocuments: data.persona.used_documents || false,
364
  chunksUsed: data.persona.document_chunks_used || 0,
365
  documentChunks: data.persona.retrieved_chunks || []
366
  }
367
  };
368
+ } else if (data.persona && data.response) {
369
+ // Current backend structure (without type field)
370
+ expandedMessage = {
371
+ id: generateMessageId(),
372
+ type: 'advisor',
373
+ advisorId: advisorId,
374
+ advisorName: advisor.name,
375
+ content: data.response,
376
+ isExpansion: true,
377
+ expandsMessageId: messageId,
378
+ timestamp: new Date(),
379
+ ragMetadata: {
380
+ usedDocuments: false,
381
+ chunksUsed: 0,
382
+ documentChunks: []
383
+ }
384
+ };
385
+ }
386
+
387
+ if (expandedMessage) {
388
  setMessages(prev => [...prev, expandedMessage]);
389
+ } else {
390
+ // Fallback error message
391
+ const errorMessage = {
392
+ id: generateMessageId(),
393
+ type: 'error',
394
+ content: 'Sorry, I received an unexpected response format. Please try again.',
395
+ timestamp: new Date()
396
+ };
397
+ setMessages(prev => [...prev, errorMessage]);
398
  }
399
 
400
  } catch (error) {
 
408
  setMessages(prev => [...prev, errorMessage]);
409
  }
410
 
411
+ setIsLoading(false);
412
+ setThinkingAdvisors([]);
413
+ };
414
 
415
  const handleReplyToMessage = (message) => {
416
  const advisor = advisors[message.advisorId];