Skip to content

Merge maintenance/mps20251 into maintenance/mps20261 - #3536

Merged
mps-ci-buildbot merged 9 commits into
maintenance/mps20261from
merge/mps20261
Sep 30, 2026
Merged

mps-ci-buildbot merged 9 commits into
maintenance/mps20261from
merge/mps20261

Conversation

@mps-ci-buildbot

Copy link
Copy Markdown
Contributor

Merge changes from maintenance/mps20251 to maintenance/mps20261.

dalbrecht1 and others added 4 commits September 17, 2026 13:52
ImageWord stores a ${module}-relative path, but ${module} was resolved
against the node's own module. That holds while authoring in the image's
home module, but once the word renders in a transient/execution model (a
running tutorial) the own module is no longer the image's module, so the
path resolved to nothing and the image came up blank -- and the base Image
editor's isValid gate compounded it into "invalid path" before the loader
even ran.

Resolution now goes through a new getEffectiveModule(): the configured
module (moduleId) first, else the node's own module, so one place decides
what ${module} means. The rendered view uses a custom cell loading via the
explicit-module createImageCell overload (sidestepping the getModule(node)
path that blanks in transient models); the authoring select-button resolves
its preview the same way. The own-module fallback keeps the authoring window
(moduleId not yet set) silent; a remaining "unknown macro" is raised only on
a genuinely unresolvable module -- an honest dev-time signal kept on purpose,
since no recovery would preserve the intended path.
ExerciseExecutor.start() re-ran its whole onceEditorReady wiring on every
call. Retriggering a step whose editor was still open readied the same
editor again, re-added the same selection listener, and tripped the platform
SelectionManager assertion. That wiring (component handle, dispose + selection
listeners, hint setup) is all first-activation work, so start() now splits:
reuse an open editor (editNode + focus) vs. open a fresh one and wire it once.

initHints() now rebuilds the editor after setInitialEditorHints, so the
rendered view shows on the first invocation rather than one build later,
with no state where the hint is set but unapplied.

Deliberate consequence: re-entering an open step no longer re-asserts the
hint, so a user's manual rendering-mode change is preserved rather than
overridden -- removing the hint takes intent, and temp-model hints are
ephemeral (a restart restores the default).

Also: once-assigned fields made final, and getSandboxExercise moved to the
TempModuleOptions createEditable overload.
editingGuide: reliable tutorial image rendering and execution-mode lifecycle in packaged distributions
renovate Bot and others added 5 commits September 29, 2026 06:47
: Conflicts:
:	code/platform/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.editingGuide/models/editor.mps
:	code/platform/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.editingGuide.execution/models/com/mbeddr/mpsutil/editingGuide/execution.mps
…tch-mpsextensions251

fix(deps): update dependency de.itemis.mps:extensions to v2025.1.3668.61e8b2c (maintenance/mps20251)
@mps-ci-buildbot
mps-ci-buildbot merged commit 9d807c6 into maintenance/mps20261 Sep 30, 2026
2 checks passed
@mps-ci-buildbot
mps-ci-buildbot deleted the merge/mps20261 branch September 30, 2026 10:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants