Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

Macro using meta scripts broke recently

1713603084

Edited 1713604786
Jim
Pro
Hi, I have a moderately complicated macro that makes use of the metascript APIs to spawn a series of new tokens.   It's been working for over a year, and I know it was working within the last few weeks.  Today when I run it I get the error shown at the bottom of this post, and it stops the API sandbox.    It uses the SpawnDefaultToken API for creating the new token, and the spawn command works correctly by itself, so it appears that spawning isn't the issue.  The macro also makes use of Plugger, SelectManager, MathOps, ZeroFrame, APILogic, Muler, and maybe some others - I've lost track of which APIs were used for which macros.  There have been no changes in the macros themselves, so I expected one or more of the scripts were updated and something broke, or maybe it is an infrastructure issue at Roll 20.  It looks like some of those scripts were updated on 4/10/24, so I thought that might be the problem, but I used the Version drop-down on the Mods page of my game to select the prior versions and it did not resolve the issue.   This command works:  ! Spawn --name|d10 This command causes the error:   !{&eval}Spawn --name|d10 {&/eval}  (I'm not sure if that command should work or not, since that isn't one from my actual game.  I was trying to find a sample command in the Plugger documentation to test with, but all the examples use placeholder APIs. I think that should be expected to work given the documentation, but I'm not sure.  It does trigger the error.)  The error in the console is: TypeError: Cannot read properties of undefined (reading 'who') TypeError: Cannot read properties of undefined (reading 'who')     at handleInput (apiscript.js:11269:43)     at eval (eval at <anonymous> (/home/node/d20-api-server/api.js:168:1), <anonymous>:65:16)     at Object.publish (eval at <anonymous> (/home/node/d20-api-server/api.js:168:1), <anonymous>:70:8)     at /home/node/d20-api-server/api.js:1762:12     at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:560     at hc (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:39:147)     at Kd (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:546)     at Id.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:489)     at Ld.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:94:425)     at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:111:461 Is anyone else noticing any problems today that might indicate it is a system-wide thing, or a bug in an updated API?   Thanks!
In case anyone stumbles into this thread in the future, the problem appears to be that the configuration for SelectManager was lost, possibly due to the upgrade or maybe something else.  Either way, using the config command below fixed it. !smconfig +who +playerid +playerscanids Thanks to Timmaugh for his help solving it in this thread.