Bug Inbox - trishanguyen2/FieldTrip GitHub Wiki

Back Button Navigation Bug

When a user navigates to a new page (i.e. Demo or Create VFE), the application loads the environment at /viewer/:vfeID/:photosphereID or /editor/:vfeID/:photosphereID. If the user clicks the browser back button before the page fully loads, they become trapped in the VFE route and are unable to return to the landing page.

This is caused by the race condition between the initial route load and the automatic redirect to the default photosphere and impacts users who try to navigate back too quickly.

To address this issue, a loading guard should be added to App.tsx to block rendering until the VFE is ready and some type of block to prevent navigation during loading.

Scene vs. Photosphere Naming

The current implementation uses the term "Scene" in the dropdown list and hotspot sidebar to refer to photospheres, following the terminology of the Photo Sphere Viewer library. However, in the VFE context, the term "Photosphere" may be more precise, especially as features like split view introduce multiple photospheres within a single conceptual scene

Future teams may consider renaming "Scene" to "Photosphere" in the UI to reflect the actual data structure and improve clarity.

Alternatively (or in addition), future implementations could introduce logic to filter out time-stepped photospheres from the dropdown and hotspot sidebar, or group them differently.

Long-term, separating the concepts of scenes and photospheres in the underlying data model may provide greater flexibility and clarity.

Split View Scene Update & Editing Tradeoffs

In split view mode, setting the second viewer to the “Now” time step does not immediately update the displayed scene, even though the selector updates correctly.

Steps to Reproduce: Open a scene with time steps. Enable split view. Set the second (right) viewer to a different time step. Attempt to switch the second viewer to “Now”.

The name in the scene selector updates to “Now,” but the actual scene remains unchanged until a second interaction (such as toggling back and forth or refreshing).

There was a pull request opened to address the challenge of editing scenes in split view. The initial commit introduced a fix that made it easier to add features without worrying about which scene was active. However, it introduced a side effect: when switching either viewer to “Now,” both viewers are forced to that same scene, removing the ability to compare scenes side-by-side.

The second commit in the same PR cleaned up the scene selector to avoid showing time-stepped child photospheres. This behavior was previously fixed but had regressed.

The PR has been closed for now due to unresolved bugs. Further testing is recommended to determine:

  • Whether to prioritize intuitive editing over accurate split view behavior
  • How to clearly separate parent scenes and child time steps in the UI

Time Step Creation Bug (Non-Default Scene)

When a new time step is added to a non-default scene, the new time step accidentally overwrites the time step on the default scene.

Steps to Reproduce: Add a new scene (not the default). Add a new time step to that scene. Observe that the new time step replaces the one on the default scene instead.

This results in incorrect scene-time mapping and unintended overwrites, making it unsafe to add time steps outside the default scene.

Future implementations should ensure that each photosphere maintains an isolated and correctly associated set of time steps. Editing logic may need to distinguish the active scene and timestamp more explicitly.

The current solution is to ensure that the correct photosphere is loaded, which can be quickly determined by the URL.

Inconsistent Scene List Behavior for Time-Stepped Photospheres

Time-stepped photospheres that are pre-loaded (i.e., present in the original VFE data) do not appear in the scene selector dropdown, while newly added time-stepped photospheres do appear.

Future teams should standardize the logic for what appears in the scene selector:

  • Either show all time-stepped photospheres consistently, or
  • Filter them all out and manage time-step navigation via a separate UI mechanism

Loading custom point totals

There is a bug where, upon loading a VFE with gamification enabled and a custom point totals set, the VFE will use the custom point gain value but the default max point value. Issue is easily resolved by reloading the page, at which point the correct max point values will be used, however the user will not necessarily know this.