Commit graph

2637 commits

Author SHA1 Message Date
iliya
0296c68a4d fix(ci): resolve validate lint errors 2026-05-31 01:22:47 +03:00
777genius
601d02fd45 perf(main): cache live runtime process table reads 2026-05-31 01:17:53 +03:00
777genius
027623c8d1 perf(renderer): avoid timer sync on telemetry-only updates 2026-05-31 00:54:17 +03:00
777genius
6b08e0d1a7 perf(renderer): batch visible message read updates 2026-05-31 00:48:26 +03:00
777genius
e5f2c262e8 perf(renderer): memoize global task rows 2026-05-31 00:40:24 +03:00
777genius
0b0eb45784 Merge remote-tracking branch 'origin/perf/team-page-lag-optimization' into perf/team-page-lag-optimization 2026-05-31 00:37:10 +03:00
777genius
7de2da23d4 perf(renderer): defer member telemetry sparklines 2026-05-31 00:33:46 +03:00
iliya
867d5368e1 test(team): align lead session cache tests 2026-05-31 00:29:10 +03:00
777genius
21ef4e406e Merge remote-tracking branch 'origin/perf/team-page-lag-optimization' into perf/team-page-lag-optimization 2026-05-31 00:27:03 +03:00
777genius
ab8ed5e378 perf(main): reduce bootstrap transcript context scans 2026-05-31 00:26:02 +03:00
777genius
2f0abb430c perf(renderer): share unchanged global tasks 2026-05-31 00:20:34 +03:00
iliya
76299a4e44 fix(team): align runtime telemetry tests with process rows 2026-05-31 00:14:16 +03:00
777genius
7f68d9823e Merge remote-tracking branch 'origin/perf/team-page-lag-optimization' into perf/team-page-lag-optimization 2026-05-31 00:03:21 +03:00
777genius
e90886316f perf(main): cache runtime resource telemetry 2026-05-30 23:59:56 +03:00
777genius
172ddad18a perf(main): reuse task snapshots for projections 2026-05-30 23:30:39 +03:00
777genius
b32cc59b46 perf(main): avoid repeated lead session tail scans 2026-05-30 23:21:42 +03:00
777genius
4b5a49e6e8 perf(main): share lead session tail reads 2026-05-30 23:19:15 +03:00
777genius
f4f42e2ca4 perf(main): avoid full team scans for global tasks 2026-05-30 23:14:42 +03:00
777genius
933bf9532d perf(main): reuse worker cached summaries 2026-05-30 23:05:02 +03:00
777genius
8f1e223d61 perf(renderer): slow task refreshes during launch 2026-05-30 22:57:41 +03:00
777genius
c2ab7a7ff4 perf(main): skip unchanged task resume locks 2026-05-30 22:47:52 +03:00
777genius
7ea57cb012 perf(renderer): defer task project scans 2026-05-30 22:33:17 +03:00
Илия
4271f62085 fix: sync ReviewRouter action ref 2026-05-30 22:33:13 +03:00
777genius
1f46a14a79 perf(main): trim runtime process liveness scans 2026-05-30 22:14:52 +03:00
777genius
4575255c28 perf(main): skip redundant task interval resume scans 2026-05-30 22:07:24 +03:00
777genius
e7d7b3014e perf(main): reduce runtime launch metadata work 2026-05-30 21:52:36 +03:00
777genius
9f8fc6895a fix(renderer): use context menu open change signal 2026-05-30 21:02:51 +03:00
777genius
b8a53dcc09 perf(renderer): reduce member card render work 2026-05-30 20:58:31 +03:00
777genius
60d806135c perf(renderer): lazy mount task context menus 2026-05-30 20:54:22 +03:00
777genius
2c13516d9f perf(renderer): lazy render member hover cards 2026-05-30 20:50:17 +03:00
777genius
d59865f300 perf(team): reduce runtime telemetry polling 2026-05-30 20:03:45 +03:00
777genius
b13ee56359 perf(team): cap global task projections earlier 2026-05-30 18:57:45 +03:00
777genius
304d0a5ef1 perf(team): avoid redundant task cache clone 2026-05-30 18:48:43 +03:00
777genius
7be9158eb3 fix(team): prevent composer recipient overflow 2026-05-30 18:46:21 +03:00
777genius
a7606032fc fix(runtime): preserve provider status during refresh failures 2026-05-30 18:44:31 +03:00
777genius
a06423a574 fix(team): preserve live overlay in worker message pages 2026-05-30 18:44:12 +03:00
777genius
180bdb7575 perf(team): cache transcript affinity verdicts 2026-05-30 18:39:16 +03:00
777genius
0a8fbc9801 fix: avoid render-time ref access in height reveal 2026-05-30 18:02:19 +03:00
777genius
1ebeba8f6e fix: satisfy lint after performance fixes 2026-05-30 17:43:08 +03:00
777genius
9ed1988346 fix: refresh watch scope on provider fallback 2026-05-30 17:34:05 +03:00
777genius
06036460e9 fix: keep watch scope safe on provider errors 2026-05-30 17:11:31 +03:00
777genius
3b7b5dfd75 fix: preserve file lock acquire errors 2026-05-30 17:08:29 +03:00
777genius
a18009cc0f fix: keep created teams in watch scope 2026-05-30 16:51:47 +03:00
777genius
f4155a6742 test: align idle watchdog expectation with stale window 2026-05-30 16:32:20 +03:00
777genius
1af8dd638b docs: normalize jsonl reader comment punctuation 2026-05-30 16:07:44 +03:00
777genius
d43cd3a0db test: sort team config reader imports 2026-05-30 16:06:01 +03:00
777genius
8cb44cd793 perf: replace readline with a chunked line generator in team JSONL readers
readline.createInterface runs an expensive Unicode line-break regex + extra
stream/string-decoder machinery per chunk. The main transcript parser (parseJsonlStream)
already uses a buffer + manual newline split; these per-team readers still used readline.

Add readJsonlLines(): an async generator that yields a JSONL file's lines via a chunked
utf8 stream read + a plain '\n' split (drop-in for 'for await (const line of rl)'), so the
consumers' loop bodies are unchanged. Stream is utf8-decoded before splitting, so multi-byte
chars across chunk boundaries are safe; trailing CR (CRLF) is stripped; empty lines and a
final newline-less line are yielded, matching readline; breaking out of the loop destroys
the stream via the generator's finally.

Adopt it in MemberStatsComputer, TaskBoundaryParser, and FileContentResolver (file-history
scan). Behavior-identical (their existing tests pass: 18 + 6 + 12) plus 6 new tests for the
generator (CRLF, empty lines, no-trailing-newline, early break, multi-byte chunk boundary).

Note: session-browser readline paths (jsonl metadata extractor, metadataExtraction,
SessionContentFilter) are off the launch path and left as-is for now.
2026-05-30 15:58:09 +03:00
777genius
92f1000a4f test: cover transcript head metadata cache 2026-05-30 15:51:59 +03:00
777genius
127d31ba88 perf: cache unchanged team task reads 2026-05-30 15:51:15 +03:00
777genius
28a55416ca test: isolate runtime usage stubs from process table 2026-05-30 15:46:27 +03:00