Skip to content

[O2B-1631] Display and allow users to filter logs by linked simulation passes - #2252

Merged
graduta merged 5 commits into
mainfrom
feature/O2B-1631/logs-linked-to-simulation-passes
Oct 20, 2026
Merged

graduta merged 5 commits into
mainfrom
feature/O2B-1631/logs-linked-to-simulation-passes

Conversation

@graduta

@graduta graduta commented Oct 19, 2026

Copy link
Copy Markdown
Member

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:

  • Users can now see linked simulation passes in logs-overview and embeded logs tables
  • Users can also see the count of logs in the simulation passes tables

Notable changes for developers:

  • endpoints updated accordingly to allow for filtering

Return the simulation passes ({ id, name }) of each log from the log
overview endpoint and from the standard log query shared by the run,
LHC fill, environment and tag log endpoints, so embedded log tables also
get them.

In the front-end, add a "Simulation passes" column to the logs table and
a field to the log details, both linking to the runs of the simulation
pass. The title column is narrowed (w-30 to w-20) to keep the total table
width unchanged, otherwise the actions column becomes unclickable.
Add the `simulationPasses` filter (comma separated names) to GET
/api/logs: a log matches if it is linked to at least one of the given
simulation passes, like the data passes filter.

Add the matching text filter to the logs overview page. Includes use
case, API and UI tests.
Return a `logsCount` for each simulation pass (computed with a subquery
so the other joins are not multiplied) and add a "Logs" column to the
simulation passes tables. It shows the number of logs as a link to the
logs overview filtered on that simulation pass, or "No logs".

Includes service, API and UI tests.
@graduta
graduta requested a balanced review from Copilot October 19, 2026 13:00
@graduta graduta self-assigned this Oct 19, 2026
@graduta
graduta requested a review from isaachilly as a code owner October 19, 2026 13:00
@graduta graduta changed the title Feature/o2 b 1631/logs linked to simulation passes [O2B-1631] Display and allow users to filter logs by linked simulation passes Oct 19, 2026
@codecov

codecov Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 36.36364% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 46.48%. Comparing base (0beb20c) to head (a99130c).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...ses/ActiveColumns/simulationPassesActiveColumns.js 0.00% 3 Missing ⚠️
lib/public/components/Log/logDisplayComponent.js 0.00% 2 Missing ⚠️
...blic/views/Logs/ActiveColumns/logsActiveColumns.js 0.00% 1 Missing ⚠️
...ulationPasses/format/formatSimulationPassesList.js 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2252      +/-   ##
==========================================
- Coverage   46.49%   46.48%   -0.01%     
==========================================
  Files        1051     1052       +1     
  Lines       17341    17351      +10     
  Branches     3156     3159       +3     
==========================================
+ Hits         8062     8066       +4     
- Misses       9279     9285       +6     

☔ View full report in Codecov by Harness.
📢 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.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

Two new browser tests need explicit table-data waits to prevent timing-dependent failures.

1 open issue
What changed in this PR

Adds linked simulation passes to log views and filtering, with log counts linking back from simulation-pass tables.

Changes:

  • Exposes simulation-pass associations and filters through log APIs.
  • Adds simulation-pass links, filters, and log-count navigation to the UI.
  • Extends API, service, and browser regression coverage.
File Description
test/​public/​simulationPasses/​overviewPerLhcPeriod.test.js Tests log counts and navigation.
test/​public/​simulationPasses/​overviewAnchoredSimulationPasses.test.js Validates the logs column.
test/​public/​logs/​overview.test.js Tests simulation-pass links and filtering.
test/​public/​logs/​detail.test.js Tests simulation-pass detail links.
test/​lib/​usecases/​log/​GetLogUseCase.test.js Checks returned simulation passes.
test/​lib/​usecases/​log/​GetAllLogsUseCase.test.js Tests associations and combined filters.
test/​lib/​server/​services/​simulationPasses/​SimulationPassesService.test.js Adds expected log counts.
test/​lib/​server/​services/​log/​LogService.test.js Checks simulation-pass associations.
test/​api/​tags.test.js Checks associations in tag logs.
test/​api/​simulationPasses.test.js Checks API log counts.
test/​api/​runs.test.js Checks associations in run logs.
test/​api/​logs.test.js Tests associations and name filtering.
test/​api/​lhcFills.test.js Checks associations in fill logs.
test/​api/​environments.test.js Checks associations in environment logs.
lib/​usecases/​log/​GetAllLogsUseCase.js Loads and filters simulation passes.
lib/​server/​services/​simulationPasses/​SimulationPassService.js Queries linked log counts.
lib/​server/​services/​log/​LogService.js Loads simulation-pass associations.
lib/​public/​views/​SimulationPasses/​format/​formatSimulationPassesList.js Formats simulation-pass links.
lib/​public/​views/​SimulationPasses/​ActiveColumns/​simulationPassesActiveColumns.js Adds linked log counts.
lib/​public/​views/​Logs/​Overview/​LogsOverviewModel.js Registers the simulation-pass filter.
lib/​public/​views/​Logs/​ActiveColumns/​logsActiveColumns.js Adds the simulation-pass column and filter.
lib/​public/​components/​Log/​logDisplayComponent.js Displays simulation-pass detail links.
lib/​domain/​entities/​SimulationPass.js Documents the log-count property.
lib/​domain/​dtos/​GetAllLogsDto.js Validates simulation-pass filters.
lib/​database/​models/​typedefs/​SequelizeSimulationPass.js Documents the database log-count property.
lib/​database/​adapters/​SimulationPassAdapter.js Exposes log counts in adapted results.

Review effort: Balanced

Comment thread test/public/simulationPasses/overviewPerLhcPeriod.test.js

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The changes follow existing association and filtering patterns, with supporting tests and no identified blocking issues; tests were not executed.

No open issues 🎉

1 resolved since last review

Review effort: Balanced

@graduta
graduta merged commit 7eedf4f into main Oct 20, 2026
23 of 25 checks passed
@graduta
graduta deleted the feature/O2B-1631/logs-linked-to-simulation-passes branch October 20, 2026 10:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

2 participants