1
mirror of https://github.com/revanced/revanced-integrations synced 2025-11-19 03:23:27 +01:00

Compare commits

...

247 Commits

Author SHA1 Message Date
semantic-release-bot
9c635e5f91 chore(release): 1.0.0-dev.6 [skip ci]
# [1.0.0-dev.6](https://github.com/ReVanced/revanced-integrations/compare/v1.0.0-dev.5...v1.0.0-dev.6) (2023-12-07)

### Bug Fixes

* **YouTube - Client spoof:** Do not break clips ([f9102fa](f9102fa83b))
2023-12-07 19:03:21 +00:00
oSumAtrIX
f9102fa83b fix(YouTube - Client spoof): Do not break clips 2023-12-07 23:00:36 +04:00
semantic-release-bot
e7758a7ac4 chore(release): 1.0.0-dev.5 [skip ci]
# [1.0.0-dev.5](https://github.com/ReVanced/revanced-integrations/compare/v1.0.0-dev.4...v1.0.0-dev.5) (2023-12-04)

### Bug Fixes

* **YouTube - Minimized playback:** Fix PIP incorrectly shown for some Shorts playback ([#533](https://github.com/ReVanced/revanced-integrations/issues/533)) ([fb433da](fb433da6ad))
2023-12-04 23:50:11 +00:00
LisoUseInAIKyrios
fb433da6ad fix(YouTube - Minimized playback): Fix PIP incorrectly shown for some Shorts playback (#533) 2023-12-05 03:47:31 +04:00
semantic-release-bot
aa6f591141 chore(release): 1.0.0-dev.4 [skip ci]
# [1.0.0-dev.4](https://github.com/ReVanced/revanced-integrations/compare/v1.0.0-dev.3...v1.0.0-dev.4) (2023-12-04)

### Bug Fixes

* **YouTube - Return YouTube Dislike:** Prevent the first Short opened from freezing the UI ([#532](https://github.com/ReVanced/revanced-integrations/issues/532)) ([0bb8669](0bb86694e2))
2023-12-04 08:49:53 +00:00
LisoUseInAIKyrios
0bb86694e2 fix(YouTube - Return YouTube Dislike): Prevent the first Short opened from freezing the UI (#532) 2023-12-04 10:47:29 +02:00
semantic-release-bot
d484f35127 chore(release): 1.0.0-dev.3 [skip ci]
# [1.0.0-dev.3](https://github.com/ReVanced/revanced-integrations/compare/v1.0.0-dev.2...v1.0.0-dev.3) (2023-12-03)

### Bug Fixes

* **YouTube - SponsorBlock:** Prevent autoplay from stopping to work ([f4e2d56](f4e2d56b18))
2023-12-03 18:33:33 +00:00
oSumAtrIX
f4e2d56b18 fix(YouTube - SponsorBlock): Prevent autoplay from stopping to work 2023-12-03 19:30:56 +01:00
semantic-release-bot
9394c512ba chore(release): 1.0.0-dev.2 [skip ci]
# [1.0.0-dev.2](https://github.com/ReVanced/revanced-integrations/compare/v1.0.0-dev.1...v1.0.0-dev.2) (2023-12-03)

### Bug Fixes

* **YouTube - Return YouTube Dislike:** Fix dislikes sometimes not showing for non English language ([5d4c8b0](5d4c8b0a1b))
2023-12-03 18:27:44 +00:00
LisoUseInAIKyrios
5d4c8b0a1b fix(YouTube - Return YouTube Dislike): Fix dislikes sometimes not showing for non English language 2023-12-03 20:24:37 +02:00
semantic-release-bot
3a56431a28 chore(release): 1.0.0-dev.1 [skip ci]
# [1.0.0-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.125.1-dev.1...v1.0.0-dev.1) (2023-12-02)

### Features

* Allow choosing the vendor of GmsCore via patch options ([#529](https://github.com/ReVanced/revanced-integrations/issues/529)) ([fba7181](fba7181e70))

### BREAKING CHANGES

* The class `MicroGSupport` has been renamed to `GmsCoreSupport`
2023-12-02 21:54:20 +00:00
oSumAtrIX
fba7181e70 feat: Allow choosing the vendor of GmsCore via patch options (#529)
BREAKING CHANGE: The class `MicroGSupport` has been renamed to `GmsCoreSupport`
2023-12-02 22:51:39 +01:00
semantic-release-bot
3b4f0206ad chore(release): 0.125.1-dev.1 [skip ci]
## [0.125.1-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.125.0...v0.125.1-dev.1) (2023-12-02)

### Bug Fixes

* **YouTube - SponsorBlock:** Allow autoplay when skipping to the end of the video ([3d660e1](3d660e1b5e))
2023-12-02 21:31:15 +00:00
oSumAtrIX
3d660e1b5e fix(YouTube - SponsorBlock): Allow autoplay when skipping to the end of the video 2023-12-02 17:56:08 +01:00
semantic-release-bot
dd045ad985 chore(release): 0.125.0 [skip ci]
# [0.125.0](https://github.com/ReVanced/revanced-integrations/compare/v0.124.1...v0.125.0) (2023-12-02)

### Features

* Modernize restart logic ([#527](https://github.com/ReVanced/revanced-integrations/issues/527)) ([0ea4e72](0ea4e720ed))
2023-12-02 14:27:11 +00:00
oSumAtrIX
0a15245f41 chore: Merge branch dev to main (#528) 2023-12-02 15:24:33 +01:00
semantic-release-bot
a18c134aaa chore(release): 0.125.0-dev.1 [skip ci]
# [0.125.0-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.124.1...v0.125.0-dev.1) (2023-11-29)

### Features

* Modernize restart logic ([#527](https://github.com/ReVanced/revanced-integrations/issues/527)) ([0ea4e72](0ea4e720ed))
2023-11-29 20:51:03 +00:00
LisoUseInAIKyrios
0ea4e720ed feat: Modernize restart logic (#527) 2023-11-29 22:48:23 +02:00
semantic-release-bot
c6a1b9fc59 chore(release): 0.124.1 [skip ci]
## [0.124.1](https://github.com/ReVanced/revanced-integrations/compare/v0.124.0...v0.124.1) (2023-11-27)

### Bug Fixes

* **YouTube - Hide layout components:** Prevent app from crashing on startup ([c2112e0](c2112e066a))
* **YouTube - Return YouTube dislike:** Fix layout of right to left languages ([11abdf1](11abdf162f))
* **YouTube - Spoof signature:** fix error toast when viewing very old YouTube videos ([#525](https://github.com/ReVanced/revanced-integrations/issues/525)) ([eede028](eede028c96))
2023-11-27 19:09:52 +00:00
oSumAtrIX
d6ed0c061c chore: Merge branch dev to main (#526) 2023-11-27 20:07:15 +01:00
semantic-release-bot
3ba3d5108d chore(release): 0.124.1-dev.3 [skip ci]
## [0.124.1-dev.3](https://github.com/ReVanced/revanced-integrations/compare/v0.124.1-dev.2...v0.124.1-dev.3) (2023-11-27)

### Bug Fixes

* **YouTube - Hide layout components:** Prevent app from crashing on startup ([c2112e0](c2112e066a))
2023-11-27 19:06:27 +00:00
oSumAtrIX
c2112e066a fix(YouTube - Hide layout components): Prevent app from crashing on startup
The application crashes sporadically when a field is not initialized yet in a static context.
2023-11-27 20:02:59 +01:00
oSumAtrIX
6520499a27 refactor: Use a newline consistently 2023-11-27 18:40:49 +01:00
semantic-release-bot
b2d9dcd6c0 chore(release): 0.124.1-dev.2 [skip ci]
## [0.124.1-dev.2](https://github.com/ReVanced/revanced-integrations/compare/v0.124.1-dev.1...v0.124.1-dev.2) (2023-11-26)

### Bug Fixes

* **YouTube - Return YouTube dislike:** Fix layout of right to left languages ([11abdf1](11abdf162f))
2023-11-26 22:27:00 +00:00
LisoUseInAIKyrios
11abdf162f fix(YouTube - Return YouTube dislike): Fix layout of right to left languages 2023-11-27 00:24:14 +02:00
semantic-release-bot
b514bdd7d0 chore(release): 0.124.1-dev.1 [skip ci]
## [0.124.1-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.124.0...v0.124.1-dev.1) (2023-11-25)

### Bug Fixes

* **YouTube - Spoof signature:** fix error toast when viewing very old YouTube videos ([#525](https://github.com/ReVanced/revanced-integrations/issues/525)) ([eede028](eede028c96))
2023-11-25 21:32:51 +00:00
LisoUseInAIKyrios
eede028c96 fix(YouTube - Spoof signature): fix error toast when viewing very old YouTube videos (#525) 2023-11-25 23:30:15 +02:00
semantic-release-bot
9eb0471989 chore(release): 0.124.0 [skip ci]
# [0.124.0](https://github.com/ReVanced/revanced-integrations/compare/v0.123.0...v0.124.0) (2023-11-23)

### Bug Fixes

* **YouTube - Custom playback speed:** Fix toast error on opening playback speed menu ([#522](https://github.com/ReVanced/revanced-integrations/issues/522)) ([0124f41](0124f41cd6))
* **YouTube - Enable tablet layout:** Respect the original device layout ([bc56aa5](bc56aa5f07))
* **YouTube - SponsorBlock:** Do not disable autoplay when skipping to the end of the video ([f936f24](f936f240a7))

### Features

* **YouTube - Hide ads:** Hide shopping links in video description ([11e7c04](11e7c04b70))
* **YouTube - Hide layout components:** Hide "For You" shelf in channel page ([2613e10](2613e102cc))
2023-11-23 03:37:12 +00:00
oSumAtrIX
3dbfbf9e6f chore: Merge branch dev to main (#524) 2023-11-23 04:34:47 +01:00
semantic-release-bot
373820eb99 chore(release): 0.124.0-dev.1 [skip ci]
# [0.124.0-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.123.1-dev.1...v0.124.0-dev.1) (2023-11-23)

### Bug Fixes

* **YouTube - Enable tablet layout:** Respect the original device layout ([bc56aa5](bc56aa5f07))
* **YouTube - SponsorBlock:** Do not disable autoplay when skipping to the end of the video ([f936f24](f936f240a7))

### Features

* **YouTube - Hide ads:** Hide shopping links in video description ([11e7c04](11e7c04b70))
* **YouTube - Hide layout components:** Hide "For You" shelf in channel page ([2613e10](2613e102cc))
2023-11-23 03:25:50 +00:00
oSumAtrIX
f936f240a7 fix(YouTube - SponsorBlock): Do not disable autoplay when skipping to the end of the video 2023-11-23 04:23:02 +01:00
semantic-release-bot
b9d50fd3d8 chore(release): 0.124.0-dev.1 [skip ci]
# [0.124.0-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.123.1-dev.1...v0.124.0-dev.1) (2023-11-23)

### Bug Fixes

* **YouTube - Enable tablet layout:** Respect the original device layout ([bc56aa5](bc56aa5f07))

### Features

* **YouTube - Hide ads:** Hide shopping links in video description ([11e7c04](11e7c04b70))
* **YouTube - Hide layout components:** Hide "For You" shelf in channel page ([2613e10](2613e102cc))
2023-11-23 03:01:56 +00:00
oSumAtrIX
11e7c04b70 feat(YouTube - Hide ads): Hide shopping links in video description 2023-11-23 03:55:03 +01:00
oSumAtrIX
2613e102cc feat(YouTube - Hide layout components): Hide "For You" shelf in channel page 2023-11-23 03:55:02 +01:00
semantic-release-bot
2a582f9424 chore(release): 0.123.1-dev.2 [skip ci]
## [0.123.1-dev.2](https://github.com/ReVanced/revanced-integrations/compare/v0.123.1-dev.1...v0.123.1-dev.2) (2023-11-23)

### Bug Fixes

* **YouTube - Enable tablet layout:** Respect the original device layout ([9e3e747](9e3e747ce6))
2023-11-23 03:55:02 +01:00
oSumAtrIX
bc56aa5f07 fix(YouTube - Enable tablet layout): Respect the original device layout 2023-11-23 03:54:59 +01:00
oSumAtrIX
1ebf8e04a6 chore: Add heading to issue templates 2023-11-23 00:56:50 +01:00
semantic-release-bot
c13504a0b3 chore(release): 0.123.1-dev.1 [skip ci]
## [0.123.1-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.123.0...v0.123.1-dev.1) (2023-11-22)

### Bug Fixes

* **YouTube - Custom playback speed:** Fix toast error on opening playback speed menu ([#522](https://github.com/ReVanced/revanced-integrations/issues/522)) ([0124f41](0124f41cd6))
2023-11-22 19:20:28 +00:00
LisoUseInAIKyrios
0124f41cd6 fix(YouTube - Custom playback speed): Fix toast error on opening playback speed menu (#522) 2023-11-22 21:18:01 +02:00
oSumAtrIX
31777e027e chore: Merge branch dev to main (#523) 2023-11-22 09:02:44 +01:00
oSumAtrIX
dedd2f658a chore: Suppress deprecated flag 2023-11-22 01:03:30 +01:00
oSumAtrIX
7f0c2c507c build: Bump dependencies 2023-11-22 01:02:28 +01:00
oSumAtrIX
17e78824b7 build: Bump Gradle wrapper 2023-11-22 01:01:56 +01:00
oSumAtrIX
36fe5718cf build: Use dedicated Gradle cache action 2023-11-22 01:01:56 +01:00
oSumAtrIX
355acc7023 build: Use Gradle build cache 2023-11-22 01:01:55 +01:00
oSumAtrIX
dcca2e5e8d ci: Simplify cache paths 2023-11-22 00:11:15 +01:00
oSumAtrIX
c4d01b2334 chore: Reword comment for first PR merge 2023-11-22 00:07:48 +01:00
oSumAtrIX
ce2ad04f60 chore: Add a newline between steps 2023-11-22 00:04:20 +01:00
oSumAtrIX
1230d77f94 chore: Simplify issue templates 2023-11-21 23:57:28 +01:00
oSumAtrIX
2735f99c0a chore: Add folder to gitignore 2023-11-21 23:42:04 +01:00
oSumAtrIX
64463dea5b ci: Update cache key 2023-11-21 23:41:41 +01:00
oSumAtrIX
4932a71088 chore: Update packages 2023-11-21 23:40:57 +01:00
semantic-release-bot
f6e936812e chore(release): 0.123.0 [skip ci]
# [0.123.0](https://github.com/ReVanced/revanced-integrations/compare/v0.122.1...v0.123.0) (2023-11-20)

### Bug Fixes

* **YouTube - Hide layout components:** Check if `bytes` parameter of `LayoutComponentsFilter#filterMixPlaylists` for null ([abfbb0d](abfbb0d7d5))
* **YouTube - Spoof client:** Fix frozen video on playback start ([#520](https://github.com/ReVanced/revanced-integrations/issues/520)) ([ffcee71](ffcee71f79))

### Features

* **YouTube:** Add `Disable rolling number animations` patch ([#519](https://github.com/ReVanced/revanced-integrations/issues/519)) ([ce0bedc](ce0bedc5d3))
2023-11-20 17:58:54 +00:00
oSumAtrIX
c8510dbb4d chore: Merge branch dev to main (#521) 2023-11-20 18:56:05 +01:00
semantic-release-bot
d3021bcf0b chore(release): 0.122.2-dev.2 [skip ci]
## [0.122.2-dev.2](https://github.com/ReVanced/revanced-integrations/compare/v0.122.2-dev.1...v0.122.2-dev.2) (2023-11-20)

### Bug Fixes

* **YouTube - Spoof client:** Fix frozen video on playback start ([#520](https://github.com/ReVanced/revanced-integrations/issues/520)) ([9139954](91399540ba))
2023-11-20 18:55:55 +01:00
LisoUseInAIKyrios
ffcee71f79 fix(YouTube - Spoof client): Fix frozen video on playback start (#520) 2023-11-20 18:55:55 +01:00
semantic-release-bot
8cbe2b5a92 chore(release): 0.122.2-dev.1 [skip ci]
## [0.122.2-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.122.1...v0.122.2-dev.1) (2023-11-19)

### Bug Fixes

* **YouTube - Hide layout components:** Check if `bytes` parameter of `LayoutComponentsFilter#filterMixPlaylists` for null ([3eb07c1](3eb07c12dd))
2023-11-20 18:55:55 +01:00
oSumAtrIX
abfbb0d7d5 fix(YouTube - Hide layout components): Check if bytes parameter of LayoutComponentsFilter#filterMixPlaylists for null 2023-11-20 18:55:55 +01:00
LisoUseInAIKyrios
ce0bedc5d3 feat(YouTube): Add Disable rolling number animations patch (#519) 2023-11-20 18:55:53 +01:00
semantic-release-bot
5cf5d86913 chore(release): 0.122.1 [skip ci]
## [0.122.1](https://github.com/ReVanced/revanced-integrations/compare/v0.122.0...v0.122.1) (2023-11-19)

### Bug Fixes

* **YouTube - ReturnYouTubeDislike:** Improve layout padding ([#517](https://github.com/ReVanced/revanced-integrations/issues/517)) ([ba15aba](ba15aba063))
* **YouTube:** Check if `protobufBuffer` can be filtered ([b078f0c](b078f0ca37))
2023-11-19 04:02:38 +00:00
oSumAtrIX
7dd826ad71 chore: Merge branch dev to main (#518) 2023-11-19 04:59:59 +01:00
oSumAtrIX
58afcec641 chore(YouTube): Only debug log if protobufBuffer has no array 2023-11-18 22:14:08 +01:00
semantic-release-bot
781cdf88df chore(release): 0.122.1-dev.2 [skip ci]
## [0.122.1-dev.2](https://github.com/ReVanced/revanced-integrations/compare/v0.122.1-dev.1...v0.122.1-dev.2) (2023-11-18)

### Bug Fixes

* **YouTube - ReturnYouTubeDislike:** Improve layout padding ([#517](https://github.com/ReVanced/revanced-integrations/issues/517)) ([ba15aba](ba15aba063))
2023-11-18 19:13:11 +00:00
LisoUseInAIKyrios
ba15aba063 fix(YouTube - ReturnYouTubeDislike): Improve layout padding (#517) 2023-11-18 21:10:26 +02:00
semantic-release-bot
411b0f2ccc chore(release): 0.122.1-dev.1 [skip ci]
## [0.122.1-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.122.0...v0.122.1-dev.1) (2023-11-18)

### Bug Fixes

* **YouTube:** Check if `protobufBuffer` can be filtered ([b078f0c](b078f0ca37))
2023-11-18 18:22:00 +00:00
oSumAtrIX
b078f0ca37 fix(YouTube): Check if protobufBuffer can be filtered
An `UnsupportedOperationException` exception would be thrown in `LithoFilterParameters#LithoFilterParameters` if this buffer is not backed by an accessible array
2023-11-18 19:18:53 +01:00
semantic-release-bot
46bfeea1a3 chore(release): 0.122.0 [skip ci]
# [0.122.0](https://github.com/ReVanced/revanced-integrations/compare/v0.121.0...v0.122.0) (2023-11-18)

### Bug Fixes

* **Remove screenshot restriction:** Improve reliability ([#471](https://github.com/ReVanced/revanced-integrations/issues/471)) ([50933dc](50933dc42d))
* **YouTube - Client spoof:** Fix low resolution precise seeking thumbnails ([#513](https://github.com/ReVanced/revanced-integrations/issues/513)) ([11f97ac](11f97ac354))
* **YouTube - Disable resuming Shorts on startup:** Adjust patch name ([#516](https://github.com/ReVanced/revanced-integrations/issues/516)) ([8b5d2d1](8b5d2d1871))
* **YouTube - Disable suggested video end screen:** Do not spam click to disable the screen ([4f57d56](4f57d56042))
* **YouTube - Disable suggested video end screen:** Properly hide it every time the screen appears ([828ff6f](828ff6f31e))
* **YouTube - Hide layout components:** Reduce false positives when hiding mix playlists ([5f30100](5f30100fd5))
* **YouTube:** Prevent playing touch interaction sound when unintended ([6e414ec](6e414ec6c2))
* **YouTube:** Rename `Restore old seekbar thumbnails` and `Restore old quality menu` ([#510](https://github.com/ReVanced/revanced-integrations/issues/510)) ([6b00f90](6b00f90fb7))

### Features

* **YouTube - Hide layout components:** Hide description components ([726a251](726a2510a5))
* **YouTube - Return YouTube Dislike:** Support version `18.43.45` and `18.44.41` ([#514](https://github.com/ReVanced/revanced-integrations/issues/514)) ([a5245b8](a5245b85a8))
* **YouTube:** Add `Enable slide to seek` patch ([b1ce7a7](b1ce7a75eb))
* **YouTube:** Add `Remove tracking query parameter` patch ([e84b7b3](e84b7b328e))

### Performance Improvements

* **YouTube - Client spoof:** Reduce timeout to fetch storyboard renderer ([847cce4](847cce43f6))
2023-11-18 04:13:52 +00:00
oSumAtrIX
d0c659ce11 chore: Merge branch dev to main (#511) 2023-11-18 05:10:38 +01:00
semantic-release-bot
25dc754ff5 chore(release): 0.122.0-dev.4 [skip ci]
# [0.122.0-dev.4](https://github.com/ReVanced/revanced-integrations/compare/v0.122.0-dev.3...v0.122.0-dev.4) (2023-11-18)

### Features

* **YouTube - Hide layout components:** Hide description components ([726a251](726a2510a5))
2023-11-18 04:08:29 +00:00
oSumAtrIX
726a2510a5 feat(YouTube - Hide layout components): Hide description components 2023-11-18 04:34:16 +01:00
semantic-release-bot
0978e64655 chore(release): 0.122.0-dev.3 [skip ci]
# [0.122.0-dev.3](https://github.com/ReVanced/revanced-integrations/compare/v0.122.0-dev.2...v0.122.0-dev.3) (2023-11-17)

### Features

* **YouTube - Return YouTube Dislike:** Support version `18.43.45` and `18.44.41` ([#514](https://github.com/ReVanced/revanced-integrations/issues/514)) ([a5245b8](a5245b85a8))
2023-11-17 23:53:38 +00:00
oSumAtrIX
a5245b85a8 feat(YouTube - Return YouTube Dislike): Support version 18.43.45 and 18.44.41 (#514)
Co-authored-by: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com>
2023-11-18 01:50:55 +02:00
semantic-release-bot
9a6ec6be8c chore(release): 0.122.0-dev.2 [skip ci]
# [0.122.0-dev.2](https://github.com/ReVanced/revanced-integrations/compare/v0.122.0-dev.1...v0.122.0-dev.2) (2023-11-17)

### Bug Fixes

* **YouTube - Disable resuming Shorts on startup:** Adjust patch name ([#516](https://github.com/ReVanced/revanced-integrations/issues/516)) ([8b5d2d1](8b5d2d1871))
2023-11-17 10:24:57 +00:00
LisoUseInAIKyrios
8b5d2d1871 fix(YouTube - Disable resuming Shorts on startup): Adjust patch name (#516) 2023-11-17 12:21:59 +02:00
semantic-release-bot
130f629f6b chore(release): 0.122.0-dev.1 [skip ci]
# [0.122.0-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.121.1-dev.4...v0.122.0-dev.1) (2023-11-12)

### Bug Fixes

* **YouTube - Disable suggested video end screen:** Properly hide it every time the screen appears ([828ff6f](828ff6f31e))
* **YouTube - Hide layout components:** Reduce false positives when hiding mix playlists ([5f30100](5f30100fd5))

### Features

* **YouTube:** Add `Enable slide to seek` patch ([b1ce7a7](b1ce7a75eb))
* **YouTube:** Add `Remove tracking query parameter` patch ([e84b7b3](e84b7b328e))

### Performance Improvements

* **YouTube - Client spoof:** Reduce timeout to fetch storyboard renderer ([847cce4](847cce43f6))
2023-11-12 16:08:25 +00:00
oSumAtrIX
828ff6f31e fix(YouTube - Disable suggested video end screen): Properly hide it every time the screen appears
Previously, the screen appeared, which a handler was attached to, in order to hide it again, but the handler was removed again from the same screen, so the next time it appeared, it was not hidden.
2023-11-12 17:02:40 +01:00
oSumAtrIX
847cce43f6 perf(YouTube - Client spoof): Reduce timeout to fetch storyboard renderer
Because this is blocking the UI thread, a short timeout is preferable.
2023-11-12 17:02:38 +01:00
oSumAtrIX
5f30100fd5 fix(YouTube - Hide layout components): Reduce false positives when hiding mix playlists
Implementation references taken from github.com/inotia00/revanced-integrations/commit/cfaf3d6356f316623ad32b10719b1b5ef0ba25b9
2023-11-12 17:02:23 +01:00
oSumAtrIX
b1ce7a75eb feat(YouTube): Add Enable slide to seek patch
Implementation references taken from github.com/inotia00/revanced-patches/commit/0ede1987544aa0068f28665c6c029df23a30afe2
2023-11-12 17:02:23 +01:00
oSumAtrIX
e84b7b328e feat(YouTube): Add Remove tracking query parameter patch
Implementation references taken from github.com/inotia00/revanced-patches/commit/4037d9c85b7e37f8635f8fdcc1efea85dcddb5e2.
2023-11-12 17:02:22 +01:00
semantic-release-bot
db0fb46a39 chore(release): 0.121.1-dev.4 [skip ci]
## [0.121.1-dev.4](https://github.com/ReVanced/revanced-integrations/compare/v0.121.1-dev.3...v0.121.1-dev.4) (2023-11-11)

### Bug Fixes

* **YouTube - Client spoof:** Fix low resolution precise seeking thumbnails ([#513](https://github.com/ReVanced/revanced-integrations/issues/513)) ([11f97ac](11f97ac354))
2023-11-11 18:26:36 +00:00
LisoUseInAIKyrios
11f97ac354 fix(YouTube - Client spoof): Fix low resolution precise seeking thumbnails (#513) 2023-11-11 20:22:41 +02:00
semantic-release-bot
831041b432 chore(release): 0.121.1-dev.3 [skip ci]
## [0.121.1-dev.3](https://github.com/ReVanced/revanced-integrations/compare/v0.121.1-dev.2...v0.121.1-dev.3) (2023-11-10)

### Bug Fixes

* **Remove screenshot restriction:** Improve reliability ([#471](https://github.com/ReVanced/revanced-integrations/issues/471)) ([50933dc](50933dc42d))
2023-11-10 01:09:33 +00:00
Linus
50933dc42d fix(Remove screenshot restriction): Improve reliability (#471) 2023-11-10 02:06:01 +01:00
semantic-release-bot
37b3b6a837 chore(release): 0.121.1-dev.2 [skip ci]
## [0.121.1-dev.2](https://github.com/ReVanced/revanced-integrations/compare/v0.121.1-dev.1...v0.121.1-dev.2) (2023-11-07)

### Bug Fixes

* **YouTube - Disable suggested video end screen:** Do not spam click to disable the screen ([4f57d56](4f57d56042))
* **YouTube:** Prevent playing touch interaction sound when unintended ([6e414ec](6e414ec6c2))
2023-11-07 11:46:38 +00:00
oSumAtrIX
6e414ec6c2 fix(YouTube): Prevent playing touch interaction sound when unintended 2023-11-07 12:43:53 +01:00
oSumAtrIX
4f57d56042 fix(YouTube - Disable suggested video end screen): Do not spam click to disable the screen 2023-11-07 12:43:53 +01:00
semantic-release-bot
e94de61eb0 chore(release): 0.121.1-dev.1 [skip ci]
## [0.121.1-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.121.0...v0.121.1-dev.1) (2023-11-06)

### Bug Fixes

* **YouTube:** Rename `Restore old seekbar thumbnails` and `Restore old quality menu` ([#510](https://github.com/ReVanced/revanced-integrations/issues/510)) ([6b00f90](6b00f90fb7))
2023-11-06 12:00:54 +00:00
LisoUseInAIKyrios
6b00f90fb7 fix(YouTube): Rename Restore old seekbar thumbnails and Restore old quality menu (#510) 2023-11-06 13:58:17 +02:00
semantic-release-bot
85705141a8 chore(release): 0.121.0 [skip ci]
# [0.121.0](https://github.com/ReVanced/revanced-integrations/compare/v0.120.0...v0.121.0) (2023-11-04)

### Bug Fixes

* **YouTube - Client spoof:** Set the client version correctly ([f203731](f2037316d3))
* **YouTube - Custom filter:** Fix app crash if invalid character is used in custom filter ([#506](https://github.com/ReVanced/revanced-integrations/issues/506)) ([debd0a2](debd0a2e11))
* **YouTube - Disable suggested video end screen:** Hide the view once possible ([df27822](df278222e8))
* **YouTube - Player flyout menu:** Restore functionality ([#502](https://github.com/ReVanced/revanced-integrations/issues/502)) ([c048527](c048527dc0))
* **YouTube - ReturnYouTubeDislike:** Fix RYD prefetching home feed Shorts ([#508](https://github.com/ReVanced/revanced-integrations/issues/508)) ([98c91af](98c91af130))
* **YouTube - ReturnYouTubeDislike:** Use API back off if client connection fails for any reason ([#509](https://github.com/ReVanced/revanced-integrations/issues/509)) ([40cfa1e](40cfa1e9af))

### Features

* **YouTube - Disable precise seeking gesture:** Use better patch name ([2453d30](2453d30970))
* **YouTube - Hide layout components:** Hide video quality menu footer ([04608d3](04608d32e8))
* **YouTube:** Add `Disable fullscreen ambient mode` patch ([bf50711](bf5071107b))
* **YouTube:** Add `Disable suggested video end screen` patch ([6bd5aae](6bd5aae977))
* **YouTube:** Add `Enable old seekbar thumbnails` patch ([75297a5](75297a52c1))

### Reverts

* Revert "fix(YouTube - Minimized playback): Fix pip incorrectly showing for Short playback (#504)" ([c1c7e3b](c1c7e3b596)), closes [#504](https://github.com/ReVanced/revanced-integrations/issues/504)
2023-11-04 21:15:56 +00:00
oSumAtrIX
3344375fb9 chore: Merge branch dev to main (#505) 2023-11-04 22:11:22 +01:00
semantic-release-bot
8d534f05d5 chore(release): 0.121.0-dev.7 [skip ci]
# [0.121.0-dev.7](https://github.com/ReVanced/revanced-integrations/compare/v0.121.0-dev.6...v0.121.0-dev.7) (2023-11-03)

### Bug Fixes

* **YouTube - Player flyout menu:** Restore functionality ([#502](https://github.com/ReVanced/revanced-integrations/issues/502)) ([c048527](c048527dc0))
2023-11-03 18:30:07 +00:00
nullptr
c048527dc0 fix(YouTube - Player flyout menu): Restore functionality (#502) 2023-11-03 19:27:23 +01:00
semantic-release-bot
1b29b7e11d chore(release): 0.121.0-dev.6 [skip ci]
# [0.121.0-dev.6](https://github.com/ReVanced/revanced-integrations/compare/v0.121.0-dev.5...v0.121.0-dev.6) (2023-10-25)

### Bug Fixes

* **YouTube - Client spoof:** Set the client version correctly ([f203731](f2037316d3))
2023-10-25 22:10:56 +00:00
oSumAtrIX
f2037316d3 fix(YouTube - Client spoof): Set the client version correctly
Previously the version was hardcoded.
2023-10-26 00:07:02 +02:00
semantic-release-bot
55fe1f0592 chore(release): 0.121.0-dev.5 [skip ci]
# [0.121.0-dev.5](https://github.com/ReVanced/revanced-integrations/compare/v0.121.0-dev.4...v0.121.0-dev.5) (2023-10-25)

### Bug Fixes

* **YouTube - Disable suggested video end screen:** Hide the view once possible ([df27822](df278222e8))

### Features

* **YouTube - Disable precise seeking gesture:** Use better patch name ([2453d30](2453d30970))
* **YouTube:** Add `Enable old seekbar thumbnails` patch ([75297a5](75297a52c1))
2023-10-25 17:38:04 +00:00
oSumAtrIX
2453d30970 feat(YouTube - Disable precise seeking gesture): Use better patch name
The new name now is taken from what YouTube names this feature.
2023-10-25 19:34:25 +02:00
oSumAtrIX
75297a52c1 feat(YouTube): Add Enable old seekbar thumbnails patch 2023-10-25 19:34:25 +02:00
oSumAtrIX
df278222e8 fix(YouTube - Disable suggested video end screen): Hide the view once possible
Previously the patch tried to hide the screen when it was not visible to begin with.
2023-10-25 19:34:24 +02:00
semantic-release-bot
21bccf6a99 chore(release): 0.121.0-dev.4 [skip ci]
# [0.121.0-dev.4](https://github.com/ReVanced/revanced-integrations/compare/v0.121.0-dev.3...v0.121.0-dev.4) (2023-10-25)

### Bug Fixes

* **YouTube - ReturnYouTubeDislike:** Use API back off if client connection fails for any reason ([#509](https://github.com/ReVanced/revanced-integrations/issues/509)) ([40cfa1e](40cfa1e9af))
2023-10-25 09:58:13 +00:00
LisoUseInAIKyrios
40cfa1e9af fix(YouTube - ReturnYouTubeDislike): Use API back off if client connection fails for any reason (#509) 2023-10-25 12:53:44 +03:00
semantic-release-bot
0fbf7a3434 chore(release): 0.121.0-dev.3 [skip ci]
# [0.121.0-dev.3](https://github.com/ReVanced/revanced-integrations/compare/v0.121.0-dev.2...v0.121.0-dev.3) (2023-10-24)

### Features

* **YouTube:** Add `Disable fullscreen ambient mode` patch ([bf50711](bf5071107b))
* **YouTube:** Add `Disable suggested video end screen` patch ([6bd5aae](6bd5aae977))
2023-10-24 23:51:06 +00:00
oSumAtrIX
6bd5aae977 feat(YouTube): Add Disable suggested video end screen patch 2023-10-25 01:47:03 +02:00
oSumAtrIX
bf5071107b feat(YouTube): Add Disable fullscreen ambient mode patch 2023-10-25 01:46:44 +02:00
semantic-release-bot
8cbb50b8ed chore(release): 0.121.0-dev.2 [skip ci]
# [0.121.0-dev.2](https://github.com/ReVanced/revanced-integrations/compare/v0.121.0-dev.1...v0.121.0-dev.2) (2023-10-24)

### Bug Fixes

* **YouTube - ReturnYouTubeDislike:** Fix RYD prefetching home feed Shorts ([#508](https://github.com/ReVanced/revanced-integrations/issues/508)) ([98c91af](98c91af130))
2023-10-24 20:39:24 +00:00
LisoUseInAIKyrios
98c91af130 fix(YouTube - ReturnYouTubeDislike): Fix RYD prefetching home feed Shorts (#508) 2023-10-24 23:34:13 +03:00
semantic-release-bot
959ae4f3be chore(release): 0.121.0-dev.1 [skip ci]
# [0.121.0-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.120.1-dev.3...v0.121.0-dev.1) (2023-10-23)

### Features

* **YouTube - Hide layout components:** Hide video quality menu footer ([04608d3](04608d32e8))
2023-10-23 19:51:04 +00:00
oSumAtrIX
04608d32e8 feat(YouTube - Hide layout components): Hide video quality menu footer 2023-10-23 21:46:38 +02:00
semantic-release-bot
3e08847dce chore(release): 0.120.1-dev.3 [skip ci]
## [0.120.1-dev.3](https://github.com/ReVanced/revanced-integrations/compare/v0.120.1-dev.2...v0.120.1-dev.3) (2023-10-21)

### Bug Fixes

* **YouTube - Custom filter:** Fix app crash if invalid character is used in custom filter ([#506](https://github.com/ReVanced/revanced-integrations/issues/506)) ([debd0a2](debd0a2e11))
2023-10-21 12:21:57 +00:00
LisoUseInAIKyrios
debd0a2e11 fix(YouTube - Custom filter): Fix app crash if invalid character is used in custom filter (#506) 2023-10-21 15:18:00 +03:00
semantic-release-bot
e68646d4f7 chore(release): 0.120.1-dev.2 [skip ci]
## [0.120.1-dev.2](https://github.com/ReVanced/revanced-integrations/compare/v0.120.1-dev.1...v0.120.1-dev.2) (2023-10-20)

### Reverts

* Revert "fix(YouTube - Minimized playback): Fix pip incorrectly showing for Short playback (#504)" ([c1c7e3b](c1c7e3b596)), closes [#504](https://github.com/ReVanced/revanced-integrations/issues/504)
* Revert "chore(release): 0.120.1-dev.1 [skip ci]" ([e68f558](e68f558e9c))
2023-10-20 10:40:29 +00:00
LisoUseInAIKyrios
c1c7e3b596 Revert "fix(YouTube - Minimized playback): Fix pip incorrectly showing for Short playback (#504)"
This reverts commit 6d5a5c8281.
2023-10-20 13:35:14 +03:00
LisoUseInAIKyrios
e68f558e9c Revert "chore(release): 0.120.1-dev.1 [skip ci]"
This reverts commit f19f122fee.
2023-10-20 13:35:14 +03:00
semantic-release-bot
f19f122fee chore(release): 0.120.1-dev.1 [skip ci]
## [0.120.1-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.120.0...v0.120.1-dev.1) (2023-10-20)

### Bug Fixes

* **YouTube - Minimized playback:** Fix pip incorrectly showing for Short playback ([#504](https://github.com/ReVanced/revanced-integrations/issues/504)) ([6d5a5c8](6d5a5c8281))
2023-10-20 10:22:43 +00:00
LisoUseInAIKyrios
6d5a5c8281 fix(YouTube - Minimized playback): Fix pip incorrectly showing for Short playback (#504) 2023-10-20 13:18:02 +03:00
semantic-release-bot
650a5e06ee chore(release): 0.120.0 [skip ci]
# [0.120.0](https://github.com/ReVanced/revanced-integrations/compare/v0.119.2...v0.120.0) (2023-10-20)

### Bug Fixes

* **YouTube - Hide Layout components:** Exempt expandable chips from exceptions ([#498](https://github.com/ReVanced/revanced-integrations/issues/498)) ([6f79746](6f79746d78))
* **YouTube - Hide layout components:** Hide new channel watermark component ([9670bd3](9670bd305b))
* **YouTube - Minimized playback:** Fix pip incorrectly showing if app is minimized immediately after opening a Short ([7d02774](7d02774ea1))
* **YouTube - Old video quality menu:** Fix toast error on tablet devices ([#500](https://github.com/ReVanced/revanced-integrations/issues/500)) ([d3eba27](d3eba27c90))

### Features

* **YouTube - Theme:** Disable gradient loading screen ([fd09e46](fd09e46d01))
* **YouTube:** Add `Announcements` patch ([#503](https://github.com/ReVanced/revanced-integrations/issues/503)) ([59687f1](59687f1a39))
* **YouTube:** Add `Spoof device dimensions` patch ([16f1163](16f1163a34))

### Performance Improvements

* **YouTube:** Reduce memory requirement for prefix tree searching ([#501](https://github.com/ReVanced/revanced-integrations/issues/501)) ([f5add51](f5add51fa7))
2023-10-20 01:26:34 +00:00
oSumAtrIX
bb9b35554f chore: Merge branch dev to main (#499) 2023-10-20 03:22:33 +02:00
semantic-release-bot
2bcd3b4ae5 chore(release): 0.120.0-dev.6 [skip ci]
# [0.120.0-dev.6](https://github.com/ReVanced/revanced-integrations/compare/v0.120.0-dev.5...v0.120.0-dev.6) (2023-10-20)

### Features

* **YouTube:** Add `Announcements` patch ([#503](https://github.com/ReVanced/revanced-integrations/issues/503)) ([59687f1](59687f1a39))
2023-10-20 01:17:20 +00:00
oSumAtrIX
59687f1a39 feat(YouTube): Add Announcements patch (#503) 2023-10-20 03:13:37 +02:00
semantic-release-bot
cd6ba256a5 chore(release): 0.120.0-dev.5 [skip ci]
# [0.120.0-dev.5](https://github.com/ReVanced/revanced-integrations/compare/v0.120.0-dev.4...v0.120.0-dev.5) (2023-10-19)

### Features

* **YouTube:** Add `Spoof device dimensions` patch ([16f1163](16f1163a34))
2023-10-19 01:11:38 +00:00
oSumAtrIX
16f1163a34 feat(YouTube): Add Spoof device dimensions patch 2023-10-19 03:06:57 +02:00
semantic-release-bot
c47fcde242 chore(release): 0.120.0-dev.4 [skip ci]
# [0.120.0-dev.4](https://github.com/ReVanced/revanced-integrations/compare/v0.120.0-dev.3...v0.120.0-dev.4) (2023-10-17)

### Performance Improvements

* **YouTube:** Reduce memory requirement for prefix tree searching ([#501](https://github.com/ReVanced/revanced-integrations/issues/501)) ([f5add51](f5add51fa7))
2023-10-17 10:12:54 +00:00
LisoUseInAIKyrios
f5add51fa7 perf(YouTube): Reduce memory requirement for prefix tree searching (#501) 2023-10-17 13:08:35 +03:00
semantic-release-bot
bd307e475f chore(release): 0.120.0-dev.3 [skip ci]
# [0.120.0-dev.3](https://github.com/ReVanced/revanced-integrations/compare/v0.120.0-dev.2...v0.120.0-dev.3) (2023-10-15)

### Bug Fixes

* **YouTube - Old video quality menu:** Fix toast error on tablet devices ([#500](https://github.com/ReVanced/revanced-integrations/issues/500)) ([d3eba27](d3eba27c90))
2023-10-15 16:02:09 +00:00
LisoUseInAIKyrios
d3eba27c90 fix(YouTube - Old video quality menu): Fix toast error on tablet devices (#500) 2023-10-15 18:58:21 +03:00
semantic-release-bot
12e663c548 chore(release): 0.120.0-dev.2 [skip ci]
# [0.120.0-dev.2](https://github.com/ReVanced/revanced-integrations/compare/v0.120.0-dev.1...v0.120.0-dev.2) (2023-10-14)

### Bug Fixes

* **YouTube - Minimized playback:** Fix pip incorrectly showing if app is minimized immediately after opening a Short ([7d02774](7d02774ea1))
2023-10-14 08:20:25 +00:00
LisoUseInAIKyrios
7d02774ea1 fix(YouTube - Minimized playback): Fix pip incorrectly showing if app is minimized immediately after opening a Short 2023-10-14 11:16:41 +03:00
semantic-release-bot
cc3c9e78b2 chore(release): 0.120.0-dev.1 [skip ci]
# [0.120.0-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.119.3-dev.2...v0.120.0-dev.1) (2023-10-13)

### Features

* **YouTube - Theme:** Disable gradient loading screen ([fd09e46](fd09e46d01))
2023-10-13 23:04:08 +00:00
oSumAtrIX
fd09e46d01 feat(YouTube - Theme): Disable gradient loading screen 2023-10-14 01:00:25 +02:00
semantic-release-bot
d97b390866 chore(release): 0.119.3-dev.2 [skip ci]
## [0.119.3-dev.2](https://github.com/ReVanced/revanced-integrations/compare/v0.119.3-dev.1...v0.119.3-dev.2) (2023-10-13)

### Bug Fixes

* **YouTube - Hide Layout components:** Exempt expandable chips from exceptions ([#498](https://github.com/ReVanced/revanced-integrations/issues/498)) ([6f79746](6f79746d78))
2023-10-13 15:23:09 +00:00
nullptr
6f79746d78 fix(YouTube - Hide Layout components): Exempt expandable chips from exceptions (#498)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-10-13 17:18:42 +02:00
semantic-release-bot
4f50ac6c49 chore(release): 0.119.3-dev.1 [skip ci]
## [0.119.3-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.119.2...v0.119.3-dev.1) (2023-10-13)

### Bug Fixes

* **YouTube - Hide layout components:** Hide new channel watermark component ([9670bd3](9670bd305b))
2023-10-13 15:17:50 +00:00
oSumAtrIX
9670bd305b fix(YouTube - Hide layout components): Hide new channel watermark component 2023-10-13 17:14:04 +02:00
semantic-release-bot
f7e99832fd chore(release): 0.119.2 [skip ci]
## [0.119.2](https://github.com/ReVanced/revanced-integrations/compare/v0.119.1...v0.119.2) (2023-10-12)

### Bug Fixes

* **YouTube - ReturnYouTubeDislike:** Fix dislikes not showing on Shorts ([#495](https://github.com/ReVanced/revanced-integrations/issues/495)) ([9b2add7](9b2add7553))
2023-10-12 21:28:19 +00:00
oSumAtrIX
f4b6d33245 chore: Merge branch dev to main (#496) 2023-10-12 23:24:25 +02:00
semantic-release-bot
b25ab1a0d8 chore(release): 0.119.2-dev.1 [skip ci]
## [0.119.2-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.119.1...v0.119.2-dev.1) (2023-10-12)

### Bug Fixes

* **YouTube - ReturnYouTubeDislike:** Fix dislikes not showing on Shorts ([#495](https://github.com/ReVanced/revanced-integrations/issues/495)) ([9b2add7](9b2add7553))
2023-10-12 09:31:39 +00:00
LisoUseInAIKyrios
9b2add7553 fix(YouTube - ReturnYouTubeDislike): Fix dislikes not showing on Shorts (#495) 2023-10-12 12:27:38 +03:00
semantic-release-bot
dceaf7a1ec chore(release): 0.119.1 [skip ci]
## [0.119.1](https://github.com/ReVanced/revanced-integrations/compare/v0.119.0...v0.119.1) (2023-10-09)

### Bug Fixes

* **YouTube - Hide shorts components:** Do not hide subscribe button outside of Shorts ([1479d6b](1479d6bc26))
2023-10-09 17:02:49 +00:00
oSumAtrIX
49d9bf80f2 chore: Merge branch dev to main (#494) 2023-10-09 18:59:05 +02:00
semantic-release-bot
8a40ca616e chore(release): 0.119.1-dev.1 [skip ci]
## [0.119.1-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.119.0...v0.119.1-dev.1) (2023-10-08)

### Bug Fixes

* **YouTube - Hide shorts components:** Do not hide subscribe button outside of Shorts ([1479d6b](1479d6bc26))
2023-10-08 19:13:01 +00:00
oSumAtrIX
1479d6bc26 fix(YouTube - Hide shorts components): Do not hide subscribe button outside of Shorts 2023-10-08 21:08:29 +02:00
semantic-release-bot
771dd608dc chore(release): 0.119.0 [skip ci]
# [0.119.0](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0...v0.119.0) (2023-10-08)

### Bug Fixes

* **YouTube - Hide shorts components:** Add filter to filter group list ([30788ba](30788ba1a3))
* **YouTube - Hide shorts components:** Do not prevent filtering components ([6eb3017](6eb301776e))
* **YouTube - Hide shorts components:** Hide the subscribe button when paused ([6730aaf](6730aaf2b8))
* **YouTube - ReturnYouTubeDislike:** Do not retry API call if same fetch recently failed ([#493](https://github.com/ReVanced/revanced-integrations/issues/493)) ([486c894](486c894257))

### Features

* **YouTube - Hide shorts components:** Hide subscribe button when paused separately from subscribe button ([3ac869f](3ac869fa6a))
* **YouTube - Return YouTube Dislike:** Support version `18.37.36` ([#490](https://github.com/ReVanced/revanced-integrations/issues/490)) ([245c3b3](245c3b3537))
* **YouTube:** Add `Disable fine scrubbing gesture` patch ([4498f39](4498f39b8c))
2023-10-08 01:48:56 +00:00
oSumAtrIX
92523fe1f7 chore: Merge branch dev to main (#492) 2023-10-08 03:43:41 +02:00
semantic-release-bot
a1477c097c chore(release): 0.119.0-dev.6 [skip ci]
# [0.119.0-dev.6](https://github.com/ReVanced/revanced-integrations/compare/v0.119.0-dev.5...v0.119.0-dev.6) (2023-10-07)

### Bug Fixes

* **YouTube - ReturnYouTubeDislike:** Do not retry API call if same fetch recently failed ([#493](https://github.com/ReVanced/revanced-integrations/issues/493)) ([486c894](486c894257))
2023-10-07 19:09:57 +00:00
LisoUseInAIKyrios
486c894257 fix(YouTube - ReturnYouTubeDislike): Do not retry API call if same fetch recently failed (#493) 2023-10-07 23:06:10 +04:00
semantic-release-bot
78b5fe2128 chore(release): 0.119.0-dev.5 [skip ci]
# [0.119.0-dev.5](https://github.com/ReVanced/revanced-integrations/compare/v0.119.0-dev.4...v0.119.0-dev.5) (2023-10-07)

### Features

* **YouTube - Return YouTube Dislike:** Support version `18.37.36` ([#490](https://github.com/ReVanced/revanced-integrations/issues/490)) ([245c3b3](245c3b3537))
2023-10-07 09:35:05 +00:00
oSumAtrIX
245c3b3537 feat(YouTube - Return YouTube Dislike): Support version 18.37.36 (#490)
Co-authored-by: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com>
2023-10-07 13:31:25 +04:00
semantic-release-bot
d4b859d6fb chore(release): 0.119.0-dev.4 [skip ci]
# [0.119.0-dev.4](https://github.com/ReVanced/revanced-integrations/compare/v0.119.0-dev.3...v0.119.0-dev.4) (2023-10-07)

### Features

* **YouTube:** Add `Disable fine scrubbing gesture` patch ([4498f39](4498f39b8c))
2023-10-07 01:54:40 +00:00
oSumAtrIX
4498f39b8c feat(YouTube): Add Disable fine scrubbing gesture patch 2023-10-07 03:50:41 +02:00
semantic-release-bot
176196b52c chore(release): 0.119.0-dev.3 [skip ci]
# [0.119.0-dev.3](https://github.com/ReVanced/revanced-integrations/compare/v0.119.0-dev.2...v0.119.0-dev.3) (2023-10-06)

### Bug Fixes

* **YouTube - Hide shorts components:** Add filter to filter group list ([30788ba](30788ba1a3))
2023-10-06 10:42:02 +00:00
oSumAtrIX
30788ba1a3 fix(YouTube - Hide shorts components): Add filter to filter group list 2023-10-06 12:38:05 +02:00
semantic-release-bot
1d13cf2d5d chore(release): 0.119.0-dev.2 [skip ci]
# [0.119.0-dev.2](https://github.com/ReVanced/revanced-integrations/compare/v0.119.0-dev.1...v0.119.0-dev.2) (2023-10-06)

### Bug Fixes

* **YouTube - Hide shorts components:** Do not prevent filtering components ([6eb3017](6eb301776e))
2023-10-06 00:40:20 +00:00
oSumAtrIX
6eb301776e fix(YouTube - Hide shorts components): Do not prevent filtering components
Previously, the exceptions group prevented filtering the "Notify me" button and in feed surveys.
2023-10-06 02:36:38 +02:00
semantic-release-bot
ed6571734e chore(release): 0.119.0-dev.1 [skip ci]
# [0.119.0-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.118.1-dev.1...v0.119.0-dev.1) (2023-10-05)

### Features

* **YouTube - Hide shorts components:** Hide subscribe button when paused separately from subscribe button ([3ac869f](3ac869fa6a))
2023-10-05 16:53:23 +00:00
oSumAtrIX
3ac869fa6a feat(YouTube - Hide shorts components): Hide subscribe button when paused separately from subscribe button 2023-10-05 18:48:53 +02:00
semantic-release-bot
d47fd19d0b chore(release): 0.118.1-dev.1 [skip ci]
## [0.118.1-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0...v0.118.1-dev.1) (2023-10-05)

### Bug Fixes

* **YouTube - Hide shorts components:** Hide the subscribe button when paused ([6730aaf](6730aaf2b8))
2023-10-05 02:44:51 +00:00
oSumAtrIX
6730aaf2b8 fix(YouTube - Hide shorts components): Hide the subscribe button when paused 2023-10-05 03:50:05 +02:00
semantic-release-bot
1efd5c8315 chore(release): 0.118.0 [skip ci]
# [0.118.0](https://github.com/ReVanced/revanced-integrations/compare/v0.117.1...v0.118.0) (2023-10-04)

### Bug Fixes

* Do not always hide the component ([3d0fc1d](3d0fc1d610))
* Remove parameter from route ([4b0925e](4b0925e337))
* **YouTube - Client spoof:** Display seekbar thumbnails in high quality ([f71c1a0](f71c1a0c15))
* **YouTube - Client spoof:** Do not record feed videos to history by default ([#478](https://github.com/ReVanced/revanced-integrations/issues/478)) ([ef1cca0](ef1cca02c1))
* **YouTube - Client spoof:** fix occasionally frozen video playback ([#486](https://github.com/ReVanced/revanced-integrations/issues/486)) ([b0b6ff6](b0b6ff6a82))
* **YouTube - Client spoof:** fix storyboard fetched out of order ([#481](https://github.com/ReVanced/revanced-integrations/issues/481)) ([8398774](83987747e6))
* **YouTube - Client spoof:** Fix toast shown for live streams ([#489](https://github.com/ReVanced/revanced-integrations/issues/489)) ([27f49df](27f49dfd1e))
* **YouTube - Client spoof:** fix toast shown if opening paid or age restricted video ([#482](https://github.com/ReVanced/revanced-integrations/issues/482)) ([e72b65b](e72b65b599))
* **YouTube - Client spoof:** Removed unused code ([#480](https://github.com/ReVanced/revanced-integrations/issues/480)) ([e6903bf](e6903bff95))
* **YouTube - Client spoof:** Restore clipping videos functionality ([2cd1738](2cd1738d24))
* **YouTube - Client spoof:** Restore seekbar thumbnails ([978f630](978f630c02))
* **YouTube - Client spoof:** Show seekbar thumbnail for age restricted and paid videos ([01019b0](01019b09c1))
* **YouTube - Custom filter:** Use new lines between components instead of commas ([#475](https://github.com/ReVanced/revanced-integrations/issues/475)) ([17ed396](17ed396739))
* **YouTube - Hide info cards:** Fix info cards not hiding for some users ([#487](https://github.com/ReVanced/revanced-integrations/issues/487)) ([00c4c40](00c4c4025b))
* **YouTube - Hide layout components:** Always hide redundant 'player audio track' button ([#473](https://github.com/ReVanced/revanced-integrations/issues/473)) ([d86851b](d86851baf1))
* **YouTube - Hide layout components:** Do not hide chapters in feed unexpectedly ([bedb02e](bedb02e4f6))
* **YouTube - Hide shorts components:** Hide subscribe button in paused state ([9685070](9685070eda))
* **YouTube - ReturnYouTubeDislike:** Add debug logging to litho text ([#476](https://github.com/ReVanced/revanced-integrations/issues/476)) ([e3b8e8b](e3b8e8be41))
* **YouTube - ReturnYouTubeDislike:** Revert support for 18.37.36 ([#488](https://github.com/ReVanced/revanced-integrations/issues/488)) ([165b061](165b061fa9))
* **YouTube - SponsorBlock:** Adjust import/export UI text ([#491](https://github.com/ReVanced/revanced-integrations/issues/491)) ([4215be4](4215be4250))
* **YouTube - Video Id:** Fix video id not showing the currently playing video ([#484](https://github.com/ReVanced/revanced-integrations/issues/484)) ([da923a3](da923a38a0))
* **YouTube:** fix old quality and custom speed not working on tablets ([#477](https://github.com/ReVanced/revanced-integrations/issues/477)) ([2352fa5](2352fa5426))

### Features

* **TU Dortmund:** Add `Show on lockscreen` patch ([#472](https://github.com/ReVanced/revanced-integrations/issues/472)) ([526d66f](526d66f6a9))
* **Twitch - Block embedded ads:** Switch from `ttv.lol` to `luminous.dev` ([2c34180](2c3418041c))
* **YouTube - Hide layout components:** Disable hiding search result shelf header by default ([b280de3](b280de3195))
* **YouTube - Hide layout components:** Hide "Join" button ([e225468](e2254681cd))
* **YouTube - Hide layout components:** Hide "Notify me" button ([b87d806](b87d806659))
* **YouTube - Hide layout components:** Hide search result shelf header ([93a3045](93a30453d9))
* **YouTube - Hide layout components:** Hide timed reactions ([b472aee](b472aeeed7))
* **YouTube:** Add `Bypass URL redirects` patch ([9109653](91096532ee))
* **YouTube:** Bump compatibility to `18.37.36` ([#483](https://github.com/ReVanced/revanced-integrations/issues/483)) ([5dadb0d](5dadb0d523))

### Performance Improvements

* Only request required fields ([d20b768](d20b768bc2))
* Remove unnecessary api key parameter ([ba5e7d8](ba5e7d870e))
2023-10-04 23:41:56 +00:00
oSumAtrIX
63ddb0b31d chore: Merge branch dev to main (#474) 2023-10-05 01:37:48 +02:00
semantic-release-bot
1a702bce60 chore(release): 0.118.0-dev.24 [skip ci]
# [0.118.0-dev.24](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.23...v0.118.0-dev.24) (2023-10-03)

### Bug Fixes

* **YouTube - Hide layout components:** Do not hide chapters in feed unexpectedly ([bedb02e](bedb02e4f6))
2023-10-03 01:32:28 +00:00
oSumAtrIX
bedb02e4f6 fix(YouTube - Hide layout components): Do not hide chapters in feed unexpectedly 2023-10-03 03:28:28 +02:00
semantic-release-bot
6075c9ed17 chore(release): 0.118.0-dev.23 [skip ci]
# [0.118.0-dev.23](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.22...v0.118.0-dev.23) (2023-10-02)

### Bug Fixes

* **YouTube - SponsorBlock:** Adjust import/export UI text ([#491](https://github.com/ReVanced/revanced-integrations/issues/491)) ([4215be4](4215be4250))
2023-10-02 21:31:31 +00:00
LisoUseInAIKyrios
4215be4250 fix(YouTube - SponsorBlock): Adjust import/export UI text (#491) 2023-10-03 01:27:27 +04:00
semantic-release-bot
a198ef83dd chore(release): 0.118.0-dev.22 [skip ci]
# [0.118.0-dev.22](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.21...v0.118.0-dev.22) (2023-10-02)

### Bug Fixes

* Do not always hide the component ([3d0fc1d](3d0fc1d610))

### Features

* **YouTube - Hide layout components:** Disable hiding search result shelf header by default ([b280de3](b280de3195))
2023-10-02 20:20:31 +00:00
oSumAtrIX
b280de3195 feat(YouTube - Hide layout components): Disable hiding search result shelf header by default
The reason for this is that it also hides Shorts shelves unintentionally.
2023-10-02 22:16:06 +02:00
oSumAtrIX
3d0fc1d610 fix: Do not always hide the component 2023-10-02 22:15:29 +02:00
oSumAtrIX
25f73eb3a9 refactor: Simplify filtering a component 2023-10-02 22:05:31 +02:00
semantic-release-bot
f451d67dcb chore(release): 0.118.0-dev.21 [skip ci]
# [0.118.0-dev.21](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.20...v0.118.0-dev.21) (2023-10-02)

### Features

* **YouTube - Hide layout components:** Hide search result shelf header ([93a3045](93a30453d9))
2023-10-02 14:29:22 +00:00
oSumAtrIX
5185673780 refactor: Move classes to correct path 2023-10-02 16:25:12 +02:00
oSumAtrIX
93a30453d9 feat(YouTube - Hide layout components): Hide search result shelf header 2023-10-02 16:25:11 +02:00
semantic-release-bot
d156951460 chore(release): 0.118.0-dev.20 [skip ci]
# [0.118.0-dev.20](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.19...v0.118.0-dev.20) (2023-10-01)

### Bug Fixes

* **YouTube - Hide shorts components:** Hide subscribe button in paused state ([9685070](9685070eda))
2023-10-01 22:54:38 +00:00
oSumAtrIX
9685070eda fix(YouTube - Hide shorts components): Hide subscribe button in paused state 2023-10-02 00:50:18 +02:00
Temm
1689bf4125 refactor(Tumblr): Use a common filter patch (#479)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-10-01 05:12:00 +02:00
semantic-release-bot
c992289d59 chore(release): 0.118.0-dev.19 [skip ci]
# [0.118.0-dev.19](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.18...v0.118.0-dev.19) (2023-10-01)

### Features

* **YouTube - Hide layout components:** Hide "Join" button ([e225468](e2254681cd))
* **YouTube - Hide layout components:** Hide "Notify me" button ([b87d806](b87d806659))
* **YouTube - Hide layout components:** Hide timed reactions ([b472aee](b472aeeed7))
2023-10-01 03:11:33 +00:00
oSumAtrIX
e2254681cd feat(YouTube - Hide layout components): Hide "Join" button 2023-10-01 05:07:47 +02:00
oSumAtrIX
b87d806659 feat(YouTube - Hide layout components): Hide "Notify me" button 2023-10-01 05:07:47 +02:00
oSumAtrIX
b472aeeed7 feat(YouTube - Hide layout components): Hide timed reactions 2023-10-01 05:07:46 +02:00
semantic-release-bot
7dfa0e4653 chore(release): 0.118.0-dev.18 [skip ci]
# [0.118.0-dev.18](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.17...v0.118.0-dev.18) (2023-09-28)

### Bug Fixes

* **YouTube - ReturnYouTubeDislike:** Revert support for 18.37.36 ([#488](https://github.com/ReVanced/revanced-integrations/issues/488)) ([165b061](165b061fa9))
2023-09-28 13:42:52 +00:00
LisoUseInAIKyrios
165b061fa9 fix(YouTube - ReturnYouTubeDislike): Revert support for 18.37.36 (#488) 2023-09-28 17:39:11 +04:00
semantic-release-bot
78bea48e40 chore(release): 0.118.0-dev.17 [skip ci]
# [0.118.0-dev.17](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.16...v0.118.0-dev.17) (2023-09-28)

### Bug Fixes

* **YouTube - Client spoof:** Fix toast shown for live streams ([#489](https://github.com/ReVanced/revanced-integrations/issues/489)) ([27f49df](27f49dfd1e))
* **YouTube - Video Id:** Fix video id not showing the currently playing video ([#484](https://github.com/ReVanced/revanced-integrations/issues/484)) ([da923a3](da923a38a0))
2023-09-28 13:16:02 +00:00
LisoUseInAIKyrios
27f49dfd1e fix(YouTube - Client spoof): Fix toast shown for live streams (#489) 2023-09-28 17:12:14 +04:00
LisoUseInAIKyrios
da923a38a0 fix(YouTube - Video Id): Fix video id not showing the currently playing video (#484)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-09-28 15:11:54 +02:00
semantic-release-bot
4b256f501b chore(release): 0.118.0-dev.16 [skip ci]
# [0.118.0-dev.16](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.15...v0.118.0-dev.16) (2023-09-28)

### Features

* **YouTube:** Add `Bypass URL redirects` patch ([9109653](91096532ee))
2023-09-28 07:52:02 +00:00
LisoUseInAIKyrios
e7e02e1e30 chore: fix build 2023-09-28 11:48:27 +04:00
nullptr
cc416bc4f6 chore: Log hiding mix playlists (#485)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-09-28 04:49:12 +02:00
oSumAtrIX
91096532ee feat(YouTube): Add Bypass URL redirects patch 2023-09-28 04:47:40 +02:00
semantic-release-bot
444b80026d chore(release): 0.118.0-dev.15 [skip ci]
# [0.118.0-dev.15](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.14...v0.118.0-dev.15) (2023-09-27)

### Features

* **YouTube:** Bump compatibility to `18.37.36` ([#483](https://github.com/ReVanced/revanced-integrations/issues/483)) ([5dadb0d](5dadb0d523))
2023-09-27 23:32:17 +00:00
oSumAtrIX
5dadb0d523 feat(YouTube): Bump compatibility to 18.37.36 (#483)
Co-authored-by: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com>
2023-09-28 01:28:34 +02:00
semantic-release-bot
1e6fabceea chore(release): 0.118.0-dev.14 [skip ci]
# [0.118.0-dev.14](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.13...v0.118.0-dev.14) (2023-09-27)

### Bug Fixes

* **YouTube - Hide info cards:** Fix info cards not hiding for some users ([#487](https://github.com/ReVanced/revanced-integrations/issues/487)) ([00c4c40](00c4c4025b))
2023-09-27 20:24:38 +00:00
LisoUseInAIKyrios
00c4c4025b fix(YouTube - Hide info cards): Fix info cards not hiding for some users (#487) 2023-09-28 00:18:21 +04:00
oSumAtrIX
a01db14c1e ci: Bump checkout action 2023-09-27 18:03:11 +02:00
semantic-release-bot
67ada816d4 chore(release): 0.118.0-dev.13 [skip ci]
# [0.118.0-dev.13](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.12...v0.118.0-dev.13) (2023-09-27)

### Bug Fixes

* **YouTube - Client spoof:** fix occasionally frozen video playback ([#486](https://github.com/ReVanced/revanced-integrations/issues/486)) ([b0b6ff6](b0b6ff6a82))
2023-09-27 14:59:03 +00:00
LisoUseInAIKyrios
b0b6ff6a82 fix(YouTube - Client spoof): fix occasionally frozen video playback (#486) 2023-09-27 18:54:47 +04:00
LisoUseInAIKyrios
ab9989d41f chore(YouTube - Client spoof): add logging. fix fall over logic if android client call fails 2023-09-26 13:05:25 +04:00
semantic-release-bot
09e8b3e345 chore(release): 0.118.0-dev.12 [skip ci]
# [0.118.0-dev.12](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.11...v0.118.0-dev.12) (2023-09-26)

### Bug Fixes

* **YouTube - Client spoof:** Show seekbar thumbnail for age restricted and paid videos ([01019b0](01019b09c1))
2023-09-26 02:53:16 +00:00
oSumAtrIX
01019b09c1 fix(YouTube - Client spoof): Show seekbar thumbnail for age restricted and paid videos 2023-09-26 04:45:48 +02:00
semantic-release-bot
62f92c38c1 chore(release): 0.118.0-dev.11 [skip ci]
# [0.118.0-dev.11](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.10...v0.118.0-dev.11) (2023-09-26)

### Bug Fixes

* **YouTube - Client spoof:** fix toast shown if opening paid or age restricted video ([#482](https://github.com/ReVanced/revanced-integrations/issues/482)) ([e72b65b](e72b65b599))
2023-09-26 01:43:27 +00:00
LisoUseInAIKyrios
e72b65b599 fix(YouTube - Client spoof): fix toast shown if opening paid or age restricted video (#482) 2023-09-26 05:39:44 +04:00
semantic-release-bot
245265587a chore(release): 0.118.0-dev.10 [skip ci]
# [0.118.0-dev.10](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.9...v0.118.0-dev.10) (2023-09-26)

### Bug Fixes

* **YouTube - Client spoof:** fix storyboard fetched out of order ([#481](https://github.com/ReVanced/revanced-integrations/issues/481)) ([8398774](83987747e6))
2023-09-26 01:13:00 +00:00
LisoUseInAIKyrios
83987747e6 fix(YouTube - Client spoof): fix storyboard fetched out of order (#481) 2023-09-26 05:09:01 +04:00
semantic-release-bot
a591c62543 chore(release): 0.118.0-dev.9 [skip ci]
# [0.118.0-dev.9](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.8...v0.118.0-dev.9) (2023-09-25)

### Bug Fixes

* **YouTube - Client spoof:** Removed unused code ([#480](https://github.com/ReVanced/revanced-integrations/issues/480)) ([e6903bf](e6903bff95))
2023-09-25 22:50:24 +00:00
LisoUseInAIKyrios
e6903bff95 fix(YouTube - Client spoof): Removed unused code (#480)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-09-26 00:47:01 +02:00
semantic-release-bot
89993619fd chore(release): 0.118.0-dev.8 [skip ci]
# [0.118.0-dev.8](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.7...v0.118.0-dev.8) (2023-09-25)

### Bug Fixes

* **YouTube - Client spoof:** Display seekbar thumbnails in high quality ([f71c1a0](f71c1a0c15))
2023-09-25 21:55:32 +00:00
oSumAtrIX
f71c1a0c15 fix(YouTube - Client spoof): Display seekbar thumbnails in high quality 2023-09-25 23:51:03 +02:00
semantic-release-bot
b76794b08c chore(release): 0.118.0-dev.7 [skip ci]
# [0.118.0-dev.7](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.6...v0.118.0-dev.7) (2023-09-25)

### Bug Fixes

* Remove parameter from route ([4b0925e](4b0925e337))
2023-09-25 19:52:03 +00:00
oSumAtrIX
4b0925e337 fix: Remove parameter from route 2023-09-25 21:46:20 +02:00
semantic-release-bot
aa0282f300 chore(release): 0.118.0-dev.6 [skip ci]
# [0.118.0-dev.6](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.5...v0.118.0-dev.6) (2023-09-25)

### Performance Improvements

* Only request required fields ([d20b768](d20b768bc2))
* Remove unnecessary api key parameter ([ba5e7d8](ba5e7d870e))
2023-09-25 18:12:35 +00:00
oSumAtrIX
ba5e7d870e perf: Remove unnecessary api key parameter 2023-09-25 19:57:53 +02:00
oSumAtrIX
d20b768bc2 perf: Only request required fields 2023-09-25 19:52:27 +02:00
semantic-release-bot
a113905e5c chore(release): 0.118.0-dev.5 [skip ci]
# [0.118.0-dev.5](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.4...v0.118.0-dev.5) (2023-09-25)

### Bug Fixes

* **YouTube - Client spoof:** Restore clipping videos functionality ([2cd1738](2cd1738d24))
* **YouTube - Client spoof:** Restore seekbar thumbnails ([978f630](978f630c02))
2023-09-25 14:36:47 +00:00
oSumAtrIX
2cd1738d24 fix(YouTube - Client spoof): Restore clipping videos functionality 2023-09-25 16:33:06 +02:00
oSumAtrIX
978f630c02 fix(YouTube - Client spoof): Restore seekbar thumbnails
This works around the issue, but causes seekbar thumbnails to be in low quality.
2023-09-25 16:28:23 +02:00
semantic-release-bot
bfae6b56ab chore(release): 0.118.0-dev.4 [skip ci]
# [0.118.0-dev.4](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.3...v0.118.0-dev.4) (2023-09-23)

### Bug Fixes

* **YouTube - Client spoof:** Do not record feed videos to history by default ([#478](https://github.com/ReVanced/revanced-integrations/issues/478)) ([ef1cca0](ef1cca02c1))
2023-09-23 21:53:51 +00:00
oSumAtrIX
ef1cca02c1 fix(YouTube - Client spoof): Do not record feed videos to history by default (#478) 2023-09-23 23:48:53 +02:00
oSumAtrIX
b193b3dbc1 ci: Use better workflow name and PR message 2023-09-23 18:34:16 +02:00
semantic-release-bot
9272df52f3 chore(release): 0.118.0-dev.3 [skip ci]
# [0.118.0-dev.3](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.2...v0.118.0-dev.3) (2023-09-19)

### Bug Fixes

* **YouTube:** fix old quality and custom speed not working on tablets ([#477](https://github.com/ReVanced/revanced-integrations/issues/477)) ([2352fa5](2352fa5426))
2023-09-19 02:26:25 +00:00
LisoUseInAIKyrios
2352fa5426 fix(YouTube): fix old quality and custom speed not working on tablets (#477) 2023-09-19 06:22:15 +04:00
semantic-release-bot
aa10de41b6 chore(release): 0.118.0-dev.2 [skip ci]
# [0.118.0-dev.2](https://github.com/ReVanced/revanced-integrations/compare/v0.118.0-dev.1...v0.118.0-dev.2) (2023-09-14)

### Features

* **Twitch - Block embedded ads:** Switch from `ttv.lol` to `luminous.dev` ([2c34180](2c3418041c))
2023-09-14 21:26:51 +00:00
oSumAtrIX
2c3418041c feat(Twitch - Block embedded ads): Switch from ttv.lol to luminous.dev 2023-09-14 21:27:33 +02:00
oSumAtrIX
4a242c7a91 refactor: Use try block for auto closeable 2023-09-14 16:57:50 +02:00
semantic-release-bot
7b524efdbd chore(release): 0.118.0-dev.1 [skip ci]
# [0.118.0-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.117.2-dev.3...v0.118.0-dev.1) (2023-09-14)

### Features

* **TU Dortmund:** Add `Show on lockscreen` patch ([#472](https://github.com/ReVanced/revanced-integrations/issues/472)) ([526d66f](526d66f6a9))
2023-09-14 01:15:52 +00:00
Traktores
526d66f6a9 feat(TU Dortmund): Add Show on lockscreen patch (#472)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-09-14 03:11:49 +02:00
semantic-release-bot
f0bfcef0d7 chore(release): 0.117.2-dev.3 [skip ci]
## [0.117.2-dev.3](https://github.com/ReVanced/revanced-integrations/compare/v0.117.2-dev.2...v0.117.2-dev.3) (2023-09-09)

### Bug Fixes

* **YouTube - ReturnYouTubeDislike:** Add debug logging to litho text ([#476](https://github.com/ReVanced/revanced-integrations/issues/476)) ([e3b8e8b](e3b8e8be41))
2023-09-09 08:56:11 +00:00
LisoUseInAIKyrios
e3b8e8be41 fix(YouTube - ReturnYouTubeDislike): Add debug logging to litho text (#476) 2023-09-09 12:52:47 +04:00
semantic-release-bot
acf7e2d1dd chore(release): 0.117.2-dev.2 [skip ci]
## [0.117.2-dev.2](https://github.com/ReVanced/revanced-integrations/compare/v0.117.2-dev.1...v0.117.2-dev.2) (2023-09-07)

### Bug Fixes

* **YouTube - Custom filter:** Use new lines between components instead of commas ([#475](https://github.com/ReVanced/revanced-integrations/issues/475)) ([17ed396](17ed396739))
2023-09-07 20:15:50 +00:00
LisoUseInAIKyrios
17ed396739 fix(YouTube - Custom filter): Use new lines between components instead of commas (#475) 2023-09-08 00:10:38 +04:00
semantic-release-bot
830cfb561f chore(release): 0.117.2-dev.1 [skip ci]
## [0.117.2-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.117.1...v0.117.2-dev.1) (2023-09-07)

### Bug Fixes

* **YouTube - Hide layout components:** Always hide redundant 'player audio track' button ([#473](https://github.com/ReVanced/revanced-integrations/issues/473)) ([d86851b](d86851baf1))
2023-09-07 06:44:50 +00:00
LisoUseInAIKyrios
d86851baf1 fix(YouTube - Hide layout components): Always hide redundant 'player audio track' button (#473) 2023-09-07 10:41:06 +04:00
semantic-release-bot
c034d474ff chore(release): 0.117.1 [skip ci]
## [0.117.1](https://github.com/ReVanced/revanced-integrations/compare/v0.117.0...v0.117.1) (2023-09-03)

### Bug Fixes

* **YouTube - ExternalDownloads:** Trim whitespace from package name ([#469](https://github.com/ReVanced/revanced-integrations/issues/469)) ([61d997e](61d997e1db))
2023-09-03 03:44:54 +00:00
oSumAtrIX
690fec6b5a chore: merge branch dev to main (#470) 2023-09-03 05:41:02 +02:00
semantic-release-bot
20e2ecf199 chore(release): 0.117.1-dev.1 [skip ci]
## [0.117.1-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.117.0...v0.117.1-dev.1) (2023-08-30)

### Bug Fixes

* **YouTube - ExternalDownloads:** Trim whitespace from package name ([#469](https://github.com/ReVanced/revanced-integrations/issues/469)) ([61d997e](61d997e1db))
2023-08-30 21:11:04 +00:00
Autist69420
61d997e1db fix(YouTube - ExternalDownloads): Trim whitespace from package name (#469)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2023-08-30 23:06:47 +02:00
semantic-release-bot
04c81b39e9 chore(release): 0.117.0 [skip ci]
# [0.117.0](https://github.com/ReVanced/revanced-integrations/compare/v0.116.2...v0.117.0) (2023-08-27)

### Features

* Restore previous release ([dc955d1](dc955d1bc2))
2023-08-27 23:57:50 +00:00
oSumAtrIX
b7a176ff3e chore: merge branch dev to main (#468) 2023-08-28 01:53:07 +02:00
semantic-release-bot
1afd520c7b chore(release): 0.117.0-dev.1 [skip ci]
# [0.117.0-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.116.2...v0.117.0-dev.1) (2023-08-27)

### Features

* Restore previous release ([dc955d1](dc955d1bc2))
2023-08-27 20:30:34 +00:00
oSumAtrIX
dc955d1bc2 feat: Restore previous release 2023-08-27 21:41:23 +02:00
semantic-release-bot
f3fc0d1f7d chore(release): 0.116.2 [skip ci]
## [0.116.2](https://github.com/ReVanced/revanced-integrations/compare/v0.116.1...v0.116.2) (2023-08-27)

### Bug Fixes

* Add back missing class ([6e8d13b](6e8d13bfbb))
2023-08-27 03:21:10 +00:00
oSumAtrIX
ca4927e2a9 chore: merge branch dev to main (#467) 2023-08-27 05:17:10 +02:00
oSumAtrIX
6e8d13bfbb fix: Add back missing class 2023-08-27 05:16:07 +02:00
semantic-release-bot
90a7e604d3 chore(release): 0.116.1 [skip ci]
## [0.116.1](https://github.com/ReVanced/revanced-integrations/compare/v0.116.0...v0.116.1) (2023-08-27)

### Bug Fixes

* Revert previous release ([a178a22](a178a223c2))
2023-08-27 02:51:33 +00:00
oSumAtrIX
6801ed8d28 chore: merge branch dev to main (#466) 2023-08-27 04:47:35 +02:00
semantic-release-bot
ba8f4f9b5f chore(release): 0.116.1-dev.1 [skip ci]
## [0.116.1-dev.1](https://github.com/ReVanced/revanced-integrations/compare/v0.116.0...v0.116.1-dev.1) (2023-08-27)

### Bug Fixes

* Revert previous release ([a178a22](a178a223c2))
2023-08-27 02:47:15 +00:00
oSumAtrIX
a178a223c2 fix: Revert previous release 2023-08-27 04:43:10 +02:00
semantic-release-bot
fb3b7b4c80 chore(release): 0.116.0 [skip ci]
# [0.116.0](https://github.com/ReVanced/revanced-integrations/compare/v0.115.1...v0.116.0) (2023-08-26)

### Bug Fixes

* use correct logging tags ([420b926](420b9263b6))
* **YouTube - Hide Shorts components:** Hide `shorts header` ([#455](https://github.com/ReVanced/revanced-integrations/issues/455)) ([13afac9](13afac906a))
* **YouTube - Litho Filter:** Don't remove the buffer until the thread stops ([#461](https://github.com/ReVanced/revanced-integrations/issues/461)) ([2188607](2188607340))
* **YouTube - Player Flyout Menu:** Change 'audio track flyout menu' to show up by default ([#458](https://github.com/ReVanced/revanced-integrations/issues/458)) ([97880ea](97880eaf72))

### Features

* **YouTube - Debug:** Logging of layout proto buffer strings ([#456](https://github.com/ReVanced/revanced-integrations/issues/456)) ([769a200](769a2006ce))
* **YouTube - Hide video action buttons:** Hide individual action buttons ([#451](https://github.com/ReVanced/revanced-integrations/issues/451)) ([8e5ca65](8e5ca65286))
* **YouTube:** Add `Alternative thumbnails` patch ([#462](https://github.com/ReVanced/revanced-integrations/issues/462)) ([d354356](d354356b2d))
* **YouTube:** Add `Custom player overlay opacity` patch ([#449](https://github.com/ReVanced/revanced-integrations/issues/449)) ([44dccb3](44dccb3d65))
* **YouTube:** Add `Enable tablet layout` patch ([d4570de](d4570de0a7))
* **YouTube:** Support version 18.32.39 ([#464](https://github.com/ReVanced/revanced-integrations/issues/464)) ([aa9d892](aa9d892cde))
2023-08-26 23:25:40 +00:00
oSumAtrIX
297d76f176 chore: merge branch dev to main (#457) 2023-08-27 01:21:37 +02:00
semantic-release-bot
acae4b1bc8 chore(release): 0.116.0-dev.10 [skip ci]
# [0.116.0-dev.10](https://github.com/ReVanced/revanced-integrations/compare/v0.116.0-dev.9...v0.116.0-dev.10) (2023-08-26)

### Features

* **YouTube:** Add `Enable tablet layout` patch ([d4570de](d4570de0a7))
2023-08-26 15:14:13 +00:00
oSumAtrIX
d4570de0a7 feat(YouTube): Add Enable tablet layout patch 2023-08-26 17:10:35 +02:00
95 changed files with 15742 additions and 5051 deletions

View File

@@ -1,59 +0,0 @@
name: 🐞 Bug report
description: Report a very clearly broken issue.
title: 'bug: <title>'
labels: [bug]
body:
- type: markdown
attributes:
value: |
# ReVanced bug report
Important to note that your issue may have already been reported before. Please check for existing issues [here](https://github.com/revanced/revanced-integrations/labels/bug).
- type: dropdown
attributes:
label: Type
options:
- Cosmetic
- Other
validations:
required: true
- type: textarea
attributes:
label: Bug description
description: How did you find the bug? Any additional details that might help?
validations:
required: true
- type: textarea
attributes:
label: Steps to reproduce
description: Add the steps to reproduce this bug including your environment.
placeholder: Step 1. Download some files. Step 2. ...
validations:
required: true
- type: textarea
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell
validations:
required: true
- type: textarea
attributes:
label: Screenshots or videos
description: Add screenshots or videos that show the bug here.
placeholder: Drag and drop the screenshots/videos into this box.
validations:
required: false
- type: textarea
attributes:
label: Solution
description: If applicable, add a possible solution.
validations:
required: false
- type: textarea
attributes:
label: Additional context
description: Add additional context here.
validations:
required: false

109
.github/ISSUE_TEMPLATE/bug-report.yml vendored Normal file
View File

@@ -0,0 +1,109 @@
name: 🐞 Bug report
description: Report a bug or an issue.
title: 'bug: '
labels: ['Bug report']
body:
- type: markdown
attributes:
value: |
<p align="center">
<picture>
<source
width="256px"
media="(prefers-color-scheme: dark)"
srcset="https://raw.githubusercontent.com/revanced/revanced-integrations/main/assets/revanced-headline/revanced-headline-vertical-dark.svg"
>
<img
width="256px"
src="https://raw.githubusercontent.com/revanced/revanced-integrations/main/assets/revanced-headline/revanced-headline-vertical-light.svg"
>
</picture>
<br>
<a href="https://revanced.app/">
<picture>
<source height="24px" media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/revanced/revanced-integrations/main/assets/revanced-logo/revanced-logo.svg" />
<img height="24px" src="https://raw.githubusercontent.com/revanced/revanced-integrations/main/assets/revanced-logo/revanced-logo.svg" />
</picture>
</a>&nbsp;&nbsp;&nbsp;
<a href="https://github.com/ReVanced">
<picture>
<source height="24px" media="(prefers-color-scheme: dark)" srcset="https://i.ibb.co/dMMmCrW/Git-Hub-Mark.png" />
<img height="24px" src="https://i.ibb.co/9wV3HGF/Git-Hub-Mark-Light.png" />
</picture>
</a>&nbsp;&nbsp;&nbsp;
<a href="http://revanced.app/discord">
<picture>
<source height="24px" media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/13122796/178032563-d4e084b7-244e-4358-af50-26bde6dd4996.png" />
<img height="24px" src="https://user-images.githubusercontent.com/13122796/178032563-d4e084b7-244e-4358-af50-26bde6dd4996.png" />
</picture>
</a>&nbsp;&nbsp;&nbsp;
<a href="https://reddit.com/r/revancedapp">
<picture>
<source height="24px" media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/13122796/178032351-9d9d5619-8ef7-470a-9eec-2744ece54553.png" />
<img height="24px" src="https://user-images.githubusercontent.com/13122796/178032351-9d9d5619-8ef7-470a-9eec-2744ece54553.png" />
</picture>
</a>&nbsp;&nbsp;&nbsp;
<a href="https://t.me/app_revanced">
<picture>
<source height="24px" media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/13122796/178032213-faf25ab8-0bc3-4a94-a730-b524c96df124.png" />
<img height="24px" src="https://user-images.githubusercontent.com/13122796/178032213-faf25ab8-0bc3-4a94-a730-b524c96df124.png" />
</picture>
</a>&nbsp;&nbsp;&nbsp;
<a href="https://x.com/revancedapp">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/93124920/270180600-7c1b38bf-889b-4d68-bd5e-b9d86f91421a.png">
<img height="24px" src="https://user-images.githubusercontent.com/93124920/270108715-d80743fa-b330-4809-b1e6-79fbdc60d09c.png" />
</picture>
</a>&nbsp;&nbsp;&nbsp;
<a href="https://www.youtube.com/@ReVanced">
<picture>
<source height="24px" media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/13122796/178032714-c51c7492-0666-44ac-99c2-f003a695ab50.png" />
<img height="24px" src="https://user-images.githubusercontent.com/13122796/178032714-c51c7492-0666-44ac-99c2-f003a695ab50.png" />
</picture>
</a>
<br>
<br>
Continuing the legacy of Vanced
</p>
# ReVanced Integrations bug report
Before creating a new bug report, please keep the following in mind:
- **Do not submit a duplicate bug report**: You can review existing bug reports [here](https://github.com/ReVanced/revanced-integrations/labels/Bug%20report).
- **Do not use the issue page for support**: If you need help or have questions, check out other platforms on [revanced.app](https://revanced.app).
- type: textarea
attributes:
label: Bug description
description: |
- Describe your bug in detail
- Add steps to reproduce the bug if possible (Step 1. ... Step 2. ...)
- Add images and videos if possible
- List used patches if applicable
validations:
required: true
- type: textarea
attributes:
label: Error logs
description: Exceptions can be captured by running `logcat | grep AndroidRuntime` in a shell.
render: shell
- type: textarea
attributes:
label: Solution
description: If applicable, add a possible solution to the bug.
- type: textarea
attributes:
label: Additional context
description: Add additional context here.
- type: checkboxes
id: acknowledgements
attributes:
label: Acknowledgements
description: Your bug report will be closed if you don't follow the checklist below.
options:
- label: This issue is not a duplicate of an existing bug report.
required: true
- label: I have chosen an appropriate title.
required: true
- label: All requested information has been provided properly.
required: true

View File

@@ -1,46 +0,0 @@
name: ⭐ Feature request
description: Create a detailed feature request.
title: 'feat: <title>'
labels: [feature-request]
body:
- type: markdown
attributes:
value: |
# ReVanced feature request
Do not submit requests for patches here. Please submit them [here](https://github.com/orgs/revanced/discussions/categories/patches) instead.
Important to note that your feature request may have already been made before. Please check for existing feature requests [here](https://github.com/revanced/revanced-integrations/labels/feature-request).
- type: dropdown
attributes:
label: Type
options:
- Functionality
- Cosmetic
- Other
validations:
required: true
- type: textarea
attributes:
label: Issue
description: What is the current problem. Why does it require a feature request?
validations:
required: true
- type: textarea
attributes:
label: Feature
description: Describe your feature in detail. How does it solve the issue?
validations:
required: true
- type: textarea
attributes:
label: Motivation
description: Why should your feature should be considered?
validations:
required: true
- type: textarea
attributes:
label: Additional context
description: Add additional context here.
validations:
required: false

View File

@@ -0,0 +1,105 @@
name: ⭐ Feature request
description: Create a detailed request for a new feature.
title: 'feat: '
labels: ['Feature request']
body:
- type: markdown
attributes:
value: |
<p align="center">
<picture>
<source
width="256px"
media="(prefers-color-scheme: dark)"
srcset="https://raw.githubusercontent.com/revanced/revanced-integrations/main/assets/revanced-headline/revanced-headline-vertical-dark.svg"
>
<img
width="256px"
src="https://raw.githubusercontent.com/revanced/revanced-integrations/main/assets/revanced-headline/revanced-headline-vertical-light.svg"
>
</picture>
<br>
<a href="https://revanced.app/">
<picture>
<source height="24px" media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/revanced/revanced-integrations/main/assets/revanced-logo/revanced-logo.svg" />
<img height="24px" src="https://raw.githubusercontent.com/revanced/revanced-integrations/main/assets/revanced-logo/revanced-logo.svg" />
</picture>
</a>&nbsp;&nbsp;&nbsp;
<a href="https://github.com/ReVanced">
<picture>
<source height="24px" media="(prefers-color-scheme: dark)" srcset="https://i.ibb.co/dMMmCrW/Git-Hub-Mark.png" />
<img height="24px" src="https://i.ibb.co/9wV3HGF/Git-Hub-Mark-Light.png" />
</picture>
</a>&nbsp;&nbsp;&nbsp;
<a href="http://revanced.app/discord">
<picture>
<source height="24px" media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/13122796/178032563-d4e084b7-244e-4358-af50-26bde6dd4996.png" />
<img height="24px" src="https://user-images.githubusercontent.com/13122796/178032563-d4e084b7-244e-4358-af50-26bde6dd4996.png" />
</picture>
</a>&nbsp;&nbsp;&nbsp;
<a href="https://reddit.com/r/revancedapp">
<picture>
<source height="24px" media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/13122796/178032351-9d9d5619-8ef7-470a-9eec-2744ece54553.png" />
<img height="24px" src="https://user-images.githubusercontent.com/13122796/178032351-9d9d5619-8ef7-470a-9eec-2744ece54553.png" />
</picture>
</a>&nbsp;&nbsp;&nbsp;
<a href="https://t.me/app_revanced">
<picture>
<source height="24px" media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/13122796/178032213-faf25ab8-0bc3-4a94-a730-b524c96df124.png" />
<img height="24px" src="https://user-images.githubusercontent.com/13122796/178032213-faf25ab8-0bc3-4a94-a730-b524c96df124.png" />
</picture>
</a>&nbsp;&nbsp;&nbsp;
<a href="https://x.com/revancedapp">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/93124920/270180600-7c1b38bf-889b-4d68-bd5e-b9d86f91421a.png">
<img height="24px" src="https://user-images.githubusercontent.com/93124920/270108715-d80743fa-b330-4809-b1e6-79fbdc60d09c.png" />
</picture>
</a>&nbsp;&nbsp;&nbsp;
<a href="https://www.youtube.com/@ReVanced">
<picture>
<source height="24px" media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/13122796/178032714-c51c7492-0666-44ac-99c2-f003a695ab50.png" />
<img height="24px" src="https://user-images.githubusercontent.com/13122796/178032714-c51c7492-0666-44ac-99c2-f003a695ab50.png" />
</picture>
</a>
<br>
<br>
Continuing the legacy of Vanced
</p>
# ReVanced Integrations feature request
Before creating a new feature request, please keep the following in mind:
- **Do not submit a duplicate feature request**: You can review existing feature requests [here](https://github.com/ReVanced/revanced-integrations/labels/Feature%20request).
- **Do not use the issue page for support**: If you need help or have questions, check out other platforms on [revanced.app](https://revanced.app).
- type: textarea
attributes:
label: Feature description
description: |
- Describe your feature in detail
- Add images, videos, links, examples, references, etc. if possible
- Add the target application name in case you request a new patch
- type: textarea
attributes:
label: Motivation
description: |
A strong motivation is necessary for a feature request to be considered.
- Why should this feature be implemented?
- What is the explicit use case?
- What are the benefits?
- What makes this feature important?
validations:
required: true
- type: checkboxes
id: acknowledgements
attributes:
label: Acknowledgements
description: Your feature request will be closed if you don't follow the checklist below.
options:
- label: This issue is not a duplicate of an existing feature request.
required: true
- label: I have chosen an appropriate title.
required: true
- label: All requested information has been provided properly.
required: true

2
.github/config.yml vendored
View File

@@ -1,2 +1,2 @@
firstPRMergeComment: >
Thank you for contributing to ReVanced. Join us on [Discord](https://revanced.app/discord) if you want to receive a contributor role.
Thank you for contributing to ReVanced. Join us on [Discord](https://revanced.app/discord) to receive a role for your contribution.

View File

@@ -1,4 +1,4 @@
name: PR to main
name: Open a PR to main
on:
push:
@@ -7,7 +7,7 @@ on:
workflow_dispatch:
env:
MESSAGE: merge branch `${{ github.head_ref || github.ref_name }}` to `main`
MESSAGE: Merge branch `${{ github.head_ref || github.ref_name }}` to `main`
jobs:
pull-request:
@@ -15,7 +15,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Open pull request
uses: repo-sync/pull-request@v2
with:

View File

@@ -17,29 +17,34 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
# Make sure the release step uses its own credentials:
# https://github.com/cycjimmy/semantic-release-action#private-packages
persist-credentials: false
fetch-depth: 0
- name: Cache
- name: Cache Node modules
uses: actions/cache@v3
with:
path: |
${{ runner.home }}/.gradle/caches
${{ runner.home }}/.gradle/wrapper
.gradle
node_modules
key: ${{ runner.os }}-gradle-npm-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', 'package-lock.json') }}
key: npm-${{ hashFiles('package-lock.json') }}
- name: Cache Gradle
uses: burrunan/gradle-cache-action@v1
- name: Setup Java
run: echo "JAVA_HOME=$JAVA_HOME_17_X64" >> $GITHUB_ENV
- name: Build with Gradle
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./gradlew build clean
- name: Setup semantic-release
run: npm install
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.REPOSITORY_PUSH_ACCESS }}

1
.gitignore vendored
View File

@@ -14,3 +14,4 @@
/.idea
/.vscode
/*.log
node_modules

File diff suppressed because it is too large Load Diff

View File

@@ -42,7 +42,7 @@ android {
dependencies {
compileOnly(project(mapOf("path" to ":dummy")))
compileOnly("androidx.annotation:annotation:1.6.0")
compileOnly("androidx.annotation:annotation:1.7.0")
compileOnly("androidx.appcompat:appcompat:1.7.0-alpha03")
compileOnly("com.squareup.okhttp3:okhttp:5.0.0-alpha.11")
compileOnly("com.squareup.retrofit2:retrofit:2.9.0")

View File

@@ -5,6 +5,10 @@ import android.view.WindowManager;
public class RemoveScreenshotRestrictionPatch {
public static void addFlags(Window window, int flags) {
window.addFlags(flags & ~WindowManager.LayoutParams.FLAG_SECURE);
}
public static void setFlags(Window window, int flags, int mask) {
window.setFlags(flags & ~WindowManager.LayoutParams.FLAG_SECURE, mask & ~WindowManager.LayoutParams.FLAG_SECURE);
}

View File

@@ -1,11 +0,0 @@
package app.revanced.integrations.patches;
import app.revanced.integrations.settings.SettingsEnum;
public class BrandingWaterMarkPatch {
// Used by: app.revanced.patches.youtube.layout.watermark.patch.HideWatermarkPatch
public static boolean isBrandingWatermarkShown() {
return SettingsEnum.HIDE_VIDEO_WATERMARK.getBoolean() == false;
}
}

View File

@@ -0,0 +1,29 @@
package app.revanced.integrations.patches;
import android.net.Uri;
import app.revanced.integrations.settings.SettingsEnum;
import app.revanced.integrations.utils.LogHelper;
public class BypassURLRedirectsPatch {
private static final String YOUTUBE_REDIRECT_PATH = "/redirect";
/**
* Convert the YouTube redirect URI string to the redirect query URI.
*
* @param uri The YouTube redirect URI string.
* @return The redirect query URI.
*/
public static Uri parseRedirectUri(String uri) {
final var parsed = Uri.parse(uri);
if (SettingsEnum.BYPASS_URL_REDIRECTS.getBoolean() && parsed.getPath().equals(YOUTUBE_REDIRECT_PATH)) {
var query = Uri.parse(Uri.decode(parsed.getQueryParameter("q")));
LogHelper.printDebug(() -> "Bypassing YouTube redirect URI: " + query);
return query;
}
return parsed;
}
}

View File

@@ -0,0 +1,10 @@
package app.revanced.integrations.patches;
import app.revanced.integrations.settings.SettingsEnum;
/** @noinspection unused*/
public final class DisableFullscreenAmbientModePatch {
public static boolean enableFullScreenAmbientMode() {
return !SettingsEnum.DISABLE_FULLSCREEN_AMBIENT_MODE.getBoolean();
}
}

View File

@@ -0,0 +1,18 @@
package app.revanced.integrations.patches;
import android.view.MotionEvent;
import android.view.VelocityTracker;
import app.revanced.integrations.settings.SettingsEnum;
public final class DisablePreciseSeekingGesturePatch {
/**
* Disables the gesture that is used to seek precisely.
* @param tracker The velocity tracker that is used to determine the gesture.
* @param event The motion event that is used to determine the gesture.
*/
public static void disableGesture(VelocityTracker tracker, MotionEvent event) {
if (SettingsEnum.DISABLE_PRECISE_SEEKING_GESTURE.getBoolean()) return;
tracker.addMovement(event);
}
}

View File

@@ -0,0 +1,14 @@
package app.revanced.integrations.patches;
import app.revanced.integrations.settings.SettingsEnum;
/** @noinspection unused*/
public class DisableResumingStartupShortsPlayerPatch {
/**
* Injection point.
*/
public static boolean disableResumingStartupShortsPlayer() {
return SettingsEnum.DISABLE_RESUMING_SHORTS_PLAYER.getBoolean();
}
}

View File

@@ -0,0 +1,12 @@
package app.revanced.integrations.patches;
import app.revanced.integrations.settings.SettingsEnum;
public class DisableRollingNumberAnimationsPatch {
/**
* Injection point.
*/
public static boolean disableRollingNumberAnimations() {
return SettingsEnum.DISABLE_ROLLING_NUMBER_ANIMATIONS.getBoolean();
}
}

View File

@@ -1,10 +0,0 @@
package app.revanced.integrations.patches;
import app.revanced.integrations.settings.SettingsEnum;
public class DisableStartupShortsPlayerPatch {
//Used by app.revanced.patches.youtube.layout.startupshortsreset.patch.DisableShortsOnStartupPatch
public static boolean disableStartupShortsPlayer() {
return SettingsEnum.DISABLE_RESUMING_SHORTS_PLAYER.getBoolean();
}
}

View File

@@ -0,0 +1,30 @@
package app.revanced.integrations.patches;
import android.annotation.SuppressLint;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import app.revanced.integrations.settings.SettingsEnum;
/** @noinspection unused*/
public final class DisableSuggestedVideoEndScreenPatch {
@SuppressLint("StaticFieldLeak")
private static View lastView;
public static void closeEndScreen(final ImageView imageView) {
if (!SettingsEnum.DISABLE_SUGGESTED_VIDEO_END_SCREEN.getBoolean()) return;
// Get a parent view which can be listened to for layout changes.
final var parent = imageView.getParent().getParent();
// Prevent adding the listener multiple times.
if (lastView == parent) return;
lastView = (ViewGroup)parent;
lastView.addOnLayoutChangeListener((v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> {
// Disable sound effects to prevent the click sound.
imageView.setSoundEffectsEnabled(false);
imageView.performClick();
});
}
}

View File

@@ -0,0 +1,9 @@
package app.revanced.integrations.patches;
import app.revanced.integrations.settings.SettingsEnum;
public final class EnableTabletLayoutPatch {
public static boolean enableTabletLayout() {
return SettingsEnum.TABLET_LAYOUT.getBoolean();
}
}

View File

@@ -0,0 +1,74 @@
package app.revanced.integrations.patches;
import android.app.SearchManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import androidx.annotation.RequiresApi;
import app.revanced.integrations.utils.LogHelper;
import app.revanced.integrations.utils.ReVancedUtils;
import java.util.Objects;
import static app.revanced.integrations.utils.StringRef.str;
/**
* @noinspection unused
*/
public class GmsCoreSupport {
private static final String GMS_CORE_PACKAGE_NAME
= getGmsCoreVendor() + ".android.gms";
private static final String DONT_KILL_MY_APP_LINK
= "https://dontkillmyapp.com";
private static final Uri GMS_CORE_PROVIDER
= Uri.parse("content://" + getGmsCoreVendor() + ".android.gsf.gservices/prefix");
private static void search(Context context, String uriString, String message) {
ReVancedUtils.showToastLong(message);
var intent = new Intent(Intent.ACTION_WEB_SEARCH);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(SearchManager.QUERY, uriString);
context.startActivity(intent);
}
@RequiresApi(api = Build.VERSION_CODES.N)
public static void checkAvailability() {
var context = Objects.requireNonNull(ReVancedUtils.getContext());
try {
context.getPackageManager().getPackageInfo(GMS_CORE_PACKAGE_NAME, PackageManager.GET_ACTIVITIES);
} catch (PackageManager.NameNotFoundException exception) {
LogHelper.printInfo(() -> "GmsCore was not found", exception);
search(context, getGmsCoreDownloadLink(), str("gms_core_not_installed_warning"));
// Gracefully exit the app, so it does not crash.
System.exit(0);
}
try (var client = context.getContentResolver().acquireContentProviderClient(GMS_CORE_PROVIDER)) {
if (client != null) return;
LogHelper.printInfo(() -> "GmsCore is not running in the background");
search(context, DONT_KILL_MY_APP_LINK, str("gms_core_not_running_warning"));
}
}
private static String getGmsCoreDownloadLink() {
final var vendor = getGmsCoreVendor();
switch (vendor) {
case "com.mgoogle":
return "https://github.com/TeamVanced/VancedMicroG/releases/latest";
case "app.revanced":
return "https://github.com/revanced/gmscore/releases/latest";
default:
return vendor + ".android.gms";
}
}
// Modified by a patch. Do not touch.
private static String getGmsCoreVendor() {
return "app.revanced";
}
}

View File

@@ -2,28 +2,27 @@ package app.revanced.integrations.patches;
import android.view.View;
import app.revanced.integrations.patches.spoof.SpoofAppVersionPatch;
import app.revanced.integrations.settings.SettingsEnum;
import app.revanced.integrations.utils.ReVancedUtils;
public class HideBreakingNewsPatch {
/**
* When spoofing to app versions older than 17.30.35, the watch history preview bar uses
* When spoofing to app versions 17.31.00 and older, the watch history preview bar uses
* the same layout components as the breaking news shelf.
*
* Breaking news does not appear to be present in these older versions anyways.
*/
private static boolean isSpoofingOldVersionWithHorizontalCardListWatchHistory() {
return SettingsEnum.SPOOF_APP_VERSION.getBoolean()
&& SettingsEnum.SPOOF_APP_VERSION_TARGET.getString().compareTo("17.30.35") < 0;
}
private static final boolean isSpoofingOldVersionWithHorizontalCardListWatchHistory =
SpoofAppVersionPatch.isSpoofingToEqualOrLessThan("17.31.00");
/**
* Injection point.
*/
public static void hideBreakingNews(View view) {
if (!SettingsEnum.HIDE_BREAKING_NEWS.getBoolean()
|| isSpoofingOldVersionWithHorizontalCardListWatchHistory()) return;
|| isSpoofingOldVersionWithHorizontalCardListWatchHistory) return;
ReVancedUtils.hideViewByLayoutParams(view);
}
}

View File

@@ -1,53 +0,0 @@
package app.revanced.integrations.patches;
import static app.revanced.integrations.utils.StringRef.str;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import java.util.Objects;
import app.revanced.integrations.utils.LogHelper;
import app.revanced.integrations.utils.ReVancedUtils;
public class MicroGSupport {
private static final String MICROG_VENDOR = "com.mgoogle";
private static final String MICROG_PACKAGE_NAME = MICROG_VENDOR + ".android.gms";
private static final String VANCED_MICROG_DOWNLOAD_LINK = "https://github.com/TeamVanced/VancedMicroG/releases/latest";
private static final String DONT_KILL_MY_APP_LINK = "https://dontkillmyapp.com";
private static final Uri VANCED_MICROG_PROVIDER = Uri.parse("content://" + MICROG_VENDOR + ".android.gsf.gservices/prefix");
private static void startIntent(Context context, String uriString, String message) {
ReVancedUtils.showToastLong(message);
var intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(Uri.parse(uriString));
context.startActivity(intent);
}
@TargetApi(26)
public static void checkAvailability() {
var context = Objects.requireNonNull(ReVancedUtils.getContext());
try {
context.getPackageManager().getPackageInfo(MICROG_PACKAGE_NAME, PackageManager.GET_ACTIVITIES);
} catch (PackageManager.NameNotFoundException exception) {
LogHelper.printInfo(() -> "Vanced MicroG was not found", exception);
startIntent(context, VANCED_MICROG_DOWNLOAD_LINK, str("microg_not_installed_warning"));
// Gracefully exit the app, so it does not crash.
System.exit(0);
}
try (var client = context.getContentResolver().acquireContentProviderClient(VANCED_MICROG_PROVIDER)) {
if (client != null) return;
LogHelper.printInfo(() -> "Vanced MicroG is not running in the background");
startIntent(context, DONT_KILL_MY_APP_LINK, str("microg_not_running_warning"));
}
}
}

View File

@@ -2,12 +2,39 @@ package app.revanced.integrations.patches;
import app.revanced.integrations.shared.PlayerType;
@SuppressWarnings("unused")
public class MinimizedPlaybackPatch {
public static boolean isPlaybackNotShort() {
return !PlayerType.getCurrent().isNoneOrHidden();
/**
* Injection point.
*/
public static boolean playbackIsNotShort() {
// Steps to verify most edge cases:
// 1. Open a regular video
// 2. Minimize app (PIP should appear)
// 3. Reopen app
// 4. Open a Short (without closing the regular video)
// (try opening both Shorts in the video player suggestions AND Shorts from the home feed)
// 5. Minimize the app (PIP should not appear)
// 6. Reopen app
// 7. Close the Short
// 8. Resume playing the regular video
// 9. Minimize the app (PIP should appear)
if (!VideoInformation.lastVideoIdIsShort()) {
return true; // Definitely is not a Short.
}
// Might be a Short, or might be a prior regular video on screen again after a Short was closed.
// This incorrectly prevents PIP if player is in WATCH_WHILE_MINIMIZED after closing a Short,
// But there's no way around this unless an additional hook is added to definitively detect
// the Shorts player is on screen. This use case is unusual anyways so it's not a huge concern.
return !PlayerType.getCurrent().isNoneHiddenOrMinimized();
}
/**
* Injection point.
*/
public static boolean overrideMinimizedPlaybackAvailable() {
// This could be done entirely in the patch,
// but having a unique method to search for makes manually inspecting the patched apk much easier.

View File

@@ -0,0 +1,16 @@
package app.revanced.integrations.patches;
import app.revanced.integrations.settings.SettingsEnum;
public final class RemoveTrackingQueryParameterPatch {
private static final String NEW_TRACKING_PARAMETER_REGEX = ".si=.+";
private static final String OLD_TRACKING_PARAMETER_REGEX = ".feature=.+";
public static String sanitize(String url) {
if (!SettingsEnum.REMOVE_TRACKING_QUERY_PARAMETER.getBoolean()) return url;
return url
.replaceAll(NEW_TRACKING_PARAMETER_REGEX, "")
.replaceAll(OLD_TRACKING_PARAMETER_REGEX, "");
}
}

View File

@@ -0,0 +1,10 @@
package app.revanced.integrations.patches;
import app.revanced.integrations.settings.SettingsEnum;
@SuppressWarnings("unused")
public final class RestoreOldSeekbarThumbnailsPatch {
public static boolean useFullscreenSeekbarThumbnails() {
return !SettingsEnum.RESTORE_OLD_SEEKBAR_THUMBNAILS.getBoolean();
}
}

View File

@@ -0,0 +1,9 @@
package app.revanced.integrations.patches;
import app.revanced.integrations.settings.SettingsEnum;
public final class SlideToSeekPatch {
public static boolean isSlideToSeekDisabled() {
return !SettingsEnum.SLIDE_TO_SEEK.getBoolean();
}
}

View File

@@ -1,13 +0,0 @@
package app.revanced.integrations.patches;
import app.revanced.integrations.settings.SettingsEnum;
public class SpoofAppVersionPatch {
public static String getYouTubeVersionOverride(String version) {
if (SettingsEnum.SPOOF_APP_VERSION.getBoolean()) {
return SettingsEnum.SPOOF_APP_VERSION_TARGET.getString();
}
return version;
}
}

View File

@@ -1,95 +0,0 @@
package app.revanced.integrations.patches;
import static app.revanced.integrations.utils.ReVancedUtils.containsAny;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import app.revanced.integrations.settings.SettingsEnum;
import app.revanced.integrations.shared.PlayerType;
import app.revanced.integrations.utils.LogHelper;
public class SpoofSignatureVerificationPatch {
/**
* Enable/disable all workarounds that are required due to signature spoofing.
*/
private static final boolean WORKAROUND = true;
/**
* Protobuf parameters used for autoplay in scrim.
* Prepend this parameter to mute video playback (for autoplay in feed)
*/
private static final String PROTOBUF_PARAMETER_SCRIM = "SAFgAXgB";
/**
* Protobuf parameter also used by
* <a href="https://github.com/yt-dlp/yt-dlp/blob/81ca451480051d7ce1a31c017e005358345a9149/yt_dlp/extractor/youtube.py#L3602">yt-dlp</a>
* <br>
* Known issue: captions are positioned on upper area in the player.
*/
private static final String PROTOBUF_PLAYER_PARAMS = "CgIQBg==";
/**
* Target Protobuf parameters.
*/
private static final String[] PROTOBUF_PARAMETER_TARGETS = {
"YAHI", // Autoplay in feed
"SAFg" // Autoplay in scrim
};
/**
* Injection point.
*
* @param originalValue originalValue protobuf parameter
*/
public static String overrideProtobufParameter(String originalValue) {
try {
if (!SettingsEnum.SPOOF_SIGNATURE_VERIFICATION.getBoolean()) {
return originalValue;
}
LogHelper.printDebug(() -> "Original protobuf parameter value: " + originalValue);
if (!WORKAROUND) return PROTOBUF_PLAYER_PARAMS;
var isPlayingVideo = originalValue.contains(PROTOBUF_PLAYER_PARAMS);
if (isPlayingVideo) return originalValue;
boolean isPlayingFeed = containsAny(originalValue, PROTOBUF_PARAMETER_TARGETS) && PlayerType.getCurrent() == PlayerType.INLINE_MINIMAL;
if (isPlayingFeed) {
// Videos in feed won't autoplay with sound.
return PROTOBUF_PARAMETER_SCRIM + PROTOBUF_PLAYER_PARAMS;
} else {
// Spoof the parameter to prevent playback issues.
return PROTOBUF_PLAYER_PARAMS;
}
} catch (Exception ex) {
LogHelper.printException(() -> "overrideProtobufParameter failure", ex);
}
return originalValue;
}
/**
* Injection point.
*/
public static boolean getSeekbarThumbnailOverrideValue() {
return SettingsEnum.SPOOF_SIGNATURE_VERIFICATION.getBoolean();
}
/**
* Injection point.
*
* @param view seekbar thumbnail view. Includes both shorts and regular videos.
*/
public static void seekbarImageViewCreated(ImageView view) {
if (SettingsEnum.SPOOF_SIGNATURE_VERIFICATION.getBoolean()) {
view.setVisibility(View.GONE);
// Also hide the border around the thumbnail (otherwise a 1 pixel wide bordered frame is visible).
ViewGroup parentLayout = (ViewGroup) view.getParent();
parentLayout.setPadding(0, 0, 0, 0);
}
}
}

View File

@@ -1,22 +1,26 @@
package app.revanced.integrations.patches;
import androidx.annotation.NonNull;
import java.lang.ref.WeakReference;
import java.lang.reflect.Method;
import java.util.Objects;
import app.revanced.integrations.patches.playback.speed.RememberPlaybackSpeedPatch;
import app.revanced.integrations.shared.VideoState;
import app.revanced.integrations.utils.LogHelper;
import app.revanced.integrations.utils.ReVancedUtils;
import java.lang.ref.WeakReference;
import java.lang.reflect.Method;
import java.util.Objects;
/**
* Hooking class for the current playing video.
* @noinspection unused
*/
public final class VideoInformation {
private static final float DEFAULT_YOUTUBE_PLAYBACK_SPEED = 1.0f;
private static final String SEEK_METHOD_NAME = "seekTo";
/**
* Prefix present in all Short player parameters signature.
*/
private static final String SHORTS_PLAYER_PARAMETERS = "8AEB";
private static WeakReference<Object> playerControllerRef;
private static Method seekMethod;
@@ -25,6 +29,11 @@ public final class VideoInformation {
private static String videoId = "";
private static long videoLength = 0;
private static long videoTime = -1;
@NonNull
private static volatile String playerResponseVideoId = "";
private static volatile boolean videoIdIsShort;
/**
* The current playback speed
*/
@@ -61,6 +70,39 @@ public final class VideoInformation {
}
}
/**
* @return If the player parameters are for a Short.
*/
public static boolean playerParametersAreShort(@NonNull String parameters) {
return parameters.startsWith(SHORTS_PLAYER_PARAMETERS);
}
/**
* Injection point.
*/
public static String newPlayerResponseSignature(@NonNull String signature, boolean isShortAndOpeningOrPlaying) {
final boolean isShort = playerParametersAreShort(signature);
if (!isShort || isShortAndOpeningOrPlaying) {
if (videoIdIsShort != isShort) {
videoIdIsShort = isShort;
LogHelper.printDebug(() -> "videoIdIsShort: " + isShort);
}
}
return signature; // Return the original value since we are observing and not modifying.
}
/**
* Injection point. Called off the main thread.
*
* @param videoId The id of the last video loaded.
*/
public static void setPlayerResponseVideoId(@NonNull String videoId, boolean isShortAndOpeningOrPlaying) {
if (!playerResponseVideoId.equals(videoId)) {
LogHelper.printDebug(() -> "New player response video id: " + videoId);
playerResponseVideoId = videoId;
}
}
/**
* Injection point.
* Called when user selects a playback speed.
@@ -74,7 +116,7 @@ public final class VideoInformation {
/**
* Overrides the current playback speed.
*
* <p>
* <b> Used exclusively by {@link RememberPlaybackSpeedPatch} </b>
*/
public static void overridePlaybackSpeed(float speedOverride) {
@@ -109,38 +151,71 @@ public final class VideoInformation {
/**
* Seek on the current video.
* Does not function for playback of Shorts.
*
* <p>
* Caution: If called from a videoTimeHook() callback,
* this will cause a recursive call into the same videoTimeHook() callback.
*
* @param millisecond The millisecond to seek the video to.
* @return if the seek was successful
* @return true if the seek was successful.
*/
public static boolean seekTo(final long millisecond) {
final long videoLength = getVideoLength();
// Prevent issues such as play/ pause button or autoplay not working.
final long seekToMilliseconds = Math.min(millisecond, VideoInformation.getVideoLength() - 250);
ReVancedUtils.verifyOnMainThread();
try {
LogHelper.printDebug(() -> "Seeking to " + millisecond);
return (Boolean) seekMethod.invoke(playerControllerRef.get(), millisecond);
LogHelper.printDebug(() -> "Seeking to " + seekToMilliseconds);
//noinspection DataFlowIssue
return (Boolean) seekMethod.invoke(playerControllerRef.get(), seekToMilliseconds);
} catch (Exception ex) {
LogHelper.printException(() -> "Failed to seek", ex);
return false;
}
}
/** @noinspection UnusedReturnValue*/
public static boolean seekToRelative(long millisecondsRelative) {
return seekTo(videoTime + millisecondsRelative);
}
/**
* Id of the current video playing. Includes Shorts.
* Id of the last video opened. Includes Shorts.
*
* @return The id of the video. Empty string if not set yet.
* @return The id of the video, or an empty string if no videos have been opened yet.
*/
@NonNull
public static String getVideoId() {
return videoId;
}
/**
* Differs from {@link #videoId} as this is the video id for the
* last player response received, which may not be the last video opened.
* <p>
* If Shorts are loading the background, this commonly will be
* different from the Short that is currently on screen.
* <p>
* For most use cases, you should instead use {@link #getVideoId()}.
*
* @return The id of the last video loaded, or an empty string if no videos have been loaded yet.
*/
@NonNull
public static String getPlayerResponseVideoId() {
return playerResponseVideoId;
}
/**
* @return If the last player response video id _that was opened_ was a Short.
* <p>
* Note: This value returned may not match the status of {@link #getPlayerResponseVideoId()}
* since that includes player responses for videos not opened.
*/
public static boolean lastVideoIdIsShort() {
return videoIdIsShort;
}
/**
* @return The current playback speed.
*/
@@ -161,9 +236,9 @@ public final class VideoInformation {
/**
* Playback time of the current video playing. Includes Shorts.
*
* <p>
* Value will lag behind the actual playback time by a variable amount based on the playback speed.
*
* <p>
* If playback speed is 2.0x, this value may be up to 2000ms behind the actual playback time.
* If playback speed is 1.0x, this value may be up to 1000ms behind the actual playback time.
* If playback speed is 0.5x, this value may be up to 500ms behind the actual playback time.
@@ -177,12 +252,12 @@ public final class VideoInformation {
/**
* @return If the playback is at the end of the video.
*
* <p>
* If video is playing in the background with no video visible,
* this always returns false (even if the video is actually at the end).
*
* <p>
* This is equivalent to checking for {@link VideoState#ENDED},
* but can give a more up to date result for code calling from some hooks.
* but can give a more up-to-date result for code calling from some hooks.
*
* @see VideoState
*/

View File

@@ -0,0 +1,151 @@
package app.revanced.integrations.patches.announcements;
import android.app.Activity;
import android.os.Build;
import android.text.Html;
import android.text.method.LinkMovementMethod;
import android.widget.TextView;
import androidx.annotation.RequiresApi;
import app.revanced.integrations.patches.announcements.requests.AnnouncementsRoutes;
import app.revanced.integrations.requests.Requester;
import app.revanced.integrations.settings.SettingsEnum;
import app.revanced.integrations.utils.LogHelper;
import app.revanced.integrations.utils.ReVancedUtils;
import org.json.JSONObject;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.util.UUID;
import static android.text.Html.FROM_HTML_MODE_COMPACT;
import static app.revanced.integrations.patches.announcements.requests.AnnouncementsRoutes.GET_LATEST_ANNOUNCEMENT;
public final class AnnouncementsPatch {
private final static String CONSUMER = getOrSetConsumer();
private AnnouncementsPatch() {
}
@RequiresApi(api = Build.VERSION_CODES.O)
public static void showAnnouncement(final Activity context) {
if (!SettingsEnum.ANNOUNCEMENTS.getBoolean()) return;
ReVancedUtils.runOnBackgroundThread(() -> {
try {
HttpURLConnection connection = AnnouncementsRoutes.getAnnouncementsConnectionFromRoute(GET_LATEST_ANNOUNCEMENT, CONSUMER);
LogHelper.printDebug(() -> "Get latest announcement route connection url: " + connection.getURL().toString());
try {
// Do not show the announcement if the request failed.
if (connection.getResponseCode() != 200) {
if (SettingsEnum.ANNOUNCEMENT_LAST_HASH.getString().isEmpty()) return;
SettingsEnum.ANNOUNCEMENT_LAST_HASH.saveValue("");
ReVancedUtils.showToastLong("Failed to get announcement");
return;
}
} catch (IOException ex) {
final var message = "Failed connecting to announcements provider";
LogHelper.printException(() -> message, ex);
return;
}
var jsonString = Requester.parseInputStreamAndClose(connection.getInputStream(), false);
// Do not show the announcement if it is older or the same as the last one.
final byte[] hashBytes = MessageDigest.getInstance("SHA-256").digest(jsonString.getBytes(StandardCharsets.UTF_8));
final var hash = java.util.Base64.getEncoder().encodeToString(hashBytes);
if (hash.equals(SettingsEnum.ANNOUNCEMENT_LAST_HASH.getString())) return;
// Parse the announcement. Fall-back to raw string if it fails.
String title;
String message;
Level level = Level.INFO;
try {
final var announcement = new JSONObject(jsonString);
title = announcement.getString("title");
message = announcement.getJSONObject("content").getString("message");
if (!announcement.isNull("level")) level = Level.fromInt(announcement.getInt("level"));
} catch (Throwable ex) {
LogHelper.printException(() -> "Failed to parse announcement. Fall-backing to raw string", ex);
title = "Announcement";
message = jsonString;
}
final var finalTitle = title;
final var finalMessage = Html.fromHtml(message, FROM_HTML_MODE_COMPACT);
final Level finalLevel = level;
ReVancedUtils.runOnMainThread(() -> {
// Show the announcement.
var alertDialog = new android.app.AlertDialog.Builder(context)
.setTitle(finalTitle)
.setMessage(finalMessage)
.setIcon(finalLevel.icon)
.setPositiveButton("Ok", (dialog, which) -> {
SettingsEnum.ANNOUNCEMENT_LAST_HASH.saveValue(hash);
dialog.dismiss();
}).setNegativeButton("Dismiss", (dialog, which) -> {
dialog.dismiss();
})
.setCancelable(false)
.show();
// Make links clickable.
((TextView)alertDialog.findViewById(android.R.id.message))
.setMovementMethod(LinkMovementMethod.getInstance());
});
} catch (Exception e) {
final var message = "Failed to get announcement";
LogHelper.printException(() -> message, e);
}
});
}
/**
* Clears the last announcement hash if it is not empty.
*
* @return true if the last announcement hash was empty.
*/
private static boolean emptyLastAnnouncementHash() {
if (SettingsEnum.ANNOUNCEMENT_LAST_HASH.getString().isEmpty()) return true;
SettingsEnum.ANNOUNCEMENT_LAST_HASH.saveValue("");
return false;
}
private static String getOrSetConsumer() {
final var consumer = SettingsEnum.ANNOUNCEMENT_CONSUMER.getString();
if (!consumer.isEmpty()) return consumer;
final var uuid = UUID.randomUUID().toString();
SettingsEnum.ANNOUNCEMENT_CONSUMER.saveValue(uuid);
return uuid;
}
// TODO: Use better icons.
private enum Level {
INFO(android.R.drawable.ic_dialog_info),
WARNING(android.R.drawable.ic_dialog_alert),
SEVERE(android.R.drawable.ic_dialog_alert);
public final int icon;
Level(int icon) {
this.icon = icon;
}
public static Level fromInt(int value) {
return values()[Math.min(value, values().length - 1)];
}
}
}

Some files were not shown because too many files have changed in this diff Show More