## [Bug] JavaScript Playground Stuck on “Running Tests” After Submission #152

Closed
opened 2026-05-17 22:00:09 +00:00 by enjin2310 · 1 comment

Classification

Type: Bug
Priority: High
Component: JavaScript Playground / Test Execution

Summary

In the JavaScript Playground tool, after clicking Submit, the interface becomes stuck on the “Running tests…” state and never completes execution. The code runs correctly but the test results and output are not displayed, preventing lesson progression.

Steps to Reproduce

  1. Navigate to learn.spikersoft.com/tools/javascript-playground.
  2. Open lesson ID 30100.
  3. Enter the following code:
    // Print "Hello, <Place>" using console.log
    console.log("Hello, Helsinki")
    
### Classification **Type:** Bug **Priority:** High **Component:** JavaScript Playground / Test Execution ### Summary In the **JavaScript Playground** tool, after clicking **Submit**, the interface becomes stuck on the “Running tests…” state and never completes execution. The code runs correctly but the test results and output are not displayed, preventing lesson progression. ### Steps to Reproduce 1. Navigate to [learn.spikersoft.com/tools/javascript-playground](https://learn.spikersoft.com/tools/javascript-playground). 2. Open lesson ID **30100**. 3. Enter the following code: ```javascript // Print "Hello, <Place>" using console.log console.log("Hello, Helsinki")
Owner

Root cause found and fixed in spikersoft-angular PR #20.

The JavaScript playground submits to the server and waits for the grading result over SignalR; the "Running tests…" spinner clears when that result arrives. But if the submit request itself failed before a result came back (network error, server 5xx, dropped hub connection), the runner never reset its isExecuting flag — so the button stayed stuck on "Running tests…" with no result and no way to retry. The C# runner already handled this; the JS runner didn't.

The JS runner now resets that state and surfaces the error on a failed submit, so the button recovers instead of hanging. Regression tests added; will close once PR #20 merges.

Note: the code block in the report was cut off, so the exact trigger isn't fully specified — if you can still reproduce it on a stable connection, a screen recording or the browser console output at the moment it hangs would help confirm.

Root cause found and fixed in spikersoft-angular PR #20. The JavaScript playground submits to the server and waits for the grading result over SignalR; the "Running tests…" spinner clears when that result arrives. But if the submit request itself failed *before* a result came back (network error, server 5xx, dropped hub connection), the runner never reset its `isExecuting` flag — so the button stayed stuck on "Running tests…" with no result and no way to retry. The C# runner already handled this; the JS runner didn't. The JS runner now resets that state and surfaces the error on a failed submit, so the button recovers instead of hanging. Regression tests added; will close once PR #20 merges. Note: the code block in the report was cut off, so the exact trigger isn't fully specified — if you can still reproduce it on a stable connection, a screen recording or the browser console output at the moment it hangs would help confirm.
Sign in to join this conversation.