Skip to content

Frontend Enhancements - 1 - #355

Open
mamoutou-diarra wants to merge 4 commits into
masterfrom
mamoutou/frontend_improvements
Open

mamoutou-diarra wants to merge 4 commits into
masterfrom
mamoutou/frontend_improvements

Conversation

@mamoutou-diarra

Copy link
Copy Markdown
Contributor

Context

This PR polishes several parts of the UI and fixes some identified issues

Major changes

  • Fixed the experiment detail page's back link to return to the Experiments list instead of Home
  • Fixed page scroll position/layout jumping when navigating between pages
  • Fixed the "vaclab" navbar dropdown so Network/Resources can actually be clicked on hover
  • Removed the Twitter/X link, replaced with our Discord channel (navbar + footer)
  • Renamed "VacLab" to "vaclab", reworded Experiments page text, renamed footer "Product" section to "Explore"
  • Updated vaclab GitHub links to point to the actual repo instead of the org root
  • Added a "Latest experiments" section to the homepage (6 most recent), each with an auto-rotating chart-panel preview
  • Enabled scroll-triggered fade-in animations to show homepage content progressively as we scroll down
  • Redesigned the Experiments page filter bar (replaced category text and added a search bar) and fixed inconsistent card heights
  • Refined light/dark theme consistency (corner radius, typography)
  • Replaced plain loading text with a spinner

URLs

@mamoutou-diarra mamoutou-diarra self-assigned this Jul 17, 2026
@mamoutou-diarra mamoutou-diarra added the ift IFT commitments label Jul 17, 2026
@mamoutou-diarra mamoutou-diarra moved this to In review in DST Jul 17, 2026
@mamoutou-diarra mamoutou-diarra linked an issue Jul 17, 2026 that may be closed by this pull request

@AlbertoSoutullo AlbertoSoutullo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Reviewing with AI. There are some points that I think they are not really super important right now but there is one that maybe it can be concerning. In the homepage, we fetch up to the latest 6 experiments. I think the preview in the homepage should be something we have in cache actually.

@mamoutou-diarra

Copy link
Copy Markdown
Contributor Author

Reviewing with AI. There are some points that I think they are not really super important right now but there is one that maybe it can be concerning. In the homepage, we fetch up to the latest 6 experiments. I think the preview in the homepage should be something we have in cache actually.

Good point, you mean in the browser cache? because now we're fetching them from mongo all the times and they're never cached because they are not static files like css or images. If we cache them in the browser, and a moment later we change the panel config in the backend, the user will still continue to see the old cache. He would need to go to its browzer settings and clear the cache which is not a good design in my opinion. There should be a way to do it properly, I'll dig deeper on my side

@PearsonWhite PearsonWhite left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Good incremental change.

@radiken radiken left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM with just one small optional improvement

Comment thread dst_dashboard/frontend/src/components/ExperimentThumbnail.js Outdated

@AlbertoSoutullo AlbertoSoutullo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Can it be that right now we are caching partial results?
If the user navigates away while only one of several panel requests has completed, the cache contains a partial result. When the homepage is mounted again, that partial array is treated as a complete cache entry, so the remaining panels are never requested.

@mamoutou-diarra
mamoutou-diarra force-pushed the mamoutou/frontend_improvements branch from 3f757b6 to fb92440 Compare August 5, 2026 20:15
@mamoutou-diarra

Copy link
Copy Markdown
Contributor Author

Can it be that right now we are caching partial results? If the user navigates away while only one of several panel requests has completed, the cache contains a partial result. When the homepage is mounted again, that partial array is treated as a complete cache entry, so the remaining panels are never requested.

Yes, good catch, I fixed it, now the key is a combination of experientID:PanelName, so each panel as a separate entry in the cache, so missed panels are guaranteed to be fetched when user returns to homepage

@AlbertoSoutullo AlbertoSoutullo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Last comment (I swear) we are doing 6 cards × 4 panels per card = 24 panel requests
I would reduce that to 6 total, because if not we are fetching an insane amount of data

@mamoutou-diarra

Copy link
Copy Markdown
Contributor Author

Last comment (I swear) we are doing 6 cards × 4 panels per card = 24 panel requests I would reduce that to 6 total, because if not we are fetching an insane amount of data

Ok, in the home page we're showing only the last 6 experiments. I'll fetch one panel per experiment then.

@AlbertoSoutullo AlbertoSoutullo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The PR description says homepage thumbnails should have an “auto-rotating chart-panel preview.”. The current component fetches only one successful panel and renders it permanently. Which one are we sticking to?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ift IFT commitments

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Dashboard improvements

4 participants