Skip to content

Commit 8eb6365

Browse files
shakyShanegithub-actions[bot]
authored andcommitted
Release build 4.15.0 [ci release]
1 parent 8e286cf commit 8eb6365

File tree

9 files changed

+190
-2
lines changed

9 files changed

+190
-2
lines changed

.github/workflows/build.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,18 @@ jobs:
4444

4545
- name: Collect commit ranges
4646
run: |
47-
echo "CHANGELOG=$(git log main --since "$(git show -s --format=%ci $(git rev-list --tags --max-count=1))" --pretty='format:- %s')" >> $GITHUB_OUTPUT
47+
CHANGELOG="$(git log main --since "$(git show -s --format=%ci $(git rev-list --tags --max-count=1))" --pretty='format:- %s')"
48+
DELIMITER=$(echo $RANDOM | md5sum | head -c 20;)
49+
echo "CHANGELOG<<$DELIMITER" >> $GITHUB_ENV
50+
echo "$CHANGELOG" >> $GITHUB_ENV
51+
echo "$DELIMITER" >> $GITHUB_ENV
4852
4953
- name: Create Release
5054
uses: softprops/action-gh-release@v1
5155
env:
5256
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5357
with:
54-
body_path: ${{ steps.version.outputs.CHANGELOG }}
58+
body_path: ${{ env.CHANGELOG }}
5559
draft: false
5660
prerelease: false
5761
tag_name: ${{ github.event.inputs.version }}

build/integration/pages/duckplayer/js/index.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -776,6 +776,37 @@
776776
return new Template(strings, values);
777777
}
778778

779+
// pages/duckplayer/src/js/storage.js
780+
function deleteStorage(subject) {
781+
Object.keys(subject).forEach((key) => {
782+
if (key.indexOf("yt-player") === 0) {
783+
return;
784+
}
785+
subject.removeItem(key);
786+
});
787+
}
788+
function deleteAllCookies() {
789+
const cookies = document.cookie.split(";");
790+
for (let i = 0; i < cookies.length; i++) {
791+
const cookie = cookies[i];
792+
const eqPos = cookie.indexOf("=");
793+
const name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
794+
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;domain=youtube-nocookie.com;path=/;";
795+
}
796+
}
797+
function initStorage() {
798+
window.addEventListener("unload", () => {
799+
deleteStorage(localStorage);
800+
deleteStorage(sessionStorage);
801+
deleteAllCookies();
802+
});
803+
window.addEventListener("load", () => {
804+
deleteStorage(localStorage);
805+
deleteStorage(sessionStorage);
806+
deleteAllCookies();
807+
});
808+
}
809+
779810
// pages/duckplayer/src/js/index.js
780811
var VideoPlayer = {
781812
/**
@@ -1372,4 +1403,5 @@
13721403
});
13731404
MouseMove.init();
13741405
});
1406+
initStorage();
13751407
})();
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
function deleteStorage (subject) {
2+
Object.keys(subject).forEach((key) => {
3+
if (key.indexOf('yt-player') === 0) {
4+
return
5+
}
6+
subject.removeItem(key)
7+
})
8+
}
9+
10+
function deleteAllCookies () {
11+
const cookies = document.cookie.split(';')
12+
for (let i = 0; i < cookies.length; i++) {
13+
const cookie = cookies[i]
14+
const eqPos = cookie.indexOf('=')
15+
const name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie
16+
document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT;domain=youtube-nocookie.com;path=/;'
17+
}
18+
}
19+
20+
export function initStorage () {
21+
window.addEventListener('unload', () => {
22+
deleteStorage(localStorage)
23+
deleteStorage(sessionStorage)
24+
deleteAllCookies()
25+
})
26+
27+
window.addEventListener('load', () => {
28+
deleteStorage(localStorage)
29+
deleteStorage(sessionStorage)
30+
deleteAllCookies()
31+
})
32+
}

build/windows/pages/duckplayer/js/index.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -776,6 +776,37 @@
776776
return new Template(strings, values);
777777
}
778778

779+
// pages/duckplayer/src/js/storage.js
780+
function deleteStorage(subject) {
781+
Object.keys(subject).forEach((key) => {
782+
if (key.indexOf("yt-player") === 0) {
783+
return;
784+
}
785+
subject.removeItem(key);
786+
});
787+
}
788+
function deleteAllCookies() {
789+
const cookies = document.cookie.split(";");
790+
for (let i = 0; i < cookies.length; i++) {
791+
const cookie = cookies[i];
792+
const eqPos = cookie.indexOf("=");
793+
const name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
794+
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;domain=youtube-nocookie.com;path=/;";
795+
}
796+
}
797+
function initStorage() {
798+
window.addEventListener("unload", () => {
799+
deleteStorage(localStorage);
800+
deleteStorage(sessionStorage);
801+
deleteAllCookies();
802+
});
803+
window.addEventListener("load", () => {
804+
deleteStorage(localStorage);
805+
deleteStorage(sessionStorage);
806+
deleteAllCookies();
807+
});
808+
}
809+
779810
// pages/duckplayer/src/js/index.js
780811
var VideoPlayer = {
781812
/**
@@ -1372,4 +1403,5 @@
13721403
});
13731404
MouseMove.init();
13741405
});
1406+
initStorage();
13751407
})();
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
function deleteStorage (subject) {
2+
Object.keys(subject).forEach((key) => {
3+
if (key.indexOf('yt-player') === 0) {
4+
return
5+
}
6+
subject.removeItem(key)
7+
})
8+
}
9+
10+
function deleteAllCookies () {
11+
const cookies = document.cookie.split(';')
12+
for (let i = 0; i < cookies.length; i++) {
13+
const cookie = cookies[i]
14+
const eqPos = cookie.indexOf('=')
15+
const name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie
16+
document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT;domain=youtube-nocookie.com;path=/;'
17+
}
18+
}
19+
20+
export function initStorage () {
21+
window.addEventListener('unload', () => {
22+
deleteStorage(localStorage)
23+
deleteStorage(sessionStorage)
24+
deleteAllCookies()
25+
})
26+
27+
window.addEventListener('load', () => {
28+
deleteStorage(localStorage)
29+
deleteStorage(sessionStorage)
30+
deleteAllCookies()
31+
})
32+
}

packages/special-pages/pages/duckplayer/src/js/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import {
3737
} from '../../../../../messaging/index.js'
3838
import { DuckPlayerPageMessages, UserValues } from './messages'
3939
import { html } from '../../../../../../src/dom-utils'
40+
import { initStorage } from './storage'
4041

4142
// for docs
4243
export { DuckPlayerPageMessages, UserValues }
@@ -761,3 +762,5 @@ document.addEventListener('DOMContentLoaded', () => {
761762
})
762763
MouseMove.init()
763764
})
765+
766+
initStorage()
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
function deleteStorage (subject) {
2+
Object.keys(subject).forEach((key) => {
3+
if (key.indexOf('yt-player') === 0) {
4+
return
5+
}
6+
subject.removeItem(key)
7+
})
8+
}
9+
10+
function deleteAllCookies () {
11+
const cookies = document.cookie.split(';')
12+
for (let i = 0; i < cookies.length; i++) {
13+
const cookie = cookies[i]
14+
const eqPos = cookie.indexOf('=')
15+
const name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie
16+
document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT;domain=youtube-nocookie.com;path=/;'
17+
}
18+
}
19+
20+
export function initStorage () {
21+
window.addEventListener('unload', () => {
22+
deleteStorage(localStorage)
23+
deleteStorage(sessionStorage)
24+
deleteAllCookies()
25+
})
26+
27+
window.addEventListener('load', () => {
28+
deleteStorage(localStorage)
29+
deleteStorage(sessionStorage)
30+
deleteAllCookies()
31+
})
32+
}

packages/special-pages/tests/duckplayer.spec.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,12 @@ test.describe('duckplayer iframe', () => {
2828
await duckplayer.hasShownErrorMessage()
2929
await duckplayer.hasNotAddedIframe()
3030
})
31+
test('clears storage', async ({ page }, workerInfo) => {
32+
const duckplayer = DuckPlayerPage.create(page, workerInfo)
33+
await duckplayer.openWithVideoID()
34+
await duckplayer.withStorageValues()
35+
await duckplayer.storageClearedAfterReload()
36+
})
3137
})
3238

3339
test.describe('duckplayer toolbar', () => {

packages/special-pages/tests/page-objects/duck-player.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,21 @@ export class DuckPlayerPage {
247247
})
248248
}
249249

250+
async withStorageValues () {
251+
await this.page.evaluate(() => {
252+
localStorage.setItem('foo', 'bar')
253+
localStorage.setItem('yt-player-other', 'baz')
254+
})
255+
}
256+
257+
async storageClearedAfterReload () {
258+
await this.page.reload()
259+
const storaget = await this.page.evaluate(() => localStorage)
260+
expect(storaget).toMatchObject({
261+
'yt-player-other': 'baz'
262+
})
263+
}
264+
250265
/**
251266
* We test the fully built artifacts, so for each test run we need to
252267
* select the correct HTML file.

0 commit comments

Comments
 (0)