Skip to content

merge latest changes from upstream#26

Open
feuerswut wants to merge 89 commits into
polymorphicshade:masterfrom
feuerswut:master
Open

merge latest changes from upstream#26
feuerswut wants to merge 89 commits into
polymorphicshade:masterfrom
feuerswut:master

Conversation

@feuerswut

@feuerswut feuerswut commented May 26, 2026

Copy link
Copy Markdown

this PR backports all recent changes to the newpipe extractor to the tubular extractor. it is needed to fix an extraction issue preventing the app from displaying the video feed of channels (upstream hotfix). tested with my other repo containing the app buildt with these changes.

dependabot Bot and others added 30 commits March 20, 2026 09:03
Bumps gradle-wrapper from 9.3.1 to 9.4.1.

---
updated-dependencies:
- dependency-name: gradle-wrapper
  dependency-version: 9.4.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
…apper-9.4.1

Bump gradle-wrapper from 9.3.1 to 9.4.1
Bumps com.google.protobuf:protobuf-javalite from 4.34.0 to 4.34.1.

---
updated-dependencies:
- dependency-name: com.google.protobuf:protobuf-javalite
  dependency-version: 4.34.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…e.protobuf-protobuf-javalite-4.34.1

Bump com.google.protobuf:protobuf-javalite from 4.34.0 to 4.34.1
Set ConsoleLogger globally for all tests
Add string formatting to logger
Add tests for logger formatting
…_lockup_duration

[YouTube] Fix fetching item duration from the new A/B test
See #1473
- Created generated_mock_2.json and generated_mock_3.json to simulate responses for tracks without comments.
- Added generated_mock_4.json to represent a response for fetching comments on a track that has none.
- Each mock includes request details, response headers, and body structure to facilitate testing.
Fix Soundcloud comments crash by handling null page URLs
- getDuration() returns -1 instead of throwing when no duration badge
  is present (e.g. Shorts in related section)
- Add null guard before String.matches() to avoid NPE on missing badge text
- determineStreamType() now also checks thumbnailBottomOverlayViewModel
  badges for the live style, so live streams in related videos are
  correctly identified as LIVE_STREAM instead of VIDEO_STREAM
- Update Javadoc to reflect Shorts behaviour
Tests cover: normal video with duration badge, video without duration
badge (Shorts), and live stream. Mocks added for all three cases.
Update disabled testMoreRelatedItems comment to reflect the fix.
Bumps com.google.protobuf from 0.9.6 to 0.10.0.

---
updated-dependencies:
- dependency-name: com.google.protobuf
  dependency-version: 0.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [org.jsoup:jsoup](https://github.com/jhy/jsoup) from 1.22.1 to 1.22.2.
- [Release notes](https://github.com/jhy/jsoup/releases)
- [Changelog](https://github.com/jhy/jsoup/blob/master/CHANGES.md)
- [Commits](jhy/jsoup@jsoup-1.22.1...jsoup-1.22.2)

---
updated-dependencies:
- dependency-name: org.jsoup:jsoup
  dependency-version: 1.22.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…-jsoup-1.22.2

Bump org.jsoup:jsoup from 1.22.1 to 1.22.2
@feuerswut feuerswut changed the title merge latest changes from upste merge latest changes from upstream May 26, 2026
@feuerswut

Copy link
Copy Markdown
Author

auto merge on upstream changes. 1 conflict:
grafik
accepted combination because: it contains the sponsorblock code

TODO: test

@feuerswut

Copy link
Copy Markdown
Author

seems to work with the newest app build on my repo

@feuerswut

Copy link
Copy Markdown
Author

ready to merge on my end

theimpulson and others added 23 commits May 28, 2026 23:32
extractor: Fix license declaration
Extracts the `audioTrackType` from the explicit `xtags` field of streaming
formats, instead of relying on the URL parameter.
This allows the extraction of the `audioTrackType` for streams with SABR
enabled, which do have a format-specific URL.
…andcamp-search-13476

[Bandcamp] fix: Fix bandcamp search #13476
[YouTube] Use formats xTags to extract audio track type
Videos made for kids cannot be watched with the VISIONOS client, so only
the 360p muxed stream currently extracted can be got.
[YouTube] Workaround SABR enforcement by using another player client
- Fix parsing of upload date of livestreams premiered;
- Handle properly date and view count parsing for members first or
members only content;
- Use again direct access with indexes to parse view count and date,
this reduces usage of language dependant methods. Order of metadata
parts has been observed to always be [view count, upload date];
- Handle missing metadata rows directly to throw better exceptions,
making easier to debug the source of lack of stream details;
- Refactor how channel lockups video items are detected, by replacing
method getInfoMetadataRowIndex with isChannelLockupItem;
- Decrease Java's Stream API usage to reduce complexity.
lockupViewModelChannelTabSectionHeader's case has never been observed
in the YouTube extracted endpoints we use.
Also check content availability for all tests of
YoutubeStreamInfoItemTest.

Co-authored-by: FineFindus <FineFindus@proton.me>
Also do some refactor/optimizations in YoutubePlaylistExtractor on the
fly.
…sing-in-some-cases

[YouTube] Fix extraction of playlist items and some properties in lockup view models
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.