pstream is dead; long live pstream taciturnaxolotl.github.io/pstream-ng/
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'p-stream:production' into substranslate

authored by

vlOd and committed by
GitHub
6b276d32 b8a972f9

+31 -24
+2 -1
src/assets/locales/en.json
··· 1147 1147 "link": "Migrate my data" 1148 1148 }, 1149 1149 "documentation": "Backend documentation", 1150 - "error": "Error connecting to backend" 1150 + "error": "Error connecting to backend", 1151 + "notice": "Your account does NOT sync between backends, so remember which one you use!" 1151 1152 }, 1152 1153 "setup": { 1153 1154 "doSetup": "Do setup",
+23 -23
src/components/player/hooks/useSkipTime.ts
··· 1 1 import { useEffect, useState } from "react"; 2 2 3 - import { proxiedFetch } from "@/backend/helpers/fetch"; 3 + // import { proxiedFetch } from "@/backend/helpers/fetch"; 4 4 import { usePlayerMeta } from "@/components/player/hooks/usePlayerMeta"; 5 5 import { conf } from "@/setup/config"; 6 6 import { usePreferencesStore } from "@/stores/preferences"; ··· 8 8 9 9 // Thanks Nemo for this API 10 10 const FED_SKIPS_BASE_URL = "https://fed-skips.pstream.mov"; 11 - const VELORA_BASE_URL = "https://veloratv.ru/api/intro-end/confirmed"; 11 + // const VELORA_BASE_URL = "https://veloratv.ru/api/intro-end/confirmed"; 12 12 const MAX_RETRIES = 3; 13 13 14 14 export function useSkipTime() { ··· 17 17 const febboxKey = usePreferencesStore((s) => s.febboxKey); 18 18 19 19 useEffect(() => { 20 - const fetchVeloraSkipTime = async (): Promise<number | null> => { 21 - if (!meta?.tmdbId) return null; 20 + // const fetchVeloraSkipTime = async (): Promise<number | null> => { 21 + // if (!meta?.tmdbId) return null; 22 22 23 - try { 24 - let apiUrl = `${VELORA_BASE_URL}?tmdbId=${meta.tmdbId}`; 25 - if (meta.type !== "movie") { 26 - apiUrl += `&season=${meta.season?.number}&episode=${meta.episode?.number}`; 27 - } 28 - const data = await proxiedFetch(apiUrl); 23 + // try { 24 + // let apiUrl = `${VELORA_BASE_URL}?tmdbId=${meta.tmdbId}`; 25 + // if (meta.type !== "movie") { 26 + // apiUrl += `&season=${meta.season?.number}&episode=${meta.episode?.number}`; 27 + // } 28 + // const data = await proxiedFetch(apiUrl); 29 29 30 - if (data.introSkippable && typeof data.introEnd === "number") { 31 - return data.introEnd; 32 - } 30 + // if (data.introSkippable && typeof data.introEnd === "number") { 31 + // return data.introEnd; 32 + // } 33 33 34 - return null; 35 - } catch (error) { 36 - console.error("Error fetching velora skip time:", error); 37 - return null; 38 - } 39 - }; 34 + // return null; 35 + // } catch (error) { 36 + // console.error("Error fetching velora skip time:", error); 37 + // return null; 38 + // } 39 + // }; 40 40 41 41 const fetchFedSkipsTime = async (retries = 0): Promise<number | null> => { 42 42 if (!meta?.imdbId || meta.type === "movie") return null; ··· 88 88 const fedSkipsTime = await fetchFedSkipsTime(); 89 89 if (fedSkipsTime !== null) { 90 90 setSkiptime(fedSkipsTime); 91 - return; 91 + // return; 92 92 } 93 93 } 94 94 95 - // Fall back to Velora API (available to all users) 96 - const veloraSkipTime = await fetchVeloraSkipTime(); 97 - setSkiptime(veloraSkipTime); 95 + // // Fall back to Velora API (available to all users) 96 + // const veloraSkipTime = await fetchVeloraSkipTime(); 97 + // setSkiptime(veloraSkipTime); 98 98 }; 99 99 100 100 fetchSkipTime();
+3
src/pages/Login.tsx
··· 72 72 showCustom 73 73 /> 74 74 <LargeCardButtons> 75 + <span className="text-type-danger font-medium text-center"> 76 + {t("settings.connections.server.notice")} 77 + </span> 75 78 <Button 76 79 theme="purple" 77 80 onClick={handleContinue}
+3
src/pages/Register.tsx
··· 79 79 showCustom 80 80 /> 81 81 <LargeCardButtons> 82 + <span className="text-type-danger font-medium text-center"> 83 + {t("settings.connections.server.notice")} 84 + </span> 82 85 <Button 83 86 theme="purple" 84 87 onClick={() => {