Skip to content

[SCAL-282018] - deprecate dataPanelV2 flag and introduce enableDeprecatedDataPanelV1 flag#422

Open
vivekjne wants to merge 3 commits intomainfrom
SCAL-282018
Open

[SCAL-282018] - deprecate dataPanelV2 flag and introduce enableDeprecatedDataPanelV1 flag#422
vivekjne wants to merge 3 commits intomainfrom
SCAL-282018

Conversation

@vivekjne
Copy link
Collaborator

@vivekjne vivekjne commented Feb 5, 2026

No description provided.

@vivekjne vivekjne requested a review from a team as a code owner February 5, 2026 12:00
@mnk-blr
Copy link
Collaborator

mnk-blr commented Feb 5, 2026

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues
Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @vivekjne, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request refines the Data Panel experience by deprecating the direct configuration of the dataPanelV2 flag across multiple embed components. The system now consistently defaults to enabling Data Panel V2. To accommodate specific use cases requiring the older Data Panel V1, an internal enableDeprecatedDataPanelV1 flag has been introduced. This flag provides a controlled mechanism to revert to V1 without exposing the underlying configuration in the URL, simplifying the public API while maintaining necessary flexibility.

Highlights

  • Deprecation of dataPanelV2 flag: The dataPanelV2 configuration flag has been deprecated and marked as hidden across various embed components including AppEmbed, SpotterEmbed, LiveboardEmbed, SageEmbed, and SearchEmbed.
  • Default Enablement of Data Panel V2: The system now defaults to enabling Data Panel V2. Any direct attempts to configure dataPanelV2 will be ignored, and enableDataPanelV2=true will be the default behavior in generated URLs.
  • Introduction of enableDeprecatedDataPanelV1 flag: A new internal flag, enableDeprecatedDataPanelV1, has been introduced via additionalFlags. When set to true, this flag forces the system to use Data Panel V1 (i.e., enableDataPanelV2=false). This flag is not exposed in the final URL.
  • Removal of direct dataPanelV2 configuration: The dataPanelV2 parameter has been removed from the constructors and query parameter assignments in AppEmbed, SpotterEmbed, LiveboardEmbed, SageEmbed, and SearchEmbed classes.
  • Updated Test Coverage: New and updated tests confirm that dataPanelV2 is now implicitly true by default, cannot be overridden by additionalFlags.enableDataPanelV2, and can only be explicitly disabled by the new __enableDataPanelV1 internal flag.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • src/embed/app.ts
    • Removed dataPanelV2 parameter from the AppEmbed constructor.
    • Removed the assignment of dataPanelV2 to Param.DataPanelV2Enabled.
  • src/embed/conversation.spec.ts
    • Updated test URL to include enableDataPanelV2=true.
  • src/embed/conversation.ts
    • Marked dataPanelV2 in SpotterEmbedViewConfig as @deprecated and @hidden.
    • Removed dataPanelV2 from SpotterEmbed constructor parameters.
    • Removed conditional assignment of dataPanelV2 to queryParams[Param.DataPanelV2Enabled].
  • src/embed/liveboard.ts
    • Removed dataPanelV2 parameter from the LiveboardEmbed constructor.
    • Removed the assignment of dataPanelV2 to params[Param.DataPanelV2Enabled].
  • src/embed/sage.spec.ts
    • Updated existing tests to assert enableDataPanelV2=true in the URL.
    • Added a test to confirm dataPanelV2: false is ignored and enableDataPanelV2=true remains default.
    • Added a test to confirm additionalFlags.enableDataPanelV2: false is ignored.
    • Added a test to verify additionalFlags.__enableDataPanelV1: true correctly sets enableDataPanelV2=false and is not included in the URL.
  • src/embed/sage.ts
    • Removed dataPanelV2 from SageEmbed constructor parameters.
    • Removed the assignment of dataPanelV2 to params[Param.DataPanelV2Enabled].
  • src/embed/search.spec.ts
    • Updated existing tests to assert enableDataPanelV2=true in the URL.
    • Added a test to confirm dataPanelV2: false is ignored and enableDataPanelV2=true remains default.
    • Added a test to confirm additionalFlags.enableDataPanelV2: false is ignored.
    • Added a test to verify additionalFlags.__enableDataPanelV1: true correctly sets enableDataPanelV2=false and is not included in the URL.
  • src/embed/search.ts
    • Removed dataPanelV2 parameter from the SearchEmbed constructor.
    • Removed the assignment of dataPanelV2 to queryParams[Param.DataPanelV2Enabled].
  • src/embed/ts-embed.spec.ts
    • Updated test URLs to include enableDataPanelV2=true.
  • src/embed/ts-embed.ts
    • Introduced logic to extract enableDeprecatedDataPanelV1 from additionalFlags.
    • Implemented logic to set queryParams[Param.DataPanelV2Enabled] based on enableDeprecatedDataPanelV1.
    • Ensured enableDeprecatedDataPanelV1 is removed from additionalFlags before being applied to query parameters, preventing it from appearing in the URL.
    • Adjusted the order of query parameter assignment to ensure DataPanelV2Enabled is set after additionalFlags are processed.
  • src/types.ts
    • Marked dataPanelV2 in SearchLiveboardCommonViewConfig as @deprecated and @hidden.
    • Removed a trailing newline character at the end of the file.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request deprecates the dataPanelV2 flag and introduces an internal enableDeprecatedDataPanelV1 flag to control the data panel version, making Data Panel V2 the default experience. While the core logic in ts-embed.ts aims to prevent consumers from overriding the data panel version directly, a URL parameter injection vulnerability in an underlying utility function allows this protection to be bypassed. It is recommended to ensure all URL parameters are properly encoded to mitigate this risk. Additionally, new tests contain an incorrect flag name, which needs correction.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Feb 5, 2026

Open in StackBlitz

npm i https://pkg.pr.new/thoughtspot/visual-embed-sdk/@thoughtspot/visual-embed-sdk@422

commit: 980cc04

* Supported embed types: `SageEmbed`, `AppEmbed`, `SearchBarEmbed`, `LiveboardEmbed`, `SearchEmbed`
* @default true
* @version SDK: 1.41.1 | ThoughtSpot Cloud: 10.14.0.cl
* @deprecated from SDK 1.45.0 | Thoughtspot Cloud: 26.4.0.cl
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it should be 1.46

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ruchI9897 when will 1.46 will be relased? is it around the same timeline of 26.4.0cl

src/types.ts Outdated
* Supported embed types: `SageEmbed`, `AppEmbed`, `SearchBarEmbed`, `LiveboardEmbed`, `SearchEmbed`
* @default true
* @version SDK: 1.41.1 | ThoughtSpot Cloud: 10.14.0.cl
* @deprecated from SDK 1.45.0 | Thoughtspot Cloud: 26.4.0.cl
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@sonar-prod-ts
Copy link

sonar-prod-ts bot commented Feb 9, 2026

SonarQube Quality Gate

Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 1 Code Smell

No Coverage information No Coverage information
0.0% 0.0% Duplication

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.

4 participants