Feat : handle infinite throbber
This commit is contained in:
@@ -458,6 +458,20 @@ export interface BrowserSettings {
|
||||
* « Firefox est déjà ouvert ».
|
||||
*/
|
||||
profileDir: string;
|
||||
/**
|
||||
* Durée de blocage du lecteur au-delà de laquelle l'agent recharge la page.
|
||||
* `0` désactive la reprise.
|
||||
*
|
||||
* Le lecteur se fige parfois sur son indicateur de chargement sans jamais
|
||||
* repartir, le flux ne reprenant qu'après un rechargement manuel. Rien dans le
|
||||
* statut du stream ne le signale : la plateforme le donne toujours public, et
|
||||
* OBS continue d'enregistrer un écran d'attente.
|
||||
*
|
||||
* Le seuil se mesure au temps sans la moindre avancée de la lecture, pas à
|
||||
* l'apparition d'un indicateur : c'est le blocage réel qui compte, et une
|
||||
* mise en mémoire tampon de quelques secondes est normale sur un direct.
|
||||
*/
|
||||
stallTimeoutMs: number;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -496,6 +510,7 @@ export const DEFAULT_BROWSER_SETTINGS: BrowserSettings = {
|
||||
onStop: 'blank',
|
||||
remotePort: 9222,
|
||||
profileDir: '',
|
||||
stallTimeoutMs: 30_000,
|
||||
};
|
||||
|
||||
export function normalizeBrowserSettings(raw: unknown): BrowserSettings {
|
||||
@@ -503,6 +518,7 @@ export function normalizeBrowserSettings(raw: unknown): BrowserSettings {
|
||||
const base = DEFAULT_BROWSER_SETTINGS;
|
||||
const delay = Number(input.readyDelayMs);
|
||||
const port = Number(input.remotePort);
|
||||
const stall = Number(input.stallTimeoutMs);
|
||||
|
||||
return {
|
||||
enabled: input.enabled === true,
|
||||
@@ -526,6 +542,14 @@ export function normalizeBrowserSettings(raw: unknown): BrowserSettings {
|
||||
? Math.min(Math.max(Math.round(port), 1024), 65_535)
|
||||
: base.remotePort,
|
||||
profileDir: typeof input.profileDir === 'string' ? input.profileDir.trim() : base.profileDir,
|
||||
// Plancher à 10 s hors désactivation : en deçà, une mise en mémoire tampon
|
||||
// ordinaire suffirait à déclencher un rechargement, et le remède serait pire
|
||||
// que le mal. La borne haute laisse la place à un flux très instable.
|
||||
stallTimeoutMs: Number.isFinite(stall)
|
||||
? stall <= 0
|
||||
? 0
|
||||
: Math.min(Math.max(Math.round(stall), 10_000), 600_000)
|
||||
: base.stallTimeoutMs,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user