diff --git a/materialious/android/.idea/other.xml b/materialious/android/.idea/other.xml new file mode 100644 index 00000000..b45a6e02 --- /dev/null +++ b/materialious/android/.idea/other.xml @@ -0,0 +1,340 @@ + + + + + + \ No newline at end of file diff --git a/materialious/android/app/build.gradle b/materialious/android/app/build.gradle index 7f9c7486..0e6f17f0 100644 --- a/materialious/android/app/build.gradle +++ b/materialious/android/app/build.gradle @@ -7,8 +7,8 @@ android { applicationId "us.materialio.app" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 75 - versionName "1.6.24" + versionCode 76 + versionName "1.6.25" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" aaptOptions { // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps. diff --git a/materialious/electron/materialious.metainfo.xml b/materialious/electron/materialious.metainfo.xml index 7ec3da81..d00cdaf8 100644 --- a/materialious/electron/materialious.metainfo.xml +++ b/materialious/electron/materialious.metainfo.xml @@ -54,6 +54,9 @@ intense + + https://github.com/Materialious/Materialious/releases/tag/1.6.25 + https://github.com/Materialious/Materialious/releases/tag/1.6.18 diff --git a/materialious/electron/package.json b/materialious/electron/package.json index 524f59fb..1185a433 100644 --- a/materialious/electron/package.json +++ b/materialious/electron/package.json @@ -1,6 +1,6 @@ { "name": "Materialious", - "version": "1.6.24", + "version": "1.6.25", "description": "Modern material design for Invidious.", "author": { "name": "Ward Pearce", diff --git a/materialious/package-lock.json b/materialious/package-lock.json index dd45f499..27fda152 100644 --- a/materialious/package-lock.json +++ b/materialious/package-lock.json @@ -9,7 +9,7 @@ "version": "1.6.24", "dependencies": { "@capacitor-community/electron": "^5.0.1", - "@capacitor/android": "6.1.2", + "@capacitor/android": "^6.1.2", "@capacitor/app": "^6.0.1", "@capacitor/browser": "^6.0.2", "@capacitor/cli": "6.1.2", @@ -20,8 +20,8 @@ "@capgo/inappbrowser": "^6.6.8", "@ffmpeg/ffmpeg": "^0.12.10", "@mediagrid/capacitor-native-audio": "^1.0.0", - "beercss": "^3.7.10", - "bgutils-js": "^3.1.0", + "beercss": "^3.8.0", + "bgutils-js": "^3.1.1", "capacitor-nodejs": "https://github.com/EdenwareApps/Capacitor-NodeJS/releases/download/v1.0.0-beta.7/capacitor6-nodejs.tgz", "dashjs": "^4.7.4", "fuse.js": "^7.0.0", @@ -39,7 +39,7 @@ "svelte-persisted-store": "^0.12.0", "terser": "^5.34.1", "vidstack": "^1.12.9", - "youtubei.js": "^10.5.0" + "youtubei.js": "^12.2.0" }, "devDependencies": { "@capacitor/assets": "^3.0.5", @@ -2028,6 +2028,7 @@ "version": "6.1.2", "resolved": "https://registry.npmjs.org/@capacitor/android/-/android-6.1.2.tgz", "integrity": "sha512-Yh0gQDY1bgRrL25J6ecIlvvs2kF8iNSwIPXjyw6Yz9mnwYxBazF5KZbjpKtGPnJgicJhFkYGsqOkEtxrve0EoQ==", + "license": "MIT", "peerDependencies": { "@capacitor/core": "^6.1.0" } @@ -4322,20 +4323,22 @@ } }, "node_modules/beercss": { - "version": "3.7.10", - "resolved": "https://registry.npmjs.org/beercss/-/beercss-3.7.10.tgz", - "integrity": "sha512-h2tU2eXnh4WUUJPXk971+MS8ja571P/dxrg+7JOuc98ijb1kEKTQvHQxLBmvHee2cKzj0/DppYZphH/PnWBOXA==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/beercss/-/beercss-3.8.0.tgz", + "integrity": "sha512-GVJzHxjwJUBuGuSErQaz46yZ0WfooRhhbIUiGgqqPx/U4rKfI5dTp+z/8ifMiBvI8GRHG9PGPC/h/l2B06IFZA==", + "license": "MIT", "dependencies": { "material-dynamic-colors": "^1.1.2" } }, "node_modules/bgutils-js": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bgutils-js/-/bgutils-js-3.1.0.tgz", - "integrity": "sha512-2S80c/B4OQFubJLD5ddRRp74utrvjA70x9U0RsIVK7gJaDnaPrbw+bnXWxnEnc0euLznmO9jxOtTTC7FxGmv6w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/bgutils-js/-/bgutils-js-3.1.1.tgz", + "integrity": "sha512-0Vx6jIyIlMWk86MvwCIVr6HCkPv0bZKbiLFlNMGwmLfv3B21mgepajMpryYjLXJ8NT7jwenlXFcZ8ghkT48tGg==", "funding": [ "https://github.com/sponsors/LuanRT" - ] + ], + "license": "MIT" }, "node_modules/big-integer": { "version": "1.6.52", @@ -7997,9 +8000,9 @@ } }, "node_modules/jintr": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/jintr/-/jintr-2.1.1.tgz", - "integrity": "sha512-89cwX4ouogeDGOBsEVsVYsnWWvWjchmwXBB4kiBhmjOKw19FiOKhNhMhpxhTlK2ctl7DS+d/ethfmuBpzoNNgA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jintr/-/jintr-3.2.0.tgz", + "integrity": "sha512-psD1yf05kMKDNsUdW1l5YhO59pHScQ6OIHHb8W5SKSM2dCOFPsqolmIuSHgVA8+3Dc47NJR181CXZ4alCAPTkA==", "funding": [ "https://github.com/sponsors/LuanRT" ], @@ -14208,16 +14211,16 @@ } }, "node_modules/youtubei.js": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/youtubei.js/-/youtubei.js-10.5.0.tgz", - "integrity": "sha512-iyA+VF28c15tCCKH9ExM2RKC3zYiHzA/eixGlJ3vERANkuI+xYKzAZ4vtOhmyqwrAddu88R/DkzEsmpph5NWjg==", + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/youtubei.js/-/youtubei.js-12.2.0.tgz", + "integrity": "sha512-G+50qrbJCToMYhu8jbaHiS3Vf+RRul+CcDbz3hEGwHkGPh+zLiWwD6SS+YhYF+2/op4ZU5zDYQJrGqJ+wKh7Gw==", "funding": [ "https://github.com/sponsors/LuanRT" ], "license": "MIT", "dependencies": { "@bufbuild/protobuf": "^2.0.0", - "jintr": "^2.1.1", + "jintr": "^3.2.0", "tslib": "^2.5.0", "undici": "^5.19.1" } diff --git a/materialious/package.json b/materialious/package.json index 0bdee766..c65bc336 100644 --- a/materialious/package.json +++ b/materialious/package.json @@ -1,6 +1,6 @@ { "name": "materialious", - "version": "1.6.24", + "version": "1.6.25", "private": true, "scripts": { "dev": "vite dev", @@ -43,7 +43,7 @@ "type": "module", "dependencies": { "@capacitor-community/electron": "^5.0.1", - "@capacitor/android": "6.1.2", + "@capacitor/android": "^6.1.2", "@capacitor/app": "^6.0.1", "@capacitor/browser": "^6.0.2", "@capacitor/cli": "6.1.2", @@ -54,8 +54,8 @@ "@capgo/inappbrowser": "^6.6.8", "@ffmpeg/ffmpeg": "^0.12.10", "@mediagrid/capacitor-native-audio": "^1.0.0", - "beercss": "^3.7.10", - "bgutils-js": "^3.1.0", + "beercss": "^3.8.0", + "bgutils-js": "^3.1.1", "capacitor-nodejs": "https://github.com/EdenwareApps/Capacitor-NodeJS/releases/download/v1.0.0-beta.7/capacitor6-nodejs.tgz", "dashjs": "^4.7.4", "fuse.js": "^7.0.0", @@ -73,6 +73,6 @@ "svelte-persisted-store": "^0.12.0", "terser": "^5.34.1", "vidstack": "^1.12.9", - "youtubei.js": "^10.5.0" + "youtubei.js": "^12.2.0" } } \ No newline at end of file diff --git a/materialious/src/lib/patches/youtubejs.ts b/materialious/src/lib/patches/youtubejs.ts index 42d0c361..950bef22 100644 --- a/materialious/src/lib/patches/youtubejs.ts +++ b/materialious/src/lib/patches/youtubejs.ts @@ -52,17 +52,15 @@ export async function patchYoutubeJs(videoId: string): Promise { const poTokenCache = get(poTokenCacheStore); if (!poTokenCache) { const visitorData = ProtoUtils.encodeVisitorData(Utils.generateRandomString(11), Math.floor(Date.now() / 1000)); - const poToken = await getPo(visitorData); - - if (!poToken) { - throw new Error('Unable to generate PO token'); - } tokens = { visitor_data: visitorData, - po_token: poToken + po_token: BG.PoToken.generatePlaceholder(visitorData) }; - poTokenCacheStore.set(tokens); + getPo(visitorData).then((webPo) => { + tokens.po_token = webPo as string; + poTokenCacheStore.set(tokens); + }); } else { tokens = poTokenCache; } @@ -70,13 +68,7 @@ export async function patchYoutubeJs(videoId: string): Promise { const youtube = await Innertube.create({ visitor_data: tokens.visitor_data, po_token: tokens.po_token, - fetch: async (input: RequestInfo | URL, init?: RequestInit) => { - if (Capacitor.getPlatform() === 'android') { - return capacitorFetch(input, init); - } else { - return fetch(input, init); - } - }, + fetch: Capacitor.getPlatform() === 'android' ? capacitorFetch : fetch, generate_session_locally: true, cache: new UniversalCache(false), location: get(interfaceRegionStore) diff --git a/update_versions.py b/update_versions.py index a90cc1a3..80b03f8a 100644 --- a/update_versions.py +++ b/update_versions.py @@ -5,7 +5,7 @@ import json import os import re -LATEST_VERSION = "1.6.24" +LATEST_VERSION = "1.6.25" WORKING_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "materialious") ROOT_PACKAGE = os.path.join(WORKING_DIR, "package.json")