Skip to content

feature(nimbus): Add deliveries table to feature health page.#13504

Merged
b4handjr merged 6 commits intomainfrom
fix-13485
Sep 29, 2025
Merged

feature(nimbus): Add deliveries table to feature health page.#13504
b4handjr merged 6 commits intomainfrom
fix-13485

Conversation

@b4handjr
Copy link
Contributor

@b4handjr b4handjr commented Sep 15, 2025

Because

  • We want to display data about recent deliveries based on a feature/application combo on the feature health page

This commit

  • Adds a deliveries table to the feature health page

Fixes #13485 #13610

@b4handjr
Copy link
Contributor Author

b4handjr commented Sep 15, 2025

View with features
image

@b4handjr
Copy link
Contributor Author

b4handjr commented Sep 15, 2025

View no features
image

Comment on lines 59 to 63
{% if experiment.is_rollout %}
<td id="delivery-type-rollout" class="p-2 border-1">Rollout</td>
{% else %}
<td id="delivery-type-experiment" class="p-2 border-1">Experiment</td>
{% endif %}
Copy link
Contributor

Choose a reason for hiding this comment

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

we have this now and we can re use this

Comment on lines 64 to 67
<td id="delivery-channel" class="p-2 border-1">{{ experiment.get_channel_display }}</td>
<td id="delivery-min-version" class="p-2 border-1">{{ experiment.firefox_min_version|parse_version }}</td>
<td id="delivery-population-percent" class="p-2 border-1">{{ experiment.population_percent|floatformat:"-1" }}</td>
<td id="delivery-brief" class="p-2 border-1">{{ experiment.delivery_brief|format_not_set }}</td>
Copy link
Contributor

Choose a reason for hiding this comment

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

also I see that you are applying the same class p-2 border 1 if we move that class up then we wont need to define for each column

Copy link
Contributor Author

Choose a reason for hiding this comment

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

So you just want the row defined with a border?

Copy link
Contributor

Choose a reason for hiding this comment

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

I believe if you will move to the row that css, this should apply to all

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Like this? <tr scope="row" class="p-2 border-1">, this seems to just do the row, but not each column in that row.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think we can skip the borders, if you will notice the other table, we don't use the borders, I would suggest to refer to home page table to be consistent with the design between the pages

Copy link
Contributor

Choose a reason for hiding this comment

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

Our plan is to use this table on the landing page as well in the future

Copy link
Contributor

@yashikakhurana yashikakhurana left a comment

Choose a reason for hiding this comment

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

I think we need to remove borders, it is showing 2 borders now, lets say consistent with the design of tables with the home page. Also noticed 2 bugs
1: Look how it is showing the selected feature, if I select that feature again it is not showing any deliveries

Screen.Recording.2025-09-16.at.9.47.01.AM.mov

2: If you select the different application, deliveries data is not getting changed, it is still showing the old data

Screen.Recording.2025-09-16.at.9.47.22.AM.mov

@b4handjr
Copy link
Contributor Author

How does this look
image

I also fixed the mix of deliveries that was showing up when you first navigated to the page

@yashikakhurana
Copy link
Contributor

@b4handjr It is looking really amazing, some minor suggestions would be like to add the same kind of background where we are choosing application and features too

@b4handjr
Copy link
Contributor Author

Done
image

Copy link
Contributor

@yashikakhurana yashikakhurana left a comment

Choose a reason for hiding this comment

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

Thank you @b4handjr it is all coming up together, UI is looking really great, found 2 issues, first if I select the application and feature which have experiments available, it shows in the table, but if I change the application it is not updating the deliveries table, you would need to use htmx-target and such as to achieve that, second thing if we dont have experiments available having a message will help such as No deliveries found

Untitled.mov

Comment on lines 1476 to 1477
choices = [("", "Nothing Selected")] # Add a default blank field.
choices.extend(
Copy link
Contributor

Choose a reason for hiding this comment

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

I think you can skip this setting manually Nothing selected option, you can refer to locales, countries and channels etc fields they show nothing selected option by default

Comment on lines 60 to 74
{% for experiment in experiments %}
<tr scope="row">
<td id="delivery-name">
<a target="_blank"
href="{% url 'nimbus-ui-detail' slug=experiment.slug %}"
class="text-decoration-none fw-medium">{{ experiment.name }}</a>
</td>
<td id="delivery-published-date">{{ experiment.published_date|format_not_set }}</td>
<td id="delivery-type-{{ experiment.home_type_choice }}">{{ experiment.home_type_choice }}</td>
<td id="delivery-channel">{{ experiment.get_channel_display }}</td>
<td id="delivery-min-version">{{ experiment.firefox_min_version|parse_version }}</td>
<td id="delivery-population-percent">{{ experiment.population_percent|floatformat:"-1" }}</td>
<td id="delivery-brief">{{ experiment.delivery_brief|format_not_set }}</td>
{% endfor %}
</tr>
Copy link
Contributor

Choose a reason for hiding this comment

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

Here can you add a check if no experiment is found matching the desktop and feature configuration to show No deliveries found message

@b4handjr
Copy link
Contributor Author

Added "No Deliveries" text, I added some padding so it stands out more
image

Copy link
Contributor

@yashikakhurana yashikakhurana left a comment

Choose a reason for hiding this comment

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

ok

okay tested locally and it seems like we cant set ultil we manually set Nothing selected, @b4handjr can you add back nothing selected option and the bug that I see that because it is already selected and not showing the table accordingly until I select it again https://github.com/user-attachments/assets/49b931cc-be8c-4b28-b72c-86720edd489f
option 1- add nothing selected manually
option 2- dont even select the application, then it will not show the features default selected

Copy link
Contributor

@yashikakhurana yashikakhurana left a comment

Choose a reason for hiding this comment

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

perfect, thank you @b4handjr

@b4handjr b4handjr added this pull request to the merge queue Sep 29, 2025
Merged via the queue into main with commit 3200ab4 Sep 29, 2025
17 checks passed
@b4handjr b4handjr deleted the fix-13485 branch September 29, 2025 20:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create a table that shows the Experiments, Rollouts and Firefox Lab usage of the feature

2 participants