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

source-academy / frontend / 30080708709
43%

Build:
DEFAULT BRANCH: master
Ran 24 Jul 2026 08:58AM UTC
Jobs 1
Files 467
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

24 Jul 2026 08:56AM UTC coverage: 42.588% (+0.2%) from 42.352%
30080708709

push

github

web-flow
Enable Conductor by default; fix Python None/builtin display and expression-statement coloring in CSE machine (#4159)

* Enable Conductor feature flag by default (#4074)

Most development now happens through Conductor, so flip
conductor.enable's default to true instead of requiring it to be
turned on manually. It can still be disabled via Feature Flags.

* Render Python None as "None" in CSE machine visualizer (#4111)

CseSnapshotAdapter mapped Python's None (label nonetype/none/null)
straight to JS null. PrimitiveValue/Text then stringified it via
String(value), so bindings and stash items showed "null" instead of
"None". Return a source-object sentinel (matching the existing
float/complex pattern) so it renders via toReplString() instead.

* Pin conductor.enable off in tests (CI fix for #4074)

evalCodeSaga branches into evalCodeConductorSaga based on
selectConductorEnable, which now defaults to true. The existing saga/
component test suite exercises the legacy js-slang path and doesn't
stand up a Conductor evaluator/worker, so it started failing with
"no evaluator" once the default flipped. Pin the flag's default off
in the test environment only; tests that specifically exercise the
Conductor path already override it via state/modifiedFlags.

* Fix CSE machine builtin-quoting and add expression-statement coloring

CseSnapshotAdapter's closure branch only handled function-like values that
carried metadata.closureFrameId. Builtins (abs, print, ...) have none, so
they fell through to the generic string fallback, and StashItemComponent's
`typeof val === 'string'` check then wrapped the bare name in quotes as if
it were a Python str value. Render builtins as a plain JS function instead
(picked up by isBuiltInFn()) so the unquoted name displays correctly.

Fixes source-academy/py-slang#302.

Also thread py-slang's new expressionStatement tag (source-academy/py-slang#270)
through to ControlItemComponent so expression-statement control items render
in a di... (continued)

2787 of 7580 branches covered (36.77%)

Branch coverage included in aggregate %.

28 of 37 new or added lines in 9 files covered. (75.68%)

3 existing lines in 1 file now uncovered.

6504 of 14236 relevant lines covered (45.69%)

28.74 hits per line

Uncovered Changes

Lines Coverage ∆ File
4
56.14
5.2% src/features/cseMachine/components/ControlItemComponent.tsx
3
49.85
15.72% src/features/cseMachine/CseSnapshotAdapter.ts
1
80.0
-20.0% src/features/conductor/flagConductorEnable.ts
1
71.94
-0.27% src/features/cseMachine/CseMachineUtils.ts

Coverage Regressions

Lines Coverage ∆ File
3
33.65
-1.44% src/commons/sideContent/content/SideContentCseMachine.tsx
Jobs
ID Job ID Ran Files Coverage
1 30080708709.1 24 Jul 2026 08:58AM UTC 467
42.59
GitHub Action Run
Source Files on build 30080708709
  • Tree
  • List 467
  • Changed 11
  • Source Changed 0
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • f55421ab on github
  • Prev Build on master (#30056284887)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc