Files
OmniRoute/src/lib/db
Diego Rodrigues de Sa e Souza bc00e32b15 fix(compression): record no-op compression runs so Stacked is visible in analytics (#4268) (#5277)
A compression_analytics row was written only on a net-positive saving
(chatCore: result.compressed || fallbackApplied || cavemanOutputModeApplied).
A Stacked RTK->Caveman pipeline that ran on already-compact context saved
nothing -> no row -> indistinguishable from 'never dispatched'
(byMode.stacked.count stayed flat while Ultra climbed).

Attempted-but-no-op runs are now recorded via writeCompressionSkip with a
skip_reason. A new skip_reason column (added through the existing
ensureCompressionAnalyticsColumns ALTER path) marks these rows; the analytics
summary excludes them from every saving aggregate (via a single successWhere =
'skip_reason IS NULL' filter, so historical totals/averages are byte-identical)
and surfaces them as per-mode 'skipped' plus totalSkipped / bySkipReason. The
Mode Breakdown shows 'N skipped (no-op)'.

TDD: compressionAnalytics.test.ts gains coverage that skip rows are counted
separately without polluting saving aggregates, and that a skip-only mode still
appears (count 0, skipped > 0). Fail-before proven by reverting the successWhere
exclusion (both new tests fail). typecheck:core + eslint clean; 17/17 suite green.
2026-06-28 21:53:48 -03:00
..
2026-05-04 10:52:28 -03:00
2026-06-27 09:07:12 -03:00
2026-06-25 13:17:40 -03:00
2026-06-27 09:07:12 -03:00
2026-06-19 06:49:01 -03:00
2026-06-20 14:55:24 -03:00
2026-06-20 14:55:24 -03:00
2026-06-19 06:49:01 -03:00
2026-05-24 18:05:58 -03:00
2026-06-25 13:17:40 -03:00
2026-06-17 02:43:21 -03:00
2026-05-26 23:51:47 -03:00
2026-06-11 18:52:29 -03:00
2026-06-25 13:17:40 -03:00
2026-06-23 03:08:29 -03:00
2026-05-26 23:51:47 -03:00
2026-06-26 02:51:06 -03:00
2026-05-26 23:51:47 -03:00
2026-06-23 17:06:18 -03:00
2026-06-15 03:32:11 -03:00
2026-05-26 23:51:47 -03:00
2026-06-27 09:07:12 -03:00
2026-06-25 13:17:40 -03:00
2026-05-26 23:51:47 -03:00
2026-05-21 01:29:12 -03:00
2026-05-26 23:51:47 -03:00
2026-05-23 01:46:59 -03:00
2026-05-26 23:51:47 -03:00
2026-06-25 13:17:40 -03:00
2026-06-11 18:52:29 -03:00
2026-05-23 01:46:59 -03:00
2026-05-24 18:05:58 -03:00
2026-05-24 18:05:58 -03:00
2026-06-12 23:49:22 -03:00
2026-06-27 09:07:12 -03:00
2026-06-11 18:52:29 -03:00
2026-06-22 03:17:02 -03:00
2026-06-27 09:07:12 -03:00
2026-06-04 20:05:38 -03:00
2026-06-27 09:07:12 -03:00
2026-06-11 18:52:29 -03:00
2026-06-25 13:17:40 -03:00
2026-06-27 09:07:12 -03:00
2026-06-27 09:07:12 -03:00
2026-06-04 20:05:38 -03:00
2026-05-24 18:05:58 -03:00
2026-06-25 13:17:40 -03:00
2026-06-11 18:52:29 -03:00
2026-05-26 23:51:47 -03:00
2026-06-26 02:51:06 -03:00
2026-06-11 18:52:29 -03:00
2026-05-21 01:29:12 -03:00
2026-06-23 17:06:18 -03:00
2026-05-29 12:44:29 -03:00
2026-06-13 17:27:40 -03:00
2026-06-25 13:17:40 -03:00
2026-06-11 18:52:29 -03:00
2026-06-23 17:06:18 -03:00
2026-05-26 23:51:47 -03:00
2026-05-26 23:51:47 -03:00
2026-05-26 23:51:47 -03:00
2026-06-27 09:07:12 -03:00