Problem report: https://runestone.academy/ns/books/published/EHHS_APCSA/topic-1-1-intro-algorithms.html

Open
#1,451 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
42/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Active
Tech stack
typescript
Domain
full-stack

Research direction

Start by reproducing the refresh on the reported EHHS_APCSA lesson page and trace the progress requests around the console messages showing “Data from server: "no data"” and the save logging events. Identify why completed activity is not returned after reload; done means the learner’s progress is restored on refresh without losing the recorded interactions.

Written by the indexing model from the issue text.

Description

A problem was reported through the Runestone "Report a Problem" form.

Field Value
Reporter chrismontovani
Email 999009347@easthartford.org
Course EHHS_APCSA
Page https://runestone.academy/ns/books/published/EHHS_APCSA/topic-1-1-intro-algorithms.html
Reported at 2026-08-30T20:52:29.563660
Description

I completed the 1.1 lesson and when I refreshed, all my progress was gone.

Browser console log
[log] Timezone cookie matches, not sending timezone to server
[log] This page served by undefined
[log] triggering runestone:pre-login-complete
[log] Runestone pre-login complete
[log] Loading Runestone component: youtube
[log] Loading Runestone component: activecode
[log] Loading Runestone component: hparsons
[log] Loading Runestone component: parsons
[log] Loading Runestone component: multiplechoice
[log] Loading Runestone component: answer
[log] Loading Runestone component: feedback
[log] Loading Runestone component: datafile
[log] before get hist
[log] before get hist
[log] before get hist
[log] before get hist
[log] before get hist
[log] before get hist
[log] before get hist
[log] Response from server: 200
[log] Response from server: 200
[log] Response from server: 200
[log] Response from server: 200
[log] Response from server: 200
[log] Response from server: 200
[log] Response from server: 200
[log] Response from server: 200
[log] Data from server: "no data" calling repopulateFromStorage
[log] resolving checkServer with server data
[log] Data from server: "no data" calling repopulateFromStorage
[log] resolving checkServer with server data
[log] Data from server: "no data" calling repopulateFromStorage
[log] resolving checkServer with server data
[log] Data from server: "no data" calling repopulateFromStorage
[log] resolving checkServer with server data
[log] Data from server: "no data" calling repopulateFromStorage
[log] resolving checkServer with server data
[log] Data from server: "no data" calling repopulateFromStorage
[log] resolving checkServer with server data
[log] Data from server: "no data" calling repopulateFromStorage
[log] resolving checkServer with server data
[log] Data from server: "no data" calling repopulateFromStorage
[log] resolving checkServer with server data
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] adding video popouts
[log] setting up pretext
[log] MathJax Ready -- dequeing a typesetting run for csawesome2__AP1-1-print undefined
[log] running {"div_id":"csawesome2__printName","code":"public class MyClass\n{\n    public static void main(String[] args)\n    {\n        System.out.println(\"Hi there!\");\n    }\n}\n","language":"java","errinfo":"success","to_save":"False","prefix":"","suffix":"// should pass if/when they run code\nimport static org.junit.Assert.*;\n\nimport org.junit.*;\n\nimport java.io.*;\n\npublic class RunestoneTests extends CodeTestHelper\n{\n    @Test\n    public void testMain() throws IOException\n    {\n        String output = getMethodOutput(\"main\");\n        String expect = \"Hi there!\";\n        boolean passed =\n                getResults(expect, output, \"Expected output from main\", true);\n        assertTrue(passed);\n    }\n}\n","partner":"","editDist":0,"changesPerSecond":null,"course":"EHHS_APCSA","clientLoginStatus":true,"timezoneoffset":4}
[log] Save logging event {"act":"percent:100.00:passed:1:failed:0","div_id":"csawesome2__printName","event":"unittest","course_name":"EHHS_APCSA","clientLoginStatus":true,"timezoneoffset":4}
[log] Save logging event {"event":"hparsonsAnswer","div_id":"csawesome2__mp-main-method-order-1","act":"{\"scheme\":\"block\",\"correct\":\"F\",\"answer\":[],\"percent\":null}","answer":"{\"blocks\":[]}","percent":null,"correct":"F","course_name":"EHHS_APCSA","clientLoginStatus":true,"timezoneoffset":4}
[log] Save logging event {"event":"hparsons","div_id":"csawesome2__mp-main-method-order-1","act":"{\"type\":\"input\",\"action\":\"add\",\"position\":[-1,0],\"answer\":[\"public static\"]}","course_name":"EHHS_APCSA","clientLoginStatus":true,"timezoneoffset":4}
[log] Save logging event {"event":"hparsons","div_id":"csawesome2__mp-main-method-order-1","act":"{\"type\":\"input\",\"action\":\"add\",\"position\":[-1,1],\"answer\":[\"public static\",\"void main(\"]}","course_name":"EHHS_APCSA","clientLoginStatus":true,"timezoneoffset":4}
[log] Save logging event {"event":"hparsons","div_id":"csawesome2__mp-main-method-order-1","act":"{\"type\":\"input\",\"action\":\"add\",\"position\":[-1,2],\"answer\":[\"public static\",\"void main(\",\"String[]\"]}","course_name":"EHHS_APCSA","clientLoginStatus":true,"timezoneoffset":4}
[log] Save logging event {"event":"hparsons","div_id":"csawesome2__mp-main-method-order-1","act":"{\"type\":\"input\",\"action\":\"add\",\"position\":[-1,3],\"answer\":[\"public static\",\"void main(\",\"String[]\",\"args)\"]}","course_name":"EHHS_APCSA","clientLoginStatus":true,"timezoneoffset":4}
[log] Save logging event {"event":"hparsonsAnswer","div_id":"csawesome2__mp-main-method-order-1","act":"{\"scheme\":\"block\",\"correct\":\"T\",\"answer\":[0,1,2,3],\"percent\":1}","answer":"{\"blocks\":[0,1,2,3]}","percent":1,"correct":"T","course_name":"EHHS_APCSA","clientLoginStatus":true,"timezoneoffset":4}
Dominant language
TypeScript
Stars
69
Forks
117
Avg merge
6d 4h
Merged PRs (30d)
24

Contributor guide

No contributing guide indexed for this repository

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.

More from RunestoneInteractive/rs

All issues in RunestoneInteractive/rs

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.