diff --git a/docs/DOCKER-FULL.md b/docs/DOCKER-FULL.md index 0839aece..8a29ea73 100644 --- a/docs/DOCKER-FULL.md +++ b/docs/DOCKER-FULL.md @@ -47,6 +47,11 @@ services: # guide here for URL structure https://docs.preset.io/docs/uri-connection-strings DATABASE_CONNECTION_URI: "sqlite:///materialious-data/materialious.db" + # YouTube player id to use, can be left blank but setting to a older player id may fix + # video playback with local video processing. + # https://youtube-player-ids.nadeko.net + PUBLIC_PLAYER_ID: "" + # Use Materialious account system. PUBLIC_INTERNAL_AUTH: "true" diff --git a/materialious/src/lib/api/youtubejs/index.ts b/materialious/src/lib/api/youtubejs/index.ts index b8a45735..5563b91f 100644 --- a/materialious/src/lib/api/youtubejs/index.ts +++ b/materialious/src/lib/api/youtubejs/index.ts @@ -1,3 +1,4 @@ +import { getPublicEnv } from '$lib/misc'; import { interfaceRegionStore } from '$lib/store'; import { USER_AGENT } from 'bgutils-js'; import { get } from 'svelte/store'; @@ -12,7 +13,8 @@ export async function getInnertube(): Promise { fetch: fetch, cache: new UniversalCache(true), location: get(interfaceRegionStore), - user_agent: USER_AGENT + user_agent: USER_AGENT, + player_id: getPublicEnv('PLAYER_ID') ?? '9f4cc5e4' }); return innertube; diff --git a/materialious/src/lib/misc.ts b/materialious/src/lib/misc.ts index c637d112..1fec17d6 100644 --- a/materialious/src/lib/misc.ts +++ b/materialious/src/lib/misc.ts @@ -10,7 +10,9 @@ import { addToast } from './components/Toast.svelte'; import { _ } from './i18n'; export function getPublicEnv(envName: string): string | undefined { - return env[`PUBLIC_${envName}`] ?? import.meta.env[`VITE_${envName}`]; + const envValue = env[`PUBLIC_${envName}`] ?? import.meta.env[`VITE_${envName}`]; + if (envValue === '') return; + return envValue; } export function isMobile(): boolean {