

One week after Hackweek had ended, it was fully launched. We took time to test the change carefully, then slowly rolled it out to users. We converted and debugged about 23,000 lines of JavaScript into CoffeeScript in one week without many issues. We've heard many arguments for and against debuggability, and in the end, we convinced ourselves that it's easy only after jumping in and trying it. It's not, and the main reason is CoffeeScript is just JavaScript: it's designed to be easy to debug, in part by leaving JavaScript semantics alone. That debugging compiled js is annoying.We just write CoffeeScript, reload the page, loop. This means we didn't need to change our workflow whatsoever, didn't need to learn a new tool, or run any new background process (no coffee -watch). Compilation is imperceptibly fast thanks to jashkenas and team. Anything needing an update gets compiled. In our case, we avoided this problem entirely by instrumenting our server code: whenever someone reloads a Dropbox page running on their development server, it compare mtimes between. That it adds extra bloat to iterative development, because each tweak requires recompilation.Before diving in, we were most concerned about these two: We've heard many arguments against CoffeeScript. Net v2 SDK v5.5.By the way, the JavaScript has a scoping bug, did you catch it? I thought the DropboxClient would do "it's thing" using the initial access and refresh tokens. It concerns an MVC webapp, and the dropboxclient is newly instantiated on every use. Using the it works for a while (a few hours after initial usser auth), but the next day it fails with " : expired_access_token/" The DropboxClient is instantiated with the Access_token and refresh token retrieved in the first part. The tokens are persisted in the DB and to be used for longer periods (months) without the user needing to re-login The resulting POST http request gives me a code and DropboxOAuth2Helper.ProcessCodeFlowAsync provides me an access token and refresh token based on that code.

I ask for user authentication (only once) using the DropboxOAuth2Helper.GetAuthorizeUri with OAuthResponseType.Code and TokenAccessType.Offline. Greg, I still can't get it to work for a duration longer than the access token's validity.
