Problem report: https://runestone.academy/ns/books/published/EHHS_APCSA/topic-1-1-intro-algorithms.html
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 |
| 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from RunestoneInteractive/rs
-
Content
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
RunestoneInteractive/rs#1516 · 1 comment ·
-
good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
RunestoneInteractive/rs#1370 ·
-
problem-report
Difficulty 1/5 Under an hour Newbie friendliness 88/100
RunestoneInteractive/rs#1350 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
RunestoneInteractive/rs#1340 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
RunestoneInteractive/rs#875 · 8 comments ·
All issues in RunestoneInteractive/rs
Similar issues
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 76/100
-
code-quality refactoring
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
vercel/react-tweet#225 ·