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

[API related] Pages are reappearing after being deleted

1489800838

Edited 1489802655
PaprikaCC
Pro
API Scripter
I am experiencing some weird behaviour where pages that I select to delete in the VTT, are recreated within a second of deleting it. This only happens once. After the first deletion, they are completely gone. So far I have narrowed this down and it seems to be caused by the API createObj() function. Pages that have graphics created by createObj() will exhibit this 'reappearing act', as long as they have any graphic on them at all (regardless if you manually place the graphic, or if the API created it). If you delete all graphics from the page before attempting to delete the page, the 'reappearing act' won't occur. Through some logging, I realized that the reanimated pages have the exact same attributes as the deleted ones (including z-order and id) and they are always empty of any graphics, paths, or text.
1489806597
PaprikaCC
Pro
API Scripter
I don't know if this a browser issue, because the add:page event is firing according to the API.
1489814096
Gen Kitty
Forum Champion
To eliminate some low-hanging fruit, could you please carefully work through the first three steps of our guide to Solving Technical Issues ? Step 1: Make sure to use the right browser Please check if these issues persist when using both Chrome and Firefox. Step 2: Ensure that there are no extensions/addons interfering with Roll20 Please disable all add-ons/extensions and anti-virus programs. Step 3: Clear your cache If none of the above succeeds, please thoroughly work through Step 4 . (Don't forget the complete Console Log!) The console log will be very helpful for the Devs who troubleshoot this, assuming steps 1-3 do not fix your issues.  Thank you!
1490053081

Edited 1490209545
PaprikaCC
Pro
API Scripter
Hello. I went through steps 1 to 3 and it did not fix the issue. The problem exists on both the Firefox and Chrome browsers. Description of the problem: When a page containing a graphic object created by the API createObj() function is deleted, it will reappear within 5 seconds. The created page has the same attributes as the deleted page (including _id) but it is empty and doesn't contain any graphics, paths or text objects on it. To reproduce: Step 1: Install the following script in a campaign. on('change:campaign:playerpageid', ()=&gt;{ &nbsp;&nbsp;&nbsp; createObj('graphic', { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _pageid: Campaign().get('playerpageid'), &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; top: 35, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; left: 35, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; width: 70, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; height: 70, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; imgsrc: '<a href="https://s3.amazonaws.com/files.d20.io/images/25564/thumb.png?13392001185" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/25564/thumb.png?13392001185</a>', &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; layer: 'objects' &nbsp;&nbsp;&nbsp; }); }) Step 2: Create a new page, the settings do not matter. Step 3: Switch the player page to the newly created page. This will create a graphic object on the new page. Step 4: Switch the player page back to the original page. This will create a graphic object on the original page. Step 5: Delete the newly created page. The newly created page will disappear for a second, then reappear with the same name and settings. However there will be no graphic elements on the page. Computer settings: OS: Windows 7 Web Browser: Firefox 52.0 and Chrome 56.0.2924.87 Javascript Enabled: true Antivirus Software: Avira Free List of Add-ons: None Console log: RTCIceServer.url is deprecated! Use urls instead. app.js:25 70 app.js:31:3874 TOUCH SUPPORTED: false app.js:31:29088 USING WEBGL ACCELERATION... app.js:31:29909 WEBGL STARTUP SUCCESS app.js:31:30498 select app.js:26:19540 Switch mode to select app.js:26:21386 Initializing new dice engine with randomness... app.js:42:27868 Using random entropy app.js:42:27945 window resize app.js:47:30676 Final set zoom! app.js:32:9943 UPDATE GL SIZE! app.js:31:23638 Final set zoom! app.js:32:9943 tuts loaded tutorial_tips.js:7:2 Final page load. app.js:38:8499 Refresh jukebox List! app.js:48:2355 Auth'ed. app.js:37:17244 Go post auth! app.js:37:17441 initial setup app.js:37:17586 Object { attributes: Object, _escapedAttributes: Object, cid: "c0", changed: Object, _silent: Object, _pending: Object, _previousAttributes: Object, activePage: bound (), showSettings: bound (), initActivePage: bound (), 25 more… } app.js:35:21002 Got players value... app.js:37:17828 joining game... app.js:37:24696 Full load page! app.js:35:122 We have 3 pages app.js:37:18646 Player -************************_ is offline... app.js:35:27936 Global Volume: 100=1 app.js:36:4778 Deferred finish joining... app.js:37:24786 Firebase Online app.js:31:5180 Loading Roll20 Chat Event Handlers app.js:44:32342 refershing page listings! app.js:40:32616 handle page changes app.js:37:19186 false app.js:37:19267 Old style path! app.js:34:4315 ERROR converting path! app.js:33:12531 Error: `path` argument is required Stack trace: r.Path&lt;.initialize@<a href="https://app.roll20.net/assets/app.js?1488996899:29:30917" rel="nofollow">https://app.roll20.net/assets/app.js?1488996899:29:30917</a> i@<a href="https://app.roll20.net/assets/app.js?1488996899:27:1688" rel="nofollow">https://app.roll20.net/assets/app.js?1488996899:27:1688</a> d20.engine.convertAbsolutePathStringtoFabric@<a href="https://app.roll20.net/assets/app.js?1488996899:33:12081" rel="nofollow">https://app.roll20.net/assets/app.js?1488996899:33:12081</a> o&lt;.checkForUpgrade@<a href="https://app.roll20.net/assets/app.js?1488996899:34:4352" rel="nofollow">https://app.roll20.net/assets/app.js?1488996899:34:4352</a> o&lt;.initialize@<a href="https://app.roll20.net/assets/app.js?1488996899:34:3301" rel="nofollow">https://app.roll20.net/assets/app.js?1488996899:34:3301</a> t.Model@<a href="https://app.roll20.net/assets/base.js?1468423138:1:16319" rel="nofollow">https://app.roll20.net/assets/base.js?1468423138:1:16319</a> T/r&lt;@<a href="https://app.roll20.net/assets/base.js?1468423138:1:30719" rel="nofollow">https://app.roll20.net/assets/base.js?1468423138:1:30719</a> ._prepareModel@<a href="https://app.roll20.net/assets/base.js?1468423138:1:23459" rel="nofollow">https://app.roll20.net/assets/base.js?1468423138:1:23459</a> .add@<a href="https://app.roll20.net/assets/base.js?1468423138:1:20624" rel="nofollow">https://app.roll20.net/assets/base.js?1468423138:1:20624</a> ._add@<a href="https://app.roll20.net/assets/app.js?1488996899:3:49" rel="nofollow">https://app.roll20.net/assets/app.js?1488996899:3:49</a> n.defaultEvents.child_added@<a href="https://app.roll20.net/assets/app.js?1488996899:3:191" rel="nofollow">https://app.roll20.net/assets/app.js?1488996899:3:191</a> h.Zb/&lt;@<a href="https://app.roll20.net/assets/firebase.2.4.0.js:203:373" rel="nofollow">https://app.roll20.net/assets/firebase.2.4.0.js:203:373</a> gc@<a href="https://app.roll20.net/assets/firebase.2.4.0.js:52:165" rel="nofollow">https://app.roll20.net/assets/firebase.2.4.0.js:52:165</a> cc@<a href="https://app.roll20.net/assets/firebase.2.4.0.js:30:216" rel="nofollow">https://app.roll20.net/assets/firebase.2.4.0.js:30:216</a> dc@<a href="https://app.roll20.net/assets/firebase.2.4.0.js:29:1259" rel="nofollow">https://app.roll20.net/assets/firebase.2.4.0.js:29:1259</a> h.Kb@<a href="https://app.roll20.net/assets/firebase.2.4.0.js:220:287" rel="nofollow">https://app.roll20.net/assets/firebase.2.4.0.js:220:287</a> h.Ld@<a href="https://app.roll20.net/assets/firebase.2.4.0.js:188:246" rel="nofollow">https://app.roll20.net/assets/firebase.2.4.0.js:188:246</a> Eh.prototype.Ld@<a href="https://app.roll20.net/assets/firebase.2.4.0.js:178:359" rel="nofollow">https://app.roll20.net/assets/firebase.2.4.0.js:178:359</a> Gh/&lt;@<a href="https://app.roll20.net/assets/firebase.2.4.0.js:176:278" rel="nofollow">https://app.roll20.net/assets/firebase.2.4.0.js:176:278</a> yh@<a href="https://app.roll20.net/assets/firebase.2.4.0.js:170:462" rel="nofollow">https://app.roll20.net/assets/firebase.2.4.0.js:170:462</a> vh.prototype.open/this.La.onmessage@<a href="https://app.roll20.net/assets/firebase.2.4.0.js:169:67" rel="nofollow">https://app.roll20.net/assets/firebase.2.4.0.js:169:67</a> app.js:33:12569 refershing page listings! app.js:40:32616 Scan for new plays! app.js:38:5321 init active page! app.js:37:23649 activate page! app.js:35:2284 FULLY ACTIVATE VIEWS FOR PAGE. app.js:35:2516 Graphics: 0 app.js:35:1463 Paths: 0 app.js:35:1659 Reorder by ZORDER app.js:35:5167 refershing page listings! app.js:40:32616 Use of getPreventDefault() is deprecated. Use defaultPrevented instead. jquery.1.8.2.min.js:2:40278 Refresh jukebox List! app.js:48:2355 This site appears to use a scroll-linked positioning effect. This may not work well with asynchronous panning; see&nbsp;<a href="https://developer.mozilla.org/docs/Mozilla/Perfor...&nbsp;for" rel="nofollow">https://developer.mozilla.org/docs/Mozilla/Perfor...&nbsp;for</a> further details and to join the discussion on related tools and features! editor window resize app.js:47:30676 Final set zoom! app.js:32:9943 UPDATE GL SIZE! app.js:31:23638 Final set zoom! app.js:32:9943 Full load page! app.js:35:122 // New page created refershing page listings! app.js:40:32616 NEED TO UPGRADE ZORDER! app.js:35:1113 Upgrading to new ZORDER app.js:35:4681 Array [ ] app.js:35:4935 Array [ ] app.js:35:4990 Body drop! app.js:47:27277 // Graphic created on the new page refershing page listings! app.js:40:32616 Body drop! app.js:47:27277 // Graphic created on the original page. "Swapping&nbsp;<a href="https://s3.amazonaws.com/files.d20.io/images/2556...&nbsp;to&nbsp;https://s3.amazonaws.com/files.d20.io/images/2556...&nbsp;app.js:34:16213" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/2556...&nbsp;to&nbsp;https://s3.amazonaws.com/files.d20.io/images/2556...&nbsp;app.js:34:16213</a> setting src app.js:34:16374 refershing page listings! app.js:40:32616 Reorder by ZORDER app.js:35:5167 refershing page listings! app.js:40:32616 289 app.js:33:15238 // Page settings is opened and the new page is deleted. Full load page! app.js:35:122 // Page is created again without user input. refershing page listings! app.js:40:32616 289 // Page settings is opened again and the page is deleted. // No other responses from the console
1490110060
Gen Kitty
Forum Champion
A Dev will be by to to poke at this, thank you for the report!
1490657976
PaprikaCC
Pro
API Scripter
Hi! Is anyone else able to reproduce this problem?
1491261249
PaprikaCC
Pro
API Scripter
Weekly bump! There were no rules against this and I'm super curious if this is a local problem or something bigger. Is this reproducible?
1491424202
Gid
Roll20 Team
Hi PaprikaCC, Sorry about the wait here. I needed a moment to sit down and test this on my own. Thank you for the script sample and the steps needed. I was able to reproduce this issue on my own as well. I'll ask the Devs what might be going on about this.