Working on a character sheet, I have a button inside a repeating section - it's a list of techniques, and clicking the button will roll the technique. However, one specific value in it is refusing to work, and I'm out of ideas trying to figure out why. I have a worker listening to changes to a technique that updates various derived values for it. One of the settable values on the sheet is which attribute it uses, so when the user changes that value (repeating_techs_X_tech_stat), I have the worker set the display name accordingly (repeating_techs_X_tech_stat_name). The basic code for that looks like this (simplified): techFieldNames.push('repeating_techs_' + techId + '_tech_stat'); techFieldNames.push('repeating_techs_' + techId + '_tech_stat_name');
getAttrs(techFieldNames, function(techValues) { let techStat = techValues['repeating_techs_' + techId + '_tech_stat']; let techStatName = techValues['repeating_techs_' + techId + '_tech_stat_name']; log(techName); log(techStatName); ...(lots of stuff happens)... techStatName = attributes[techStat].name; log(techStatName); let attrs = {}; attrs['repeating_techs_' + techId + '_tech_stat_name'] = techStatName; ...(more attributes added)... setAttrs(attrs, { silent: true }); } If I set the technique's attribute value to 'agi', then this code runs and logs 'agi', then 'Agility', then 'Agility', indicating that it's setting the value of tech_stat_name correctly. I've added a span to the repeating section's HTML that displays the value of tech_stat_name, and it shows 'Agility'. However, when I click the following ultra-basic macro button: <button type='roll' value='Name: @{tech_name} Stat: @{tech_stat_name}'> Use Technique</button> I get this: If I change @{tech_stat_name} to any other value the technique has, it works. I have no idea what's different about this one. Am I missing something straightforward and obvious here?