Skip to content

feat: install on Windows, and publish where people actually install from - #12

Merged
w1ne merged 1 commit into
mainfrom
feat/windows-and-publish
Aug 14, 2026
Merged

w1ne merged 1 commit into
mainfrom
feat/windows-and-publish

Conversation

@w1ne

@w1ne w1ne commented Aug 14, 2026

Copy link
Copy Markdown
Owner

Three separate reasons someone could not install this extension.

1. It is on neither registry. marketplace.visualstudio.com/items?itemName=w1ne.labwired-vscode → 404, open-vsx.org/api/w1ne/labwired-vscode → 404. The only install path is the .vsix attached to v0.14.0, which has 0 downloads. The release workflow now publishes to Open VSX as well — that is where VSCodium, Cursor, Windsurf and the Theia editors install from — and reports which registry a tag failed to reach instead of skipping in silence.

2. Windows. downloadRelease threw Windows auto-download is not available yet. Nothing in the extension needed that: tar ships with Windows 10 and later, and binaryName() already appends .exe. The real gap was that no leg of the core release built a Windows archive. labwired-core#964 adds x86_64-pc-windows-msvc — a dispatch dry-run of that workflow built it green — so this adds the platform-table entry.

3. The pin. CLI_VERSION was v0.19.3 while core had released v0.21.0. F5 ran against a CLI that predated half the boards in the docs. Now v0.22.0.

PLATFORM_ASSETS moves into src/platformAssets.ts so it can be unit-tested without a VS Code host. That one table decides whether the extension can install the simulator at all, and it silently lacked Windows for months because no test could reach it.

Merge order

After core v0.22.0 is tagged. The pin and the Windows asset both point at that release; merging earlier leaves the extension asking for archives that do not exist yet.

Still needs you

Publishing stays a warning until the credentials exist:

Add both as repository secrets. Until then a tag still attaches the .vsix, and the run says out loud which registries it did not reach.

Verification

26 unit tests (4 new, covering the platform table), tsc -p . --noEmit clean, actionlint clean on the release workflow.

Three reasons a person could not install this extension:

- **Windows.** `downloadRelease` threw "Windows auto-download is not
  available yet". That was true, but only because no leg of the core
  release ever built a Windows archive — nothing in the code needed it.
  labwired-core now builds x86_64-pc-windows-msvc, so the platform table
  gets its entry. `tar` ships with Windows 10 and later and binaryName()
  already appends the .exe, so nothing else changes.
- **Open VSX.** VSCodium, Cursor, Windsurf and the Theia editors do not
  install from the Microsoft Marketplace at all. The release now publishes
  to both registries, and says explicitly which one a tag failed to reach —
  a silent skip reads exactly like a successful publish.
- **The pin.** CLI_VERSION sat at v0.19.3 while core released v0.21.0.
  Debugging shipped against a CLI that predated half the boards in the
  docs. Now v0.22.0.

PLATFORM_ASSETS moves into src/platformAssets.ts so it can be unit-tested
without a VS Code host: this one table decides whether the extension can
install the simulator at all, and it lost Windows for months with no test
that could notice.

26 unit tests, tsc clean.
@w1ne
w1ne merged commit b5f49ad into main Aug 14, 2026
2 checks passed
@w1ne
w1ne deleted the feat/windows-and-publish branch August 14, 2026 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant