File tree Expand file tree Collapse file tree 3 files changed +56
-59
lines changed
Expand file tree Collapse file tree 3 files changed +56
-59
lines changed Original file line number Diff line number Diff line change @@ -114,58 +114,60 @@ export const CommentMenu: FC<Props> = ({
114114 < FiMoreHorizontal />
115115 </ MenuButton >
116116
117- < Portal >
118- < MenuList zIndex = { 99999 } >
119- < MenuGroup
120- title = { intl . formatMessage (
121- {
122- id : commentTypeIntlId
123- } ,
124- {
125- relative : relativeTime
126- }
127- ) }
128- >
129- { isAbleToDelete && (
130- < MenuItem
131- onClick = { ( ) => void handleDelete ( ) }
132- isDisabled = { isLoading }
133- >
134- < FormattedMessage id = "live.comment.delete" />
135- </ MenuItem >
136- ) }
137- </ MenuGroup >
138-
139- < MenuGroup title = { user ?. account } >
140- { isStreamer && (
141- < Fragment >
117+ { isOpen && (
118+ < Portal >
119+ < MenuList zIndex = { 99999 } >
120+ < MenuGroup
121+ title = { intl . formatMessage (
122+ {
123+ id : commentTypeIntlId
124+ } ,
125+ {
126+ relative : relativeTime
127+ }
128+ ) }
129+ >
130+ { isAbleToDelete && (
142131 < MenuItem
143- onClick = { ( ) => setConfirmAutoMod ( 'Account' ) }
132+ onClick = { ( ) => void handleDelete ( ) }
144133 isDisabled = { isLoading }
145- color = "red.400"
146134 >
147- { user ?. account } を非表示
135+ < FormattedMessage id = "live.comment.delete" />
148136 </ MenuItem >
137+ ) }
138+ </ MenuGroup >
149139
150- < MenuItem
151- onClick = { ( ) => setConfirmAutoMod ( 'Domain' ) }
152- isDisabled = { isLoading }
153- color = "red.400"
154- >
155- *.{ domain } を非表示
156- </ MenuItem >
157- </ Fragment >
158- ) }
140+ < MenuGroup title = { user ?. account } >
141+ { isStreamer && (
142+ < Fragment >
143+ < MenuItem
144+ onClick = { ( ) => setConfirmAutoMod ( 'Account' ) }
145+ isDisabled = { isLoading }
146+ color = "red.400"
147+ >
148+ { user ?. account } を非表示
149+ </ MenuItem >
150+
151+ < MenuItem
152+ onClick = { ( ) => setConfirmAutoMod ( 'Domain' ) }
153+ isDisabled = { isLoading }
154+ color = "red.400"
155+ >
156+ *.{ domain } を非表示
157+ </ MenuItem >
158+ </ Fragment >
159+ ) }
159160
160- < LinkBox as = { MenuItem } >
161- < LinkOverlay href = { user ?. url } isExternal >
162- < FormattedMessage id = "live.comment.account-page" />
163- < ExternalLinkIcon mb = { 1 } ml = { 2 } />
164- </ LinkOverlay >
165- </ LinkBox >
166- </ MenuGroup >
167- </ MenuList >
168- </ Portal >
161+ < LinkBox as = { MenuItem } >
162+ < LinkOverlay href = { user ?. url } isExternal >
163+ < FormattedMessage id = "live.comment.account-page" />
164+ < ExternalLinkIcon mb = { 1 } ml = { 2 } />
165+ </ LinkOverlay >
166+ </ LinkBox >
167+ </ MenuGroup >
168+ </ MenuList >
169+ </ Portal >
170+ ) }
169171 </ Menu >
170172 </ Fragment >
171173 ) ;
Original file line number Diff line number Diff line change @@ -196,12 +196,8 @@ export const LivePlayer: FC<Props> = ({
196196 return ;
197197 }
198198 if ( ! commentAddedRef . current ) {
199- const set = new Set < number > ( ) ;
199+ const set = new Set < number > ( comments . map ( comment => comment . id ) ) ;
200200 commentAddedRef . current = set ;
201-
202- comments . forEach ( comment => {
203- set . add ( comment . id ) ;
204- } ) ;
205201 return ;
206202 }
207203
@@ -210,17 +206,14 @@ export const LivePlayer: FC<Props> = ({
210206 return ;
211207 }
212208
213- for ( const comment of comments ) {
214- if ( commentAddedRef . current ?. has ( comment . id ) ) {
215- break ;
216- }
217-
209+ const comment = comments [ 0 ] ;
210+ if ( ! commentAddedRef . current ?. has ( comment . id ) ) {
218211 commentAddedRef . current . add ( comment . id ) ;
219212 const dom = gravity . add ( comment . content , false ) ;
220213
221214 setTimeout ( ( ) => {
222215 gravity . remove ( dom ) ;
223- } , 10000 ) ;
216+ } , 10 * 1000 ) ;
224217 }
225218 } , [ comments , danmaku ] ) ;
226219
Original file line number Diff line number Diff line change @@ -73,6 +73,7 @@ export const useVideoStream = <T extends 'live' | 'video'>(
7373 enableWorker : true ,
7474 autoCleanupSourceBuffer : true ,
7575 liveBufferLatencyChasing : true ,
76+ liveBufferLatencyMinRemain : 0.2 ,
7677 // @ts -expect-error: type error
7778 enableWorkerForMSE : true ,
7879 liveBufferLatencyChasingOnPaused : true ,
@@ -84,7 +85,7 @@ export const useVideoStream = <T extends 'live' | 'video'>(
8485 flvConfig = {
8586 ...flvConfig ,
8687 enableStashBuffer : false ,
87- liveBufferLatencyMaxLatency : 1 ,
88+ liveBufferLatencyMaxLatency : 3 ,
8889 // @ts -expect-error: type error
8990 liveSyncTargetLatency : 0.5
9091 } ;
@@ -138,7 +139,8 @@ export const useVideoStream = <T extends 'live' | 'video'>(
138139 enableWorker : true ,
139140 liveDurationInfinity : true ,
140141 startFragPrefetch : true ,
141- progressive : true
142+ progressive : true ,
143+ autoStartLoad : true
142144 } ;
143145
144146 if ( LowLatency . includes ( playType as LivePlayType ) ) {
You can’t perform that action at this time.
0 commit comments