feat: Expo 54 (new arch) support + new in-house download module (#1174)

Signed-off-by: Lance Chant <13349722+lancechant@users.noreply.github.com>
Co-authored-by: sarendsen <coding-mosses0z@icloud.com>
Co-authored-by: Lance Chant <13349722+lancechant@users.noreply.github.com>
Co-authored-by: Gauvain <68083474+Gauvino@users.noreply.github.com>
This commit is contained in:
Fredrik Burmester
2025-11-11 08:53:23 +01:00
committed by GitHub
parent 154788cf91
commit 485dc6eeac
181 changed files with 8422 additions and 4298 deletions

View File

@@ -3,7 +3,6 @@ import { atom, useAtom } from "jotai";
import { useEffect } from "react";
import { processesAtom } from "@/providers/DownloadProvider";
import { JobStatus } from "@/providers/Downloads/types";
import { useSettings } from "@/utils/atoms/settings";
export interface Job {
id: string;
@@ -52,21 +51,21 @@ export const queueActions = {
},
};
const DEFAULT_CONCURRENT_LIMIT = 2;
export const useJobProcessor = () => {
const [queue, setQueue] = useAtom(queueAtom);
const [running, setRunning] = useAtom(runningAtom);
const [processes] = useAtom<JobStatus[]>(processesAtom);
const { settings } = useSettings();
useEffect(() => {
if (
!running &&
queue.length > 0 &&
settings &&
processes.length < settings?.remuxConcurrentLimit
processes.length < DEFAULT_CONCURRENT_LIMIT
) {
console.info("Processing queue", queue);
queueActions.processJob(queue, setQueue, setRunning);
}
}, [processes, queue, running, setQueue, setRunning, settings]);
}, [processes, queue, running, setQueue, setRunning]);
};