mirror of
https://github.com/movixcorp/MovixOpenSource.git
synced 2026-08-09 08:47:32 +00:00
- corrige l’extraction Fsvid/Vidzy dans proxiesembed, les extensions et le userscript avec un décodage XOR/P.A.C.K.E.R plus robuste - rejette les URL « troll » et supprime les résultats Fsvid/Vidzy contaminés des caches - ajoute KissKH pour les films et séries avec matching TMDB, catalogue, cache distribué, verrouillage, rotation des proxys et fallback sécurisé - ajoute le relais KissKH HLS/MP4 dans proxiesembed, avec retry SOCKS5 sur les erreurs 403 et streaming des segments BYTERANGE - prend en charge les sous-titres KissKH SRT/TXT/TXT2, leur déchiffrement AES et leur conversion en WebVTT - intègre KissKH au lecteur, aux priorités de sources, aux extensions Chrome/Firefox et au userscript - améliore la sélection, le formatage sécurisé, la traduction et l’affichage Picture-in-Picture des sous-titres - corrige le Cast web et Android pour transmettre les sous-titres internes, externes, KissKH et traduits - ajoute le support des pistes WebVTT inline via le relais LAN Android et améliore le suivi des sessions Cast - protège les liens jouables des caches Cpasmal et Coflix contre les rafraîchissements vides ou concurrents - fiabilise la sélection des saisons FStream et améliore le matching DarkiWorld par TMDB, titre et année - simplifie les nouvelles URL TMDB tout en conservant le décodage des anciens identifiants encodés - corrige l’opacité des icônes SVG dans toute l’interface en séparant la couleur de leur niveau d’opacité - met à jour le Dockerfile vers Node.js 22 et installe uniquement les dépendances runtime du workspace Hono - ajoute le workspace server avec ses dépendances dédiées et un arrêt gracieux sur SIGTERM/SIGINT - accélère le healthcheck Docker et évite de recopier tous les node_modules du builder dans l’image finale - retire les migrations et créations de tables automatiques au démarrage de la Main API au profit de db:init - attribue un port CycleTLS distinct à chaque worker pour éviter les conflits en mode cluster - ajoute des tests de non-régression pour KissKH, les caches de sources, CycleTLS et le Cast Android - publie Android 2.5.8 build 17 avec le nouvel APK - met à jour les extensions Chrome 1.3.13 et Firefox 1.5.10 Co-authored-by: GPT-5.6 Sol <noreply@openai.com>
43 lines
995 B
JavaScript
43 lines
995 B
JavaScript
const DEFAULT_SHUTDOWN_TIMEOUT_MS = 5_000;
|
|
|
|
export const registerGracefulShutdown = (
|
|
server,
|
|
{
|
|
runtime = process,
|
|
logger = console,
|
|
timeoutMs = DEFAULT_SHUTDOWN_TIMEOUT_MS,
|
|
} = {},
|
|
) => {
|
|
let shuttingDown = false;
|
|
|
|
const shutdown = (signal = 'shutdown') => {
|
|
if (shuttingDown) return;
|
|
shuttingDown = true;
|
|
|
|
logger.log(`[server] ${signal} received, shutting down gracefully.`);
|
|
|
|
const forceExitTimer = setTimeout(() => {
|
|
logger.error(`[server] Graceful shutdown timed out after ${timeoutMs}ms.`);
|
|
server.closeAllConnections?.();
|
|
runtime.exit(1);
|
|
}, timeoutMs);
|
|
forceExitTimer.unref?.();
|
|
|
|
server.close((error) => {
|
|
clearTimeout(forceExitTimer);
|
|
|
|
if (error) {
|
|
logger.error('[server] Failed to close the HTTP server.', error);
|
|
runtime.exit(1);
|
|
return;
|
|
}
|
|
|
|
runtime.exit(0);
|
|
});
|
|
};
|
|
|
|
runtime.once('SIGTERM', shutdown);
|
|
runtime.once('SIGINT', shutdown);
|
|
|
|
return shutdown;
|
|
};
|