diff --git a/.claude/skills/graphics/tasks/trend.md b/.claude/skills/graphics/tasks/trend.md index 1b781a4..449b6bf 100644 --- a/.claude/skills/graphics/tasks/trend.md +++ b/.claude/skills/graphics/tasks/trend.md @@ -117,6 +117,7 @@ rotation, zoom. Outputs (⇨): *Hairline value[n]*, *Time range begin/end*, *Upd - **Workaround** (verified 2026-10-02): pad the trend to 50 pens with `displays/add_trend_spares.ps1 -Path .xml`. Spares copy the first pen's source, are scaled to 1E30–2E30 (clipped), hidden from the legend and get blank unique legend texts + in the legend background colour (the web legend ignores *Show in legend*, ISS-056). Run it again after editing the trend; do not keep hidden real pens (they count against the 50). Cost: 50 history requests per trend. - Working on the web as on the desktop: value axis, last/current time range, update interval, @@ -127,4 +128,5 @@ rotation, zoom. Outputs (⇨): *Hairline value[n]*, *Time range begin/end*, *Upd `itemName[0]…`, `scaleMin[n]`, `scaleMax[n]`; elements `numberOfPens`, `realTime`, `fillWithHistory`, `timeRange` (s, default 300), `sampleCount` (default 300)): drew on desktop and web the first - time, then stayed blank on every later open (ISS-055, open). + time, then stayed blank on several later opens and later drew again; after an in-page reload + sometimes only part of a pen shows (intermittent, ISS-055, open). diff --git a/examples/CI-Eng-Sample/displays/CIENG_TrendLab.xml b/examples/CI-Eng-Sample/displays/CIENG_TrendLab.xml index 3fcea54..79585a6 100644 --- a/examples/CI-Eng-Sample/displays/CIENG_TrendLab.xml +++ b/examples/CI-Eng-Sample/displays/CIENG_TrendLab.xml @@ -280,7 +280,7 @@ 1 - + @NULL true @@ -326,7 +326,7 @@ 1 - + @NULL true @@ -372,7 +372,7 @@ 1 - + @NULL true @@ -418,7 +418,7 @@ 1 - + @NULL true @@ -464,7 +464,7 @@ 1 - + @NULL true @@ -510,7 +510,7 @@ 1 - + @NULL true @@ -556,7 +556,7 @@ 1 - + @NULL true @@ -602,7 +602,7 @@ 1 - + @NULL true @@ -648,7 +648,7 @@ 1 - + @NULL true @@ -694,7 +694,7 @@ 1 - + @NULL true @@ -740,7 +740,7 @@ 1 - + @NULL true @@ -786,7 +786,7 @@ 1 - + @NULL true @@ -832,7 +832,7 @@ 1 - + @NULL true @@ -878,7 +878,7 @@ 1 - + @NULL true @@ -924,7 +924,7 @@ 1 - + @NULL true @@ -970,7 +970,7 @@ 1 - + @NULL true @@ -1016,7 +1016,7 @@ 1 - + @NULL true @@ -1062,7 +1062,7 @@ 1 - + @NULL true @@ -1108,7 +1108,7 @@ 1 - + @NULL true @@ -1154,7 +1154,7 @@ 1 - + @NULL true @@ -1200,7 +1200,7 @@ 1 - + @NULL true @@ -1246,7 +1246,7 @@ 1 - + @NULL true @@ -1292,7 +1292,7 @@ 1 - + @NULL true @@ -1338,7 +1338,7 @@ 1 - + @NULL true @@ -1384,7 +1384,7 @@ 1 - + @NULL true @@ -1430,7 +1430,7 @@ 1 - + @NULL true @@ -1476,7 +1476,7 @@ 1 - + @NULL true @@ -1522,7 +1522,7 @@ 1 - + @NULL true @@ -1568,7 +1568,7 @@ 1 - + @NULL true @@ -1614,7 +1614,7 @@ 1 - + @NULL true @@ -1660,7 +1660,7 @@ 1 - + @NULL true @@ -1706,7 +1706,7 @@ 1 - + @NULL true @@ -1752,7 +1752,7 @@ 1 - + @NULL true @@ -1798,7 +1798,7 @@ 1 - + @NULL true @@ -1844,7 +1844,7 @@ 1 - + @NULL true @@ -1890,7 +1890,7 @@ 1 - + @NULL true @@ -1936,7 +1936,7 @@ 1 - + @NULL true @@ -1982,7 +1982,7 @@ 1 - + @NULL true @@ -2028,7 +2028,7 @@ 1 - + @NULL true @@ -2074,7 +2074,7 @@ 1 - + @NULL true @@ -2120,7 +2120,7 @@ 1 - + @NULL true @@ -2166,7 +2166,7 @@ 1 - + @NULL true @@ -2212,7 +2212,7 @@ 1 - + @NULL true @@ -2258,7 +2258,7 @@ 1 - + @NULL true @@ -2304,7 +2304,7 @@ 1 - + @NULL true @@ -2350,7 +2350,7 @@ 1 - + @NULL true @@ -2396,7 +2396,7 @@ 1 - + @NULL true @@ -2442,7 +2442,7 @@ 1 - + @NULL true diff --git a/examples/CI-Eng-Sample/displays/add_trend_spares.ps1 b/examples/CI-Eng-Sample/displays/add_trend_spares.ps1 index c92631b..d0a744b 100644 --- a/examples/CI-Eng-Sample/displays/add_trend_spares.ps1 +++ b/examples/CI-Eng-Sample/displays/add_trend_spares.ps1 @@ -4,7 +4,8 @@ # # Spare pens copy the first real pen's source, are scaled far outside the data (manual scale # 1E30..2E30, so the line is clipped), hidden from the legend and get blank, unique legend texts -# (1, 2, 3 ... spaces) because the web legend ignores "Show in legend". Empty pens are removed. +# (1, 2, 3 ... spaces) in the legend background colour, because the web legend ignores +# "Show in legend". Empty pens are removed; do not keep hidden real pens (they count against 50). # Run it again after editing the trend in the Edit Module (it only adds what is missing). # # Usage: powershell -ExecutionPolicy Bypass -File add_trend_spares.ps1 -Path .xml @@ -42,6 +43,10 @@ $text = $panelRx.Replace($text, { $need = $target - $visibleReal if ($need -lt 0) { $need = 0 } $template = $real[0] + # spare colour = legend background, so their (blank) web legend entries do not show + $bg = (New-Object Text.RegularExpressions.Regex '').Match($panel) + $spareColor = '' + if ($bg.Success) { $spareColor = $bg.Value.Replace('').Replace($s, $spareColor, 1) $s = (New-Object Text.RegularExpressions.Regex '.*?(?=\s*)', 'Singleline').Replace($s, '@NULL', 1) $spares += $s diff --git a/knowledge/issues.md b/knowledge/issues.md index 583dc96..71cf985 100644 --- a/knowledge/issues.md +++ b/knowledge/issues.md @@ -74,5 +74,5 @@ development system (see "Test system" in `progress.md`); they do not exist on ot | ISS-052 | 2026-10-01 | GRAPHICS (stale item id) | The HTML display `CIENG_Tank` showed **0** in its number field on `CI-Eng-Sample.TANK1.LEVEL` (live value 50) and the popup `ITM-E-NO_MAIN, No main item found`, in a fresh session after a CI Server restart. The display XML stores `` **and** `1.1.268.0.0.1.1.7` from when it was built; after today's sample reloads the item has `ID_NUMBER` 357. Phase 10 had seen live values after a reload, so the id is not always used, but here it broke the field. | closed | Fixed in the sample: removed the `` line from `displays/CIENG_Tank.xml`, redeployed; the field shows 50 and the popup is gone (binding by name). Documented in `create-display.md`. Close when the user confirms. Closed 2026-10-01 (confirmed by user). | `examples/CI-Eng-Sample/displays/CIENG_Tank.xml`; `.claude/skills/graphics/tasks/create-display.md`; `.claude/skills/graphics/tasks/deploy-displays.md` | | ISS-053 | 2026-10-01 | HAC (manual vs installed) | IM 36K10J20 vs the installed `hac.sup`/scripts: (1) *Start in manual mode*: §1.3 says HAC starts in manual by default, §1.5 and the `hac.sup` help say automatic; the installed template sets `START_MANUAL = YES`. (2) `MAXOPNDB` default: help 500, manual 50 (§1.5) and 5 (§4.8). (3) `QUESIZE` default: help 100 K, manual 2000 K (file sets 2000). (4) §4.5 says `tls\com` and `tls\exe` cannot be mirrored, but the template mirrors `12 COM` (excluding `ci_command.cmd`). (5) §4.4 says the critical processes are already in the queue/CPU check lists; the installed file has no `MAX_QUEUE`/`MAX_CPU`/`INACTIVE` lines. (6) `hacw_standby` uses `TLS_LST_PATH` when `TLS_BACKUP_PATH` is unset (manual: `TLS_ALLUSERS_PATH`). (7) The template `IP_DEVICE` is `localhost` (priority 0), which §1.3 says to remove after testing. (8) HMI properties have `communicationInterval`/`Timeout`/`RetryCount`, not in the manual. | closed | Installed software is the reference (standing user decision); documented in the J20 summary §5 and the `high-availability` skill. Not testable on one server. Closed 2026-10-01 (confirmed by user). | `knowledge/manuals/IM36K10J20-01EN.md`; `.claude/skills/high-availability/tasks/*.md` | | ISS-054 | 2026-10-01 | AD (manual vs installed) | IM 36K10J40 vs the installed `dssana.sup`: the *Active Directory* tab has keywords the manual does not describe — `AD_SERVER`, `AD_SERVER_BACKUP` (host[:port], 389/636), `AD_SECURE` (LDAPS; installed `NO`, help says default yes), `AD_ACCESS_USER`/`AD_ACCESS_PASSWORD` (blank = the CI Server service account). The manual's *Profile priority* is `USER_DF.MERGE_PRIORITY`; *Directory group* is `DIRECTORY_GROUP` (68 characters). The SSO keytab path is given as `%TLS_WAP_PATH%\webapps\auth\WEB-INF` (§2.5.1) and `%TLS_ALLUSERS_PATH%\wap\webapps\auth\WEB-INF` (§3.4.3) — the same folder on the test system. | closed | Installed software is the reference; documented in the J40 summary §5 and `authorization/tasks/active-directory.md`. Not testable without a domain. Closed 2026-10-01 (confirmed by user). | `knowledge/manuals/IM36K10J40-01EN.md`; `.claude/skills/authorization/tasks/active-directory.md` | -| ISS-055 | 2026-10-02 | GRAPHICS (Micro Trend) | A Micro Trend written into `CIENG_TrendLab` (`itemName[0..1]` = `TANK1.LEVEL`/`INFLOW`, `numberOfPens` 2, `realTime`, `fillWithHistory`) drew both pens on the desktop and in the browser the first time (about 13:33), then stayed **blank** on every later open on both clients: with and without the 48 spare trend pens, and with explicit `timeRange` 600 / `sampleCount` 60. No console error; CI Server running. Code: `MicroTrend.js` only starts when all properties are set (`startTrendIfAllPropertiesAreSet`; it also compares `scaleMax[i]` with `scaleMin[1]`). | open | Still to try: build the Micro Trend in the Edit Module (compare the XML), connect `itemName[n]` instead of a fixed value (as in factory/test displays), a display with only the Micro Trend, a CI Server restart. | `.claude/skills/graphics/tasks/trend.md` §6; `examples/CI-Eng-Sample/displays/CIENG_TrendLab.xml` | +| ISS-055 | 2026-10-02 | GRAPHICS (Micro Trend) | A Micro Trend written into `CIENG_TrendLab` (`itemName[0..1]` = `TANK1.LEVEL`/`INFLOW`, `numberOfPens` 2, `realTime`, `fillWithHistory`) drew both pens on the desktop and in the browser the first time (about 13:33), then stayed **blank** on every later open on both clients: with and without the 48 spare trend pens, and with explicit `timeRange` 600 / `sampleCount` 60. No console error; CI Server running. Code: `MicroTrend.js` only starts when all properties are set (`startTrendIfAllPropertiesAreSet`; it also compares `scaleMax[i]` with `scaleMin[1]`). | open | Later 2026-10-02 the clean sample file (no explicit `timeRange`/`sampleCount`, 48 spare trend pens) drew both pens on the desktop and in the browser after a fresh login; after a *View > Reload* in the browser only LEVEL showed fully, INFLOW only a short piece: the behaviour is intermittent. Still to try: build the Micro Trend in the Edit Module (compare the XML), connect `itemName[n]` instead of a fixed value (as in factory/test displays), a display with only the Micro Trend, a CI Server restart. | `.claude/skills/graphics/tasks/trend.md` §6; `examples/CI-Eng-Sample/displays/CIENG_TrendLab.xml` | | ISS-056 | 2026-10-02 | GRAPHICS (trend, manual vs installed) | (1) IM 36K10C50 Table 2.27-28 lists *Appearance - Show in Legend* as supported in the HTML display, but the web legend listed pens with `visibleLegend` false (the desktop hides them). (2) The legend position (`PositionSouthWest`) was not applied in the browser (not supported per the table). (3) The manual says a trend has up to 20 pens; the component property sheet has 20 slots, but the web code reserves 50 and `maximumPens` 50 works on the desktop. (4) Desktop: pen `title`/`titlePlacement`, pen limit values `lowLimit`… and chart `backgroundPaint` had no visible effect; time-axis minor ticks/grid showed nothing at a 10-minute range. | open | Documented in `trend.md`; installed software is the reference. Close when the user confirms. | `.claude/skills/graphics/tasks/trend.md` |