TACOBOT

The Official Blog for Visual Studio
Tools for Apache Cordova

By our developers, for developers.

Announcing Update 7

Fresh on the heels of Update 6, today I’m happy to announce the release of update 7 (version 60219.1). Here is the download URL:

http://go.microsoft.com/fwlink/?LinkId=733584

What’s New?

New default Cordova version in new projects
By default, new projects are now created using Cordova 6.0.0, the latest version of Cordova. However, all your existing projects will not be upgraded, and are still supported by our tools. Read about the latest improvements made in Cordova 6.0.0 .

Consume structured error data from Cordova
We’re very excited about this feature. We know that we can do a better job surfacing error messages in the error pane, and in update 7 we’ve taken an important first step towards improving this experience.

Determining what is an ‘error’ from Cordova has been a difficult engineering challenge. We tried to solve this by picking out lines that looked like errors and reporting them in the error pane. Unfortunately, due to the wide variety of possible errors while building a Cordova project, this approach has not been particularly effective.

We’ve got a team here at Microsoft that commits regularly to Cordova, and we worked closely with them to move the error emitting logic down the stack into the runtime. Starting with version 6.0.0, Cordova now emits error messages through a well-defined API which our tools consume. This gets us out of the business of trying to be smart about what is an error and what is not. Instead, we now rely on whatever Cordova says.

You’ll get this new behavior only if you install VS TACO Update 7 and target Cordova 6.0.0 or higher. If you continue to target older versions of the CLI, you will still get the old behavior.

We do not expect the error messages to be perfect, but we hope that they are more useful than they’ve been in the past. If you see a non-actionable error message, please send me the build log and the list of errors in the output pane. Improving this experience is one of our highest priorities.

Updated Project Templates
We updated our project templates to look nicer and more modern. We also fixed a couple of small issues with the templates (for example, we changed some image assets and added some missing icons).

Bug Fixes

As usual, we have some bug fixes in this release. Here are the highlights:

vs-tac install fails if AppData path has a space in it
We heard reports of failures instaling our node package with Update 6. We found the problem occured when user names had a space in them. Thanks to those of you who reported the issue.

Reported Crashes
We’re starting to do a better job keeping up with our crash reporting system. We’ve fixed a number of bugs in this release.

Project name with spaces invalidates package.json file, breaks NPM
Adding NPM packages to a project with a name that doesn’t match NPM’s naming requirements was causing package restore to fail. We fixed this by adding “private”: “true” to the package.json.

Store packaging for multiple architectures only copies one package file to AppPackages directory
You could not previously create packages for the Windows store with multiple architectures at the same time.

Feedback and Thanks

As I mentioned earlier, we are particularly interested in your feedback for this release - especially around error reporting. Please let me know what you think!

Michael Braude
Development Manager | Tools for Apache Cordova
mbraude@microsoft.com | @LittleWebFoot

Update to Ripple

We’ve published a new version of Ripple to get around the bug in Chrome that we reported earlier in the week. If you’re using our tools for the first time you’ll get the new version automatically. Otherwise, here are two ways to get the update:

  1. In Visual Studio, click Tools -> Options
  2. Find the Tools for Apache Cordova
  3. Click the “Clear Cordova Cache” button
  4. Rebuild your project

…or…

  1. Open a command prompt
  2. cd %AppData%\npm\node_modules\vs-tac
  3. npm update ripple-emulator

Please let me know if you still experience any issues after installing the update.

Michael Braude
Development Manager | Tools for Apache Cordova
mbraude@microsoft.com | @LittleWebFoot

Ripple Crashing on Chrome Version 48

We’ve had reports of Ripple crashing with an “Aw snap” message in the latest version of Chrome (v48.0.2564.103 m). The main way people are running into the issue is by setting window.location in their app, but but you can also run into this by simply adding the cordova-plugin-media plugin. We took a deep dive and found what appears to be a bug in Chromium, so we filed an issue to track the problem.

Unfortunately, the only workaround we have at the moment is to downgrade Chrome to version 46 (which we know is difficult to do). We’re working on changing Ripple to get around the bug and hope to have a new version released shortly. I’ll be back with an announcement when that happens because there are some steps you’ll need to take to update Ripple to the latest version.

** Update 2/12/2016 ** We’ve released a new version of Ripple that fixes this issue. Please see this post for more information.

Michael Braude
Development Manager | Tools for Apache Cordova
mbraude@microsoft.com | @LittleWebFoot

Feb. 11th - Connect("Live") // TACO Q&A

Join us this Thursday for our first Live Q&A event hosted on Channel9!

I’m really looking forward to this episode in which we introduce a new format and special guests as well as a whole new live streaming experience.

Special guests

We’ll be joined this week by two outstanding contributors to the Apache Cordova project: Carlos Santana and Raymond Camden.

Not only are they great contributors, they’re also members of the IBM MobileFirst team and active members of the greater Cordova community!

Topics this week

First and foremost - we’ll focus on answering your questions. We want to hear from you, so come join us and ask away.

It’s also been a very busy new year for the Cordova project and our TACO family of tools; we’ll touch upon all of the big announcements and major questions we’ve seen recently:

Join us this Thursday

Join us live this Thursday (February 11th) at 10:00 AM, US Pacific Time and visit our TACO Live site to add this event to your calendar or view past episodes.

We’ll see you soon!

Jordan Matthiesen
Program Manager | Tools for Apache Cordova
Microsoft Visual Studio
@JMatthiesen

Announcing Update 6

Today I’m happy to announce the release of Update 6 (version 60128.14) for the Tools for Apache Cordova in Visual Studio. Here is the URL for the download:

http://go.microsoft.com/fwlink/?LinkId=723751

Installing Update 6 from the above link will work on both Visual Studio RTM and Update 1. However, installing VS TACO Update 6 from the VS notification center will require VS Update 1

Visual Studio will display a notification for the update early next week.

What’s New?

This is a smaller update than Update 5, but we have two new features which we’re excited to release. We think both of these will solve some common customer problems.

Local iOS deploy
We’ve been working on this one for a long time. You can now attach a tethered iOS device to your Windows machine, and with a little bit of configuration (see here for a detailed walk-through) you can launch and debug Cordova apps on an iOS device. The previous workflow required you to deploy to an i-device through iTunes on a Mac, but now you can deploy straight from Visual Studio on Windows (although you still need iTunes for Windows to recognize your device). Check out our previous blog post for more info.

Use sandboxed version of NPM
As we announced a few weeks ago, we recently discovered that certain versions of NPM fail to install our tooling. Unfortunately, the version of NPM that’s bundled with the latest ‘stable’ version of Node is one of these versions.

To fix the problem and insulate us from future volatility, we now pull down a specific version of NPM that we know works and use that version to bootstrap our tooling. We hope that this fixes many of the errors customers are seeing when building projects for the first time.

Bug Fixes

As usual, Update 6 contains a number of bug fixes. Here are the highlights of what’s included:

Ripple deploy / attach issues
We were finally able to track down a number of lingering issues with Ripple and we hope these fixes help it become more reliable. In particular, we found one problem where Ripple wouldn’t attach because of a timing issue. We’ve fixed that in Update 6 and we expect this will solve a lot of common problems using Ripple as a debug target.

We also fixed a problem due to interactions with the Chrome dev tools, and another issue where Ripple connection would fail when launching for the second time.

New projects from existing code now builds for Windows-x86
There are some commonly used projects that now build correctly for the Windows-x86 platform.

Special folders are shown in solution explorer
We had a few cases where folders (such as node_modules and .git) were showing up in the solution explorer.

Wrong message on a failed remote build
In some cases, remote iOS builds were reporting some very confusing and misleading error messages. We’ve made a few improvements that should make these errors clearer.

vs:plugin elements are not “pulled forward” if they are already installed
We focused on CLI interop in update 5. As part of that we changed some legacy logic in the config designer to write the <plugin> element instead of <vs:plugin>. There were some cases however, when we weren’t updating config.xml properly and were leaving the old elements. That’s been fixed.

Feedback and Thanks

As always, please send us your feedback! We’ll see you in three weeks.

Michael Braude
Development Manager | Tools for Apache Cordova
mbraude@microsoft.com | @LittleWebFoot