Kuroba-Experimental icon indicating copy to clipboard operation
Kuroba-Experimental copied to clipboard

opening webm randomly opens only preview

Open modrei opened this issue 1 year ago • 3 comments

when i click a webm (regardless of it being in catalog/thread) it has a good chance of opening the preview pic and i have to scroll back and forth to actually play it, progress bar loads and sound plays too, however the video is not playing

modrei avatar Jan 13 '23 20:01 modrei

I've been encountering a similar bug with the app's built-in video player where even after a webm has fully finished buffering it fails to play it back. Except in my case the playback is fully halted, no audio and momentarily swiping to view a different webm (which may load without problems) and swiping back to the affected webm also doesn't help resume playback. The play button obviously also does nothing. It remains stuck in that limbo state unless you hit back and then view the webm again, in which case the video player is reinitialized and loads it just fine from cache. This isn't a new bug. I've had this happen for the longest time. Possibly since the beginning. I'm attaching logs in case they're helpful in any way.

D/(20:04:03.608) KurobaEx-beta | ThreadLayout: handleLoadProgressEvent() RefreshingPosts(chanDescriptor=TD{4chan/wsg/4901097}) D/(20:04:03.609) KurobaEx-beta | ThreadCellData: runPreloading() start D/(20:04:03.609) KurobaEx-beta | ThreadCellData: runPreloading() startingPosition=13, dataListSize=303 D/(20:04:03.609) KurobaEx-beta | PostAdapter: setThread() notifyDataSetChanged called, postIndexedList.size=303 D/(20:04:03.610) KurobaEx-beta | ThreadLayout: showPostsForChanDescriptor() showPosts(TD{4chan/wsg/4901097}) -> true applyFilterDuration=3.203489ms, setThreadPostsDuration=1.554010ms, totalDuration=4.986251ms D/(20:04:03.610) KurobaEx-beta | ThreadPresenter: onChanLoaderData(TD{4chan/wsg/4901097}) end, took 5.640313ms D/(20:04:03.610) KurobaEx-beta | ThreadPresenter: normalLoad() end D/(20:04:03.610) KurobaEx-beta | ThreadLayout: handleLoadProgressEvent() End(chanDescriptor=TD{4chan/wsg/4901097}) D/(20:04:03.610) KurobaEx-beta | HistoryNavigationManager: persistNavigationStack async called D/(20:04:03.610) KurobaEx-beta | HistoryNavigationManager: persistNavigationStackInternal navStackCopy.size=259 D/(20:04:03.611) KurobaEx-beta | NavHistoryLocalSource: persist(navHistoryStack.size=259) D/(20:04:03.625) KurobaEx-beta | HistoryNavigationRepository: persist(259) took 14.034168ms D/(20:04:03.627) KurobaEx-beta | HistoryNavigationManager: persistNavigationStack async finished D/(20:04:03.646) KurobaEx-beta | ThreadCellData: runPreloading() end, took 36.320733ms D/(20:04:33.606) KurobaEx-beta | ChanTicker: startOrRestartTickerInternal run action begin D/(20:04:33.607) KurobaEx-beta | ThreadPresenter: onChanTickerTick(TD{4chan/wsg/4901097}) D/(20:04:33.607) KurobaEx-beta | ThreadPresenter: normalLoad() start D/(20:04:33.607) KurobaEx-beta | ThreadPresenter: normalLoad(currentChanDescriptor=TD{4chan/wsg/4901097} D/(20:04:33.607) KurobaEx-beta | ThreadPresenter: showLoading=false D/(20:04:33.607) KurobaEx-beta | ThreadPresenter: chanCacheUpdateOptions=UpdateCache D/(20:04:33.607) KurobaEx-beta | ThreadPresenter: chanLoadOptions=ChanLoadOptions(chanLoadOption=RetainAll) D/(20:04:33.607) KurobaEx-beta | ThreadPresenter: chanCacheOptions=ChanCacheOptions(options=[StoreInMemory, CanAddInFrontOfTheMemoryCache]) D/(20:04:33.607) KurobaEx-beta | ThreadPresenter: chanReadOptions=ChanReadOptions(readOriginalPost=true, readFirstPostsCount=2147483647, readLastPostsCount=2147483647)) D/(20:04:33.607) KurobaEx-beta | ChanTicker: startOrRestartTickerInternal run action end D/(20:04:33.607) KurobaEx-beta | ChanTicker: startOrRestartTickerInternal done, nextTimeoutIndex=3, nextWaitTimeSeconds=45 D/(20:04:33.609) KurobaEx-beta | ChanThreadManager: loadThreadOrCatalog(null, null, TD{4chan/wsg/4901097}, UpdateCache, ChanLoadOptions(chanLoadOption=RetainAll), ChanCacheOptions(options=[StoreInMemory, CanAddInFrontOfTheMemoryCache]), ChanReadOptions(readOriginalPost=true, readFirstPostsCount=2147483647, readLastPostsCount=2147483647)) D/(20:04:33.609) KurobaEx-beta | ChanThreadManager: loadInternal() Requested thread /TD{4chan/wsg/4901097}/ D/(20:04:33.610) KurobaEx-beta | ThreadDataPreloadUseCase: preloadThreadInfo(TD{4chan/wsg/4901097}) begin D/(20:04:33.610) KurobaEx-beta | SavedReplyManager: preloadForThread(TD{4chan/wsg/4901097}) begin D/(20:04:33.610) KurobaEx-beta | ThreadLayout: handleLoadProgressEvent() Begin(chanDescriptor=TD{4chan/wsg/4901097}) D/(20:04:33.613) KurobaEx-beta | SavedReplyManager: preloadForThread(TD{4chan/wsg/4901097}) end, took 2.657031ms D/(20:04:33.613) KurobaEx-beta | ThreadDataPreloadUseCase: preloadThreadInfo(TD{4chan/wsg/4901097}) end, took 3.476771ms D/(20:04:33.613) KurobaEx-beta | ChanThreadManager: loadInternal(), chanDescriptor=TD{4chan/wsg/4901097} preloadThreadInfo took 3.712865ms D/(20:04:33.613) KurobaEx-beta | ChanThreadManager: loadInternal() chanThreadsCache.cacheNeedsUpdate(TD{4chan/wsg/4901097}, UpdateCache) -> true D/(20:04:33.615) KurobaEx-beta | ChanThreadLoaderCoordinator: loadThreadOrCatalog(chanLoadUrl=ChanLoadUrl(url=https://a.4cdn.org/wsg/thread/4901097.json, isIncremental=false, page=null), compositeCatalogDescriptor=null, chanDescriptor=TD{4chan/wsg/4901097}, chanCacheOptions=ChanCacheOptions(options=[StoreInMemory, CanAddInFrontOfTheMemoryCache]), chanCacheUpdateOptions=UpdateCache, chanReadOptions=ChanReadOptions(readOriginalPost=true, readFirstPostsCount=2147483647, readLastPostsCount=2147483647), chanReader=FutabaChanReader, postProcessFlags=null) D/(20:04:33.617) KurobaEx-beta | ThreadLayout: handleLoadProgressEvent() Loading(chanDescriptor=TD{4chan/wsg/4901097}) D/(20:04:34.414) KurobaEx-beta | ThreadLayout: handleLoadProgressEvent() Reading(chanDescriptor=TD{4chan/wsg/4901097}) D/(20:04:34.438) KurobaEx-beta | ChanThreadLoaderCoordinator: loadThreadOrCatalog(chanLoadUrl='ChanLoadUrl(url=https://a.4cdn.org/wsg/thread/4901097.json, isIncremental=false, page=null)') chanReaderProcessor=ChanReaderProcessor{chanDescriptor=TD{4chan/wsg/4901097}, toParse=1, closed=false, deleted=false, archived=false, error=null} D/(20:04:34.439) KurobaEx-beta | NormalPostLoader: persistPosts(TD{4chan/wsg/4901097}, ChanReaderProcessor{chanDescriptor=TD{4chan/wsg/4901097}, toParse=1, closed=false, deleted=false, archived=false, error=null}, ChanCacheOptions(options=[StoreInMemory, CanAddInFrontOfTheMemoryCache]), UpdateCache, DefaultPostParser) D/(20:04:34.439) KurobaEx-beta | ThreadLayout: handleLoadProgressEvent() ParsingPosts(chanDescriptor=TD{4chan/wsg/4901097}, postsToParseCount=1) D/(20:04:34.439) KurobaEx-beta | ParsePostsUseCase: parseNewPostsPosts(chanDescriptor=TD{4chan/wsg/4901097}) -> parsedPosts=1 D/(20:04:34.439) KurobaEx-beta | ParsePostsUseCase: parseNewPostsPosts(chanDescriptor=TD{4chan/wsg/4901097}, postsToParseSize=1), internalIds=303, filters=0 D/(20:04:34.440) KurobaEx-beta | ThreadLayout: handleLoadProgressEvent() ProcessingFilters(chanDescriptor=TD{4chan/wsg/4901097}, filtersCount=0) D/(20:04:34.440) KurobaEx-beta | ChanPostRepository: insertOrUpdateThreadPosts() 1 posts differ from the cache (total posts=1) D/(20:04:34.440) KurobaEx-beta | ThreadLayout: handleLoadProgressEvent() PersistingPosts(chanDescriptor=TD{4chan/wsg/4901097}, postsCount=1) D/(20:04:34.441) KurobaEx-beta | ChanThread: Thread cache (TD{4chan/wsg/4901097}) Added 0 new posts, updated 1 posts, marked as deleted 0 posts. sortAndRecalculationDuration=186.406us D/(20:04:34.441) KurobaEx-beta | ChanPostRepository: insertOrUpdateMany(TD{4chan/wsg/4901097}) -> 1 D/(20:04:34.445) KurobaEx-beta | ChanThreadLoaderCoordinator: ChanReaderRequest.readJson() stats: D/(20:04:34.445) KurobaEx-beta | ChanThreadLoaderCoordinator: url = https://a.4cdn.org/wsg/thread/4901097.json. D/(20:04:34.445) KurobaEx-beta | ChanThreadLoaderCoordinator: Network request execution took 798.384454ms. D/(20:04:34.445) KurobaEx-beta | ChanThreadLoaderCoordinator: Json reading took 24.785106ms. D/(20:04:34.445) KurobaEx-beta | ChanThreadLoaderCoordinator: Store new posts took 1.112396ms (stored 1 posts). D/(20:04:34.445) KurobaEx-beta | ChanThreadLoaderCoordinator: Parse posts took 222.656us (parsed 1 out of 303 posts). D/(20:04:34.445) KurobaEx-beta | ChanThreadLoaderCoordinator: Filter processing took 4.167us (filers count: 0). D/(20:04:34.445) KurobaEx-beta | ChanThreadLoaderCoordinator: Total in-memory cached posts count: 616/13107. D/(20:04:34.445) KurobaEx-beta | ChanThreadLoaderCoordinator: Current thread cached posts count: 303 D/(20:04:34.445) KurobaEx-beta | ChanThreadLoaderCoordinator: Threads with more than one post count: (2/8), total cached threads count: 302. D/(20:04:34.445) KurobaEx-beta | ChanThreadLoaderCoordinator: Total local processing time: 26.124325ms D/(20:04:34.446) KurobaEx-beta | ThreadDataPreloadUseCase: postloadThreadInfo(TD{4chan/wsg/4901097}) begin D/(20:04:34.446) KurobaEx-beta | ThreadDataPreloadUseCase: postloadThreadInfo(TD{4chan/wsg/4901097}) end D/(20:04:34.446) KurobaEx-beta | ChanThreadManager: loadThreadOrCatalog(), descriptor=TD{4chan/wsg/4901097} postloadThreadInfo took 103.541us D/(20:04:34.446) KurobaEx-beta | ThreadPresenter: normalLoad() threadLoadResult=ThreadLoadResult.Loaded{chanDescriptor=TD{4chan/wsg/4901097}} (currentChanDescriptor=TD{4chan/wsg/4901097}) D/(20:04:34.446) KurobaEx-beta | ThreadPresenter: onChanLoaderData() called, loadedChanDescriptor=TD{4chan/wsg/4901097} D/(20:04:34.446) KurobaEx-beta | ChanTicker: kickTicker(false) D/(20:04:34.447) KurobaEx-beta | KotlinExts: awaitUntilGloballyLaidOut(com.github.k1rakishou.chan.ui.view.LoadView{6b2f15 V.E...... ........ 0,0-1080,2400 #7f0a0204 app:id/loadview}) widthOk=true, width=1080, heightOk=true, height=2400 D/(20:04:34.447) KurobaEx-beta | ChanTicker: StartOrResetTicker chanDescriptor=TD{4chan/wsg/4901097} D/(20:04:34.447) KurobaEx-beta | ThreadLayout: handleLoadProgressEvent() ApplyingFilters(chanDescriptor=TD{4chan/wsg/4901097}, postHidesCount=0, postFiltersCount=0) D/(20:04:34.447) KurobaEx-beta | PostHideHelper: processPostFilters(TD{4chan/wsg/4901097}) start D/(20:04:34.448) KurobaEx-beta | ChanTicker: startOrRestartTickerInternal scheduled, chanDescriptor=TD{4chan/wsg/4901097}, waiting 45000ms D/(20:04:34.449) KurobaEx-beta | PostHideHelper: processPostFilters(TD{4chan/wsg/4901097}) end (hiddenPostsCount=0, removedPostsCount=0, normalPostsCount=303, total=303) D/(20:04:34.450) KurobaEx-beta | ThreadLayout: handleLoadProgressEvent() RefreshingPosts(chanDescriptor=TD{4chan/wsg/4901097}) D/(20:04:34.450) KurobaEx-beta | ThreadCellData: runPreloading() start D/(20:04:34.450) KurobaEx-beta | ThreadCellData: runPreloading() startingPosition=13, dataListSize=303 D/(20:04:34.450) KurobaEx-beta | PostAdapter: setThread() notifyDataSetChanged called, postIndexedList.size=303 D/(20:04:34.450) KurobaEx-beta | ThreadLayout: showPostsForChanDescriptor() showPosts(TD{4chan/wsg/4901097}) -> true applyFilterDuration=2.726302ms, setThreadPostsDuration=806.667us, totalDuration=3.736406ms D/(20:04:34.451) KurobaEx-beta | ThreadPresenter: onChanLoaderData(TD{4chan/wsg/4901097}) end, took 4.345209ms D/(20:04:34.451) KurobaEx-beta | ThreadPresenter: normalLoad() end D/(20:04:34.451) KurobaEx-beta | ThreadLayout: handleLoadProgressEvent() End(chanDescriptor=TD{4chan/wsg/4901097}) D/(20:04:34.452) KurobaEx-beta | HistoryNavigationManager: persistNavigationStack async called D/(20:04:34.452) KurobaEx-beta | HistoryNavigationManager: persistNavigationStackInternal navStackCopy.size=259 D/(20:04:34.452) KurobaEx-beta | NavHistoryLocalSource: persist(navHistoryStack.size=259) D/(20:04:34.468) KurobaEx-beta | HistoryNavigationRepository: persist(259) took 15.464064ms D/(20:04:34.469) KurobaEx-beta | HistoryNavigationManager: persistNavigationStack async finished D/(20:04:34.486) KurobaEx-beta | ThreadCellData: runPreloading() end, took 35.750420ms D/(20:04:40.990) KurobaEx-beta | PageRequestManager: Requesting new board pages for /wsg/ D/(20:04:42.977) KurobaEx-beta | JsonReaderRequest: Request "Chan4PagesRequest" to "https://a.4cdn.org/wsg/threads.json" took 1.986193739s D/(20:04:42.980) KurobaEx-beta | PageRequestManager: Got pages for 4chan/wsg/ D/(20:04:56.351) KurobaEx-beta | MediaView: onHide(14/112, Remote(urlRaw=https://i.4cdn.org/wsg/1672954923725512.webm)) D/(20:04:56.367) KurobaEx-beta | MediaViewerAdapter: onDestroy() D/(20:04:56.367) KurobaEx-beta | MediaView: onUnbind(14/112, Remote(urlRaw=https://i.4cdn.org/wsg/1672954923725512.webm)) D/(20:04:56.367) KurobaEx-beta | MediaView: onUnbind(13/112, Remote(urlRaw=https://i.4cdn.org/wsg/1672878291970677.webm)) D/(20:04:56.367) KurobaEx-beta | MediaView: onUnbind(15/112, Remote(urlRaw=https://i.4cdn.org/wsg/1672960126586929.gif)) D/(20:04:56.368) KurobaEx-beta | MediaView: onUnbind(13/112, Remote(urlRaw=https://i.4cdn.org/wsg/1672878291970677.webm)) D/(20:04:56.368) KurobaEx-beta | MediaViewerAdapter: destroyItem(position: 13), loadedViewsCount=0, boundCount=0, showCount=0 D/(20:04:56.368) KurobaEx-beta | MediaView: onUnbind(14/112, Remote(urlRaw=https://i.4cdn.org/wsg/1672954923725512.webm)) D/(20:04:56.368) KurobaEx-beta | MediaViewerAdapter: destroyItem(position: 14), loadedViewsCount=0, boundCount=0, showCount=0 D/(20:04:56.368) KurobaEx-beta | MediaView: onUnbind(15/112, Remote(urlRaw=https://i.4cdn.org/wsg/1672960126586929.gif)) D/(20:04:56.368) KurobaEx-beta | MediaViewerAdapter: destroyItem(position: 15), loadedViewsCount=0, boundCount=0, showCount=0 D/(20:04:56.368) KurobaEx-beta | ExoPlayerWrapper: releaseAll() releasing 1 / 2 player D/(20:04:56.397) KurobaEx-beta | ExoPlayerWrapper: releaseAll() releasing 2 / 2 player D/(20:04:57.082) KurobaEx-beta | ControllerNavigationManager: onCloseAllNonMainControllers() D/(20:04:57.084) KurobaEx-beta | ControllerNavigationManager: onControllerPushed(MainSettingsControllerV2) D/(20:04:57.094) KurobaEx-beta | screensBuiltOnce: SuspendableInitializer initWithValue() called D/(20:04:57.094) KurobaEx-beta | screensBuiltOnce: notifyAllWaiters throwable==null: true, waiters=0 D/(20:04:57.094) KurobaEx-beta | screensBuiltOnce: SuspendableInitializer initWithValue() done D/(20:04:57.094) KurobaEx-beta | screensBuiltOnce: notifyAllWaiters throwable==null: true, waiters=0 D/(20:04:57.096) KurobaEx-beta | screensBuiltOnce: SuspendableInitializer initWithValue() called D/(20:04:57.096) KurobaEx-beta | screensBuiltOnce: SuspendableInitializer initWithValue() already completed, exiting D/(20:04:59.919) KurobaEx-beta | screensBuiltOnce: SuspendableInitializer initWithValue() called D/(20:04:59.919) KurobaEx-beta | screensBuiltOnce: SuspendableInitializer initWithValue() already completed, exiting


Android API Level: 32 App Version: v1.3.22 Phone Model: Google Pixel 5 Build type: Release Flavor type: Beta isLowRamDevice: false, isLowRamDeviceForced: false MemoryClass: 256 App running time: 470958 System animations state: duration: 0.0, transition: 1.0, window: 1.0

Current layout mode: PHONE Board view mode: LIST Bottom navigation enabled: true Prefetching enabled: false Hi-res thumbnails enabled: false mediaViewerMaxOffscreenPages: 1 CloudFlare force preload enabled: true useMpvVideoPlayer: false userAgent: Mozilla/5.0 (Linux; Android 12; Pixel 5 Build/SP2A.220305.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/108.0.5359.128 Mobile Safari/537.36 kurobaExCustomUserAgent: KurobaEx-beta v1.3.22 maxPostsCountInPostsCache: 13107 maxAmountOfPostsInDatabase: 75000 maxAmountOfThreadsInDatabase: 12500 diskCacheSizeMegabytes: 128 prefetchDiskCacheSizeMegabytes: 512 diskCacheCleanupRemovePercent: 75 ImageSaver root directory: content://com.android.externalstorage.documents/tree/primary%3AKuroba OkHttp IPv6 support enabled: false OkHttp HTTP/2 support enabled: false Foreground watcher enabled: false Background watcher enabled: false Filter watch enabled: false Thread downloader interval: 3600000 Thread downloader download media on metered network: false

The bug occured when trying to load the 1672954923725512.webm file in this instance. A possible reproducer might require:

  1. A slow and unstable internet connection.
  2. A relatively big webm (at least 4MB).
  3. Not letting preceding webms in a thread fully load when swiping through webms in a thread.

obscenelyvague avatar Jan 24 '23 14:01 obscenelyvague

  1. A slow and unstable internet connection.
  2. A relatively big webm (at least 4MB).
  3. Not letting preceding webms in a thread fully load when swiping through webms in a thread.

i have tested on both mobile data and fiber, its not due to speed, at least not from the users side

and yeah not letting preceding webm fully load will result in both webms playing audio over each other, but thats rather rare and preventable unlike the original issue

modrei avatar Jan 24 '23 15:01 modrei

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Feb 12 '23 01:02 stale[bot]