mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
fix(site): hide sticky metadata user messages (#25316)
This commit is contained in:
+39
@@ -1139,6 +1139,45 @@ export const UserMessageWithMultipleInlineFileRefs: Story = {
|
||||
},
|
||||
};
|
||||
|
||||
export const MetadataOnlyUserMessageDoesNotLeaveStickyGap: Story = {
|
||||
args: {
|
||||
...defaultArgs,
|
||||
parsedMessages: buildMessages([
|
||||
{
|
||||
...baseMessage,
|
||||
id: 1,
|
||||
role: "assistant",
|
||||
content: [{ type: "text", text: "Before hidden metadata." }],
|
||||
},
|
||||
{
|
||||
...baseMessage,
|
||||
id: 2,
|
||||
role: "user",
|
||||
content: [
|
||||
{
|
||||
type: "context-file",
|
||||
context_file_path: "/home/coder/coder/AGENTS.md",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
...baseMessage,
|
||||
id: 3,
|
||||
role: "assistant",
|
||||
content: [{ type: "text", text: "After hidden metadata." }],
|
||||
},
|
||||
]),
|
||||
},
|
||||
play: async ({ canvasElement }) => {
|
||||
const canvas = within(canvasElement);
|
||||
expect(canvas.getByText("Before hidden metadata.")).toBeVisible();
|
||||
expect(canvas.getByText("After hidden metadata.")).toBeVisible();
|
||||
expect(canvasElement.querySelectorAll("[data-user-sentinel]")).toHaveLength(
|
||||
0,
|
||||
);
|
||||
},
|
||||
};
|
||||
|
||||
/**
|
||||
* Verifies the structural requirements for sticky user messages
|
||||
* in the flat (section-less) message list:
|
||||
|
||||
@@ -1082,6 +1082,16 @@ export const ConversationTimeline = memo<ConversationTimelineProps>(
|
||||
>
|
||||
{parsedMessages.map(({ message, parsed }, msgIdx) => {
|
||||
if (message.role === "user") {
|
||||
const { shouldHide } = deriveMessageDisplayState({
|
||||
message,
|
||||
parsed,
|
||||
hideActions: false,
|
||||
hasActiveStream: false,
|
||||
isAwaitingFirstStreamChunk: false,
|
||||
});
|
||||
if (shouldHide) {
|
||||
return null;
|
||||
}
|
||||
return (
|
||||
<StickyUserMessage
|
||||
key={message.id}
|
||||
|
||||
Reference in New Issue
Block a user