mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-02 21:32:10 +03:00
fix(build): unblock release build and settings state updates
Add targeted TypeScript annotations and module declarations to reduce type errors in open-sse services, executors, and shared utilities while temporarily disabling checking in legacy files that still need migration. Reset stale `.next/standalone` output before isolated builds so release artifacts are generated from a clean state. Update the dashboard proxy settings UI to bypass cached settings reads and immediately roll back debug mode when the PATCH request fails, which prevents stale data and inconsistent toggle state.
This commit is contained in:
@@ -268,25 +268,32 @@ test("syncAllBudgetSchedules advances overdue budgets and records a reset log",
|
||||
const now = Date.UTC(2026, 3, 17, 12, 0, 0);
|
||||
const previousPeriodStart = Date.UTC(2026, 3, 15, 0, 0, 0);
|
||||
const overdueResetAt = Date.UTC(2026, 3, 16, 0, 0, 0);
|
||||
const originalNow = Date.now;
|
||||
|
||||
domainState.saveBudget("key-reset", {
|
||||
dailyLimitUsd: 10,
|
||||
warningThreshold: 0.8,
|
||||
resetInterval: "daily",
|
||||
resetTime: "00:00",
|
||||
budgetResetAt: overdueResetAt,
|
||||
lastBudgetResetAt: previousPeriodStart,
|
||||
});
|
||||
domainState.saveCostEntry("key-reset", 3.5, Date.UTC(2026, 3, 15, 12, 0, 0));
|
||||
try {
|
||||
Date.now = () => now;
|
||||
|
||||
const result = costRules.syncAllBudgetSchedules(now);
|
||||
const synced = costRules.getBudget("key-reset");
|
||||
const logs = domainState.loadBudgetResetLogs("key-reset", 5);
|
||||
domainState.saveBudget("key-reset", {
|
||||
dailyLimitUsd: 10,
|
||||
warningThreshold: 0.8,
|
||||
resetInterval: "daily",
|
||||
resetTime: "00:00",
|
||||
budgetResetAt: overdueResetAt,
|
||||
lastBudgetResetAt: previousPeriodStart,
|
||||
});
|
||||
domainState.saveCostEntry("key-reset", 3.5, Date.UTC(2026, 3, 15, 12, 0, 0));
|
||||
|
||||
assert.equal(result.processed, 1);
|
||||
assert.equal(result.resetCount, 1);
|
||||
assert.equal(synced?.lastBudgetResetAt, Date.UTC(2026, 3, 17, 0, 0, 0));
|
||||
assert.equal(logs.length, 1);
|
||||
assert.equal(logs[0].previousSpend, 3.5);
|
||||
assert.equal(logs[0].resetInterval, "daily");
|
||||
const result = costRules.syncAllBudgetSchedules(now);
|
||||
const synced = costRules.getBudget("key-reset");
|
||||
const logs = domainState.loadBudgetResetLogs("key-reset", 5);
|
||||
|
||||
assert.equal(result.processed, 1);
|
||||
assert.equal(result.resetCount, 1);
|
||||
assert.equal(synced?.lastBudgetResetAt, Date.UTC(2026, 3, 17, 0, 0, 0));
|
||||
assert.equal(logs.length, 1);
|
||||
assert.equal(logs[0].previousSpend, 3.5);
|
||||
assert.equal(logs[0].resetInterval, "daily");
|
||||
} finally {
|
||||
Date.now = originalNow;
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user