# Why is the before-topic-progress outlet wrapped with a \<span\>?

**URL:** https://meta.discourse.org/t/why-is-the-before-topic-progress-outlet-wrapped-with-a-span/394935
**Category:** Development
**Tags:** mobile
**Created:** [February 2, 2026, 12:56pm UTC](https://meta.discourse.org/t/why-is-the-before-topic-progress-outlet-wrapped-with-a-span/394935 "2026-02-02T12:56:45Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [February 2, 2026, 12:56pm UTC](https://meta.discourse.org/t/why-is-the-before-topic-progress-outlet-wrapped-with-a-span/394935/1 "2026-02-02T12:56:45Z")

</div>

I was trying to add content to the mobile timeline container.

There are two outlets in this container.

[`before-topic-progress`](https://github.com/discourse/discourse/blob/efd6f516fc5f0f66713a5d5d94ccc7140b4ecb49/frontend/discourse/app/templates/topic.gjs#L376) and [`after-topic-progress`](https://github.com/discourse/discourse/blob/efd6f516fc5f0f66713a5d5d94ccc7140b4ecb49/frontend/discourse/app/components/topic-progress.gjs#L134).

`before-topic-progress` is wrapped with `<span>` and I don’t see why. 🤔

The container isn’t inline, and I see no reason why a span should be forcefully wrapped around this outlet. It has no obvious purpose and interferes with our own content layout. For example, if we want to insert a button, the button won’t be able to match the other elements’ heights because of this span:

![image](https://global.discourse-cdn.com/meta/original/4X/b/3/2/b3276bc7ca8d7881d727956b2dd296dd12d567ca.png)

I don’t see any elegant way to solve this. The most straightforward is to use something like

```scss
#topic-progress-wrapper > span:first-child {
    display: flex;
  }

```

But if multiple plugins or components use the same outlet, forcing a flex on the parent can mess up the style of other content (an edge case, I reckon).

If this span serves no purpose, could it be removed from [this file](https://github.com/discourse/discourse/blob/main/frontend/discourse/app/templates/topic.gjs)?

---

<div class="post-metadata">

### Author: ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)
#### Post date: [February 2, 2026, 3:13pm UTC](https://meta.discourse.org/t/why-is-the-before-topic-progress-outlet-wrapped-with-a-span/394935/2 "2026-02-02T15:13:56Z")

</div>

Yes, I think we can remove it, if I recall correctly these spans were added because it’s closer to what the legacy behavior of outlets was. We’ve already removed a good number of them on a case-by-case basis because they have a tendency to get in the way, as you’ve experienced.

Will be done here:

> <https://github.com/discourse/discourse/pull/37449>
>
> This removes a span tag that can sometimes get in the way
