File tree Expand file tree Collapse file tree 2 files changed +28
-2
lines changed Expand file tree Collapse file tree 2 files changed +28
-2
lines changed Original file line number Diff line number Diff line change @@ -469,7 +469,9 @@ export class ChannelInner extends PureComponent {
469469 addToEventHistory = ( e ) => {
470470 this . setState ( ( prevState ) => {
471471 const lastMessageId =
472- prevState . messages [ prevState . messages . length - 1 ] . id ;
472+ prevState . messages . length > 0
473+ ? prevState . messages [ prevState . messages . length - 1 ] . id
474+ : 'none' ;
473475
474476 if ( ! prevState . eventHistory [ lastMessageId ] )
475477 return {
@@ -495,11 +497,20 @@ export class ChannelInner extends PureComponent {
495497 if ( this . state . loadingMore || ! this . state . hasMore ) return ;
496498 if ( this . _unmounted ) return ;
497499 this . setState ( { loadingMore : true } ) ;
500+
501+ if ( ! this . state . messages . length === 0 ) {
502+ this . setState ( {
503+ loadingMore : false ,
504+ } ) ;
505+
506+ return ;
507+ }
508+
498509 const oldestMessage = this . state . messages [ 0 ]
499510 ? this . state . messages [ 0 ]
500511 : null ;
501512
502- if ( oldestMessage . status !== 'received' ) {
513+ if ( oldestMessage && oldestMessage . status !== 'received' ) {
503514 this . setState ( {
504515 loadingMore : false ,
505516 } ) ;
Original file line number Diff line number Diff line change @@ -263,6 +263,16 @@ const MessageList = withChannelContext(
263263
264264 insertDates = ( messages ) => {
265265 const newMessages = [ ] ;
266+ if ( messages . length === 0 ) {
267+ this . props . eventHistory . none . forEach ( ( e ) => {
268+ newMessages . push ( {
269+ type : 'channel.event' ,
270+ event : e ,
271+ } ) ;
272+ } ) ;
273+
274+ return newMessages ;
275+ }
266276
267277 for ( const [ i , message ] of messages . entries ( ) ) {
268278 if ( message . type === 'message.read' || message . deleted_at ) {
@@ -512,11 +522,16 @@ const MessageList = withChannelContext(
512522 } ;
513523
514524 render ( ) {
525+ const hasEventHistory =
526+ this . props . eventHistory &&
527+ Object . keys ( this . props . eventHistory ) . length > 0 ;
528+
515529 // We can't provide ListEmptyComponent to FlatList when inverted flag is set.
516530 // https://github.com/facebook/react-native/issues/21196
517531 if (
518532 this . props . messages &&
519533 this . props . messages . length === 0 &&
534+ ! hasEventHistory &&
520535 ! this . props . threadList
521536 ) {
522537 return < View style = { { flex : 1 } } > { this . renderEmptyState ( ) } </ View > ;
You can’t perform that action at this time.
0 commit comments