Joseph Doherty
ae25b5a8d6
feat(cli): add --execution-timeout-seconds + --min-time-between-runs to template script ( #54 )
...
Expose TemplateScript.ExecutionTimeoutSeconds and MinTimeBetweenRuns (previously
settable only via Transport bundle import) on the CLI and Central UI authoring surfaces.
- Commons: add additive trailing optionals MinTimeBetweenRuns (TimeSpan?) and
ExecutionTimeoutSeconds (int?) to Add/UpdateTemplateScriptCommand.
- ManagementActor: thread both new fields into the built TemplateScript on add/update.
- CLI template script add/update: new --min-time-between-runs (duration: ms/s/min,
bare number = seconds, 0 = unset, mirroring DurationInput) and
--execution-timeout-seconds (int) flags, with client-side duration validation.
- Central UI TemplateEdit: add an Execution timeout input (seconds) on the script
trigger tab, mirroring the existing Min-time-between-runs control; null/0 = site default.
- Tests: TemplateScriptTimingTests pins the option surface + duration parsing; updated
the stale 'no UI control' comment on the TemplateService round-trip test.
2026-06-19 03:14:10 -04:00
Joseph Doherty
e51104af5f
refactor(kpi): shared public KpiMetrics catalog — source consts + UI pages key off one symbol ( #178 )
2026-06-19 02:04:10 -04:00
Joseph Doherty
b432c788c3
refactor(ui): dedup alarm-capable protocol predicate to AlarmCapableProtocols ( #53 )
2026-06-19 01:32:55 -04:00
Joseph Doherty
4369da61c1
fix(centralui): move TreeView toggle comment outside start tag — mid-attribute Razor comment crashed render (InvalidCharacterError → circuit teardown on branch-node trees) (INT)
2026-06-18 20:44:04 -04:00
Joseph Doherty
828acd3266
test(centralui): TreeView keyboard-activation test + document preventDefault scope (T36a review)
2026-06-18 20:14:18 -04:00
Joseph Doherty
fef4d4cf83
feat(centralui): dark-mode toggle + localStorage persistence + SSR pre-hydration (T34b)
2026-06-18 20:09:00 -04:00
Joseph Doherty
0449c473c1
feat(centralui): TreeView chevron accessible name + keyboard activation + a11y regression test (T36a)
2026-06-18 20:08:47 -04:00
Joseph Doherty
4d3cef18cb
fix(centralui): MoveDataConnectionDialog surfaces MoveAsync exceptions inline instead of failing silently (T33b review)
2026-06-18 20:06:06 -04:00
Joseph Doherty
07b651d933
refactor(centralui): tokenize remaining standalone modal backdrops via .sb-modal-backdrop + bounded bg-* dark audit (T34c)
2026-06-18 20:04:17 -04:00
Joseph Doherty
1d82e6bc8c
refactor(centralui): AuditResultsGrid adopts KeysetPager + AuditFilterBar adopts DateTimeRangeFilter (T35g)
2026-06-18 20:03:40 -04:00
Joseph Doherty
a3ac77dd41
refactor(centralui): EventLogs adopts DateTimeRangeFilter (T35h)
2026-06-18 20:02:57 -04:00
Joseph Doherty
e773915e26
refactor(centralui): SiteCallsReport adopts KeysetPager + DateTimeRangeFilter + tokenized backdrop (T35f)
2026-06-18 19:58:55 -04:00
Joseph Doherty
ef2791ffd8
refactor(centralui): ConfigurationAuditLog adopts OffsetPager + DateTimeRangeFilter (T35e)
2026-06-18 19:56:55 -04:00
Joseph Doherty
64cc96253f
refactor(centralui): NotificationReport adopts OffsetPager + DateTimeRangeFilter + tokenized backdrop (T35d)
2026-06-18 19:56:47 -04:00
Joseph Doherty
e0d085481f
refactor(centralui): migrate Move/Rename/Compose dialogs to DialogService.ShowAsync host (T33b)
2026-06-18 19:53:19 -04:00
Joseph Doherty
c8915e8638
refactor(centralui): add @namespace to KeysetPager/DateTimeRangeFilter + InvariantCulture parse (T35b/c review)
2026-06-18 19:46:27 -04:00
Joseph Doherty
acbb52b459
fix(centralui): DialogHost cleanup only on open->closed transition + drop trailing class space (T33a review)
2026-06-18 19:42:10 -04:00
Joseph Doherty
9ee21205d6
feat(centralui): DateTimeRangeFilter reusable from/to input component (T35c)
2026-06-18 19:39:05 -04:00
Joseph Doherty
b7f7fe935c
test(playwright): alarm-override trigger-config scenarios — HiLo merge, non-HiLo replace, validation, cancel, clear (T41)
2026-06-18 19:35:14 -04:00
Joseph Doherty
2e4ca5a35f
feat(centralui): OffsetPager reusable pagination component (T35a)
2026-06-18 19:28:17 -04:00
Joseph Doherty
6a34ed9ed6
feat(centralui): KeysetPager reusable cursor-pagination component (T35b)
2026-06-18 19:28:15 -04:00
Joseph Doherty
4755ceee81
feat(centralui): DialogHost ShowAsync<T> custom-content + focus trap/restore + backdrop hook (T33a)
2026-06-18 19:24:15 -04:00
Joseph Doherty
45ad36c115
fix(m9/T26b): replace lock-badge emoji with text label (CLAUDE.md no-emoji)
...
Also fix misleading "below" → "above" in the staleness banner: the
Effective inherited set card renders above the main editor area.
2026-06-18 13:17:47 -04:00
Joseph Doherty
68c0f7ac59
feat(m9/T31): Monaco JSON-schema hover/completion on value-entry surface
2026-06-18 13:15:54 -04:00
Joseph Doherty
95b8caf284
fix(m9/T30): empty-state guard keys off resolved fields (top-level \$ref); shift list raw-text on item removal
2026-06-18 13:06:59 -04:00
Joseph Doherty
6bc2bb5430
feat(m9/T26b): TemplateEdit full multi-level inherited set + read-only staleness banner
2026-06-18 13:01:38 -04:00
Joseph Doherty
10c08dd309
feat(m9/T30): schema-driven nested object/list value-entry forms (+ $ref resolution)
2026-06-18 12:40:22 -04:00
Joseph Doherty
71a2bca4df
feat(m9/T32c): schema-library CRUD commands + handlers + Central UI page + read-accessor
2026-06-18 12:32:31 -04:00
Joseph Doherty
1ca2e0b130
fix(m9/T24b): try/finally around _busy in move dialog (circuit-teardown lock)
2026-06-18 11:59:44 -04:00
Joseph Doherty
16cb078cd2
feat(m9/T24b): move-data-connection UI dialog + action
2026-06-18 11:45:53 -04:00
Joseph Doherty
e6191ec55a
fix(m9/T25): guard health-poll timer against dispose race (ObjectDisposedException)
2026-06-18 11:16:01 -04:00
Joseph Doherty
314c7dea23
feat(m9/T23b): folder reorder menu items + root context menu
2026-06-18 11:12:34 -04:00
Joseph Doherty
efe3ada03d
feat(m9/T25): connection live-status indicators on the design page
2026-06-18 11:03:22 -04:00
Joseph Doherty
0c1ba943cf
fix(m9/T22): btn-sm on search clear button (input-group-sm alignment)
2026-06-18 10:46:25 -04:00
Joseph Doherty
dcc6f623e2
feat(m9/T28b): trigger analysis-kind selector (UI) + --trigger-kind (CLI)
...
Surfaces the T28a backend "analysisKind" discriminator in both authoring
surfaces: an Advisory|Strict <select> (id="alarm-trigger-kind" /
"script-trigger-kind") added to the Expression fragment of
AlarmTriggerEditor and ScriptTriggerEditor, and a --trigger-kind option
on template alarm/script add+update in the CLI.
Key/value contract: "analysisKind":"Strict" when strict; key omitted for
Advisory — exactly as ValidationService.IsStrictAnalysis reads it.
Selector only shown for Expression triggers; non-Expression triggers do
not emit the key even if IsStrictAnalysisKind is set on the model.
Both projects build 0 warnings; 101 CentralUI Trigger tests + 33 CLI
Template tests pass.
2026-06-18 10:44:57 -04:00
Joseph Doherty
f618ac0322
feat(m9/T22): template tree search box (wire TemplateFolderTree.Filter)
2026-06-18 10:35:35 -04:00
Joseph Doherty
f881521cc9
fix(transport-ui): reset connection choices on site change + clear state on back (M8 E2 review)
...
Fix 1: OnSiteChoiceChangedAsync now resets _connectionChoices for every
RequiredConnectionMapping under the changed source site after loading the new
target's connections. Choices are re-seeded to the same-named connection on
the new target if present, or CreateNewValue otherwise — preventing BuildNameMap
from emitting MapToExisting for a connection absent from the newly-chosen target.
Fix 2: BackToUpload now calls ResetSessionState() before resetting _step so
_session, _preview, _resolutions, _siteChoices, _connectionChoices,
_targetSites, and _targetConnections are all cleared when the operator backs
out to re-upload, making it safe to start a new import flow from a clean slate.
Tests 12 + 13 added to TransportImportPageTests.
2026-06-18 07:39:19 -04:00
Joseph Doherty
c8211f6363
feat(transport-ui): import Map step + per-line diff view (M8 E2)
2026-06-18 07:21:23 -04:00
Joseph Doherty
542a3e92eb
fix(transport-ui): count site data-connection config in export secret banner (M8, C2-SECRET-1)
2026-06-18 06:37:38 -04:00
Joseph Doherty
d0b38ad726
feat(transport-ui): export wizard site/instance selection (M8 E1)
2026-06-18 06:26:36 -04:00
Joseph Doherty
384204b71a
feat(centralui): cert-management UI + Trust action + site relay (T17)
2026-06-18 03:53:32 -04:00
Joseph Doherty
1a7e735149
feat(centralui): Secured Writes page — operator submit + verifier queue + history (T14b)
2026-06-18 03:34:08 -04:00
Joseph Doherty
303385fd98
feat(centralui): Verify-endpoint button + result/cert panel (T17)
2026-06-18 03:12:11 -04:00
Joseph Doherty
45a5a92455
fix(centralui): NodeBrowserDialog — reset load/expand spinner on error + clear stale failure on blank search (T15)
2026-06-18 03:05:23 -04:00
Joseph Doherty
90abb4b8e2
feat(centralui): NodeBrowserDialog search + load-more + type column (T15/T16)
2026-06-18 03:00:16 -04:00
Joseph Doherty
d5e7e897c0
feat(centralui): InstanceConfigure CSV bulk override import (T16)
2026-06-18 02:30:33 -04:00
Joseph Doherty
3c9122bc07
feat(centralui): operator Alarm Summary page + per-instance snapshot fan-out (T13)
2026-06-18 02:21:41 -04:00
Joseph Doherty
a0ce8b6c44
feat(security): add Operator + Verifier roles + policies + LDAP mapping options (T14a)
2026-06-18 02:07:01 -04:00
Joseph Doherty
bf1f2f6892
feat(centralui): extract AlarmStateBadges shared component from DebugView (T13)
2026-06-18 02:02:09 -04:00
Joseph Doherty
eb4bce3e49
refactor(kpi): K13/K15 trend review fixups — per-metric isolation, disable-during-load + logging, loading-flag finally, test coverage
2026-06-17 20:44:34 -04:00