From 871b6826f786b08f89caa86f7aff439594c9fdf7 Mon Sep 17 00:00:00 2001 From: Tam Nhu Tran Date: Thu, 30 Apr 2026 15:45:02 -0400 Subject: [PATCH] fix(ui): coalesce leaves only when truly adjacent in original stream MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-Agent flagged that the previous derive-trace-groups split entries into trace and leaf buckets *before* coalescing leaves. That meant two identical no-requestId entries separated by other rows in the real stream would still merge into a single `×N` row, hiding signal. Walk `entries` in input order with single-pass coalescing: a leaf only extends the previous leaf when no other entry (trace child or otherwise) appeared between them. Trace children still gather across interleaving since they're identified by `requestId`. Group children get sorted ts-ascending for trace-timeline display, with the group's positional ts pinned to the oldest child for the reverse-chrono display sort. Refs #1138, #1151 --- ui/src/components/logs/derive-trace-groups.ts | Bin 4991 -> 4934 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ui/src/components/logs/derive-trace-groups.ts b/ui/src/components/logs/derive-trace-groups.ts index bbe747450b8bf3d8365244b150ee7358e3182c9f..24f22ebc6599f118f0d4160cdd09e3bec731c731 100644 GIT binary patch literal 4934 zcmaJ_?{XWr5&y2I*nSB~g*-~`H#(H+iJjIH#qHQ`^FgC2!8;szF?hHFI8&^mnLb2k z@<4f$K1qMOINXtv6OTeEOKRT7`KReqt{h4fTpmG*?XXfl4XU=k4`#?8u{_*DK zpYLD2`+h<1b#7hp4c{(TPN{BpYwfOR38MY!bT3+YCy@@>#NdN?EcRMo|TMh0uJf(RbC!(wom*XHNv_@s0CajR>( z!cAdYdEztVbmO$gDNpZ+eb9Lus?VCL0*h6yjHs-%#~~GHt3KmsA~ zb`NcJp`CW*w|4JI(XYR}qqQnFn!Ke#`R&>&SCH4HoHf>%s@_CxrLnf~RM>hHs6b3> zD8uEx+SJNqA~eS*?A0oKYuh?pFS>xTk2#d7#_Qs}sy7;250c-HenCDsT=SBG9e(4; zKK8K{oV?Z!eistiOc%0iRKw{;o%~rjN_szON13ik)go<`=Ab3 z_Mxitz-q=i!{w{Ldjuc)H@X0>7Nks-!va+o&-d1Ly_#h7<~|zCT2@9ueSY}CcV~7w zs6qv`qP5Od>ox4Q_$*vi25NAb)BkEUkk1~FtyxQOtvO($XzN13SWdL3|NZB`Fp2L% zoS+5(-rLp`1OT%4F!FF5Nobm%l`Z_M>;Say^xqH~K}@7~!@e$$QI&b*C5%Ve zXp%Ly8BYe(h$_B}Sxb!I+^IBM_4c%d-+OV&uWlzG9k1!^JstEREp_T?;9( z2F*-}1<^*L5e#oElw-JYIuGU$tr1~na_99d-#S}c^dT7_x~s)Fm}BgoL-AXDAmNdD z%O}7d%`>-mVEflYtG>MxLWt#AVJbqyKiyu^?H$)y6cOya1)1EVj%&TAA5`;AoDll? zY&>~M^ErxAIvdD*c7<^B5ym~=0d)o;;(ET}X{=yvvrE3_cpc3O>mwcyNd|>+G$P`d zi8L0}M0_}ArT*@;g(+?xCy|Jgj9vlnXzNImzL!B@6Vu6+pQGY{L(l;tEq}U;JIQG9 z5Q}W1JNnIrnbDO^a9ZG0qc zFj_ox7N?ADT(daRfq)JY{roGgbj>|F-21WU=(=Bs4LeH3i7Sc3-v$PcJ^NTbt|a;A z`vLHi>}K3rK@Pj-`1nrU%Tpi;9SsoCo?wGAH)#mt=RqG0#Df_R1hJr7x#Mow#5fxj zAYBa57+-|0k1j>R66j~B?-=|c-FSz{!LE1C=(0b`9g6<|fv-B+iwIr=X6Oq%xbb6R z=GuB-`GmYL6$xug>qC+7>Jt#)$`2>4txReopm_pcrm0c)!(nea_xW@YgZ^qs7d$P< zIp8?$;p8!rqjK&>&>m5pBonHo?h&ye@GOpa_U{uM9Y0&c40$=BuSvLq9VTgd+3EY` z3CMYluw78=T#L<79fOw4LO9XlMbI4gx2n1UfDNy`A z?b=SBJn1bP430EEe0_17V+h9gBzKsik5-c%caz>ET-M2^E2A!cR3mcOOLP`P6~6=- zO*&J*mg7kzsYsL~VNRFgru1Wyll@cDgp@2Kkyy)He!9e3?!CXgkimdM$0=oziDWv% zc(cUJt%@NZQQa}%UdM?_5QeWJ^q%LWvT~U50itfC7vSIlc>;h3?5C>2D`^QtJcSZn rGfX^TR?ePOY_uf0wdT|7FP#RI`1JbAr#tJ`;Ryg$5ZFE9^YQHe?e;U> literal 4991 zcma)A+j1MZ5zVu{qW5JA!E-$jG)Fw>6IV(@3Z=K5YpPX&#UM9J$pz?>|6xHNbY@-tE#EFz&dD_URJ$u$!l+!Q&2~XA=2V)(F6iZ)4$7GYy_%DD&bkHt zjvk;`--$1!3ECC7kZ!ap-Uhv=`!k}CrO6jGsjvnsh~R-cE(Vu*?ehE_f9ah5zSD-T za8uZoo>+#QuATOf^7NkA2c0#c{G_SOu~=rR5|yR)5K@75>XVMjQVnI9Rh9Oc&J+4z z571_E?X)AmvjUd? z87}wb)~G6xLznmqd$kI0Y-7UfMH^7|F@rKyd!2t!W~;GvFZsRo3-ZC?nr|rB;TuQx zp^vTLNGJ73V zu7cW7sx#Gi4ZAJ==B_LP)ws;*e>NJ(XAj64))HJ(9kG!&CRZ?)6Yc3g|N1vf;=2$h zr~!ZvwyAOg0NHyOc^pR)nl8_Z2L6?H0NM}wIK|-;jL*6pOGP*x8fR$5kcs7xME$Q{ z(_}IqEw>4xryG(7UYDy9ZySfgdvZ<^HP+Y$<8A)*>|-74Et()nLx1x)|;a6ZEVBiMr3;AY zW>i}Mtq!O&t6!46$v@K{?3TUJU!eEpsD~r9MMNz8p!3jW>VR(_TrPu7kGcdYg zC0>w((2e@#Y7I1DS32x!Er==$lvfOLQfaeAn3u~Xy_muNh_!WWK|BF$6HXK?X(hXr zMmaa;d#%u~c_v&lis>_YSXE&n@IThlo|6uTf4jIXlswxkneU$ zS|i(4RE>w-G@a4%O57r1$G&Qf>YU;G;tn=iE8y(QSt~>AVNyfc^!{Y}U~I*@Y!%W2 zfX%udNLR?qy?hyqw+p93ES3|?ovItwM=)J*NX5uuyTfIi1mi(~voVAifHDiPAklm1 zqm4xhd0 zS51)v5upf2YaW95z=33xM!VYD0@}v?@jHxL)OUQ7Afarmui__Kl7sP zKe9jHqxJodx%ZhcYIOli^OKHsOe7ivFvVQS*RF|Ojat}fn={h2ykk2%dj%4y69xA; z&isqPU$L((h@xcTk(V%?B$HWE+Zx@cpQ@rNroYWKizl8b%M`r$rUWggbAw`>htTSIi zKGI6h+xdA>EAQv@=c$=>7G$?owofID*5MR$jhCstHCrU&iN9YC)FJYa5g~xajxq4d;#Y>sP^LXZhcOW^NgKe6i!z#*Y<1g6l0hUE zVXXRien#1r>eQq@hIz?iEuPn-XWt3i`0WNVH{|g7Xs&wC(Tlm5(AU@8x1&>C1Y`U>su@*=q$EkwpT?8Gh3Qny zDHT4YhIyM*7O!Ug#_nsB!89FqW^F{6xb4-Q{3sApFCTHoM1BuuMJnka1h_(obWZyr}bl)-H*bG`L-mL@DD&SEip3m8jF|}crGSVhXej% geA~9b(&=;304z(V&r7!^r{NLIRS