Closed cyfung1031 closed 8 months ago
Fixed in v0.9.0
FIX_avoid_incorrect_video_meta_emitterBehavior
to cancel the previous schedulingpageSetupState
to check the immediate state of page loading when the function is called by the scheduler during that state (use setTimeout
to delay the call)videoPlayingY
to obtain the playing video at the time of meta updating (can work in miniview playing)LimitedSizeSet
is added so that oldest entries will be removed to avoid overflowing of continuation recordssha1Hex
and continuationLog
for the message log, if the user is using macOS and latest browser (very fast computer) [as continuation key are so similar; difficult for debug]scheduleInitialUpdatedMetadataRequest
fetchUpdatedMetadata
, sendServiceAjax_
, getCancellableNetworkPromise_
There are several mechanisms to co-working together in these 4 functions.
pageSetupState
) with delay callingfetchUpdatedMetadata
will be delayed by 8000ms or 800ms to wait for new continuation being sent to fetchUpdatedMetadata
in the next callmfvContinuationRecorded
and mfyContinuationIgnored
for past multiple observed records
Setting related:
FIX_avoid_incorrect_video_meta
Related Functions:
yt-app
.sendServiceAjax_
yt-app
.getCancellableNetworkPromise_
ytd-video-primary-info-renderer
.fetchUpdatedMetadata
https://github.com/cyfung1031/userscript-supports/assets/44498510/ef2db537-a899-432c-9a61-40ce3892fee9
Need to find a better way to cancel the timer once yt-navigate-start / yt-navigate-cache is triggered.
Currently I just use the url to detect which is not sufficient. (url != watch => bypass)