* submodule update: add name field to process event payload
* 🚀 chore: update submodules to latest lts-3.16 after auto-merge (#15894)
Co-authored-by: johnsoncherian <57667706+johnsoncherian@users.noreply.github.com>
* rest api timeout issue
* error standardisation
* Update queryPanelSlice.js
* Bump version to 3.20.147-lts across all components
---------
Co-authored-by: Swathi Hameed <42898362+swathihameed@users.noreply.github.com>
Co-authored-by: Adish M <44204658+adishM98@users.noreply.github.com>
Co-authored-by: johnsoncherian <57667706+johnsoncherian@users.noreply.github.com>
Co-authored-by: Rudhra Deep Biswas <rudra21ultra@gmail.com>
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
* GUI mode abstraction and GUI mode for postgresql
* CSS Issue and Query response fixes
* GUI Mode for MySQL
* Mysql changes similar to pgsql
* Mysql GUI mode bug fixes
* pagination for tables in mysql gui mode has been reapplied
* styles issues for drop down has been fixed
* Merge branch 'lts-3.16' into feature/mysql-gui-mode
---------
Co-authored-by: Adish M <adish.madhu@gmail.com>
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
* sending raw data as well as utf-8 encoded data
* bump version to 3.20.136-lts across all components
---------
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
* File base64 data is added to the post request
* Object and Array is converted to string before appending to form data
* bump version to 3.20.130-lts across all components
---------
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
* fix: automated security fixes for frontend dependencies
* chore: update jspdf and related dependencies; fix autoTable reference in generate-file.js
* chore: upgrade jspdf-autotable to version 5.0.7 and adjust related code references
* fix: update SMTP plugin to support new nodemailer version and improve type definitions
- Updated nodemailer dependency from version 6.9.1 to 8.0.2.
- Enhanced type definitions for attachments in QueryOptions.
- Specified Transporter type for nodemailer connections.
- Improved attachment handling by defining a more specific type for filesData function.
* chore: update nodemailer and its types, adjust AppHistoryModule providers and controllers based on import context
* Implement feature X to enhance user experience and fix bug Y in module Z
* chore: update nodemailer to version 8.0.3 and remove @types/nodemailer from dependencies
* chore: update version to 3.20.125-lts across all components
---------
Co-authored-by: adishM98 <adishM98@users.noreply.github.com>
Co-authored-by: johnsoncherian <johnsonc.dev@gmail.com>
* Graphql revamp
* Added query params
* Passing hasdatasource to the sanitize functions
* Design fix
* Fix for right side border for key input
* Resolving the comment
* Added pending items for mongo db and mssql
* SSL Bug fix
* Bump version to 3.20.123-lts across all components
---------
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
* hotfix for converting ssl toggle to boolean
* ssl toggle autofill fix for pgsql
* Fix for enable save button for pgsql
* removed validation for SSH
---------
Co-authored-by: Siddharthpl <siddharthpundir73@gmail.com>
* GUI mode abstraction and GUI mode for postgresql
* CSS Issue and Query response fixes
* GUI mode postgresql and abstracted components enhancement
* Bug fix on delete operation retuns undefined as ouput and big fixes
* Refactor code structure for improved readability and maintainability
* Refactor code structure for improved readability and maintainability
* Bump version to 3.20.117-lts across all components
* PgSQL ssh implementations and other improvements
* Updated the package.json
* Mongo db ssh implementation and improvements
* Updated the helper text and database label
* Updated the helper text for password
* Fixing the autofetch for the mongo
* Fixing autofetch for the pgsql
* Updated the ssl toggle title
* Updated the common toggle logic
* Bump version to 3.20.114-lts across all components
---------
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
* feat: implement SSRF protection with URL validation across plugins
* refactor SSRF protection to focus on cloud metadata endpoints and improve configuration options
* remove legacy whitelist functionality and streamline SSRF validation process
* enhance SSRF protection by adding configurable blocked schemes and validation checks
* enhance SSRF protection by integrating configurable options across services
* replace dns.lookup with dns.lookup from dns module for improved clarity
* refactor: enhance SSRF protection by merging request options and improving IP format normalization
* Fix: update comments for clarity and enhance IP normalization in SSRF protection
* enhance SSRF protection by validating URL and applying protection options in GraphqlQueryService
* enhance SSRF protection with detailed validation for redirects and URL schemes
* fix(grpcv2): use loadSync for filesystem proto loading to prevent server crash
protobufjs has an unfixed bug (protobufjs/protobuf.js#1098) where
async Root.load() calls resolveAll() outside its try-catch in the
finish() callback. When resolveAll() throws (e.g. unresolvable types),
the error becomes an uncaught exception that crashes the Node.js
process — the Promise never resolves/rejects.
Switch from protoLoader.load() to protoLoader.loadSync() for all
filesystem-based proto loading. With loadSync, resolveAll() errors
propagate as normal synchronous throws caught by existing try-catch
blocks. This is consistent with loadProtoFromRemoteUrl() which
already uses loadSync.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat(grpcv2): add filesystem proto discovery with lightweight scanning
Add discoverServiceNames and discoverMethodsForServices to support
two-phase service discovery from filesystem proto files. Uses
protobufjs.parse() for lightweight name scanning (~30KB/file) and
only loads full gRPC definitions for selected services, preventing
OOM on large proto directories.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat(DynamicSelector): add multi-select and autoFetch for grpcv2 filesystem services
Add isMulti and autoFetch props to DynamicSelector. autoFetch triggers
service discovery on mount without requiring a manual button click,
and skips cache persistence to avoid false "Unsaved Changes" prompts.
Multi-select renders services as chips with custom styles.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(data-sources): handle non-array elements in resolveKeyValuePair
resolveKeyValuePair assumed all array option elements are sub-arrays
(like metadata key-value pairs). Options like selected_services contain
plain strings, causing arr.map crash during test connection. Guard with
Array.isArray check and fall back to resolveValue for scalar elements.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(grpcv2): require service selection for filesystem mode in query manager
Filesystem mode without selected services would fall back to full
proto discovery (loading every file), defeating the purpose of the
two-phase discovery. Now shows an error asking the user to select
services in the datasource config instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(grpcv2): require selected services for filesystem test connection
Test connection in filesystem mode now validates that at least one
service is selected and uses a selected service for the connectivity
check instead of picking an arbitrary one from the proto directory.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(grpcv2): simplify filesystem test connection to validate proto parsing
Test connection for filesystem mode now just validates that proto files
can be parsed and services discovered — no service selection required.
Removes the meaningless waitForReady check which only tested TCP
connectivity without validating anything about the proto definitions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor(grpcv2): remove filesystem branch from discoverServices
Filesystem mode never flows through discoverServices — it uses the
two-phase discoverServiceNames + discoverMethodsForServices path.
Remove the dead branch and add a comment documenting the filesystem
flow for clarity.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* docs(grpcv2): add comment documenting test connection behavior per mode
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(grpcv2): add TCP connectivity check for filesystem mode test connection
Filesystem mode now falls through to checkFirstServiceConnection (waitForReady)
like reflection and URL modes, instead of returning early after proto parsing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* cleanup(DynamicForm): remove unused snake_case prop aliases for isMulti and autoFetch
No plugin manifest uses is_multi or auto_fetch — the gRPC v2 manifest
(the only consumer of these props) uses camelCase exclusively, and there
is no transformation layer in the pipeline.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(DynamicSelector): suppress noAccessError flash during loading
The no-access warning and red border briefly flashed on page reload
because validateSelectedValue ran with an empty array before the
fetch completed. Gate both on !isLoading so they only appear after
data is actually loaded.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(DynamicSelector): skip cache validation for autoFetch on unrelated prop changes
When autoFetch is enabled, cache is never persisted to options (to avoid
"Unsaved Changes"). So every time selectedDataSource changes for
unrelated reasons (e.g. title edit), the cache-checking useEffect finds
no cache and calls validateSelectedValue([]), falsely triggering the
no-access warning. Skip this effect for autoFetch since it has its own
dedicated fetch/validation lifecycle.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(grpcv2): remove QueryResult wrapping from plugin invokeMethod returns
grpcv2 plugin methods (discoverServiceNames, discoverMethodsForServices)
were returning QueryResult-wrapped responses which got double-wrapped by
DataSourcesService.invokeMethod, causing GRPCv2Component to crash with
"servicesData.services.map is not a function" when opening filesystem
proto queries.
Plugin invokeMethod now returns raw data (arrays) instead of QueryResult
objects. The server's invokeMethod always wraps with { status: 'ok', data }
consistently. DynamicSelector adds an Array.isArray guard for plugins
that return raw arrays vs { data: [...] }.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(DynamicSelector): skip access validation for autoFetch fields
autoFetch fields (e.g. gRPC services) are discovered from proto files,
not OAuth-scoped resources — "no access" warnings don't apply.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* refactor(grpcv2): unify service discovery into single getServiceDefinitions entry point
Consolidate discoverServices, discoverServiceNames, and discoverMethodsForServices
into two clear methods: listServices (lightweight name scan for DS config) and
getServiceDefinitions (full method discovery for query editor, all modes).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(grpcv2): prevent OOM on filesystem test connection and query fallback
Filesystem test connection no longer parses proto files — just counts
them with fast-glob and checks TCP connectivity via a raw gRPC client.
Query execution fallback after server restart now uses the lightweight
protobufjs.parse() scanner instead of the heavy protoLoader.loadSync()
path. Removes two dead functions (discoverServicesIndividually,
discoverServicesUsingFilesystem).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* chore: update version to 3.20.95-lts across all components
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
* chore: update bcrypt to version 6.0.0 in package.json
* chore: remove unused devDependencies from package.json
* Refactor code structure for improved readability and maintainability
* Refactor code structure for improved readability and maintainability
* chore: update bcrypt to version 6.0.0 in package.json
* chore: remove unused devDependencies from package.json
* Implement feature X to enhance user experience and optimize performance
* refactor: failsafe gRPC service discovery with file loads
* refactor: search only service names
---------
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
* MongoDB connection with srv support
* design changes and migration
* changes in design
* fix password field is coming disabled.
* change with save button
* changes in the save button and encrypt
* Changes for mongoDb SRV after Code Review
* migration script
* Changes in the UI
* fixed the db issue in connection
* changes comment removed
* SSl issue resolved
* Review changes made
* editing connection string affects only individual fields
* fixed dataSource Saving in imported apps
* fixed imported apps ds save
---------
Co-authored-by: Pratush <pratush@Pratushs-MacBook-Pro.local>