Ewald
97649c9887
perf/test: audit backlog — lazy viewer imports, structured logging, perf budget + unit tests
- ViewerRuntime.js: convert 6 heavy static imports (abCompare, sideBySide,
model3d, scopes, genInfo, frameExport) to dynamic lazy imports with
_prewarmViewerModules(); all 8 call sites updated with optional chaining
- logging.js: add mjrDbg() export (gated by APP_CONFIG.DEBUG_VERBOSE_ERRORS);
replace labeled console.debug() calls in bootstrap.js, useGridLoader.js,
entry.js
- ttlCache.vitest.mjs: add 4 LRU edge-case tests (10k flood, re-set order,
post-expiry pruning)
- grid_perf_budget.vitest.mjs: new CI perf-budget suite — 5 tests at 10k+
assets (budget 400ms, actual ~40ms)
- backfill_jobs.py: new route module extracted from db_maintenance handler
- test_backfill_jobs.py: 61 direct unit tests covering all public functions
- test_db_corruption_recovery.py: new recovery scenario tests
- auth/fetch test suites: auth_refresh_race, client_auth_token, fetch_utils
- js_dist rebuilt
Tests: 393 JS passed, 1428 Python passed, 2 skipped
2026-04-11 11:56:01 +02:00
..
2026-01-24 19:28:33 +01:00
2026-01-24 19:28:33 +01:00
2026-03-28 13:26:28 +01:00
2026-04-10 06:25:52 +02:00
2026-04-10 06:25:52 +02:00
2026-04-10 06:25:52 +02:00
2026-04-10 06:25:52 +02:00
2026-03-28 13:26:28 +01:00
2026-04-11 11:56:01 +02:00
2026-03-28 13:26:28 +01:00
2026-03-08 00:51:40 +01:00
2026-04-09 01:55:32 +02:00
2026-03-16 23:47:08 +01:00
2026-03-27 17:15:53 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-02-26 07:01:43 +01:00
2026-04-11 11:56:01 +02:00
2026-04-09 01:55:32 +02:00
2026-04-06 09:41:58 +02:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-04-06 18:07:19 +02:00
2026-03-28 13:26:28 +01:00
2026-04-06 08:38:06 +02:00
2026-03-28 13:26:28 +01:00
2026-04-09 01:55:32 +02:00
2026-03-27 15:12:20 +01:00
2026-03-28 13:26:28 +01:00
2026-03-08 23:48:19 +01:00
2026-04-09 01:55:32 +02:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-02-26 07:01:43 +01:00
2026-03-28 13:26:28 +01:00
2026-04-06 18:28:58 +02:00
2026-02-25 11:43:13 +01:00
2026-04-10 16:08:14 +02:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-02-26 09:33:55 +01:00
2026-02-25 11:43:13 +01:00
2026-04-06 18:28:58 +02:00
2026-04-08 13:48:20 +02:00
2026-04-08 20:50:26 +02:00
2026-03-27 17:59:28 +01:00
2026-04-06 18:28:58 +02:00
2026-04-06 18:28:58 +02:00
2026-02-26 07:01:43 +01:00
2026-03-28 13:26:28 +01:00
2026-04-06 18:28:58 +02:00
2026-02-26 07:01:43 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-04-06 18:28:58 +02:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-04-06 18:28:58 +02:00
2026-03-29 21:34:49 +02:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-08 00:51:40 +01:00
2026-03-28 13:26:28 +01:00
2026-04-10 16:08:14 +02:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-04-10 16:08:14 +02:00
2026-04-04 22:28:49 +02:00
2026-04-11 09:38:41 +02:00
2026-04-09 17:14:22 +02:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-29 20:46:19 +02:00
2026-02-26 22:34:59 +01:00
2026-03-04 08:27:17 +01:00
2026-04-07 10:35:43 +02:00
2026-04-09 01:55:32 +02:00
2026-03-05 02:21:13 +01:00
2026-04-06 19:48:57 +02:00
2026-03-28 13:26:28 +01:00
2026-03-03 07:33:50 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00