From b1db28b435032952e85052015a3a392940695f59 Mon Sep 17 00:00:00 2001 From: Rani Gangwar Date: Thu, 21 May 2026 10:21:29 +0530 Subject: [PATCH 1/3] 311294-runtime filter upper limit added --- modules/ROOT/pages/embed-pinboard.adoc | 5 +++++ modules/ROOT/pages/filters_overview.adoc | 6 ------ modules/ROOT/pages/runtime-filters.adoc | 26 +++++++++++++++++++++++ modules/ROOT/pages/runtime-overrides.adoc | 6 ++++++ 4 files changed, 37 insertions(+), 6 deletions(-) diff --git a/modules/ROOT/pages/embed-pinboard.adoc b/modules/ROOT/pages/embed-pinboard.adoc index d8a246b78..03f74898d 100644 --- a/modules/ROOT/pages/embed-pinboard.adoc +++ b/modules/ROOT/pages/embed-pinboard.adoc @@ -218,6 +218,11 @@ You can also pin a visualization to a Liveboard tab using the **Pin** action on To view specific data across the tables and charts on an embedded Liveboard, users can use Liveboard filter options. By default, Liveboard filters cannot be applied at load. You can either embed a Liveboard that already includes filters or use the xref:runtime-filters.adoc[runtime filters] feature in the Visual Embed SDK to apply filters at load time. +WARNING: The SDK processes at most 49 entries per embed. Any objects at index 50 or +beyond are silently dropped without an error or warning. See +xref:runtime-filters.adoc#_maximum_filter_count[Runtime filter limit] for +details and mitigation guidance. + ==== Customizing filter visibility To hide filters in an embedded Liveboard, you can use the following options: diff --git a/modules/ROOT/pages/filters_overview.adoc b/modules/ROOT/pages/filters_overview.adoc index 0d78adf4b..66898898b 100644 --- a/modules/ROOT/pages/filters_overview.adoc +++ b/modules/ROOT/pages/filters_overview.adoc @@ -909,12 +909,6 @@ Refer to the following documentation for more information: * xref:runtime-filters.adoc[Runtime filters] * xref:events-hostEvents.adoc[HostEvents in Visual Embed SDK] -== Additional resources - -Refer to the following documentation for more information: - -* xref:runtime-filters.adoc[Runtime filters] -* xref:events-hostEvents.adoc[HostEvents in Visual Embed SDK] //// === Events diff --git a/modules/ROOT/pages/runtime-filters.adoc b/modules/ROOT/pages/runtime-filters.adoc index e04394214..59b6df205 100644 --- a/modules/ROOT/pages/runtime-filters.adoc +++ b/modules/ROOT/pages/runtime-filters.adoc @@ -45,6 +45,32 @@ This attribute is defined as `val1`, `val2`, `val3` in the object URLs and REST + Some operators like `EQ` and `LE` accept a single operand, whereas `BW_INC_MAX`, `BW_INC_MIN`, `BW_INC`, `BW`, and `IN` accept multiple operands. +=== Maximum filter count + +The SDK processes a maximum of *49 runtime filters* per embedded object. + +NOTE: The internal constant `MAX_RUNTIME_FILTERS` is set to `50`, but the +parsing loop runs from index `1` up to (but not including) `50` +(`index < MAX_RUNTIME_FILTERS`). This means filter triplets `col1`/`op1`/`val1` +through `col49`/`op49`/`val49` are processed; `col50` and above are ignored. + +This applies to both input paths: + +* *URL query parameters* — filter triplets appended to the embed URL +(`col1=`, `op1=`, `val1=`, `col2=`, …) +* *`runtimeFilters` embed config property* — filters passed as an array in the +SDK initialisation config for `LiveboardEmbed`, `AppEmbed`, and +`SearchEmbed` + +When the number of runtime filters exceeds 49, filters beyond that index are +silently dropped. No error is thrown, no warning is emitted, and no embed +event is fired. The embedded object renders using only the first 49 filters +without any indication that additional filters were discarded. + +IMPORTANT: This silent-drop behaviour means that, if your application passes 60 +runtime filters, the last 11 are ignored without any notification to the +developer. Always validate filter counts in your application +before passing them to the SDK. === Supported data types diff --git a/modules/ROOT/pages/runtime-overrides.adoc b/modules/ROOT/pages/runtime-overrides.adoc index 0be6ea207..74f7841ba 100644 --- a/modules/ROOT/pages/runtime-overrides.adoc +++ b/modules/ROOT/pages/runtime-overrides.adoc @@ -21,6 +21,12 @@ Developers can set runtime filters in the Visual Embed SDK for the following emb After the object loads, runtime filters can be xref:runtime-filters.adoc#_adjust_runtime_filters_using_sdk_events[adjusted using the SDK events]. +WARNING: The SDK processes at most 49 entries per embed. Any objects at index 50 or +beyond are silently dropped without an error or warning. See +xref:runtime-filters.adoc#_maximum_filter_count[Runtime filter limit] for +details and mitigation guidance. + + == Runtime Parameters Parameters allow users to visualize data by running different scenarios with adjustable values. You can use Parameters within formulas when analyzing your data via Search, Liveboards, or Answers. From 97be2087637deb698a391330c417308982d0a56c Mon Sep 17 00:00:00 2001 From: Rani Gangwar Date: Thu, 21 May 2026 12:23:53 +0530 Subject: [PATCH 2/3] 311294-runtime filter upper limit added-1 --- modules/ROOT/pages/embed-pinboard.adoc | 3 +-- modules/ROOT/pages/filters_overview.adoc | 7 +++++-- modules/ROOT/pages/runtime-overrides.adoc | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/modules/ROOT/pages/embed-pinboard.adoc b/modules/ROOT/pages/embed-pinboard.adoc index 03f74898d..4d3096580 100644 --- a/modules/ROOT/pages/embed-pinboard.adoc +++ b/modules/ROOT/pages/embed-pinboard.adoc @@ -220,8 +220,7 @@ To view specific data across the tables and charts on an embedded Liveboard, use WARNING: The SDK processes at most 49 entries per embed. Any objects at index 50 or beyond are silently dropped without an error or warning. See -xref:runtime-filters.adoc#_maximum_filter_count[Runtime filter limit] for -details and mitigation guidance. +xref:runtime-filters.adoc#_maximum_filter_count[Runtime filter limit] for more information. ==== Customizing filter visibility To hide filters in an embedded Liveboard, you can use the following options: diff --git a/modules/ROOT/pages/filters_overview.adoc b/modules/ROOT/pages/filters_overview.adoc index 66898898b..d0659c9bb 100644 --- a/modules/ROOT/pages/filters_overview.adoc +++ b/modules/ROOT/pages/filters_overview.adoc @@ -27,7 +27,10 @@ You can define xref:runtime-filters.adoc[runtime filters] and xref:runtime-param + [NOTE] ==== -Runtime filters do not display as UI filter components. +* Runtime filters do not display as UI filter components. +* The SDK processes at most 49 entries per embed. Any objects at index 50 or +beyond are silently dropped without an error or warning. See +xref:runtime-filters.adoc#_maximum_filter_count[Runtime filter limit] for more information. ==== 4. link:https://docs.thoughtspot.com/cloud/latest/liveboard-filters[Liveboard filters, window=_blank] + @@ -132,7 +135,7 @@ Specifies the type for date filters. Supported types include `YESTERDAY`, `TODAY [NOTE] ==== -* To specify the exact date or date range, you can use the date format such as `YYYY-MM-DD`, `YYYY/MM/DD`. If using epoch format, ensure that they are specified as numbers and not as strings. For example, `[1743465599, 1754006399]`. +* To specify the exact date or date range, you can use the date format such as `YYYY-MM-DD`, `YYYY/MM/DD`. If using epoch format, ensure that they are specified as numbers and not as strings. For example, `[17423465599, 1754006399]`. * For `PERIOD` filters, you must include the `datePeriod` attribute in the date filter object. * For rolling date filters with **Last ** and **Next **, you can specify whether to include or exclude the current period. ==== diff --git a/modules/ROOT/pages/runtime-overrides.adoc b/modules/ROOT/pages/runtime-overrides.adoc index 74f7841ba..4176940fc 100644 --- a/modules/ROOT/pages/runtime-overrides.adoc +++ b/modules/ROOT/pages/runtime-overrides.adoc @@ -24,7 +24,7 @@ After the object loads, runtime filters can be xref:runtime-filters.adoc#_adjust WARNING: The SDK processes at most 49 entries per embed. Any objects at index 50 or beyond are silently dropped without an error or warning. See xref:runtime-filters.adoc#_maximum_filter_count[Runtime filter limit] for -details and mitigation guidance. +more information. == Runtime Parameters From ed0226768366c3750dd878a2abbfaa586871b6e0 Mon Sep 17 00:00:00 2001 From: Rani Gangwar Date: Thu, 21 May 2026 14:19:45 +0530 Subject: [PATCH 3/3] edits to runtime filters --- modules/ROOT/pages/runtime-filters.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/ROOT/pages/runtime-filters.adoc b/modules/ROOT/pages/runtime-filters.adoc index 59b6df205..13b7fce33 100644 --- a/modules/ROOT/pages/runtime-filters.adoc +++ b/modules/ROOT/pages/runtime-filters.adoc @@ -51,14 +51,14 @@ The SDK processes a maximum of *49 runtime filters* per embedded object. NOTE: The internal constant `MAX_RUNTIME_FILTERS` is set to `50`, but the parsing loop runs from index `1` up to (but not including) `50` -(`index < MAX_RUNTIME_FILTERS`). This means filter triplets `col1`/`op1`/`val1` +(`index < MAX_RUNTIME_FILTERS`). This means filter values `col1`/`op1`/`val1` through `col49`/`op49`/`val49` are processed; `col50` and above are ignored. This applies to both input paths: -* *URL query parameters* — filter triplets appended to the embed URL +* URL query parameters — filter values appended to the embed URL (`col1=`, `op1=`, `val1=`, `col2=`, …) -* *`runtimeFilters` embed config property* — filters passed as an array in the +* `runtimeFilters` embed config property — filters passed as an array in the SDK initialisation config for `LiveboardEmbed`, `AppEmbed`, and `SearchEmbed`