Add the Bot-tab backfill control room and media strip rules

This commit is contained in:
Fisto
2026-09-17 09:04:27 +02:00
parent 16ce809270
commit 6ae2ff5ab3
14 changed files with 949 additions and 85 deletions
+28 -2
View File
@@ -478,7 +478,8 @@ export function startWebUi(deps: WebUiDeps): WebUiHandle {
: current.warnPercent,
overrunPercent: Number.isFinite(Number(mediaPrefs?.overrunPercent))
? Number(mediaPrefs.overrunPercent)
: current.overrunPercent
: current.overrunPercent,
tunables: mediaPrefs?.tunables ?? current.tunables
};
}
@@ -487,7 +488,9 @@ export function startWebUi(deps: WebUiDeps): WebUiHandle {
deps.audio.setDuckEnabled(patch.audio.duck);
}
res.json({ ok: true, result: deps.preferences.update(patch) });
const updated = deps.preferences.update(patch);
if (mediaPrefs !== undefined) deps.media.applyTunables();
res.json({ ok: true, result: updated });
})
);
@@ -773,6 +776,29 @@ export function startWebUi(deps: WebUiDeps): WebUiHandle {
})
);
app.get(
"/api/media/backfill",
wrap(async (_req, res) => {
res.json({ ok: true, result: deps.media.backfillStatus() });
})
);
app.post(
"/api/media/backfill/start",
wrap(async (req, res) => {
const chatId = req.body?.chatId ? String(req.body.chatId) : undefined;
res.json({ ok: true, result: deps.media.startBackfill(chatId) });
})
);
app.post(
"/api/media/backfill/pause",
wrap(async (req, res) => {
const chatId = req.body?.chatId ? String(req.body.chatId) : undefined;
res.json({ ok: true, result: deps.media.pauseBackfill(chatId) });
})
);
app.get(
"/api/media/:scrapeId/:itemId/thumb",
wrap(async (req, res) => {