Skip to content

[Bug] openinula-vchart ignores data prop when spec is provided #4657

Open

Description

@dajiaohuang

Version

@visactor/openinula-vchart on develop at 0750d74cd6ea734e66897876506c78ca12680676

Link to Minimal Reproduction

Render <VChart spec={stableSpec} data={firstData} />, then re-render it with the same spec object and a different data value.

Steps to Reproduce

  1. Create an OpenInula VChart with both the documented spec and data props.
  2. Keep spec unchanged.
  3. Replace data with a new dataset and re-render.

Current Behavior

BaseChart enters the hasSpec branch and compares only eventsBinded.current.spec with props.spec. Because the spec is unchanged, the effect returns without updating the chart. parseSpec also does not merge the separate data prop into spec, so the data prop is ignored on initial creation as well.

Expected Behavior

The OpenInula wrapper should honor its declared data prop with a supplied spec, both initially and on data-only updates.

Environment

  • OS: Windows 11
  • Node.js: 20.20.2 and 24.14.1
  • Package: @visactor/openinula-vchart

Any additional comments?

The React wrapper already implements the intended behavior: it merges data into a supplied spec and calls updateFullDataSync when only data changes. That support was added in commit d69cb49fb for #2443, but the equivalent logic is absent from the OpenInula wrapper. The OpenInula package currently has no focused tests for this lifecycle path, so a port should add coverage for both initial and data-only updates.

I searched open and closed issues and pull requests for OpenInula data updates, hasSpec, BaseChart, and updateFullDataSync; I reviewed #2443 and both wrappers' histories. #2443 is specifically about react-vchart and its fix did not update openinula-vchart. The repository has no Discussions, and I found no existing OpenInula report or fix.

Activity

  1. dyk1454683243-sudo commented on Sep 20, 2026

    @dyk1454683243-sudo
    Contributor

    I'll take this: bring @visactor/openinula-vchart data + spec lifecycle in line with react-vchart.

    On current develop, the hasSpec path still ignores props.data in parseSpec and returns early when only data changes. The port will:

    1. merge a valid data prop into the supplied spec on initial create ({ ...spec, data })
    2. call updateFullDataSync on data-only re-renders (same spec object, new data)

    There is no open PR with Fixes #4657. This is separate from #4693 / #4678.

  2. dyk1454683243-sudo commented on Sep 20, 2026

    @dyk1454683243-sudo
    Contributor

    Opened #4694 (Fixes #4657) against develop — openinula-vchart data + spec lifecycle parity with react-vchart. Separate from #4693.

  3. dajiaohuang commented on Oct 7, 2026

    @dajiaohuang
    ContributorAuthor

    Thanks @dyk1454683243-sudo for submitting PR #4694 to fix this! Appreciate you addressing the openinula-vchart data + spec lifecycle parity issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions