From acee292d0a80353e189c34b18b2f5428bce5da13 Mon Sep 17 00:00:00 2001 From: colemanw Date: Fri, 7 Aug 2026 16:15:04 -0400 Subject: [PATCH] Afform - Fix live-update of token-based field defaults identifyTokens() returns a Set (since 575232ff1c), which has .size not .length. The guard was therefore always undefined/falsy, so the watcher that recalculates the default whenever a source field changes was never registered. Regressed by: 575232ff1c (Afform - fix token replacement if multiple instances of same token) Fixes dev/core#6674 --- ext/afform/core/ang/af/afField.component.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/afform/core/ang/af/afField.component.js b/ext/afform/core/ang/af/afField.component.js index 39655da4e646..4ea10ced2ab7 100644 --- a/ext/afform/core/ang/af/afField.component.js +++ b/ext/afform/core/ang/af/afField.component.js @@ -116,7 +116,7 @@ // check for tokens in the default value const tokens = this.afForm?.identifyTokens(this.defn.afform_default); - if (tokens && tokens.length) { + if (tokens && tokens.size) { const calculateValueWatcher = $scope.$watchCollection(() => Object.values(this.afForm.getTokenValues(tokens)), () => { if ($element[0].querySelector('.ng-touched')) { // user has touched this input, stop calculating