Multiple Driver IDE instances results in Weird Behavior

I nearly drove myself insane working on a custom driver. I kept making edits and they were not being reflected in the behavior or logs of the device. I restarted the hub, reloaded my browser, and nothing fixed it.

Until I went through all my open tabs and realized I had TWO tabs open to the IDE for the same driver and every time I hit save the state of the OTHER tab was actually being saved.

Any chance the web IDE could yell at me if I have it open more than once for the same driver?

Not that I'm aware of. Tabs are typically independent of each other. If you can provide the OS and browser you were using at the time, that might help. But what it actually sounds like is the versioning we use to safeguard this got out of wack due to potentially saving it in one tab then the other and then coming back to the other tab and trying to save but the versioning was off. Which should give you an error at the top.

Versioning isn't saving each copy, its just an id that tries to keep things in sync.

Browser/OS info:
Google Chrome 74.0.3729.169 (Official Build) (64-bit)
OSX 10.14.5

Interestingly I can't reproduce it. Now when I try I get the expected version conflict banner.

I'm not really sure how exactly I got myself into that state. The best information I have is:

  • I was working in Tab1, clicking save, getting a success (well no errors in the UI)
  • Interactions with the device were not reflecting my code changes
  • Tried restarting hub/browser, no luck
  • Found Tab2 with IDE open for the same device, closed it and went back to Tab1
  • Everything worked!

I realize this is not great for trying to fix it. I was mostly posting in case someone else ran into the same problem. If I ever manage to reproduce it I'll be sure to attach more information.

1 Like