Marc-André Bombeck
459b5baa9d
fix(backup): read ECG traces a strip at a time
...
The shared backup reader kept documents without their stored bytes but
kept every ECG strip whole, trace included. A long watch history is
hundreds of strips of tens to hundreds of kilobytes each, so an upload,
preview or restore of such a copy held the whole history in memory.
The first read now keeps each strip without its trace (a short stand-in,
after the key it was written under is recorded and its form checked),
and forEachEcgTrace reads the traces again one strip at a time. The ECG
restore writes each strip from that second read, as the document restore
already did, and refuses a file whose two reads disagree on the count.
The upload memory test gains an ECG-heavy file: 150 strips, about 200 MB.
The old reader held 197 MB of it and failed the 48 MB bound; the new one
holds about 1 MB, also under a 524 MB heap.
2026-10-25 14:27:56 +01:00
..
2026-10-25 02:45:23 +01:00
2026-10-25 13:50:14 +01:00
2026-10-25 00:44:15 +02:00
2026-10-25 00:44:15 +02:00
2026-10-25 13:50:14 +01:00
2026-10-22 06:50:58 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-10-25 13:51:15 +01:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-20 16:52:08 +02:00
2026-09-26 01:49:02 +02:00
2026-10-25 14:27:56 +01:00
2026-10-22 07:46:02 +02:00
2026-09-25 02:05:19 +02:00
2026-10-04 15:56:55 +02:00
2026-10-25 02:42:09 +01:00
2026-10-25 02:42:09 +01:00
2026-10-22 08:02:14 +02:00
2026-09-26 20:18:55 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 07:46:02 +02:00
2026-10-25 02:42:09 +01:00
2026-10-25 02:42:09 +01:00
2026-10-25 01:01:13 +02:00
2026-10-25 01:01:13 +02:00
2026-10-22 08:02:14 +02:00
2026-10-25 14:27:56 +01:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 07:46:02 +02:00
2026-10-22 18:59:07 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 21:15:38 +02:00
2026-10-18 13:10:19 +02:00
2026-09-05 17:06:34 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 19:57:47 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 19:57:47 +02:00
2026-10-23 00:28:38 +02:00
2026-10-21 16:25:25 +02:00
2026-10-22 08:02:14 +02:00
2026-10-08 13:03:37 +02:00
2026-10-23 19:27:52 +02:00
2026-10-23 19:27:52 +02:00
2026-10-23 19:54:08 +02:00
2026-10-23 19:27:52 +02:00
2026-09-25 08:53:38 +02:00
2026-10-24 22:20:06 +02:00
2026-10-24 22:20:06 +02:00
2026-10-24 22:20:06 +02:00
2026-10-22 19:57:47 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 19:57:47 +02:00
2026-10-22 06:59:54 +02:00
2026-10-22 19:57:47 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-09-10 11:03:56 +02:00
2026-07-22 04:14:15 +02:00
2026-09-25 02:05:19 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 18:59:07 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-09-25 02:05:19 +02:00
2026-10-22 07:46:02 +02:00
2026-10-25 02:42:09 +01:00
2026-09-27 11:24:41 +02:00
2026-10-09 12:02:25 +02:00
2026-10-22 07:46:02 +02:00
2026-10-15 23:57:27 +02:00
2026-10-04 10:19:31 +02:00
2026-10-23 08:14:15 +02:00
2026-10-23 08:14:15 +02:00
2026-10-04 18:23:14 +02:00
2026-09-30 22:51:02 +02:00
2026-10-25 14:27:56 +01:00
2026-10-18 13:10:19 +02:00
2026-10-22 08:02:14 +02:00
2026-10-03 21:13:45 +02:00
2026-09-26 19:22:03 +02:00
2026-09-03 02:08:09 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00