@@ -85,7 +85,7 @@ const splitRunsByNewline = (runs: Ytc.ParsedRun[], maxSplit: number = -1): Ytc.P
8585 return acc ;
8686 } , [ [ ] ] ) ;
8787
88- const parseChatSummary = ( renderer : Ytc . AddChatItem , isEphemeral : boolean , bannerTimeoutMs : number ) : Ytc . ParsedSummary | undefined => {
88+ const parseChatSummary = ( renderer : Ytc . AddChatItem , showtime : number ) : Ytc . ParsedSummary | undefined => {
8989 if ( ! renderer . liveChatBannerChatSummaryRenderer ) {
9090 return ;
9191 }
@@ -112,7 +112,7 @@ const parseChatSummary = (renderer: Ytc.AddChatItem, isEphemeral: boolean, banne
112112 message : splitRuns [ 2 ] ,
113113 } ,
114114 id : baseRenderer . liveChatSummaryId ,
115- showtime : isEphemeral ? ( bannerTimeoutMs / 1000 ) : 0 ,
115+ showtime : showtime ,
116116 } ;
117117 return item ;
118118}
@@ -241,8 +241,14 @@ const parseMessageDeletedAction = (action: Ytc.MessageDeletedAction): Ytc.Parsed
241241
242242const parseBannerAction = ( action : Ytc . AddPinnedAction ) : Ytc . ParsedPinned | Ytc . ParsedSummary | undefined => {
243243 const baseRenderer = action . bannerRenderer . liveChatBannerRenderer ;
244+
245+ // fold both auto-disappear and auto-collapse into just collapse for showtime
246+ const showtime = action . bannerProperties ?. isEphemeral
247+ ? ( action . bannerProperties ?. bannerTimeoutMs || 0 )
248+ : 1000 * ( action . bannerProperties ?. autoCollapseDelay ?. seconds || baseRenderer . bannerProperties ?. autoCollapseDelay ?. seconds || 0 ) ;
249+
244250 if ( baseRenderer . contents . liveChatBannerChatSummaryRenderer ) {
245- return parseChatSummary ( baseRenderer . contents , action . bannerProperties ?. isEphemeral ?? false , action . bannerProperties ?. bannerTimeoutMs ?? 0 ) ;
251+ return parseChatSummary ( baseRenderer . contents , showtime ) ;
246252 }
247253 const parsedContents = parseAddChatItemAction (
248254 { item : baseRenderer . contents } , true
@@ -257,7 +263,8 @@ const parseBannerAction = (action: Ytc.AddPinnedAction): Ytc.ParsedPinned | Ytc.
257263 baseRenderer . header . liveChatBannerHeaderRenderer . text . runs
258264 ) ,
259265 contents : parsedContents
260- }
266+ } ,
267+ showtime : showtime ,
261268 } ;
262269} ;
263270
0 commit comments