Your comments

Update: The <canvas> tag is now implemented with the latest fusebox.  Give it a go!
I'm assuming you have the latest version from the Google Play store (1.5.43.7). What's your username on the studio?  Can you log in on the website with the same password you're using in fusebox?
When you say:
<action name="merchant_on" datasource="merchant">


the engine defaults the datasourceevent to querycomplete.

This means that every time the datasource comes back, you're setting the source of the merchant datasource, and causing it to refresh. Once it's complete, it starts over again.

If you remove the datasource="merchant" portion of that line of code, and make it simply
<action name="merchant_on">, then your loop will not happen.
I don't see any recursion here - we just have functions wrapped in functions, in a very JQuery sort of way.  You should be able to just extract the code you want from the inner function, and use variables and functions to handle things the way you want to do it.

In your functions.html file, just put a function like:
function getUrl(user_latch, sec_code /*, ...*/ ) { 
   var timestamp = Math.floor((new Date()).getTime() / 1000);
   /* ... */
   return hyperlink;
}

And, in your wire, just do something like:
<assign property="var:hyperlink" value="[eval: getUrl('[var:userlatch]', '[var:seccode]', ... )]" />

Good luck,
Kevin
Subrata:

This is a strange one, I apologize for your troubles with this, and I'll log this as a defect.  However, there is a quick workaround that worked for me:

1) Log into the studio, and go to your app's editor.
2) Make a small change in the studio (e.g., add a space to the wire)
3) Click 'Save' and 'Snapshot', ensuring that you see the 'Snapshot created' message.
4) Go back to fusebox, and click the 'Refresh' button at the top.
5) Once fusebox refreshes, you should be able to download and run the app.

Let me know if you don't see the same results.  From then on, you should be able to use the snapshot button in fusebox.

Thanks a lot,
Kevin
Subrata:

Please try your snapshotting again - it just worked for me here.  Try restarting Fusebox, just in case, and then retry your snapshot.

Let me know if you run into any issues.

Thanks,
Kevin
Subrata:

I have reproduced the issue here.  It appears that there is a server issue at the moment – we're working on it.  I'll let you know as soon as we have it resolved.

Thanks a lot,
Kevin
Subrata:

If you bring up the app in the studio, and click to bring up the editor, there will be a bit at the top right which says app #XXXX.  If you can get me that app number, I'll do some troubleshooting and get back to you.

Sorry for the trouble - thanks for helping us flush it out,
Kevin
Subrata:

We've been making big changes to the internals of the studio lately, and it appears we may have run across some glitches in the process.  We'll look into this, and I'll get back to you.

Thanks,
Kevin
That message will happen when the app fails to download or extract.  It could be due to a network glitch, or perhaps the file that fusebox downloaded was corrupted. 

I would try this:
1.  Snapshot from the studio just once - add a space in your wire or something silly to make sure it creates another snapshot, and you get that "Snapshot created" message that pops down from the top.
2. Restart fusebox (make sure the app is stopped, not just paused).
3. Delete the app in Fusebox and download it from scratch.  Swipe right on the app's row, and hit the red button to delete the app. 
4. Then, re-download and try again.  This should work the kinks out of the system, if there are any, and you should be able to snapshot from fusebox from then on.

If the issue persists, then please let us know, and we'll troubleshoot it from our end.