Marc-André Bombeck
3dc6c7436f
fix(analytics): replace NUL-byte map-key separators with a visible one
...
Two in-memory key builders joined their parts with a literal NUL
(`${a}\x00${b}`): the sleep writer-bucket key and the correlation
pair key. The embedded NUL made grep classify both files as binary, so a
plain `grep symbol src/**` skipped them silently.
Swap the separator for U+241F (␟, the unit separator). It cannot appear
in a `MeasurementSource` enum literal, a device-type tag, or a
correlation-channel name, so the key semantics are identical — the sleep
key still slices its source prefix unambiguously and the correlation Set
still excludes double-counts. Both keys are ephemeral (one pass, never
persisted), so the byte change is invisible to any stored state.
2026-07-18 02:09:33 +02:00
..
2026-07-17 23:12:12 +02:00
2026-07-16 02:14:46 +02:00
2026-07-16 02:14:46 +02:00
2026-06-05 13:58:28 +02:00
2026-06-28 13:58:43 +02:00
2026-07-16 02:14:46 +02:00
2026-07-16 02:14:46 +02:00
2026-06-28 03:20:49 +02:00
2026-06-29 15:08:04 +02:00
2026-07-12 11:08:59 +02:00
2026-06-28 03:28:37 +02:00
2026-07-05 20:33:44 +02:00
2026-06-10 22:41:28 +02:00
2026-07-16 22:34:17 +02:00
2026-06-26 13:16:00 +02:00
2026-07-16 06:47:36 +02:00
2026-07-17 23:12:12 +02:00
2026-07-18 02:09:33 +02:00
2026-06-26 13:42:06 +02:00
2026-06-19 22:20:31 +02:00
2026-06-19 22:20:31 +02:00
2026-07-16 09:55:35 +02:00
2026-06-19 22:20:31 +02:00
2026-07-17 08:19:17 +02:00
2026-06-21 10:23:14 +02:00
2026-07-17 08:19:17 +02:00
2026-07-16 02:14:46 +02:00
2026-07-10 21:23:00 +02:00
2026-07-11 01:54:12 +02:00
2026-06-28 03:20:49 +02:00
2026-06-20 19:04:08 +02:00
2026-06-28 03:20:49 +02:00
2026-06-01 20:26:26 +02:00
2026-07-16 02:14:46 +02:00
2026-06-02 14:03:00 +02:00
2026-07-17 23:50:06 +02:00
2026-07-18 01:23:37 +02:00
2026-07-17 23:12:12 +02:00
2026-06-19 22:20:31 +02:00
2026-06-28 18:33:53 +02:00
2026-07-16 02:14:46 +02:00
2026-07-11 08:43:41 +02:00
2026-07-11 08:43:41 +02:00
2026-07-11 08:43:41 +02:00
2026-06-28 03:28:37 +02:00
2026-07-11 08:43:41 +02:00
2026-07-16 02:14:46 +02:00
2026-07-11 08:43:41 +02:00
2026-07-16 02:14:46 +02:00
2026-07-16 02:14:46 +02:00
2026-06-16 22:25:50 +02:00
2026-03-10 20:14:33 +01:00
2026-06-02 23:40:24 +02:00
2026-07-11 08:43:41 +02:00
2026-06-11 22:49:42 +02:00
2026-06-19 22:20:31 +02:00
2026-06-26 13:42:06 +02:00
2026-06-19 21:31:16 +02:00
2026-07-11 08:43:41 +02:00
2026-06-28 12:42:35 +02:00
2026-06-21 00:56:07 +02:00
2026-06-19 22:20:31 +02:00
2026-06-26 23:57:37 +02:00
2026-06-19 22:20:31 +02:00
2026-07-18 01:23:37 +02:00
2026-06-04 17:47:17 +02:00
2026-06-26 12:29:29 +02:00
2026-07-01 23:44:55 +02:00
2026-06-19 22:20:31 +02:00
2026-06-19 22:20:31 +02:00
2026-06-03 08:56:20 +02:00
2026-07-16 02:14:46 +02:00
2026-06-02 17:34:52 +02:00