Add master dashboard reporter and settings UI

- New reporter module that pushes firm stats (total accounts, accounts
  traded, in trade) to a configurable master dashboard every 30 seconds
- Add Instance Name and Dashboard URL fields to the settings page
- Register master_dashboard_url and instance_name in settings API
- Seed default (empty) values for new settings in db

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Senofy
2026-03-13 03:01:48 -05:00
co-authored by Claude Opus 4.6
parent 15ef2d7adc
commit f112118090
6 changed files with 159 additions and 3 deletions
+4
View File
@@ -1,6 +1,7 @@
import { TradovateClient } from './tradovate-class';
import { getFirms, getInstruments } from './db';
import { resolveContracts } from './contract-resolver';
import { startReporter } from './reporter';
// Use global to persist the client pool across HMR reloads in dev mode
const g = global as typeof globalThis & {
@@ -59,6 +60,9 @@ export function getClients(): Map<number, TradovateClient> {
// Schedule daily resolve at midnight
scheduleDailyResolve();
// Start master dashboard reporter
startReporter();
} catch (err) {
console.error('[clients] Failed to initialize clients', err);
}