feat: Cache status height to avoid expensive renders (#4439)
* feat: Cache status height to avoid expensive renders * feat: Escape content and emojify in reducers * fix(css): Remove backface-visibility: hidden from .scrollable * fix(statuses): Avoid creating DOMParses inside a loop
This commit is contained in:
		
					parent
					
						
							
								5942347407
							
						
					
				
			
			
				commit
				
					
						8eb6d171e6
					
				
			
		
					 15 changed files with 83 additions and 57 deletions
				
			
		|  | @ -44,7 +44,9 @@ import { | |||
|   FAVOURITED_STATUSES_EXPAND_SUCCESS, | ||||
| } from '../actions/favourites'; | ||||
| import { STORE_HYDRATE } from '../actions/store'; | ||||
| import emojify from '../emoji'; | ||||
| import { Map as ImmutableMap, fromJS } from 'immutable'; | ||||
| import escapeTextContentForBrowser from 'escape-html'; | ||||
| 
 | ||||
| const normalizeAccount = (state, account) => { | ||||
|   account = { ...account }; | ||||
|  | @ -53,6 +55,10 @@ const normalizeAccount = (state, account) => { | |||
|   delete account.following_count; | ||||
|   delete account.statuses_count; | ||||
| 
 | ||||
|   const displayName = account.display_name.length === 0 ? account.username : account.display_name; | ||||
|   account.display_name_html = emojify(escapeTextContentForBrowser(displayName)); | ||||
|   account.note_emojified = emojify(account.note); | ||||
| 
 | ||||
|   return state.set(account.id, fromJS(account)); | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue