Ship five extensions built-in; fix packaging and Explorer integration - #21
Merged
braden-seaborn merged 3 commits intoJul 29, 2026
Merged
Conversation
Work that predates the extension-bundling effort, committed separately so the build fixes that follow stay reviewable on their own. - canvas webview: pan/zoom gesture handling plus a shared test fixture, and a rewrite of the existing smoke test onto it - scripts/vousoir-dev.ps1, scripts/vousoir-web.ps1: launchers for the desktop app (throwaway profile + CDP port) and the browser workbench - docs/v6r/DRIVING-THE-UI.md: how to drive the workbench from an agent - .gitignore: exclude the two launcher run directories Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Makes a packaged Vousoir build possible for the first time and gives it the
out-of-the-box surface it was meant to have.
Bundled extensions (product.json builtInExtensions):
- PKief.material-icon-theme 5.37.0, tomoki1207.pdf 1.2.2,
hediet.vscode-drawio 1.6.6, illixion.vscode-vibrancy-continued 1.1.86
from the configured Open VSX gallery
- zoellner.openapi-preview 2.3.2 is absent from Open VSX, so it is vendored
under vousoir/vendor/ and loaded through the existing sha256-verified
"vsix" field
- Material Icon Theme is made the default via configurationDefaults on
vousoir-core, not a core patch
Packaging fixes (all pre-existing breakage, none newly introduced):
- gulpfile.vscode.ts dereferenced product.win32ContextMenu![arch] on a
product.json that has no such key, so packaging threw immediately
- the AI excision deleted src/vs/sessions, platform/agentHost and
platform/browserView but left them enumerated in build/next/index.ts,
buildfile.ts and gulpfile.vscode.ts; esbuild failed on unresolvable entry
points, and the literal resource paths plus computeChecksums entries were
latent second-stage failures
Explorer integration:
- code.iss: context-menu tasks default to checked, and
ShouldUseWindows11ContextMenu returns False without an appx, without which
Windows 11 would claim the modern menu and install no context menu at all
- scripts/vousoir-shell-integration.ps1 registers the same entries under
HKCU against an unpackaged build, so no installer is required
- build.ps1 gains -Installer / -InstallerTarget
Also replaces the last Microsoft app-identity artwork under src/ with the
Vousoir wedge (code-icon.svg, five call sites).
Window vibrancy is implemented natively but withheld ('included': false) -
vibrancy.ts does not yet cover empty pane areas, which show the backdrop
through. Kept rather than reverted so the work can resume.
Ledger rows 10-18 in vousoir/PATCHES.md.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The five bundled extensions raise obligations that do not apply while Vousoir is built and run privately, but do the moment a build is handed to anyone. Captured now, while the context is fresh, rather than rediscovered at release. Covers the vendored zoellner.openapi-preview VSIX (license unverified, and committed to a repo that currently reads as public), draw.io's GPL-3.0 source offer, the missing ThirdPartyNotices entries, and the unsigned-build gates. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
blocks-ci screenshots changedReplace the contents of Updated blocks-ci-screenshots.md<!-- auto-generated by CI — do not edit manually -->
#### editor/codeEditor/CodeEditor/Dark

#### editor/codeEditor/CodeEditor/Light
Patch--- test/componentFixtures/blocks-ci-screenshots.md 2026-07-29 02:44:58.043003046 +0000
+++ /tmp/blocks-ci-updated.md 2026-07-29 02:47:09.264151179 +0000
@@ -1,25 +1,7 @@
<!-- auto-generated by CI — do not edit manually -->
-#### chat/aiCustomizations/aiCustomizationManagementEditor/AgentHostPromptMigration/Dark
-
-
-#### chat/aiCustomizations/aiCustomizationManagementEditor/AgentHostPromptMigration/Light
-
-
#### editor/codeEditor/CodeEditor/Dark
-
+
#### editor/codeEditor/CodeEditor/Light
-
-
-#### editor/inlineChatZoneWidget/InlineChatZoneWidget/Dark
-
-
-#### editor/inlineChatZoneWidget/InlineChatZoneWidget/Light
-
-
-#### editor/inlineChatZoneWidget/InlineChatZoneWidgetTerminated/Dark
-
-
-#### editor/inlineChatZoneWidget/InlineChatZoneWidgetTerminated/Light
-
+ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Makes a packaged Vousoir build possible for the first time, and gives it the out-of-the-box surface it was meant to have.
Why this is bigger than it looks
build.ps1could not produce a packaged build before this branch. Five independent pre-existing defects were stacked on top of each other, each only surfacing once the previous was cleared:gulpfile.vscode.tsdereferencedproduct.win32ContextMenu![arch].clsidon aproduct.jsonthat has no such key — packaging threw instantly@azure/identitymissing frombuild/node_modules(environment, fixed by reinstall — no repo change)buildfile.tsbuild/next/index.tsandgulpfile.vscode.tsspawn signtool.exe ENOENTin the post-packaging-cistep — still open, see below3 and 4 are fallout from the Layer 2 AI excision:
src/vs/sessions/,src/vs/platform/agentHost/andsrc/vs/platform/browserView/were deleted but stayed enumerated in the build manifests. Note thatbuild/next/index.tsis the real bundler for desktop as well as web —build/lib/esbuild.tsspawns it.Bundled extensions
PKief.material-icon-themetomoki1207.pdfhediet.vscode-drawioillixion.vscode-vibrancy-continuedzoellner.openapi-previewMaterial Icon Theme is made the default via
configurationDefaultsonvousoir-core— an extension contribution point, not a core patch.Explorer integration
code.iss: context-menu tasks default to checked, andShouldUseWindows11ContextMenu()returnsFalsewithout an appx. The second change is what makes the first real — without it, Windows 11 claims the modern menu, writes a marker for an appx that does not exist, and installs no context menu at all.scripts/vousoir-shell-integration.ps1registers the same entries underHKCUagainst an unpackaged build, so no installer is needed.build.ps1gains-Installer/-InstallerTarget.Verification actually performed
.build/builtInExtensions, so the sha256s are proven, not cached. A negative test (flipped hex digit) confirms thevsixpath really rejects a bad hash.code.isscompiles clean end-to-end under ISCC →VousoirSetup.exe. A negative test reproduces the old appx failure.node build/next/index.ts bundle --target desktopcompletes (20 bundles, 104 resources).vscode-win32-x64-minreachespackage-win32-x64successfully → a working 1.07 GBVousoir.exewith all five extensions present.Cursor/MobaXtermentries left intact.Not verified / known open
-Installerdies onspawn signtool.exe ENOENTafter packaging succeeds. The shell script covers the context menu meanwhile, but that flag is unproven.'included': false—vibrancy.tsdoes not yet cover empty pane areas, which show the system backdrop through and read as washed-out panels. Kept rather than reverted so the work can resume;getWindowVibrancyalways resolves tonone, so no window can be created with a backdrop.Review notes
docs/v6r/PRE-PUBLISH-LICENSING.mdis new and worth reading before any release — it records the vendored VSIX's unverified license, draw.io's GPL-3.0 source offer, and the missingThirdPartyNoticesentries. None of it blocks private use; all of it blocks distribution.Ledger rows 10-18 in
vousoir/PATCHES.md.The first commit is unrelated pre-existing work (canvas gesture tests, dev launchers), split out so the build fixes stay reviewable on their own.
🤖 Generated with Claude Code