@@ -8,6 +8,10 @@ import useCourse, { useCourseDiscussers, useCourseDiscussion } from '../../../ho
88import { BlueButton } from '../../ChatV2/general/Buttons'
99import type { Discussion } from '../../../../shared/types'
1010
11+ const getChatMessages = ( discussion : Discussion ) => {
12+ return discussion . metadata ?. chatMessages ?? ( discussion . metadata as any ) ?. messages ?? [ ]
13+ }
14+
1115const DiscussionView : React . FC = ( ) => {
1216 return (
1317 < Routes >
@@ -99,11 +103,13 @@ const DiscussionDetail: React.FC = () => {
99103 sessions . push ( curr )
100104 continue
101105 }
102- const currLen = curr . metadata . chatMessages . length
103- const nextLen = next . metadata . chatMessages . length
106+ const currMessages = getChatMessages ( curr )
107+ const nextMessages = getChatMessages ( next )
108+ const currLen = currMessages . length
109+ const nextLen = nextMessages . length
104110 const nextExtendsThis =
105111 nextLen > currLen &&
106- curr . metadata . chatMessages . every ( ( msg , j ) => next . metadata . chatMessages [ j ] ?. role === msg . role && next . metadata . chatMessages [ j ] ?. content === msg . content )
112+ currMessages . every ( ( msg , j ) => nextMessages [ j ] ?. role === msg . role && nextMessages [ j ] ?. content === msg . content )
107113 if ( ! nextExtendsThis ) sessions . push ( curr )
108114 }
109115
@@ -115,7 +121,7 @@ const DiscussionDetail: React.FC = () => {
115121
116122 < Stack spacing = { 4 } mt = { 2 } sx = { { maxWidth : '900px' , mx : 'auto' } } >
117123 { sessions . map ( ( discussion ) => {
118- const messages = [ ...discussion . metadata . chatMessages , { role : 'assistant' , content : discussion . response } ]
124+ const messages = [ ...getChatMessages ( discussion ) , { role : 'assistant' , content : discussion . response } ]
119125 return (
120126 < Paper key = { discussion . id } elevation = { 3 } sx = { { p : 3 , borderRadius : 2 } } >
121127 < Typography variant = "caption" color = "text.secondary" >
0 commit comments