@@ -75,7 +75,7 @@ const splitRunsByNewline = (runs: Ytc.ParsedRun[], maxSplit: number = -1): Ytc.P
7575 return acc ;
7676 } , [ [ ] ] ) ;
7777
78- const parseChatSummary = ( renderer : Ytc . AddChatItem , isEphemeral : boolean , bannerTimeoutMs : number ) : Ytc . ParsedSummary | undefined => {
78+ const parseChatSummary = ( renderer : Ytc . AddChatItem , showtime : number ) : Ytc . ParsedSummary | undefined => {
7979 if ( ! renderer . liveChatBannerChatSummaryRenderer ) {
8080 return ;
8181 }
@@ -102,7 +102,7 @@ const parseChatSummary = (renderer: Ytc.AddChatItem, isEphemeral: boolean, banne
102102 message : splitRuns [ 2 ] ,
103103 } ,
104104 id : baseRenderer . liveChatSummaryId ,
105- showtime : isEphemeral ? bannerTimeoutMs : 0 ,
105+ showtime : showtime ,
106106 } ;
107107 return item ;
108108}
@@ -231,8 +231,14 @@ const parseMessageDeletedAction = (action: Ytc.MessageDeletedAction): Ytc.Parsed
231231
232232const parseBannerAction = ( action : Ytc . AddPinnedAction ) : Ytc . ParsedPinned | Ytc . ParsedSummary | undefined => {
233233 const baseRenderer = action . bannerRenderer . liveChatBannerRenderer ;
234+
235+ // fold both auto-disappear and auto-collapse into just collapse for showtime
236+ const showtime = action . bannerProperties ?. isEphemeral
237+ ? ( action . bannerProperties ?. bannerTimeoutMs || 0 )
238+ : 1000 * ( action . bannerProperties ?. autoCollapseDelay ?. seconds || baseRenderer . bannerProperties ?. autoCollapseDelay ?. seconds || 0 ) ;
239+
234240 if ( baseRenderer . contents . liveChatBannerChatSummaryRenderer ) {
235- return parseChatSummary ( baseRenderer . contents , action . bannerProperties ?. isEphemeral ?? false , action . bannerProperties ?. bannerTimeoutMs ?? 0 ) ;
241+ return parseChatSummary ( baseRenderer . contents , showtime ) ;
236242 }
237243 const parsedContents = parseAddChatItemAction (
238244 { item : baseRenderer . contents } , true
@@ -247,7 +253,8 @@ const parseBannerAction = (action: Ytc.AddPinnedAction): Ytc.ParsedPinned | Ytc.
247253 baseRenderer . header . liveChatBannerHeaderRenderer . text . runs
248254 ) ,
249255 contents : parsedContents
250- }
256+ } ,
257+ showtime : showtime ,
251258 } ;
252259} ;
253260
0 commit comments