File tree Expand file tree Collapse file tree 1 file changed +11
-1
lines changed
packages/jupyter-chat/src/components/messages Expand file tree Collapse file tree 1 file changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -115,7 +115,12 @@ export function ChatMessages(props: BaseMessageProps): JSX.Element {
115
115
const observer = new IntersectionObserver ( entries => {
116
116
// Used on first rendering, to ensure all the message as been rendered once.
117
117
if ( ! allRendered ) {
118
- Promise . all ( renderedPromise . current . map ( p => p . promise ) ) . then ( ( ) => {
118
+ const activePromises = renderedPromise . current
119
+ // Filter out nulls signigying deleted messages
120
+ . filter ( p => p )
121
+ . map ( p => p . promise ) ;
122
+
123
+ Promise . all ( activePromises ) . then ( ( ) => {
119
124
setAllRendered ( true ) ;
120
125
} ) ;
121
126
}
@@ -181,6 +186,11 @@ export function ChatMessages(props: BaseMessageProps): JSX.Element {
181
186
) }
182
187
< Box ref = { refMsgBox } className = { clsx ( MESSAGES_BOX_CLASS ) } >
183
188
{ messages . map ( ( message , i ) => {
189
+ // Skip rendering deleted messages while preventing sparse array
190
+ if ( message . deleted ) {
191
+ listRef . current [ i ] = null ;
192
+ return null ;
193
+ }
184
194
renderedPromise . current [ i ] = new PromiseDelegate ( ) ;
185
195
return (
186
196
// extra div needed to ensure each bubble is on a new line
You can’t perform that action at this time.
0 commit comments