Skip to content

fix: ResponseStatus QA - #10384

Merged
snowystinger merged 3 commits into
mainfrom
b/response_status_qa
Jul 30, 2026
Merged

fix: ResponseStatus QA#10384
snowystinger merged 3 commits into
mainfrom
b/response_status_qa

Conversation

@catherine

@catherine catherine commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator

✨ Changes:

  • fix: move paddingBottom from disclosure panel to wrapper so that it doesn't impact the height transition
  • fix: don't stretch disclosure so that focus ring hugs content
  • don't apply paddingBottom to last li & also ensure that dislosure and non-disclosure items are the same height via padding size

📝 Test Instructions:

  • content jump flicker no longer happening when expanding/collapsing ExecutionTraceItems
  • tab to parent ResponseStatus and child ExecutionTraceItems and see focus ring hug content
  • inspect last element to see no paddingBottom applied and both item types are 40px when no content wraps

@rspbot

rspbot commented Jul 29, 2026

Copy link
Copy Markdown

@rspbot

rspbot commented Jul 29, 2026

Copy link
Copy Markdown

@snowystinger snowystinger left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure what happened to the spacing between items? was that intentional?

Image

Should all the content of the top level response status be only 2px in from the outside, it either doesn't look like enough to visually separate, or just ever so slightly off if it's supposed to align. It looks like the values match Disclosure, so I'm betting it's an issue with the padding on the ol, maybe reduce it from 4 to 2?

Image

}

const detailTriggerStyles = style({
display: 'block',

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this correct? It looks like the child has CenterBaseline for an icon, so this should be display flex already.
Then I think we can remove the marginStart from detailTriggerChevronStyles

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The display: block is to handle the disclosure chevron aligning with the title when wrapping to a second line - which was an ask during the initial demo I did with the RSP team

without:
Image

with/current:
Image

@catherine catherine Jul 30, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can remove the marginStart from detailTriggerChevronStyles

The marginStart is to override the value set on buttonStyles that is shared between the parent and child disclosures:
paddingX: 'calc(self(minHeight) * 3/8 - 1px)',

The buttonStyles definition was copied from Disclosure for the initial ReponseStatus component and equates to 11px. Since there will be some spacing iteration when we get final design specs, I opted to take the path that prioritized keeping our new ExectutionTraceItem spacing to the system spacing values rather than a bunch of +1/-1 odd numbers to get the title+panel content to line up while giving the title's focus ring breathing room

Update:
mix up -- my comment above is re: detailTriggerStyles instead of detailTriggerChevronStyles

but does tie into answering the spacing question in this other comment you left:

Should all the content of the top level response status be only 2px in from the outside, it either doesn't look like enough to visually separate, or just ever so slightly off if it's supposed to align. It looks like the values match Disclosure, so I'm betting it's an issue with the padding on the ol, maybe reduce it from 4 to 2?


const executionTraceDisclosureContainerStyles = style({
paddingBottom: 12,
marginTop: -4

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we could get rid of this negative margin if we changed the item to display as a grid

template areas
[['icon', 'button'],
 ['line', 'content']]

then we could center baseline the icon vertically in it's cell, which would be the same height as the text, even if the text were to wrap (don't know if that's a thing)

the line would just have stretch set

I think this would also help with eventual changes to font size or tshirt size

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

For the ExecutionTraceItems that are disclosures, the button height is the 32px min tap target which is 8px larger than the text-only item titles. The -4px is to visually center the button with the icon without increasing the space between the divider and icon because most of the design explorations have nestled the divider and icon together as close as possible.

Then eventual move may be moving to a grid - but I feel Design needs to first work out their exploration of nested disclosures being included in the component (as this was an engineering-driven spike to help them understand the use case of chats having more complex content to report), which will hopefully take the tap target / divider / icon size relationship into consideration.

In a pass at switching to a grid, while it does offer center alignment without the -4px, we persist the problem that the button height drives the row height and then impacts the spacing of the divider+icon compared to the text-only items:
Screenshot 2026-07-30 at 11 39 56 AM

@catherine

catherine commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator Author

Not sure what happened to the spacing between items? was that intentional?

@snowystinger

I appreciate your review vigilance and the attention to detail 🥷 -- this is just a Draft; I opened this PR to get a beta Storybook build to test on mobile Safari to see if the -webkit-text-size-adjust change solved the resizing issue (which, I was able to reproduce in the case of decreasing browser zoom level). Workflows for the other repos I work in build only on the PR opening, so it's a habit to open a PR and I forgot I could just push the branch and grab the commit build here.

I'll be amending the commits before swapping this to Ready for review

@catherine
catherine force-pushed the b/response_status_qa branch 2 times, most recently from eef7969 to 412bb89 Compare July 30, 2026 19:06
@rspbot

rspbot commented Jul 30, 2026

Copy link
Copy Markdown

@rspbot

rspbot commented Jul 30, 2026

Copy link
Copy Markdown

Comment on lines +435 to +446
'--execution-trace-item-padding-bottom-disclosure': {
type: 'paddingBottom',
value: {
default: 12,
':last-child': 0
}
},
'--execution-trace-item-padding-bottom-no-disclosure': {
type: 'paddingBottom',
value: {
default: 16,
':last-child': 0

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some screenshots to show what this block accomplishes - both disclosures and non-disclosure items the same height with the different 12/16 padding (before any content might wrap and the last item not having padding:


Image
Image
Image

@catherine
catherine marked this pull request as ready for review July 30, 2026 19:18
@catherine
catherine force-pushed the b/response_status_qa branch from 412bb89 to fe4515c Compare July 30, 2026 20:21
@rspbot

rspbot commented Jul 30, 2026

Copy link
Copy Markdown

@rspbot

rspbot commented Jul 30, 2026

Copy link
Copy Markdown

Agent Skills Changes

Modified (2)
Install

React Spectrum S2:

npx skills add https://d1pzu54gtk2aed.cloudfront.net/pr/fe4515cd7660511aa7bdf5de38af25f882247654/

React Aria:

npx skills add https://d5iwopk28bdhl.cloudfront.net/pr/fe4515cd7660511aa7bdf5de38af25f882247654/

@snowystinger
snowystinger enabled auto-merge July 30, 2026 20:55
@snowystinger
snowystinger added this pull request to the merge queue Jul 30, 2026
Merged via the queue into main with commit ae0ab1d Jul 30, 2026
31 checks passed
@snowystinger
snowystinger deleted the b/response_status_qa branch July 30, 2026 21:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants