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

source-academy / frontend / 30499512329
44%

Build:
DEFAULT BRANCH: master
Ran 29 Jul 2026 11:29PM UTC
Jobs 1
Files 473
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

29 Jul 2026 11:25PM UTC coverage: 43.875% (+0.9%) from 42.998%
30499512329

push

github

web-flow
Rework conductor tab lifecycle: sublanguage-scoped sessions, tab-ownership-driven evaluator selection (#4195)

* fix: don't wipe other conductors' tabs when a new conductor activates

Opening the Stepper tab switches the active evaluator to a separate
stepper-only conductor. DeferredConductorTabService.activate() called
sideContentManager.clearTabs() unconditionally, wiping every registered tab
before replaying only the newly-active conductor's own ones - so the regular
conductor's Data Visualizer tab (a plugin the stepper conductor never loads)
disappeared, even though nothing about it had actually changed.

The clearTabs() call turns out to have been unnecessary for the problem it
was guarding against: a warm spare's tabs never reach sideContentManager
before it's active (every method on DeferredConductorTabService already
gates on `this.active`), and a fresh same-id registration from a newly-
active conductor already overwrites the stale entry via sideContentManager's
own per-id Map - nothing needs to clear first.

Replaced the other clearTabs() call site (in terminatePreparedConductor,
conductorEvaluatorCache.ts) with a new DeferredConductorTabService.
unregisterAll(), which removes only the terminated conductor's own tabs
instead of every conductor's. clearTabs() has no remaining callers; removed
it from TabService.

Live-verified: Data Visualizer's tab now stays in the tab bar (and its
content, if you switch back to it) across a Stepper-tab-triggered evaluator
switch.

* fix: don't terminate the active conductor when it's still the prepared one

The previous commit stopped clearTabs() from wiping other conductors' tabs on
activation, but a second path to the same symptom remained: if an evaluator
is selected/previewed but never actually Run, its PreparedConductor is still
sitting in the shared preparedConductor slot (only a real Run's `consume`
branch decouples the two). Opening the Stepper tab then requests a different
evaluator path, and clean... (continued)

2931 of 7712 branches covered (38.01%)

Branch coverage included in aggregate %.

111 of 137 new or added lines in 7 files covered. (81.02%)

2 existing lines in 2 files now uncovered.

6794 of 14453 relevant lines covered (47.01%)

29.7 hits per line

Uncovered Changes

Lines Coverage ∆ File
17
52.04
-1.25% src/pages/playground/Playground.tsx
5
67.93
63.71% src/commons/sagas/helpers/conductorEvaluatorCache.ts
2
82.67
82.67% src/features/conductor/deferredConductorTabService.ts
1
32.54
0.0% src/commons/sagas/WorkspaceSaga/helpers/evalCode.ts
1
50.0
-50.0% src/features/conductor/stepperTab.ts

Coverage Regressions

Lines Coverage ∆ File
1
67.93
63.71% src/commons/sagas/helpers/conductorEvaluatorCache.ts
1
52.04
-1.25% src/pages/playground/Playground.tsx
Jobs
ID Job ID Ran Files Coverage
1 30499512329.1 29 Jul 2026 11:29PM UTC 473
43.88
GitHub Action Run
Source Files on build 30499512329
  • Tree
  • List 473
  • Changed 9
  • Source Changed 0
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • ae0b0ba6 on github
  • Prev Build on master (#30464162702)
  • 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