Skip to content

[O2B-1556] Configure filtering model observability to set active filters to the url#2142

Open
NarrowsProjects wants to merge 35 commits intoimprov/O2B-1557/Force-all-filters-managed-by-FilteringModel-to-extend-FilterModel-or-SelectionModelfrom
feature/O2B-1556/Configure-FilteringModel-observability-to-set-active-filters-to-the-url
Open

[O2B-1556] Configure filtering model observability to set active filters to the url#2142
NarrowsProjects wants to merge 35 commits intoimprov/O2B-1557/Force-all-filters-managed-by-FilteringModel-to-extend-FilterModel-or-SelectionModelfrom
feature/O2B-1556/Configure-FilteringModel-observability-to-set-active-filters-to-the-url

Conversation

@NarrowsProjects
Copy link
Copy Markdown
Collaborator

@NarrowsProjects NarrowsProjects commented Apr 21, 2026

I have a JIRA ticket

  • branch and/or PR name(s) include(s) JIRA ID
  • issue has "Fix version" assigned
  • issue "Status" is set to "In review"
  • PR labels are selected

Notable changes for users:

  • When configuring a filter a string version will then appear in the URL

Notable changes for developers:

  • N/A

Changes made to the database:

  • N/A

@NarrowsProjects NarrowsProjects self-assigned this Apr 21, 2026
@NarrowsProjects NarrowsProjects added frontend javascript Pull requests that update Javascript code labels Apr 21, 2026
@NarrowsProjects NarrowsProjects force-pushed the feature/O2B-1556/Configure-FilteringModel-observability-to-set-active-filters-to-the-url branch from 2292724 to e012aa9 Compare April 21, 2026 13:51
…odel-to-extend-FilterModel-or-SelectionModel' into feature/O2B-1556/Configure-FilteringModel-observability-to-set-active-filters-to-the-url
@NarrowsProjects NarrowsProjects force-pushed the feature/O2B-1556/Configure-FilteringModel-observability-to-set-active-filters-to-the-url branch from e012aa9 to fda9365 Compare April 21, 2026 13:53
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 21, 2026

Codecov Report

❌ Patch coverage is 0% with 111 lines in your changes missing coverage. Please review.
✅ Project coverage is 45.92%. Comparing base (1f9af44) to head (4a30d27).

Files with missing lines Patch % Lines
...public/components/Filters/common/FilteringModel.js 0.00% 18 Missing ⚠️
lib/public/Model.js 0.00% 7 Missing ⚠️
...ib/public/views/Runs/Overview/RunsOverviewModel.js 0.00% 7 Missing ⚠️
...public/views/DataPasses/DataPassesOverviewModel.js 0.00% 6 Missing ⚠️
.../Environments/Overview/EnvironmentOverviewModel.js 0.00% 6 Missing ⚠️
...c/views/LhcFills/Overview/LhcFillsOverviewModel.js 0.00% 5 Missing ⚠️
...ib/public/views/Logs/Overview/LogsOverviewModel.js 0.00% 5 Missing ⚠️
...s/QcFlagTypes/Overview/QcFlagTypesOverviewModel.js 0.00% 5 Missing ⚠️
...dOverview/AnchoredSimulationPassesOverviewModel.js 0.00% 5 Missing ⚠️
...rview/SimulationPassesPerLhcPeriodOverviewModel.js 0.00% 5 Missing ⚠️
... and 18 more
Additional details and impacted files
@@                                                           Coverage Diff                                                           @@
##           improv/O2B-1557/Force-all-filters-managed-by-FilteringModel-to-extend-FilterModel-or-SelectionModel    #2142      +/-   ##
=======================================================================================================================================
- Coverage                                                                                                46.01%   45.92%   -0.09%     
=======================================================================================================================================
  Files                                                                                                     1036     1037       +1     
  Lines                                                                                                    17126    17153      +27     
  Branches                                                                                                  3110     3116       +6     
=======================================================================================================================================
- Hits                                                                                                      7881     7878       -3     
- Misses                                                                                                    9245     9275      +30     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment thread test/public/Filters/filtersToUrl.test.js Fixed
Comment thread test/public/Filters/filtersToUrl.test.js Fixed
@NarrowsProjects NarrowsProjects changed the base branch from main to improv/O2B-1557/Force-all-filters-managed-by-FilteringModel-to-extend-FilterModel-or-SelectionModel April 23, 2026 12:06
@NarrowsProjects NarrowsProjects force-pushed the feature/O2B-1556/Configure-FilteringModel-observability-to-set-active-filters-to-the-url branch from 04ce63d to cbd335d Compare April 23, 2026 14:31
Comment thread test/public/defaults.js
module.exports.fillInput = async (page, inputSelector, value, events = ['input']) => {
await page.waitForSelector(inputSelector);
await page.evaluate((inputSelector, value, events) => {
await page.waitForFunction((inputSelector, value, events) => {
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.

To the reviewers:
This is a stealth fix for a problem that happens for a couple of tests occasionally:

     TypeError: Cannot set properties of null (setting 'value')
      at evaluate (evaluate at module.exports.fillInput (test/public/defaults.js:671:16), <anonymous>:2:22)

This happens because between waitForSelector and the evaluate the selector ceases to be valid.
The waitForFunction guard is more more robust waitForSelector in this scenario.

As this PR adds tests that make back-to-back use of fillInput I thought it appropriate to add it here.

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

Labels

frontend javascript Pull requests that update Javascript code

Development

Successfully merging this pull request may close these issues.

1 participant