Fix hashtag column not subscribing to stream on mount (#10040)
Fix #9895
This commit is contained in:
		
							parent
							
								
									2bf47542f3
								
							
						
					
					
						commit
						e34c5db19e
					
				
					 1 changed files with 12 additions and 5 deletions
				
			
		|  | @ -40,15 +40,19 @@ export default class HashtagTimeline extends React.PureComponent { | |||
| 
 | ||||
|   title = () => { | ||||
|     let title = [this.props.params.id]; | ||||
| 
 | ||||
|     if (this.additionalFor('any')) { | ||||
|       title.push(' ', <FormattedMessage id='hashtag.column_header.tag_mode.any'  values={{ additional: this.additionalFor('any') }} defaultMessage='or {additional}' />); | ||||
|       title.push(' ', <FormattedMessage key='any' id='hashtag.column_header.tag_mode.any'  values={{ additional: this.additionalFor('any') }} defaultMessage='or {additional}' />); | ||||
|     } | ||||
| 
 | ||||
|     if (this.additionalFor('all')) { | ||||
|       title.push(' ', <FormattedMessage id='hashtag.column_header.tag_mode.all'  values={{ additional: this.additionalFor('all') }} defaultMessage='and {additional}' />); | ||||
|       title.push(' ', <FormattedMessage key='all' id='hashtag.column_header.tag_mode.all'  values={{ additional: this.additionalFor('all') }} defaultMessage='and {additional}' />); | ||||
|     } | ||||
| 
 | ||||
|     if (this.additionalFor('none')) { | ||||
|       title.push(' ', <FormattedMessage id='hashtag.column_header.tag_mode.none' values={{ additional: this.additionalFor('none') }} defaultMessage='without {additional}' />); | ||||
|       title.push(' ', <FormattedMessage key='none' id='hashtag.column_header.tag_mode.none' values={{ additional: this.additionalFor('none') }} defaultMessage='without {additional}' />); | ||||
|     } | ||||
| 
 | ||||
|     return title; | ||||
|   } | ||||
| 
 | ||||
|  | @ -76,9 +80,10 @@ export default class HashtagTimeline extends React.PureComponent { | |||
|     let all  = (tags.all || []).map(tag => tag.value); | ||||
|     let none = (tags.none || []).map(tag => tag.value); | ||||
| 
 | ||||
|     [id, ...any].map((tag) => { | ||||
|       this.disconnects.push(dispatch(connectHashtagStream(id, tag, (status) => { | ||||
|     [id, ...any].map(tag => { | ||||
|       this.disconnects.push(dispatch(connectHashtagStream(id, tag, status => { | ||||
|         let tags = status.tags.map(tag => tag.name); | ||||
| 
 | ||||
|         return all.filter(tag => tags.includes(tag)).length === all.length && | ||||
|                none.filter(tag => tags.includes(tag)).length === 0; | ||||
|       }))); | ||||
|  | @ -94,12 +99,14 @@ export default class HashtagTimeline extends React.PureComponent { | |||
|     const { dispatch } = this.props; | ||||
|     const { id, tags } = this.props.params; | ||||
| 
 | ||||
|     this._subscribe(dispatch, id, tags); | ||||
|     dispatch(expandHashtagTimeline(id, { tags })); | ||||
|   } | ||||
| 
 | ||||
|   componentWillReceiveProps (nextProps) { | ||||
|     const { dispatch, params } = this.props; | ||||
|     const { id, tags } = nextProps.params; | ||||
| 
 | ||||
|     if (id !== params.id || !isEqual(tags, params.tags)) { | ||||
|       this._unsubscribe(); | ||||
|       this._subscribe(dispatch, id, tags); | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue