Skip to content

fix(canvas): mf-canvas-facts.py reads a note line's sides by the model's Mendix version (port of #595) - #605

Merged
MendixMau merged 1 commit into
masterfrom
port/595-saingge
Nov 1, 2026
Merged

MendixMau merged 1 commit into
masterfrom
port/595-saingge

Conversation

@MendixMau

Copy link
Copy Markdown
Owner

Supersedes #595 by @saingge. Their commit is kept as authored, rebased onto current master; the only conflict was the CHANGELOG insertion point.

Direct lane

What changed and why: a note numbers its connection sides one way on Mendix 10 (top 0, bottom 1, left 2, right 3) and like every other object on Mendix 11 (top 0, right 1, bottom 2, left 3). mf-canvas-facts.py only knew the Mendix 10 table, so on an 11.x model it produced false NOTE-SIDE and LINE facts. It now reads _MetaData._ProductVersion and says on its first output line which numbering it used. An unreadable version falls back to Mendix 11.

Independent check of the Mendix 11 claim: upstream mxcli v0.29.0 sdk/microflows/microflows.go:418-420 defines a note's sides as "0 top, 1 right, 2 bottom, 3 left — Studio Pro numbers a note's sides the same way". The Mendix 10 table is this tool's existing calibration from 10.24 screenshots.

Row Answer
Process none
Dependencies project-bin/mf-canvas-facts.py and its fixture only; master has not touched either since #595's base. Its only consumer is verify-module.sh rung 1c, which logs the output as INFO and parses no lines, so the new first line changes no verdict
Context cost none
Behaviour n/a: script only
Runtime one read-only sqlite query

Field evidence (from #595): 305 note lines from one app, matched across 10.24 and 11.15, give identical facts after the fix.

Re-verified on master 0db1c0e: test-mf-canvas-facts.sh passes 22/0 here and 16/6 with master's script (all 6 new section V checks fail). That is T1, on the existing captured model.

  • No client data
  • Size: 3 files, +90/−14
  • CHANGELOG line (credited to saingge)

Review: pending independent review


Generated by Claude Code

…l's Mendix version

A note numbers its sides top 0, bottom 1, left 2, right 3 on Mendix 10, but like every other
object (top 0, right 1, bottom 2, left 3) on Mendix 11. The script knew only the Mendix 10 table,
so on a Mendix 11 model it read nearly every hand-drawn note line as leaving a side that faces
away and printed a false NOTE-SIDE fact.

It now reads _ProductVersion from the .mpr's _MetaData table: major 11 or higher uses the activity
numbering; a version that cannot be read counts as Mendix 11. The first output line says which
numbering was used. Fixture section V: the golden model stamped 10.x, and a Mendix 11 copy with
the note sides renumbered as the upgrade does, give the same NOTE-SIDE result for each of the
four sides.

Ported from #595 onto current master; the only conflict was the
CHANGELOG insertion point, and both lines are kept. Re-verified on
master 0db1c0e.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018LeNWZV2sVH62vkgfYh5u5
@MendixMau
MendixMau merged commit 6758a2a into master Nov 1, 2026
2 checks passed
MendixMau pushed a commit that referenced this pull request Nov 1, 2026
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.

2 participants