[ISSUE] Particle Workbench extension keeps installing 1.0.1 compiler toolchain


#1

I have installed latest compiler toolchain (1.4.0) in Particle Workbench and uninstalled 1.0.1 but every time I restart VSCode it keeps asking to install workbench dependencies and brings back 1.0.1 toolchain. If I refuse then it shows error that local commands will not be working. Why does it need an old toolchain when the newer one is already installed?


Disable Please install Particle Workbench dependencies
#2

sorry about that - should be fixed in the next update :+1:

for now, just make sure to set your project to use v1.4.0

status bar options


#3

@m_m Thank you! When is the next update coming out? Do you want me to open an issue on github to track this?


#4

What is the github repo for workbench? I was going to create an issue there but couldn’t find where.


#5

it’s not open-source at the moment. in the meantime, we’re asking folks to submit issues here on these boards. specific guidance here:


#6

@m_m When is the next update coming out? This bug is old and it doesn’t look like workbench is getting any updates recently.


#7

the last update - v1.6.1 - was released 9 days ago.

https://marketplace.visualstudio.com/items?itemName=particle.particle-vscode-pack

here’s how to enable / disable automatic updates:


#8

I have confirmed I am running version 1.6.1. But this bug is still there.


#9

you probably set the "particle.firmwareVersion": "1.0.1" setting in either your user-level settings or your project settings. check the following:

user-level settings.json:

project-level settings.json:

<your project directory>/.vscode/settings.json

you can just delete the entire key and then set them within your project using the status bar links (shown in my screengrab above)


#10

@m_m This still does not work. I’ve looked at the source code of particle extension (it’s in .vscode folder) and when CLI.hasDependencies is called during initialization, it reads manifest.json file and requires these binaries to exist:

{
    "released_at": "2019-02-19 20:21:38 -0500",
    "version": "1.0.1-e04264e",
    "channel": "master",
    "builds": {
        "windows": {
            "386": {
                "url": "https://binaries.particle.io/cli/master/1.0.1-e04264e/windows/386/particle.exe",
                "sha1": "bb62d47aa55786dd9353fe74e9c0d8d4861ab968"
            },
            "amd64": {
                "url": "https://binaries.particle.io/cli/master/1.0.1-e04264e/windows/amd64/particle.exe",
                "sha1": "848472b65435462cbd3991aee31b1d7c2609c645"
            }
        },
        "darwin": {
            "amd64": {
                "url": "https://binaries.particle.io/cli/master/1.0.1-e04264e/darwin/amd64/particle",
                "sha1": "93e8d1c33f35187f07ff8377f9c157b8ad0fb580"
            }
        },
        "linux": {
            "arm": {
                "url": "https://binaries.particle.io/cli/master/1.0.1-e04264e/linux/arm/particle",
                "sha1": "7dd801cf237001d373969148e77eed6ea9bd7c4e"
            },
            "amd64": {
                "url": "https://binaries.particle.io/cli/master/1.0.1-e04264e/linux/amd64/particle",
                "sha1": "15520a03b149bfbc5fe4a445280a5ac39d36e665"
            }
        }
    }
}

As you can see, all those binaries are from 1.0.1 version so this CLI.hasDependencies check forces 1.0.1 to be installed. Your CLIManifest is fixed and does not try to discover what’s already installed, but it’s only looking at manifest.json content.


#11

you are looking at the binaries for the CLI Wrapper whose current version is indeed v1.0.1

…but which is responsible for installing the latest version of the actual CLI (v1.47.0 at the moment).

at start-up Workbench will check to make sure you have the specified toolchain (the bits that live within ~/.particle/toolchains) AND a working copy of the CLI. once the CLI is fully installed, Workbench won’t check again for 30 days. if you cancel the install, it’ll keep checking.

at no point will Workbench report the CLI Wrapper’s version - instead, it’ll show the toolchain dependencies (e.g. deviceOS@1.4.0) along with the CLI version (v1.47.0) if either were actually installed. here’s an example:

can you share a screen grab showing the install success messages?