From 786687ad9d7cbf1516b3f48ee8d2c4e8f19fabcd 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 935929163667..b7a000316930 100644 --- a/ext/afform/core/ang/af/afField.component.js +++ b/ext/afform/core/ang/af/afField.component.js @@ -94,7 +94,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