Repository navigation
Merge maintenance/mps20251 into maintenance/mps20261 - #3536
Merged
Merged
Conversation
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
mps-ci-buildbot
requested review from
sergej-koscejev and
slisson
as code owners
September 29, 2026 06:46
mps-ci-buildbot
enabled auto-merge
September 29, 2026 06:46
: 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)
sergej-koscejev
approved these changes
Sep 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merge changes from
maintenance/mps20251tomaintenance/mps20261.