Skip to content

[Auto release] release 2.0.22#4556

Merged
xuefei1313 merged 22 commits intomainfrom
release/2.0.22
Apr 13, 2026
Merged

[Auto release] release 2.0.22#4556
xuefei1313 merged 22 commits intomainfrom
release/2.0.22

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

This PR merges release branch release/2.0.22 into main.

xile611 and others added 22 commits April 7, 2026 11:59
chore: add unpkgFiles field to package.json for better CDN support
- Remove afterStateUpdate event binding on individual graphics
- Sync states directly in afterRender callback
- Remove _bindHandlers, dedup markers
- Add clearStates() for empty state scenario
- Improve type safety with IMarkGraphic
- Fix test page debug log
fix: fix bug of _reSetRenderState when release
…sionMarkSyncStatePlugin

- Cache subscribed event instance (_subscribedEvent) to guard against
  redundant on/off calls when onAfterInitChart is invoked multiple times
  within the same chart lifecycle (e.g. updateModelSpec, setCurrentTheme)
- Replace closure-captured service param with this.service from BasePlugin
- Pre-filter syncable extensionMark specs before passing to _syncSeriesStates,
  eliminating the duplicate guard inside the forEach loop
- Replace unsafe any types with IEvent and ISeriesSpec
…e-plugin

feat: add ExtensionMarkSyncStatePlugin for vchart-extension
The Sankey tooltip helper treated source=0 as falsy, so link tooltips for the
first indexed source skipped the expected "A => B" title.
Add a regression test for the zero-index case and record the package changefile.

Constraint: Sankey links can reference nodes by numeric index including 0
Rejected: Coerce source/target to strings before checks | still obscures the real bug
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Use nil checks for Sankey source/target presence instead of truthiness checks
Tested: npm test -- --runInBand __tests__/unit/series/sankey.test.ts; npm run compile
Not-tested: Browser hover interaction in the runtime playground
fix: preserve Sankey tooltip titles for zero-index source links
Stacked bar clip paths recomputed aggregate bounds from stack values even when
barMinHeight had already rewritten the rendered segment geometry.
Use the precomputed RECT coordinates for clip path bounds in that case and lock
the regression with a chart unit test plus a Rush changefile.

Constraint: barMinHeight rewrites rendered stack segment bounds before clipping
Rejected: Disable stackCornerRadius when barMinHeight is set | drops intended styling
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: When stack geometry is precomputed, derive clip bounds from RECT fields
Tested: npm test -- --runInBand __tests__/unit/chart/bar.test.ts; npm run compile
Not-tested: Browser rendering in the public playground for issue #4543
Tooltip theme merging was flattening nested style values and dropping
root tooltip config such as mark and dimension visibility.
This keeps style fields in spec.style, merges functional tooltip
config at the root, and adds a focused regression for theme-driven
tooltip visibility.

Constraint: Tooltip themes must support both style fields and root spec fields
Rejected: Fix only style merging | mark and dimension visibility would still be ignored
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Keep tooltip theme merge split between style keys and root spec keys
Tested: Direct transformer probes for style nesting and mark visibility exclusion
Tested: File-level TypeScript diagnostics on changed files
Not-tested: Full package compile blocked by pre-existing continuous legend type errors
…r-radius

fix: correct stack corner clipping with barMinHeight
fix: preserve tooltip theme visibility overrides
@xuefei1313 xuefei1313 merged commit ac752bf into main Apr 13, 2026
4 checks passed
@xuefei1313 xuefei1313 deleted the release/2.0.22 branch April 13, 2026 12:52
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.

5 participants