diff --git a/.claude/skills/view-chain-layout/SKILL.md b/.claude/skills/view-chain-layout/SKILL.md index 2f9aa6d..3be2893 100644 --- a/.claude/skills/view-chain-layout/SKILL.md +++ b/.claude/skills/view-chain-layout/SKILL.md @@ -126,9 +126,10 @@ first child is another `ele( )`, blank before every `end( )`, none after an The rule is the abap2UI5-linter's **`chain-house-layout`**. It checks rules 1-4 and carries fixes, so `--fix` reformats a drifted chain. The rewrite only ever touches whitespace *between* chain segments and the indent of a continuation -line that is not itself content, and it verifies that collapsing every run of -code-whitespace leaves the source identical — **a layout fix can never change -what the view builds.** Rules 5-7 and the blank lines stay reviewer-enforced. +line that is not itself content — **by construction, not by a check**: the +fixes run to a fixed point and nothing re-parses the result against the +source, so read the diff of a `--fix` run before committing it. Rules 5-7 and +the blank lines stay reviewer-enforced. It is the linter's one **opt-in** rule (`OPT_IN` in its `findings.mjs`): it is not emitted at all until a config asks for it, because it encodes one house diff --git a/src/07/z2ui5_cl_smps_app_489_ws.clas.abap b/src/07/z2ui5_cl_smps_app_489_ws.clas.abap index afa2152..e53842d 100644 --- a/src/07/z2ui5_cl_smps_app_489_ws.clas.abap +++ b/src/07/z2ui5_cl_smps_app_489_ws.clas.abap @@ -49,7 +49,14 @@ CLASS z2ui5_cl_smps_app_489_ws IMPLEMENTATION. " in a short dump that names the exception's text, but RAISE SHORTDUMP " only exists from 7.53 on, and this package runs from 7.50 TRY. - send( i_message->get_text( ) ). + DATA(text) = i_message->get_text( ). + " the two markers are the handler's own words (on_start, on_close) - + " a client that typed one would count as a joined or left connection + " on every other screen, so a message in that shape is dropped + IF text CP `__*__`. + RETURN. + ENDIF. + send( text ). CATCH cx_root INTO DATA(error). MESSAGE error TYPE 'X'. ENDTRY.