Repository navigation
Sync ako/mxcli: per-project compose names, on error on list activities, show message type - #1447
Merged
Merged
Conversation
…loses mendixlabs#1364) mxcli runs `docker compose` in <app>/.docker and Compose names a stack after that folder, so every project was the Compose project "docker": containers docker-db-1 / docker-mendix-1 and volume docker_postgres-data were shared, and a second app's `docker up` replaced the first app's stack. New compose files (template v3) carry a top-level `name: "mxcli-<app folder>"` written by `docker init`. The name is a key to the stack's data, so mxcli never renames a stack on its own: nothing is rewritten without --force, and --force keeps the name the stack already had - an existing `name:`, a COMPOSE_PROJECT_NAME from the old .env (which --force rewrites and which beats `name:` in Compose), or, for a file written by an older mxcli with no name, `docker` (the folder-derived name Compose was using). Existing users opt in by editing `name:`; the init output, --help, the docker-workflow skill and the CHANGELOG explain that this starts an empty database and leaves the old volume in place. No code path hardcodes container or volume names; every compose call addresses services. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
`column (Attribute: "M"."AssocA_2"/"M"."AssocB_2"/"NId")` failed check with MDL-WIDGET34 + MDL-WIDGET42 on mxcli 0.25.0. The cause was already fixed by 05a05aa (qualified association hops in attributePathV3); this adds the reported shape at each layer: - check: the issue's script verbatim through parse + widget validation produces neither rule; against 05a05aa^ it reproduces both messages, including the `&{...}` text the reporter quoted. - builder: two qualified hops store Attribute M.AssocB.NId with two IndirectEntityRef steps, identical to the bare spelling (existing tests covered only one hop here). - bug-test MDL; exec + mx check on 11.12.4: 0 errors. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PJziWrQXsg6PNdBe14sQ4v
`show message … type error` was stored as Type "error". The runtime does not recognise it and shows an Information dialog, while `mx check` reports 0 errors. The visitor copied the type word verbatim. - sdk/microflows: CanonicalMessageType folds case to Information/Warning/Error - visitor and writer both store the canonical spelling (quotes stripped) - new check rule MDL-SHOWMSG01 refuses a type Mendix does not have (the reporter's `type ok`), in microflows and nanoflows Verified on 11.12.4: the pre-fix binary writes Type "error", the fixed one "Error"; `mxcli docker check` passes both, so only the stored bytes catch it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaVHH6vsSH4yccVCBpPMTB
…home page (mendixlabs#1252) An Aggregate list activity with a custom error handler, authored in Studio Pro 11.12.3, described as a bare `$count = count($TEYAs);`, and `on error` was a parse error on list operations, aggregates, create list, add/remove, cast, rollback and show home page. Every one of these is a Microflows$MicroflowAction, which declares errorHandlingType in the Mendix Model SDK (mendixmodelsdk 4.116.0, unbounded StructureVersionInfo). MDL077 refused the clause on list operations and aggregates on the premise that the property was absent; it is removed (the navigation-icon rule keeps the ID). - grammar: onErrorClause on the eight statement rules - visitor/AST: the clause reaches each statement node - builder: ehType(clause) + finishCustomErrorHandler; rollback and show home page use explicitErrorHandling so no-clause BSON is unchanged; add/remove on a reference set pass it to the Change object activity - reader/writer: ErrorHandlingType on RollbackAction and ShowHomePageAction, which DESCRIBE needs to walk the handler branch - MDL076 and the nanoflow without-rollback-only rule extended from a matrix measured on mxbuild 11.12.3 (one document per statement x clause, microflow and nanoflow) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JNPzGjwf9HGqanBBxMrvXq
fix: give each project's docker stack its own compose project name (mendixlabs#1364)
fix: store show message type in ShowMessageType's case (mendixlabs#1280)
fix(microflow): on error on list activities, cast, rollback and show home page (mendixlabs#1252)
test: pin multi-hop qualified datagrid column path (mendixlabs#1379)
`describe snippet` printed a data view sourced from a snippet parameter with no DataSource. parseContextSource read only SourceVariable.PageParameter; inside a snippet the name is stored in the SnippetParameter slot. The association-source and pluggable readers already fell back to it. Re-executing the old describe output on Mendix 11.12.4 stored SourceVariable: null and mx check failed CE0488 "No entity configured for the data source of this data view". With the fix the output describes as `DataSource: $Parent`, re-exec reports "Unchanged snippet", and mx check reports 0 errors. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PJziWrQXsg6PNdBe14sQ4v
fix(describe): read a data view's snippet-parameter source (#1138)
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.
Syncs
ako/mxcli:mainintomendixlabs/mxcli:main: 5 commits since #1398, landed in the fork through PRs ako#1134–ako#1139.Docker
mxcli dockerstacks of different projects share the compose project namedockerand act on each other #1364). Compose named every stack after the.dockerfolder, so every app was project "docker": containers and the postgres volume were shared, and a second app'sdocker upreplaced the first's stack. New compose files carryname: "mxcli-<app folder>". The name keys the stack's data, so mxcli never renames a stack on its own, and--forcekeeps the name the stack already had.Microflows
on erroron list activities, aggregates, create list, add/remove, cast, rollback and show home page (On error statements missing on several activity types #1252). Every one of these is aMicroflowAction, which declares error handling. A Studio Pro aggregate with a custom error handler described as a bare$count = count(…);, and the clause was a parse error; MDL077's refusal is removed.show message … type erroris stored asError(show message … type erroris stored as lower-case "error" with "Blocking": false, the runtime shows an Information dialog #1280). The lower-case value made the runtime show an Information dialog while mx check reported 0 errors. The new rule MDL-SHOWMSG01 refuses a type Mendix does not have. Verified on 11.12.4.Pages
DataSource: $Parent, re-exec reports "Unchanged snippet", and mx check reports 0 errors.