diff --git a/AGENTS.md b/AGENTS.md index 05c327c2..b700b269 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1215,7 +1215,7 @@ Use a `CASE` statement (inside an `ELSEIF client->check_on_event( )` block) only | Lifecycle | `check_on_init()`, `check_on_navigated()`, `check_app_prev_stack()` | State checks | | Messages | `message_box_display(text)`, `message_toast_display(text)` | User notifications | | Session | `set_session_stateful(val)`, `set_app_state_active(val)` | Session management | -| Browser | `set_push_state(val)`, `follow_up_action(val)` | Browser interaction (history back rides `follow_up_action( cs_event-history_back )`; routing via `cs_event-set_nav_routing`) | +| Browser | `set_push_state(val)`, `follow_up_action(val)` | Browser interaction (`cs_event-history_back` was removed in 1.143.0 — go back by passing the raw JS `history.back()` to `follow_up_action( )`, or `nav_app_leave( )` inside the app; routing via `follow_up_action( cs_event-set_nav_routing )`) | | Info | `get()`, `get_event()`, `get_event_arg()`, `get_app(id)` | Request/context data | | Constants | `cs_event`, `cs_view` | Predefined event IDs and view names | diff --git a/scripts/generate-samples-md.mjs b/scripts/generate-samples-md.mjs index 607ebc2c..a063bd8e 100644 --- a/scripts/generate-samples-md.mjs +++ b/scripts/generate-samples-md.mjs @@ -94,8 +94,10 @@ const system = areas['00']; const total = basics.length + system.length + hidden.length; /* How many APPS are here, which is a different question from how many classes - * match the sample naming scheme: three classes in src/00/98 carry the name and - * are data objects. The `isApp` flag comes from the source (scan-samples.mjs). + * match the sample naming scheme: a few classes in src/00/98 carry the name and + * are data objects, not apps. The `isApp` flag comes from the source + * (lib/scan-samples.mjs), and the count is rendered as `dataObjects` below + * rather than written out here, where it would go stale. * * PORTABLE is the number the README leads with, and the one worth stating: the * apps that survive every build, so they are what a reader gets whichever diff --git a/src/01/z2ui5_cl_smp_app_448.clas.abap b/src/01/z2ui5_cl_smp_app_448.clas.abap index cd3db249..d7d5397c 100644 --- a/src/01/z2ui5_cl_smp_app_448.clas.abap +++ b/src/01/z2ui5_cl_smp_app_448.clas.abap @@ -42,7 +42,7 @@ CLASS z2ui5_cl_smp_app_448 IMPLEMENTATION. " t_arg is positional: id, method, params (the view defaults to " cs_view-main and can be omitted for a main-view control) expanded = xsdbool( expanded = abap_false ). - " Driving a property through control_by_id IS this sample; the two-way + " Driving a property through control_by_id IS this sample; the plain " binding the rule recommends is what app 449 shows instead. " abap2ui5lint-disable settable-property-via-action client->follow_up_action( val = z2ui5_if_client=>cs_event-control_by_id