@@ -127,15 +127,27 @@ const Message = ({
127127 expanded : initialExpanded ,
128128} : IProps ) => {
129129 const theme = useTheme ( ) ;
130- const [ previewRef , setPreviewRef ] = React . useState < HTMLDivElement | null > ( null ) ;
130+ const contentRef = React . useRef < HTMLDivElement | null > ( null ) ;
131131 const { classes} = useStyles ( ) ;
132132 const [ expanded , setExpanded ] = React . useState ( initialExpanded ) ;
133133 const [ isOverflowing , setOverflowing ] = React . useState ( false ) ;
134134 const smallHeader = useMediaQuery ( theme . breakpoints . down ( 'md' ) ) ;
135135
136- React . useEffect ( ( ) => {
137- setOverflowing ( ! ! previewRef && previewRef . scrollHeight > previewRef . clientHeight ) ;
138- } , [ previewRef ] ) ;
136+ const refreshOverflowing = React . useCallback ( ( ) => {
137+ const ref = contentRef . current ;
138+ if ( ! ref ) {
139+ return ;
140+ }
141+ setOverflowing ( ( overflowing ) => overflowing || ref . scrollHeight > ref . clientHeight ) ;
142+ } , [ contentRef , setOverflowing ] ) ;
143+
144+ const onContentRef = React . useCallback (
145+ ( ref : HTMLDivElement | null ) => {
146+ contentRef . current = ref ;
147+ refreshOverflowing ( ) ;
148+ } ,
149+ [ contentRef , refreshOverflowing ]
150+ ) ;
139151
140152 React . useEffect ( ( ) => void onExpand ( expanded ) , [ expanded ] ) ;
141153
@@ -144,7 +156,7 @@ const Message = ({
144156 const renderContent = ( ) => {
145157 switch ( contentType ( extras ) ) {
146158 case RenderMode . Markdown :
147- return < Markdown > { content } </ Markdown > ;
159+ return < Markdown onImageLoaded = { refreshOverflowing } > { content } </ Markdown > ;
148160 case RenderMode . Plain :
149161 default :
150162 return < span className = { classes . plainContent } > { content } </ span > ;
@@ -181,7 +193,7 @@ const Message = ({
181193 < div className = { classes . messageContentWrapper } >
182194 < Typography
183195 component = "div"
184- ref = { setPreviewRef }
196+ ref = { onContentRef }
185197 className = { `${ classes . content } content ${
186198 isOverflowing && expanded ? 'expanded' : ''
187199 } `} >
0 commit comments