Skip to content

SCAL-291756: Embed params to disable and hide spotter chat components#426

Open
somechandra-thoughtspot wants to merge 1 commit intomainfrom
SCAL-291756
Open

SCAL-291756: Embed params to disable and hide spotter chat components#426
somechandra-thoughtspot wants to merge 1 commit intomainfrom
SCAL-291756

Conversation

@somechandra-thoughtspot
Copy link
Collaborator

No description provided.

@somechandra-thoughtspot somechandra-thoughtspot requested a review from a team as a code owner February 11, 2026 11:29
@mnk-blr
Copy link
Collaborator

mnk-blr commented Feb 11, 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 @somechandra-thoughtspot, 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 enhances the embedding capabilities by introducing new configuration options for the Spotter chat interface. Developers can now specify parameters to either disable interaction with or completely hide various chat components, such as connector resources, connectors, and the mode switcher. This provides greater flexibility in customizing the embedded experience to meet specific application requirements.

Highlights

  • New Embed Parameters for Spotter Chat: Introduced new spotterChatConfig parameters to control the visibility and interactivity of Spotter chat components: disableChatConnectorResources, disableChatConnectors, disableChatModeSwitcher, hideChatConnectorResources, hideChatConnectors, and hideChatModeSwitcher.
  • Expanded Configuration Options: Updated the SpotterChatViewConfig interface to include these new properties, allowing fine-grained control over chat connector resources, chat connectors, and the chat mode switcher within embedded applications.
  • Parameter Propagation: Ensured that these new configuration parameters are correctly extracted from spotterChatConfig and propagated as URL query parameters for AppEmbed, SpotterEmbed, and LiveboardEmbed instances.
  • Comprehensive Testing: Added extensive unit tests across app.spec.ts, conversation.spec.ts, and liveboard.spec.ts to verify the correct handling and URL parameter generation for all new disable and hide options.

🧠 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.spec.ts
    • Added new test cases to verify the correct propagation of disableChatConnectorResources, disableChatConnectors, disableChatModeSwitcher, hideChatConnectorResources, hideChatConnectors, and hideChatModeSwitcher parameters via spotterChatConfig in AppEmbed.
  • src/embed/app.ts
    • Implemented logic to extract and set new spotterChatConfig parameters (disableChatConnectorResources, disableChatConnectors, disableChatModeSwitcher, hideChatConnectorResources, hideChatConnectors, hideChatModeSwitcher) into the URL for AppEmbed.
  • src/embed/conversation.spec.ts
    • Added new test cases to verify the correct propagation of disableChatConnectorResources, disableChatConnectors, disableChatModeSwitcher, hideChatConnectorResources, hideChatConnectors, and hideChatModeSwitcher parameters via spotterChatConfig in SpotterEmbed, including a test for multiple options.
  • src/embed/conversation.ts
    • Updated the SpotterChatViewConfig interface documentation and added new properties (disableChatConnectorResources, disableChatConnectors, disableChatModeSwitcher, hideChatConnectorResources, hideChatConnectors, hideChatModeSwitcher) to allow configuration of Spotter chat component visibility and interactivity.
    • Implemented logic to extract and set these new parameters into the URL for SpotterEmbed.
  • src/embed/liveboard.spec.ts
    • Added new test cases to verify the correct propagation of disableChatConnectorResources, disableChatConnectors, disableChatModeSwitcher, hideChatConnectorResources, hideChatConnectors, and hideChatModeSwitcher parameters via spotterChatConfig in LiveboardEmbed.
  • src/embed/liveboard.ts
    • Implemented logic to extract and set new spotterChatConfig parameters (disableChatConnectorResources, disableChatConnectors, disableChatModeSwitcher, hideChatConnectorResources, hideChatConnectors, hideChatModeSwitcher) into the URL for LiveboardEmbed.
  • src/types.ts
    • Added new enum members to Param for DisableChatConnectorResources, DisableChatConnectors, DisableChatModeSwitcher, HideChatConnectorResources, HideChatConnectors, and HideChatModeSwitcher.
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.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Feb 11, 2026

Open in StackBlitz

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

commit: 297ebbf

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 introduces new spotterChatConfig options to control the visibility and interactivity of chat connector resources, chat connectors, and the chat mode switcher within embedded applications. The changes involve updating the SpotterChatViewConfig interface, adding new URL parameters, and implementing the logic to pass these configurations as URL parameters in AppEmbed, SpotterEmbed, and LiveboardEmbed classes. Corresponding unit tests were added for AppEmbed, SpotterEmbed, and LiveboardEmbed to verify these parameters are correctly applied. The reviewer noted that the new tests in app.spec.ts and liveboard.spec.ts contain significant code duplication and suggested refactoring them to use test.each for improved maintainability and readability, mirroring the approach already used in conversation.spec.ts.

@somechandra-thoughtspot somechandra-thoughtspot force-pushed the SCAL-291756 branch 2 times, most recently from eca5db0 to 2e6a04f Compare February 12, 2026 07:58
@somechandra-thoughtspot somechandra-thoughtspot force-pushed the SCAL-291756 branch 4 times, most recently from 050ee9e to 23bb0d1 Compare February 25, 2026 04:57
}

/**
* Configuration for customizing Spotter chat input controls.
Copy link
Collaborator

Choose a reason for hiding this comment

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

updated spotter chat input controls

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I intentionally avoided using the updated keyword to keep the Chat Input controls simple, since chatSwitcherMode is used for Spotter 2 (which uses the non-updated chat input).

* @group Embed components
* @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
*/
export interface SpotterChatInputViewConfig {
Copy link
Collaborator

Choose a reason for hiding this comment

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

can we use different naming. SpotterChatInputViewConfig can mean everything related to chat input and we already have other chat input config flags

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

IMO, Going forward, we should adopt this approach and keep it consistent across all Chat Input controls. While it may cause slight confusion for existing controls, we should separate and standardize Input controls moving ahead. WDYT?

@somechandra-thoughtspot somechandra-thoughtspot force-pushed the SCAL-291756 branch 2 times, most recently from 9ba62f5 to 973ed91 Compare March 2, 2026 06:43
@shivam-kumar-ts
Copy link
Contributor

LGTM

@sonar-prod-ts
Copy link

sonar-prod-ts bot commented Mar 3, 2026

SonarQube Quality Gate

Quality Gate passed

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

No Coverage information No Coverage information
0.0% 0.0% Duplication

* },
* })
* ```
* @version SDK: 1.46.2 | ThoughtSpot: 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.

Change the version

* },
* })
* ```
* @version SDK: 1.46.2 | ThoughtSpot: 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.

Change the version

Copy link
Contributor

Choose a reason for hiding this comment

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

Everywhere

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