mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-14 07:27:05 +03:00
Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
510c3723ad | ||
|
|
f5910407ba | ||
|
|
2691dc5df5 | ||
|
|
31ef4f39bf | ||
|
|
4044a22e04 | ||
|
|
3c2c140eb5 | ||
|
|
5cdbc233e4 | ||
|
|
86f8809de7 | ||
|
|
5163b3362f | ||
|
|
443fb1f448 | ||
|
|
7cd7089980 | ||
|
|
61f5d7a902 | ||
|
|
6ab88e9fa0 | ||
|
|
3bddd0405c | ||
|
|
e4b05a316a | ||
|
|
451ceb370b | ||
|
|
ab5291702a | ||
|
|
bec183d595 |
12
.github/workflows/ci.yml
vendored
12
.github/workflows/ci.yml
vendored
@@ -10,10 +10,10 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
# Initialization
|
# Initialization
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: '18'
|
node-version: '18'
|
||||||
- run: npm ci
|
- run: npm ci
|
||||||
@@ -27,7 +27,7 @@ jobs:
|
|||||||
# Create Chrome artifacts
|
# Create Chrome artifacts
|
||||||
- name: Create Chrome artifacts
|
- name: Create Chrome artifacts
|
||||||
run: npm run build:chrome
|
run: npm run build:chrome
|
||||||
- uses: actions/upload-artifact@v3
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ChromeExtension
|
name: ChromeExtension
|
||||||
path: dist
|
path: dist
|
||||||
@@ -39,7 +39,7 @@ jobs:
|
|||||||
# Create Firefox artifacts
|
# Create Firefox artifacts
|
||||||
- name: Create Firefox artifacts
|
- name: Create Firefox artifacts
|
||||||
run: npm run build:firefox
|
run: npm run build:firefox
|
||||||
- uses: actions/upload-artifact@v3
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: FirefoxExtension
|
name: FirefoxExtension
|
||||||
path: dist
|
path: dist
|
||||||
@@ -50,7 +50,7 @@ jobs:
|
|||||||
# Create Beta artifacts (Builds with the name changed to beta)
|
# Create Beta artifacts (Builds with the name changed to beta)
|
||||||
- name: Create Chrome Beta artifacts
|
- name: Create Chrome Beta artifacts
|
||||||
run: npm run build:chrome -- --env stream=beta
|
run: npm run build:chrome -- --env stream=beta
|
||||||
- uses: actions/upload-artifact@v3
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ChromeExtensionBeta
|
name: ChromeExtensionBeta
|
||||||
path: dist
|
path: dist
|
||||||
@@ -60,7 +60,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Create Firefox Beta artifacts
|
- name: Create Firefox Beta artifacts
|
||||||
run: npm run build:firefox -- --env stream=beta
|
run: npm run build:firefox -- --env stream=beta
|
||||||
- uses: actions/upload-artifact@v3
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: FirefoxExtensionBeta
|
name: FirefoxExtensionBeta
|
||||||
path: dist
|
path: dist
|
||||||
|
|||||||
8
.github/workflows/release.yml
vendored
8
.github/workflows/release.yml
vendored
@@ -12,10 +12,10 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
# Initialization
|
# Initialization
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: '18'
|
node-version: '18'
|
||||||
- name: Copy configuration
|
- name: Copy configuration
|
||||||
@@ -108,7 +108,7 @@ jobs:
|
|||||||
# Firefox Beta
|
# Firefox Beta
|
||||||
- name: Create Firefox Beta artifacts
|
- name: Create Firefox Beta artifacts
|
||||||
run: npm run build:firefox -- --env stream=beta
|
run: npm run build:firefox -- --env stream=beta
|
||||||
- uses: actions/upload-artifact@v3
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: FirefoxExtensionBeta
|
name: FirefoxExtensionBeta
|
||||||
path: dist
|
path: dist
|
||||||
@@ -125,7 +125,7 @@ jobs:
|
|||||||
run: sudo apt-get install rename
|
run: sudo apt-get install rename
|
||||||
- name: Rename signed file
|
- name: Rename signed file
|
||||||
run: cd ./web-ext-artifacts ; rename 's/.*/FirefoxSignedInstaller.xpi/' *
|
run: cd ./web-ext-artifacts ; rename 's/.*/FirefoxSignedInstaller.xpi/' *
|
||||||
- uses: actions/upload-artifact@v3
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: FirefoxExtensionSigned.xpi
|
name: FirefoxExtensionSigned.xpi
|
||||||
path: ./web-ext-artifacts/FirefoxSignedInstaller.xpi
|
path: ./web-ext-artifacts/FirefoxSignedInstaller.xpi
|
||||||
|
|||||||
6
.github/workflows/tests.yml
vendored
6
.github/workflows/tests.yml
vendored
@@ -9,10 +9,10 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
# Initialization
|
# Initialization
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: '18'
|
node-version: '18'
|
||||||
- run: npm ci
|
- run: npm ci
|
||||||
@@ -25,7 +25,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload results on fail
|
- name: Upload results on fail
|
||||||
if: ${{ failure() }}
|
if: ${{ failure() }}
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: Test Results
|
name: Test Results
|
||||||
path: ./test-results
|
path: ./test-results
|
||||||
6
.github/workflows/update-oss-attribution.yml
vendored
6
.github/workflows/update-oss-attribution.yml
vendored
@@ -12,10 +12,10 @@ jobs:
|
|||||||
update-oss:
|
update-oss:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: '18'
|
node-version: '18'
|
||||||
- name: Install and generate attribution
|
- name: Install and generate attribution
|
||||||
@@ -29,7 +29,7 @@ jobs:
|
|||||||
cd ci && npx ts-node prettify.ts
|
cd ci && npx ts-node prettify.ts
|
||||||
|
|
||||||
- name: Create pull request to update list
|
- name: Create pull request to update list
|
||||||
uses: peter-evans/create-pull-request@2b011faafdcbc9ceb11414d64d0573f37c774b04
|
uses: peter-evans/create-pull-request@v7
|
||||||
# v4.2.3
|
# v4.2.3
|
||||||
with:
|
with:
|
||||||
commit-message: Update OSS Attribution
|
commit-message: Update OSS Attribution
|
||||||
|
|||||||
4
.github/workflows/updateInvidous.yml
vendored
4
.github/workflows/updateInvidous.yml
vendored
@@ -8,7 +8,7 @@ jobs:
|
|||||||
check-list:
|
check-list:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
- name: Download instance lists
|
- name: Download instance lists
|
||||||
@@ -21,7 +21,7 @@ jobs:
|
|||||||
run: npm run ci:invidious
|
run: npm run ci:invidious
|
||||||
|
|
||||||
- name: Create pull request to update list
|
- name: Create pull request to update list
|
||||||
uses: peter-evans/create-pull-request@2b011faafdcbc9ceb11414d64d0573f37c774b04
|
uses: peter-evans/create-pull-request@v7
|
||||||
# v4.2.3
|
# v4.2.3
|
||||||
with:
|
with:
|
||||||
commit-message: Update Invidious List
|
commit-message: Update Invidious List
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "__MSG_fullName__",
|
"name": "__MSG_fullName__",
|
||||||
"short_name": "SponsorBlock",
|
"short_name": "SponsorBlock",
|
||||||
"version": "5.9.1",
|
"version": "5.9.5",
|
||||||
"default_locale": "en",
|
"default_locale": "en",
|
||||||
"description": "__MSG_Description__",
|
"description": "__MSG_Description__",
|
||||||
"homepage_url": "https://sponsor.ajay.app",
|
"homepage_url": "https://sponsor.ajay.app",
|
||||||
|
|||||||
@@ -511,7 +511,7 @@ function handleMobileControlsMutations(): void {
|
|||||||
function getPreviewBarAttachElement(): HTMLElement | null {
|
function getPreviewBarAttachElement(): HTMLElement | null {
|
||||||
const progressElementOptions = [{
|
const progressElementOptions = [{
|
||||||
// For newer mobile YouTube (Sept 2024)
|
// For newer mobile YouTube (Sept 2024)
|
||||||
selector: ".YtChapteredProgressBarHost",
|
selector: ".YtProgressBarLineHost, .YtChapteredProgressBarHost",
|
||||||
isVisibleCheck: true
|
isVisibleCheck: true
|
||||||
}, {
|
}, {
|
||||||
// For newer mobile YouTube (May 2024)
|
// For newer mobile YouTube (May 2024)
|
||||||
@@ -2523,8 +2523,10 @@ function addHotkeyListener(): void {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function hotkeyListener(e: KeyboardEvent): void {
|
function hotkeyListener(e: KeyboardEvent): void {
|
||||||
if (["textarea", "input"].includes(document.activeElement?.tagName?.toLowerCase())
|
if ((["textarea", "input"].includes(document.activeElement?.tagName?.toLowerCase())
|
||||||
|| document.activeElement?.id?.toLowerCase()?.includes("editable")) return;
|
|| (document.activeElement as HTMLElement)?.isContentEditable
|
||||||
|
|| document.activeElement?.id?.toLowerCase()?.match(/editable|input/))
|
||||||
|
&& document.hasFocus()) return;
|
||||||
|
|
||||||
const key: Keybind = {
|
const key: Keybind = {
|
||||||
key: e.key,
|
key: e.key,
|
||||||
@@ -2632,11 +2634,11 @@ function showTimeWithoutSkips(skippedDuration: number): void {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// YouTube player time display
|
// YouTube player time display
|
||||||
const displayClass =
|
const selector =
|
||||||
isOnInvidious() ? "vjs-duration" :
|
isOnInvidious() ? ".vjs-duration" :
|
||||||
isOnMobileYouTube() ? "ytm-time-display" :
|
isOnMobileYouTube() ? ".YtwPlayerTimeDisplayContent" :
|
||||||
"ytp-time-display.notranslate";
|
".ytp-time-display.notranslate .ytp-time-wrapper";
|
||||||
const display = document.querySelector(`.${displayClass}`);
|
const display = document.querySelector(selector);
|
||||||
if (!display) return;
|
if (!display) return;
|
||||||
|
|
||||||
const durationID = "sponsorBlockDurationAfterSkips";
|
const durationID = "sponsorBlockDurationAfterSkips";
|
||||||
@@ -2646,10 +2648,14 @@ function showTimeWithoutSkips(skippedDuration: number): void {
|
|||||||
if (duration === null) {
|
if (duration === null) {
|
||||||
duration = document.createElement('span');
|
duration = document.createElement('span');
|
||||||
duration.id = durationID;
|
duration.id = durationID;
|
||||||
if (!isOnInvidious()) duration.classList.add(displayClass);
|
|
||||||
|
|
||||||
|
if (isOnMobileYouTube()) {
|
||||||
|
duration.style.paddingLeft = "4px";
|
||||||
|
display.insertBefore(duration, display.lastChild);
|
||||||
|
} else {
|
||||||
display.appendChild(duration);
|
display.appendChild(duration);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const durationAfterSkips = getFormattedTime(getVideoDuration() - skippedDuration);
|
const durationAfterSkips = getFormattedTime(getVideoDuration() - skippedDuration);
|
||||||
|
|
||||||
|
|||||||
@@ -647,8 +647,16 @@ class PreviewBar {
|
|||||||
if (changedData.scale !== null) {
|
if (changedData.scale !== null) {
|
||||||
const transformScale = (changedData.scale) / progressBar.clientWidth;
|
const transformScale = (changedData.scale) / progressBar.clientWidth;
|
||||||
|
|
||||||
|
const scale = Math.max(0, Math.min(1 - calculatedLeft, (transformScale - cursor) / fullSectionWidth - calculatedLeft));
|
||||||
customChangedElement.style.transform =
|
customChangedElement.style.transform =
|
||||||
`scaleX(${Math.max(0, Math.min(1 - calculatedLeft, (transformScale - cursor) / fullSectionWidth - calculatedLeft))}`;
|
`scaleX(${scale})`;
|
||||||
|
if (customChangedElement.style.backgroundSize) {
|
||||||
|
const backgroundSize = progressBar.clientWidth;
|
||||||
|
customChangedElement.style.backgroundSize = `${backgroundSize}px`;
|
||||||
|
|
||||||
|
customChangedElement.style.backgroundPosition = `${-(cursor * progressBar.clientWidth)}px`;
|
||||||
|
}
|
||||||
|
|
||||||
if (firstUpdate) {
|
if (firstUpdate) {
|
||||||
customChangedElement.style.transition = "none";
|
customChangedElement.style.transition = "none";
|
||||||
setTimeout(() => customChangedElement.style.removeProperty("transition"), 50);
|
setTimeout(() => customChangedElement.style.removeProperty("transition"), 50);
|
||||||
|
|||||||
Reference in New Issue
Block a user