Maintain open/closed state of <details><summary> section in annotations

We use structured Buildkite annotations in our product, which integrates with Buildkite, to highlight build & test results from customer Bazel builds. These annotations often contain details/summary sections such as:

<details>
<summary>Some summary</summary>
Some collapsable details
</details>

In our product, these annotations are updated as the build progress and build results stream in. When they are updated, if a user happens to have a <details> section expanded in the UI, it will auto-collapse. During the course of a long build, the annotation may be updated every 10-15 seconds, which leads to a bad experience for users that are looking at detail sections while the build is running.

Is is possible when updating Buildkite annotations in the UI to consider the id of a <details><summary> section such as:

<details>
<summary id="my-unique-summary-id">Some summary</summary>
Some collapsable details
</details>

and, if the same <details><summary> section is seen in the updated annotation, to maintain its current open/closed state.

Hey @gmagolan!

Thanks for the post and welcome to the Buildkite community! :tada: Annotations, for the most part, support Basscss, with a couple of exceptions.

There isn’t a way to have a details section as expanded in Basscss, from what I can see. However we do support context in the annotate command, which can be passed as the job ID, that would dynamically add to the annotation relevant to the job, but wouldn’t set it as expanded or collapsed.

There isn’t an annotation equivalent of the +++ ^^^ that we support in log groups.

@benmc CSS wouldn’t be sufficient here since it needs to account for user interaction. The feature request is more about adding some javascript handling for annotations so that their content can be augmented while maintaining their state. In this case the state is isOpen

Hey @mrmeku

Thanks for the added context. I’ve raised this with our product team to consider implementing :slightly_smiling_face: Definitely see how the auto-close could be jarring when following along with the annotations view.

Cheers!