OpenRailAssociation / OpenRailAssociation/osrd

Infinite loading for occurrence arrival times in the timetable

Open
#17,518 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area:front kind:bug module:operational-studies severity:minor
Dominant language
TypeScript
Stars
660
Forks
87
Avg merge
3d 4h
Merged PRs (30d)
269

Description

What happened?

https://github.com/user-attachments/assets/0c91d871-94c0-4e5e-b65a-c510601a78bd

As we can see here (don't mind the other bug of the video), when we update a field from the time stops table or the train header, the loader of the occurrence arrival times (connected to the simulation summary result) goes into an infinite skeleton.

[!TIP]
This might have a link with what we do in useLazySimulateTrains

What did you expect to happen?

As we can see in the video, the simulation_summary endpoint has finished loading and succeeded so there is no reason to still display the skeleton indicating that the simulation is processing

How can we reproduce it (as minimally and precisely as possible)?

Follow the video but it's pretty hard to reproduce.

It might happen when we have to reload the infrastructure but we don't have anything triggering the load again with these 2 new interfaces.
But I feel like sometimes this happen even though the infrastructure was recently loaded.

Refreshing the page fixes the issue.

On which environments the bug occurs?

Recette (SNCF)

On which browser the bug occurs?

Firefox

OSRD version (top right corner Account button > Informations)

c38afa2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the timetable occurrence arrival-time loader and the useLazySimulateTrains flow mentioned in the issue. Reproduce by updating a field in the time stops table or train header, then compare the loader state with the simulation_summary endpoint after it succeeds. Done means the skeleton stops when the simulation summary has finished loading, including after infrastructure reloads.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.