Skip to content

Fix property editors, activity defaults and run-history labels - #780

Merged
Sev7eNup merged 3 commits into
mainfrom
fix/audit-property-editors
Nov 3, 2026
Merged

Sev7eNup merged 3 commits into
mainfrom
fix/audit-property-editors

Conversation

@Sev7eNup

@Sev7eNup Sev7eNup commented Nov 3, 2026

Copy link
Copy Markdown
Owner

Third of five stacked PRs (on top of #779). Until the earlier ones are merged this diff also shows their commits; the change of its own is the top commit.

What changes

  • Edge properties resync the condition mode when undo or a restored draft brings back an expression; switching to the simple condition clears conditionExpression.
  • The agent tool host list adopts restored values instead of keeping its local draft.
  • Text-file delete can select line range and pattern mode (the mode is written into the config, so it survives a re-render).
  • waitForCondition: switching to portOpen stores the default port 443 the field shows; a probe without host, or with a port outside 1–65535, is flagged like the other required fields.
  • scheduledTask register: only built-in accounts and managed service accounts (…$) are accepted, matching the ServiceAccount logon type the engine registers with. The hint no longer promises ordinary domain users via RBCD. The website activity reference says the same.
  • Run history: the step input block is labelled as the current workflow configuration, and the recorded target machine of the run is shown separately.
  • Browser demo SCCM/AD fixture: $action: → ${action}: in both scripts, which were a PowerShell parse error. scripts/Test-ExampleWorkflowScripts.ps1 now parses every runScript of the demo fixtures (parse only, nothing runs), so this is checked in both CI PowerShell steps.

Tests run locally

  • Vitest: EdgePropertiesPanel, property configs, activityConfigFacts (new scheduledTask cases), activity validation i18n, ExecutionPanel, execution panels, demo and i18n suites (29 files, 582 tests)
  • scripts/Test-ExampleWorkflowScripts.ps1 on Windows PowerShell 5.1: 43 assertions pass; with the old fixture it fails on both scripts
  • Documentation site: 22 files, 227 tests
  • tsc -p tsconfig.app.json --noEmit, ESLint on the touched files (one existing useVirtualizer warning)
  • PowerShell 7 runs in CI only

Closes #695
Closes #601
Closes #702
Closes #705
Closes #603
Closes #698

🤖 Generated with Claude Code

Sev7eNup and others added 3 commits November 3, 2026 17:24
Renaming an output variable now rewrites every reference through one
traversal (templates in any field, dynamic machine/credential bindings,
breakpoint conditions, decision cases and edge conditions). Copy, paste
and duplicate allocate a fresh alias per copy and rewrite the copy's own
references. The server rejects two active nodes with the same alias,
case-insensitively, and ignores disabled nodes when indexing aliases.

Inserting an activity on a conditional edge keeps the guard in front of
the new activity. Command-palette edge deletion goes through the normal
delete command, and property edits snapshot history before the first
change of a typing burst. Clipboard copies also mask recognised secrets
in edge data and string arrays.

Closes #689, #703, #693, #694, #595. Refs #574.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A save, lock change, publish or run started for one workflow no longer
acts on another workflow opened before it finished: mutations carry the
workflow id they were started for, and completions check the editing
session through the new useAsyncIdentity hook plus the draft generation
in useWorkflowPersistence.

The CRUD editors (credentials, machines, users, global variables,
maintenance windows, custom activities, alerting rules and policies) and
the admin settings sections lock the form while a save is pending and
ignore a late success for a record that is no longer open.

Closes #692, #690.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Property panels follow undo and restored drafts: an edge resyncs its
condition mode and switching to the simple condition clears the
expression; the agent host list adopts restored values. Text-file delete
can select line-range and pattern mode, waitForCondition stores the
displayed portOpen default 443 and flags a missing host or port, and
scheduledTask registration accepts only built-in or managed service
accounts, matching the ServiceAccount logon type the engine uses.

The run-history step details label the shown configuration as the
current draft and show the recorded target machine. The SCCM/AD demo
fixture uses braced interpolation; the example-script harness now parses
every demo fixture script.

Closes #695, #601, #702, #705, #603, #698.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Comment on lines +196 to 200
if (!dict.TryAdd(variable, node.Id))
throw new InvalidOperationException($"Duplicate active output variable '{variable}'.");
}
}

@Sev7eNup
Sev7eNup merged commit d443ee2 into main Nov 3, 2026
17 checks passed
@Sev7eNup
Sev7eNup deleted the fix/audit-property-editors branch November 3, 2026 17:14
Sev7eNup added a commit that referenced this pull request Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants