Hello Roll20.
I just discovered that any usages of null coalescing in a sheet worker will make the API Console throw an error. Here is a minimum working example: Steps to reproduce Create a new game, with a Custom Character Sheet Template Add the following HTML to the HTML Layout tab: <script type="text/worker">
function helloWorld(name) {
let test = name?.toLowerCase();
}
</script> Click Save Changes Goto the API Console Add any API Script. (I tested with the Ammo script) Click Restart API Sandbox and open the game to see the following error: Spinning up new sandbox...
"Loading character sheet data..."
"Starting webworker script..."
"Loading 0 translation strings to worker..."
"-=> Ammo v0.3.11 <=- [Fri Jun 12 2020 13:48:05 GMT+0000 (Coordinated Universal Time)]"
"SyntaxError: Unexpected token '.'"
"SyntaxError: Unexpected token '.'
at eval (<anonymous>)
at messageHandler (evalmachine.<anonymous>:713:6)
at process.<anonymous> (/home/node/d20-api-server/node_modules/tiny-worker/lib/worker.js:65:55)
at process.emit (events.js:310:20)
at emit (internal/child_process.js:876:12)
at processTicksAndRejections (internal/process/task_queues.js:85:21)" It seems like the code that parses sheetworker code, expects the question mark to be the ternary operator( isTrue ? true : false ) instead of null coalescing (someAttribute?.someValue). If you write sheetworkers. Watch out for this one!