fix(chat): centre the agent-thread terminating dot on the rail (#6059)

The timeline's terminating dot used a single left offset (-17px) at both
breakpoints, but the thread's padding-left differs (22px desktop, 18px
mobile) and the step dots already carry a per-breakpoint offset. The 6px
dot therefore landed 2px right of the 2px rail on desktop and 2px left of
it on mobile, which is the visible kink under an expanded last step.

Derive each offset from the rail's centre instead: the rail sits at
left:5px and is 2px wide, so the dot's left edge belongs at 3px, giving
3px - padding-left per breakpoint.
This commit is contained in:
Léo
2026-08-15 19:24:19 +01:00
committed by GitHub
parent 443f7d2963
commit 60bed54703
2 changed files with 115 additions and 5 deletions
+10 -5
View File
@@ -9685,11 +9685,11 @@ body.fullwidth-chat .chat-history {
.agent-thread:not(.has-bottom) .agent-thread-node.open:last-child::after {
content: '';
position: absolute;
/* -17px (was -15) nudges the terminating dot 2px further left so it
sits flush with the thread's left rail when the search node is
expanded. This is the "big glow dot at the bottom" the user sees
after a web_search step. */
left: -17px;
/* Centre the 6px dot on the rail: the rail sits at left:5px + 2px wide,
so its centre is 6px from the thread's left edge and the dot's left
edge belongs at 3px — i.e. 3px - padding-left. Keep this in step with
.agent-thread-dot and with the mobile padding override below. */
left: -19px;
bottom: 5px;
width: 6px;
height: 6px;
@@ -9958,6 +9958,11 @@ body.fullwidth-chat .chat-history {
left: -16px;
top: 10px;
}
/* padding-left drops to 18px here, so the terminating dot needs its own
offset (3px - 18px) to stay centred on the rail. */
.agent-thread:not(.has-bottom) .agent-thread-node.open:last-child::after {
left: -15px;
}
}
/* ===== AGENT TOOL OUTPUT (inside thread nodes) ===== */