• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

source-academy / frontend / 29082887680

10 Jul 2026 09:23AM UTC coverage: 42.267% (-0.09%) from 42.361%
29082887680

push

github

web-flow
Show a popup for input() requests instead of hanging (py-slang#190) (#4084)

* Show a popup for input() requests instead of hanging (py-slang#190)

Wires up Conductor's new receiveInputRequest hook: a handleInputRequest
saga listens for input requests from the runner, shows the existing
PromptDialog popup, and answers via hostPlugin.sendInput. The home tab
and the viz CSE Machine tab share the same evalCodeConductorSaga run,
so this single fix covers both surfaces from the issue.

Also adds isWaitingForInput workspace state, used to suspend the
execTime watchdog while a popup is open so a user typing an answer
doesn't get their run force-stopped mid-prompt.

Points @sourceacademy/conductor at the local checkout (portal:) for
dev while the protocol change there is unreleased; repin to a real
published version once that lands upstream.

* chore: deps update

* Fix uncaught rejection when the input popup is dismissed via onClose

showSimplePromptDialog's underlying promise rejects if the dialog is
dismissed via its onClose path (e.g. clicking outside) rather than a
button response. The inner try/finally in handleInputRequest reset
isWaitingForInput on that path but didn't catch the rejection, so it
escaped the saga's while(true) loop and killed the task permanently -
leaving the runner blocked forever with no way to answer this or any
future input() call. Catch it and send an empty string, same as an
explicit Cancel.

Caught by gemini-code-assist review on PR #4084.

* Repin @sourceacademy/conductor to the published npm 0.6.0

The npm publish for conductor 0.6.0 landed, so the git-tag stopgap
pin isn't needed anymore - back to the normal semver-via-npm-registry
pin this repo used before. Verified: tsc --noEmit clean against the
real published package.

2737 of 7540 branches covered (36.3%)

Branch coverage included in aggregate %.

0 of 31 new or added lines in 3 files covered. (0.0%)

1 existing line in 1 file now uncovered.

6440 of 14172 relevant lines covered (45.44%)

28.09 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

69.65
/src/commons/workspace/WorkspaceReducer.ts


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc