From ebfa89c7cadbcb07a58b6690cdcc75cfa9a5cc47 Mon Sep 17 00:00:00 2001 From: undefined Date: Tue, 13 Oct 2026 15:48:20 +0000 Subject: [PATCH] vjudge: fix dep inject --- packages/vjudge/src/index.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/vjudge/src/index.ts b/packages/vjudge/src/index.ts index ca2af0d92..9f5ba81fc 100644 --- a/packages/vjudge/src/index.ts +++ b/packages/vjudge/src/index.ts @@ -184,6 +184,8 @@ declare module 'cordis' { } class VJudgeService extends Service { + static inject = ['model:setting']; // Make sure langs are loaded before any consumer starts + constructor(ctx: Context) { super(ctx, 'vjudge'); } @@ -297,9 +299,13 @@ export async function apply(ctx: Context) { }, ]); }); - ctx.inject(['vjudge', 'model:setting'], async (c) => { + ctx.inject(['vjudge'], async (c) => { for (const [k, v] of Object.entries(providers)) { - if (!SystemModel.get(`vjudge.builtin-${k}-disable`)) c.vjudge.addProvider(k, v); + try { + if (!SystemModel.get(`vjudge.builtin-${k}-disable`)) c.vjudge.addProvider(k, v); + } catch (e) { + logger.error(`Error adding provider ${k}: ${e}`); + } } c.inject(['check'], ({ check }) => { check.addChecker('Vjudge', async (_ctx, log, warn, error) => {