You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi! I've been debugging PeerTube support against current instances (framatube.org, tilvids.com and peertube.tv run PeerTube 8.2.4, video.blender.org 8.2.2, kolektiva.media) with a small live probe around PipePipeExtractor plus the app on a Galaxy S10 (Android 12) and Android 14/17 emulators. Since you ask for discussion before contributions: would you accept the following as small, separate PRs against PipePipeExtractor (one concern each, mirroring the corresponding upstream NewPipeExtractor changes)? Nothing here touches YouTube/BiliBili/NicoNico code.
Confirmed defects (all reproduced in the app):
Every PeerTube avatar/banner is blank. PeerTube 6.0 removed the singular avatar/banner objects; the extractor still reads them and falls back to /client/assets/images/default-avatar.png, which 404s on every instance. Fix: read the avatars[]/banners[] arrays (preferring the 8.0 fileUrl), like upstream commits 81c0d80a5/4e6fb368b/0a6011a50. This is the "channel avatar doesn't load" half of [Bug] Peertube videos not appearing on the "What's New" feed #1202.
before
after
Channel/account pages fail on hosts whose name ends in a or c (e.g. kolektiva.media → "Unable to get displayName"): the channel id regex matches inside the hostname. Fix: parse the id from the URL path only (upstream bcacfc53c).
before
after
The videos tab is advertised but not implemented (tab videos not supported), and account subscriptions have no videos tab at all, so they never contribute to "What's New" ([Bug] Peertube videos not appearing on the "What's New" feed #1202). Fix: a suffix-driven channel-tab extractor (upstream 1e8474b22) and VIDEOS/CHANNELS/PLAYLISTS tabs on accounts; a video channel gets PLAYLISTS instead of the CHANNELS tab, whose endpoint (/video-channels/x/video-channels) returns HTTP 400.
Search content filters "Channels" and "Playlists" return the plain video list (the request always hits /api/v1/search/videos with an unknown resultType parameter). Fix: use /search/video-channels and /search/video-playlists and parse channel/playlist items (upstream d75a99761/dea6d8ce4); the published-date filter also sends a zone-less local timestamp (fix: UTC), and the Sepia search group has no name so the client dialog never shows it.
Split audio (PeerTube ≥ 6.3) plays silently. Instances that separate audio and video (peertube.tv does for all recent uploads) expose video-only HLS variants (hasAudio:false) plus an "Audio only" entry; the extractor reports the variants as complete streams (isVideoOnly never set), so the player starts them without an audio renderer — video plays, no sound, no error. The same video's audio-only entry plays fine in background mode. Fix: read hasAudio/hasVideo and expose the variants as video-only streams so the existing video+audio merge path is used (upstream 3042e4005 / [Bug] Crash: No view found for id for fragment CommentsFragment #1319).
Minor: captions/captionPath and avatar path are deprecated in 8.0 in favour of fileUrl (handled in 1).
Feature: channel search for PeerTube, using the existing channel-search UI (PeerTube's channel/account video listings accept ?search=), plus a small change in PipePipeClient so the search button shows for services that support it and the search runs on the channel's home instance.
I have working branches on my fork with a before/after probe matrix (zero broken image URLs across 7 instances, streams/kiosks/comments unchanged) and app screenshots from Android 12 (Galaxy S10), 14 and 17:
Hi! I've been debugging PeerTube support against current instances (framatube.org, tilvids.com and peertube.tv run PeerTube 8.2.4, video.blender.org 8.2.2, kolektiva.media) with a small live probe around
PipePipeExtractorplus the app on a Galaxy S10 (Android 12) and Android 14/17 emulators. Since you ask for discussion before contributions: would you accept the following as small, separate PRs againstPipePipeExtractor(one concern each, mirroring the corresponding upstream NewPipeExtractor changes)? Nothing here touches YouTube/BiliBili/NicoNico code.Confirmed defects (all reproduced in the app):
Every PeerTube avatar/banner is blank. PeerTube 6.0 removed the singular
avatar/bannerobjects; the extractor still reads them and falls back to/client/assets/images/default-avatar.png, which 404s on every instance. Fix: read theavatars[]/banners[]arrays (preferring the 8.0fileUrl), like upstream commits 81c0d80a5/4e6fb368b/0a6011a50. This is the "channel avatar doesn't load" half of [Bug] Peertube videos not appearing on the "What's New" feed #1202.Channel/account pages fail on hosts whose name ends in
aorc(e.g. kolektiva.media → "Unable to get displayName"): the channel id regex matches inside the hostname. Fix: parse the id from the URL path only (upstream bcacfc53c).The videos tab is advertised but not implemented (
tab videos not supported), and account subscriptions have no videos tab at all, so they never contribute to "What's New" ([Bug] Peertube videos not appearing on the "What's New" feed #1202). Fix: a suffix-driven channel-tab extractor (upstream 1e8474b22) and VIDEOS/CHANNELS/PLAYLISTS tabs on accounts; a video channel gets PLAYLISTS instead of the CHANNELS tab, whose endpoint (/video-channels/x/video-channels) returns HTTP 400.Search content filters "Channels" and "Playlists" return the plain video list (the request always hits
/api/v1/search/videoswith an unknownresultTypeparameter). Fix: use/search/video-channelsand/search/video-playlistsand parse channel/playlist items (upstream d75a99761/dea6d8ce4); the published-date filter also sends a zone-less local timestamp (fix: UTC), and the Sepia search group has no name so the client dialog never shows it.Split audio (PeerTube ≥ 6.3) plays silently. Instances that separate audio and video (peertube.tv does for all recent uploads) expose video-only HLS variants (
hasAudio:false) plus an "Audio only" entry; the extractor reports the variants as complete streams (isVideoOnlynever set), so the player starts them without an audio renderer — video plays, no sound, no error. The same video's audio-only entry plays fine in background mode. Fix: readhasAudio/hasVideoand expose the variants as video-only streams so the existing video+audio merge path is used (upstream 3042e4005 / [Bug] Crash: No view found for id for fragment CommentsFragment #1319).Minor: captions/
captionPathand avatarpathare deprecated in 8.0 in favour offileUrl(handled in 1).Feature: channel search for PeerTube, using the existing channel-search UI (PeerTube's channel/account video listings accept
?search=), plus a small change inPipePipeClientso the search button shows for services that support it and the search runs on the channel's home instance.I have working branches on my fork with a before/after probe matrix (zero broken image URLs across 7 instances, streams/kiosks/comments unchanged) and app screenshots from Android 12 (Galaxy S10), 14 and 17:
Could you reopen #1202 and let me know which of these you'd take, and in what order? I'd start with 1–3.