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

Roll20 Randomly Drops Individual API Commands from Multi-API-Command Chat Messages (with repro script)

1614088650

Edited 1614089552
timmaugh
Pro
API Scripter
If you have multiple API commands in a single chat message (as from a macro or ability), Roll20 will fairly consistently drop a non-zero number of them. This problem was noted in the APILogic thread , but it seems likely that it is causing similar, otherwise inexplicable "why isn't this part of my macro working?" problems for others. The Aaron and I spent some time last night chasing this to ground, and have a fairly short repro script to prove the problem: on('ready', () => {     on('chat:message',(msg) => {         if('API' !==msg.playerid) {             sendChat('',`Msg: ${msg.content}`);         }     }); }); Repro Steps: 1) Install the above script (a new game with no other scripts works best to show the problem is not from the interaction/interference of other scripts) 2) Send a multi-line API Chat Command: !test 0 !test 1 !test 2 !test 3 !test 4 !test 5 !test 6 !test 7 !test 8 !test 9 !test 10 !test 11 3) Repeat as necessary to produce the issue 4) Observe the output to see that some API Chat Command output messages get dropped (which ones get dropped varies from one test to the next) Example Output: Msg: !test 0 Msg: !test 1 Msg: !test 2 Msg: !test 3 Msg: !test 7    // no !test 4, 5, or 6 output Msg: !test 9    // no !test 8 output Msg: !test 10 Msg: !test 11 I know Aaron has screenshots he could add...
1614089245

Edited 1645803678
The Aaron
Roll20 Production Team
API Scripter
Yep.  Here's an example of what happens to a Walls script run: You can see there's a whole bunch of dropped api commands, particularly around the lower right edge.  Here's what the Walls input for the above looks like: !walls begin !walls viewbox 1151 1151 !walls strokecolor #ff0000 !walls fillcolor transparent !walls strokewidth 5 !walls moveto 45.00 5.00 !walls curveto 45.00 5.00 45.00 235.00 45.00 235.00 !walls curveto 45.00 235.00 45.00 294.00 45.00 294.00 !walls curveto 45.05 304.23 47.33 304.98 57.00 305.00 !walls curveto 57.00 305.00 345.00 305.00 345.00 305.00 !walls curveto 345.00 305.00 345.00 345.00 345.00 345.00 !walls curveto 345.00 345.00 115.00 345.00 115.00 345.00 !walls curveto 115.00 345.00 56.00 345.00 56.00 345.00 !walls curveto 45.77 345.05 45.02 347.33 45.00 357.00 !walls curveto 45.00 357.00 45.00 470.00 45.00 470.00 !walls curveto 45.00 470.00 45.00 495.00 45.00 495.00 !walls curveto 45.04 497.94 44.98 501.17 47.43 503.26 !walls curveto 49.84 505.31 54.01 505.00 57.00 505.00 !walls curveto 57.00 505.00 145.00 505.00 145.00 505.00 !walls curveto 145.00 505.00 145.00 645.00 145.00 645.00 !walls curveto 145.00 645.00 70.00 645.00 70.00 645.00 !walls curveto 64.89 645.00 49.95 643.65 46.74 647.43 !walls curveto 44.69 649.84 45.00 654.01 45.00 657.00 !walls curveto 45.00 657.00 45.00 953.00 45.00 953.00 !walls curveto 45.00 953.00 45.00 1069.00 45.00 1069.00 !walls curveto 45.00 1069.00 45.00 1095.00 45.00 1095.00 !walls curveto 45.04 1097.94 44.98 1101.17 47.43 1103.26 !walls curveto 49.84 1105.31 54.01 1105.00 57.00 1105.00 !walls curveto 57.00 1105.00 784.00 1105.00 784.00 1105.00 !walls curveto 784.00 1105.00 954.00 1105.00 954.00 1105.00 !walls curveto 954.00 1105.00 993.00 1105.00 993.00 1105.00 !walls curveto 995.99 1105.00 1000.16 1105.31 1002.57 1103.26 !walls curveto 1005.41 1100.85 1004.99 1096.37 1005.00 1093.00 !walls curveto 1005.00 1093.00 1005.00 980.00 1005.00 980.00 !walls curveto 1005.00 980.00 1005.00 955.00 1005.00 955.00 !walls curveto 1004.96 952.06 1005.02 948.83 1002.57 946.74 !walls curveto 1000.16 944.69 995.99 945.00 993.00 945.00 !walls curveto 993.00 945.00 805.00 945.00 805.00 945.00 !walls curveto 805.00 945.00 805.00 905.00 805.00 905.00 !walls curveto 805.00 905.00 1035.00 905.00 1035.00 905.00 !walls curveto 1035.00 905.00 1094.00 905.00 1094.00 905.00 !walls curveto 1104.23 904.95 1104.98 902.67 1105.00 893.00 !walls curveto 1105.00 893.00 1105.00 538.00 1105.00 538.00 !walls curveto 1105.00 538.00 1105.00 236.00 1105.00 236.00 !walls curveto 1105.00 236.00 1105.00 168.00 1105.00 168.00 !walls curveto 1105.00 162.75 1106.57 149.10 1101.77 146.17 !walls curveto 1099.50 144.78 1095.63 145.00 1093.00 145.00 !walls curveto 1093.00 145.00 980.00 145.00 980.00 145.00 !walls curveto 980.00 145.00 955.00 145.00 955.00 145.00 !walls curveto 952.06 145.04 948.83 144.98 946.74 147.43 !walls curveto 944.69 149.84 945.00 154.01 945.00 157.00 !walls curveto 945.00 157.00 945.00 245.00 945.00 245.00 !walls curveto 945.00 245.00 905.00 245.00 905.00 245.00 !walls curveto 905.00 245.00 905.00 92.00 905.00 92.00 !walls curveto 905.00 92.00 905.00 57.00 905.00 57.00 !walls curveto 905.00 54.01 905.31 49.84 903.26 47.43 !walls curveto 900.85 44.59 896.37 45.01 893.00 45.00 !walls curveto 893.00 45.00 780.00 45.00 780.00 45.00 !walls curveto 780.00 45.00 755.00 45.00 755.00 45.00 !walls curveto 752.06 45.04 748.83 44.98 746.74 47.43 !walls curveto 744.69 49.84 745.00 54.01 745.00 57.00 !walls curveto 745.00 57.00 745.00 345.00 745.00 345.00 !walls curveto 745.00 345.00 705.00 345.00 705.00 345.00 !walls curveto 705.00 345.00 705.00 115.00 705.00 115.00 !walls curveto 705.00 115.00 705.00 56.00 705.00 56.00 !walls curveto 704.95 45.77 702.67 45.02 693.00 45.00 !walls curveto 693.00 45.00 105.00 45.00 105.00 45.00 !walls curveto 105.00 45.00 105.00 5.00 105.00 5.00 !walls curveto 105.00 5.00 1146.00 5.00 1146.00 5.00 !walls curveto 1146.00 5.00 1146.00 1146.00 1146.00 1146.00 !walls curveto 1146.00 1146.00 5.00 1146.00 5.00 1146.00 !walls curveto 5.00 1146.00 5.00 5.00 5.00 5.00 !walls curveto 5.00 5.00 45.00 5.00 45.00 5.00 !walls curveto 45.00 5.00 45.00 235.00 45.00 235.00 !walls moveto 645.00 105.00 !walls curveto 645.00 105.00 645.00 145.00 645.00 145.00 !walls curveto 645.00 145.00 605.00 145.00 605.00 145.00 !walls curveto 605.00 145.00 605.00 105.00 605.00 105.00 !walls curveto 605.00 105.00 645.00 105.00 645.00 105.00 !walls curveto 645.00 105.00 645.00 145.00 645.00 145.00 !walls moveto 645.00 205.00 !walls curveto 645.00 205.00 645.00 245.00 645.00 245.00 !walls curveto 645.00 245.00 605.00 245.00 605.00 245.00 !walls curveto 605.00 245.00 605.00 205.00 605.00 205.00 !walls curveto 605.00 205.00 645.00 205.00 645.00 205.00 !walls curveto 645.00 205.00 645.00 245.00 645.00 245.00 !walls moveto 445.00 305.00 !walls curveto 445.00 305.00 445.00 845.00 445.00 845.00 !walls curveto 445.00 845.00 215.00 845.00 215.00 845.00 !walls curveto 215.00 845.00 156.00 845.00 156.00 845.00 !walls curveto 145.77 845.05 145.02 847.33 145.00 857.00 !walls curveto 145.00 857.00 145.00 970.00 145.00 970.00 !walls curveto 145.00 970.00 145.00 995.00 145.00 995.00 !walls curveto 145.04 997.94 144.98 1001.17 147.43 1003.26 !walls curveto 149.84 1005.31 154.01 1005.00 157.00 1005.00 !walls curveto 157.00 1005.00 347.00 1005.00 347.00 1005.00 !walls curveto 347.00 1005.00 386.00 1005.00 386.00 1005.00 !walls curveto 389.67 1005.00 398.92 1005.57 401.77 1003.83 !walls curveto 405.48 1001.56 404.99 996.75 405.00 993.00 !walls curveto 405.00 993.00 405.00 905.00 405.00 905.00 !walls curveto 405.00 905.00 645.00 905.00 645.00 905.00 !walls curveto 645.00 905.00 645.00 980.00 645.00 980.00 !walls curveto 645.00 985.11 643.65 1000.05 647.43 1003.26 !walls curveto 649.84 1005.31 654.01 1005.00 657.00 1005.00 !walls curveto 657.00 1005.00 845.00 1005.00 845.00 1005.00 !walls curveto 845.00 1005.00 845.00 1045.00 845.00 1045.00 !walls curveto 845.00 1045.00 105.00 1045.00 105.00 1045.00 !walls curveto 105.00 1045.00 105.00 705.00 105.00 705.00 !walls curveto 105.00 705.00 180.00 705.00 180.00 705.00 !walls curveto 185.11 705.00 200.05 706.35 203.26 702.57 !walls curveto 205.31 700.16 205.00 695.99 205.00 693.00 !walls curveto 205.00 693.00 205.00 505.00 205.00 505.00 !walls curveto 205.00 505.00 345.00 505.00 345.00 505.00 !walls curveto 345.00 505.00 345.00 545.00 345.00 545.00 !walls curveto 345.00 545.00 270.00 545.00 270.00 545.00 !walls curveto 264.89 545.00 249.95 543.65 246.74 547.43 !walls curveto 244.69 549.84 245.00 554.01 245.00 557.00 !walls curveto 245.00 557.00 245.00 670.00 245.00 670.00 !walls curveto 245.00 670.00 245.00 695.00 245.00 695.00 !walls curveto 245.04 697.94 244.98 701.17 247.43 703.26 !walls curveto 249.84 705.31 254.01 705.00 257.00 705.00 !walls curveto 257.00 705.00 370.00 705.00 370.00 705.00 !walls curveto 370.00 705.00 395.00 705.00 395.00 705.00 !walls curveto 397.94 704.96 401.17 705.02 403.26 702.57 !walls curveto 405.31 700.16 405.00 695.99 405.00 693.00 !walls curveto 405.00 693.00 405.00 305.00 405.00 305.00 !walls curveto 405.00 305.00 445.00 305.00 445.00 305.00 !walls curveto 445.00 305.00 445.00 845.00 445.00 845.00 !walls moveto 645.00 305.00 !walls curveto 645.00 305.00 645.00 380.00 645.00 380.00 !walls curveto 645.00 385.11 643.65 400.05 647.43 403.26 !walls curveto 649.84 405.31 654.01 405.00 657.00 405.00 !walls curveto 657.00 405.00 745.00 405.00 745.00 405.00 !walls curveto 745.00 405.00 745.00 480.00 745.00 480.00 !walls curveto 745.00 485.11 743.65 500.05 747.43 503.26 !walls curveto 749.84 505.31 754.01 505.00 757.00 505.00 !walls curveto 757.00 505.00 870.00 505.00 870.00 505.00 !walls curveto 870.00 505.00 895.00 505.00 895.00 505.00 !walls curveto 897.94 504.96 901.17 505.02 903.26 502.57 !walls curveto 905.31 500.16 905.00 495.99 905.00 493.00 !walls curveto 905.00 493.00 905.00 305.00 905.00 305.00 !walls curveto 905.00 305.00 945.00 305.00 945.00 305.00 !walls curveto 945.00 305.00 945.00 380.00 945.00 380.00 !walls curveto 945.00 385.11 943.65 400.05 947.43 403.26 !walls curveto 949.84 405.31 954.01 405.00 957.00 405.00 !walls curveto 957.00 405.00 1045.00 405.00 1045.00 405.00 !walls curveto 1045.00 405.00 1045.00 445.00 1045.00 445.00 !walls curveto 1045.00 445.00 970.00 445.00 970.00 445.00 !walls curveto 964.89 445.00 949.95 443.65 946.74 447.43 !walls curveto 944.69 449.84 945.00 454.01 945.00 457.00 !walls curveto 945.00 457.00 945.00 845.00 945.00 845.00 !walls curveto 945.00 845.00 805.00 845.00 805.00 845.00 !walls curveto 805.00 845.00 805.00 615.00 805.00 615.00 !walls curveto 805.00 615.00 805.00 556.00 805.00 556.00 !walls curveto 804.95 545.77 802.67 545.02 793.00 545.00 !walls curveto 793.00 545.00 680.00 545.00 680.00 545.00 !walls curveto 680.00 545.00 655.00 545.00 655.00 545.00 !walls curveto 652.06 545.04 648.83 544.98 646.74 547.43 !walls curveto 644.69 549.84 645.00 554.01 645.00 557.00 !walls curveto 645.00 557.00 645.00 845.00 645.00 845.00 !walls curveto 645.00 845.00 605.00 845.00 605.00 845.00 !walls curveto 605.00 845.00 605.00 461.00 605.00 461.00 !walls curveto 605.00 461.00 605.00 373.00 605.00 373.00 !walls curveto 605.00 373.00 605.00 355.00 605.00 355.00 !walls curveto 604.96 352.06 605.02 348.83 602.57 346.74 !walls curveto 600.16 344.69 595.99 345.00 593.00 345.00 !walls curveto 593.00 345.00 505.00 345.00 505.00 345.00 !walls curveto 505.00 345.00 505.00 305.00 505.00 305.00 !walls curveto 505.00 305.00 645.00 305.00 645.00 305.00 !walls curveto 645.00 305.00 645.00 380.00 645.00 380.00 !walls end I count at least 17 of those that got dropped.
1614094131
John B
Pro
Sheet Author
Interested in when this gets fixed was impacted by this sneaky defect.