From e5a137d7b471dd555ab21d0f1cf3a7a51c4d8e94 Mon Sep 17 00:00:00 2001 From: WardPearce Date: Thu, 19 Sep 2024 20:46:50 +1200 Subject: [PATCH] Dynamically import poTokenAndroid --- materialious/src/lib/patches/poTokenAndroid.ts | 10 ++++++---- materialious/src/lib/patches/youtubejs.ts | 4 ++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/materialious/src/lib/patches/poTokenAndroid.ts b/materialious/src/lib/patches/poTokenAndroid.ts index 8d3f7937..8eb5c9b8 100644 --- a/materialious/src/lib/patches/poTokenAndroid.ts +++ b/materialious/src/lib/patches/poTokenAndroid.ts @@ -11,16 +11,18 @@ export async function getPoToken(): Promise { const messageListener = async (data: any) => { await InAppBrowser.close(); resolve(data); - InAppBrowser.removeAllListeners(); // Clean up the listener + await InAppBrowser.clearAllCookies(); + await InAppBrowser.clearCache(); + await InAppBrowser.removeAllListeners(); }; const closeListener = async () => { + await InAppBrowser.clearAllCookies(); + await InAppBrowser.clearCache(); await InAppBrowser.removeAllListeners(); }; const urlChangeListener = async () => { - await InAppBrowser.clearAllCookies(); - await InAppBrowser.clearCache(); // Code must be minified to ensure runs correctly. await InAppBrowser.executeScript({ @@ -67,7 +69,7 @@ attemptClickPlayButton(); InAppBrowser.addListener('urlChangeEvent', urlChangeListener); setTimeout(() => { - reject(new Error('Timeout waiting for message')); + reject(new Error('Timeout trying to pull Po tokens')); InAppBrowser.removeAllListeners(); }, 10000); diff --git a/materialious/src/lib/patches/youtubejs.ts b/materialious/src/lib/patches/youtubejs.ts index 85169d70..a05c8a23 100644 --- a/materialious/src/lib/patches/youtubejs.ts +++ b/materialious/src/lib/patches/youtubejs.ts @@ -3,7 +3,7 @@ import { numberWithCommas } from '$lib/misc'; import { poTokenCacheStore } from '$lib/store'; import { Capacitor } from '@capacitor/core'; import { get } from 'svelte/store'; -import { getPoToken, type PoTokens } from './poTokenAndroid'; +import { type PoTokens } from './poTokenAndroid'; export async function patchYoutubeJs(videoId: string): Promise { const innertube = (await import('youtubei.js')).Innertube; @@ -15,7 +15,7 @@ export async function patchYoutubeJs(videoId: string): Promise { if (Capacitor.getPlatform() === 'electron') { tokens = await (window as any).electron.generatePoToken(); } else if (Capacitor.getPlatform() === 'android') { - tokens = await getPoToken(); + tokens = await (await import('../../lib/patches/poTokenAndroid')).getPoToken(); } else { throw new Error('This platform cant generate po tokens'); }