Commit d2faea4
authored
🔄 Sync stable → main (#2648)
* feat(vscode-ext): add test suite and clean up extension (SD-2341) (#2553)
* feat(vscode-ext): add test suite and clean up extension
SD-2341: Add contract tests verifying SuperDoc API surface the extension
depends on, plus build verification for the extension host bundle.
- Contract tests check: class export, style.css export, prototype methods
(export, destroy, getHTML, EventEmitter), and constructor config options
- Build test verifies esbuild can bundle extension host without errors
- Fix onError → onException (callback was silently ignored)
- Remove unused VS Code config settings (autoSaveDelay, enableAutoSave)
- Move acquireVsCodeApi() before first debug() call (was dead code)
- Remove dead 'save' message from Ctrl+S handler
- Remove unnecessary currentFileData state variable
- Tighten contract test regexes to match config.* patterns
- Remove vscode-build pre-commit hook (CI handles this)
* ci(vscode-ext): add CI workflow and test step to release
- New ci-vscode-ext.yml: runs lint, typecheck, tests, and extension host
build on PRs touching vscode-ext or superdoc source
- Add test step to release-vscode-ext.yml before publishing
* ci: tighten workflow path filters to reduce spurious runs
- ci-superdoc: add apps/mcp, apps/vscode-ext, packages/react,
packages/sdk, evals to paths-ignore
- ci-demos, ci-docs, ci-sdk: remove pnpm-lock.yaml from path triggers
(lockfile changes alone shouldn't trigger unrelated CI)
* feat(vscode-ext): auto-release on SuperDoc updates (#2555)
SD-2342: Expand release workflow path triggers and use patch-commit-filter
so superdoc core commits trigger VS Code extension releases.
- Add superdoc source paths to release-vscode-ext.yml triggers
- Replace semantic-release-commit-filter with patch-commit-filter.cjs
(same pattern as CLI/SDK)
- @next auto-deploys to GitHub releases only (low risk)
- @latest still requires manual cherry-pick to stable (human gate)
* docs(vscode-ext): rewrite README for Marketplace
- Remove outdated "not yet on Marketplace" text
- Add install command, feature list, how it works section
- Match CLI/SDK README structure and brand voice
* chore(vscode): 2.0.0 [skip ci]
Credit balance is too low
* feat(vscode-ext): add tests, enable comments, clean up extension (SD-2341) (#2558)
* feat(vscode-ext): enable comments bubble rendering
Show Word document comments in the editor by passing
comments: { visible: true } to the SuperDoc constructor.
* fix(vscode-ext): allow comment and tracked change balloons to render
Remove display:flex and justify-content:center from #superdoc container
so SuperDoc's internal layout can allocate space for the right margin
where comment bubbles and tracked change balloons appear.
* docs(vscode-ext): add demo GIF and rewrite README for Marketplace
Add animated demo showing AI-driven tracked changes via MCP.
Rewrite README with badges, feature list, install instructions,
and AI integration section.
* chore(vscode-ext): add icon, homepage, and Marketplace metadata
Add SuperDoc brand logo as extension icon, homepage link, bugs URL,
gallery banner color, and additional keywords for discoverability.
* chore(vscode-ext): remove demo GIF from git, host externally
Remove demo.gif from repo to avoid bloating git history with a 6.8MB
binary. Add to .gitignore and .vscodeignore. README will reference
a GitHub-hosted URL once uploaded.
* fix(vscode-ext): cap release bumps at minor to prevent accidental majors
Upstream superdoc commits with breaking change markers triggered a
v2.0.0 bump. The extension has no public API — it just bundles superdoc —
so breaking changes in the engine don't warrant a major version bump
for the extension. Add releaseRules to cap at minor.
* fix(vscode-ext): use semantic-release-pnpm for correct version resolution
Root cause of the v2.0.0 bump: package.json has version 0.0.0 (pnpm
workspace convention) but @semantic-release/npm doesn't handle this
correctly — it computed the version from package.json instead of the
git tag. Switch to semantic-release-pnpm which resolves versions from
tags, matching superdoc and react packages.
* chore(vscode): 2.1.0 [skip ci]
### What's New
- **Word comments** — View and add Word comments with margin bubbles directly in the editor.
### Improvements
- **Marketplace presence** — README redesigned with feature list, install instructions, and AI integration guide; extension now discoverable with improved keywords and gallery banner.
- **Better documentation** — Added demo GIF, clarified AI integration via MCP, and linked to enterprise licensing.
- **Extension metadata** — Added SuperDoc brand icon, homepage link, and issue tracker URL for better indexing.
### Internal
- **Release process** — Switched to semantic-release-pnpm for correct version resolution from git tags, preventing version mismatches from pnpm workspace conventions.
- **Stability** — Capped release bumps at minor version to prevent accidental major releases from upstream breaking changes (the extension has no public API).
- **Tests** — Added test infrastructure with vitest.
- **Comment rendering** — Fixed layout to allow comment bubbles and tracked change balloons to render in the right margin.
* fix(vscode-ext): bundle demo GIF locally for Marketplace
VS Code Marketplace can't resolve GitHub user-attachment URLs.
Add demo.gif to the repo and vsix package so it renders on the
Marketplace listing page.
* chore(vscode): 2.1.1 [skip ci]
### Fixes
- **VS Code extension** — Demo GIF now bundles locally in the extension package, rendering correctly on the VS Code Marketplace.
* fix(super-converter): normalize inline nodes in non-TOC docPartObj content
The generic docPartObj handler was missing the normalizeDocPartContent()
call that the TOC handler already had, causing documents with non-TOC
gallery types (page numbers, bibliographies, cover pages) containing
top-level inline nodes (bookmarks, comments, permissions) to fail with
"Invalid content for node type documentPartObject".
Also expanded the inline node type set to include commentRangeStart,
commentRangeEnd, permStart, and permEnd.
SD-2357
* chore(release): 1.23.1 [skip ci]
### Fixes
- **Document part object normalization** — The generic document part handler now correctly normalizes inline nodes (bookmarks, comments, permissions) in non-TOC gallery types. Documents with page numbers, bibliographies, cover pages, and other gallery types no longer fail when they contain top-level inline content.
* chore(cli): 0.4.1 [skip ci]
### Fixes
- **Document part object normalization** — The generic handler for document parts now correctly normalizes inline nodes (bookmarks, comments, permissions) in non-TOC gallery types. Documents with page numbers, bibliographies, cover pages, and other structured gallery types no longer fail when they contain top-level inline content.
* fix(vscode-ext): fix broken images on VS Code marketplace (#2640) (#2641)
Stop vsce from rewriting relative image paths to incorrect GitHub raw
URLs (missing apps/vscode-ext/ prefix). Remove shields.io badges that
show "rate limited by upstream service" on the marketplace.
* chore(vscode): 2.1.2 [skip ci]
### Fixes
- **VS Code extension marketplace rendering** — Removed shields.io badges that displayed "rate limited" status, and prevented vsce from rewriting relative image paths to incorrect GitHub raw URLs.
- **Document part objects with inline content** — Non-TOC gallery types (page numbers, bibliographies, cover pages) now correctly normalize top-level inline nodes (bookmarks, comments, permissions) instead of failing with "Invalid content for node type documentPartObject."
* fix(vscode-ext): use absolute URL for demo GIF on marketplace
The marketplace web page cannot load images from the VSIX bundle — it
requires publicly accessible URLs. Use the full GitHub raw URL with the
correct subdirectory path instead of a relative path.
* chore(vscode): 2.1.3 [skip ci]
### Fixes
- **VS Code Marketplace** — The demo GIF now displays correctly on the extension's marketplace page. The extension previously used a relative image path, which the marketplace can't load; we now use the full GitHub raw URL.1 parent 9ad0fa7 commit d2faea4
2 files changed
Lines changed: 149 additions & 26 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments