These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)
| Commit: | 1e89639 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
| Committer: | Vladi Bilonenko | |
feat: Enhance Postgres connection handling and validation - Introduced PostgresSSLMode constants for better readability. - Added PostgresKeywordDSN function to properly quote DSN parameters. - Implemented BuildPostgresKeywordDSN to construct DSN with SSL mode and host resolution for cloud environments. - Added NormalizePostgresSSLMode to enforce SSL requirements based on environment. - Implemented ResolvePostgresHostForCloud to ensure only public addresses are used in cloud. - Updated ValidateReqConnection to validate Postgres host and SSL mode. - Enhanced TestConnection to provide detailed error messages for Postgres connection issues. - Modified PGStorage to support dynamic DSN generation based on connection settings. - Updated UserStorage to handle Postgres connections correctly in cloud scenarios. - Added tests for Postgres connection validation and DSN generation.
| Commit: | 4dd16b5 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add viewport parameters support for report snapshots - Introduced zoom, latitude, and longitude parameters to the CreateReportSnapshot API. - Updated snapshot generation logic to include viewport parameters in the snapshot URLs. - Added validation for viewport parameters to ensure they fall within acceptable ranges. - Enhanced unit tests to cover new viewport parameter functionality and validation.
| Commit: | 29b6a54 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Refactor report creation and publishing logic - Removed workspace plan type checks from ServeReportAnalytics to simplify access control. - Updated callCreateReportTool to return a structured response when report limit is reached. - Removed public report limit checks from PublishReport, allowing for more flexible report publishing. - Introduced transaction handling in CreateReport to ensure atomicity during report creation. - Enhanced report limit checks with transaction locking to prevent race conditions. - Removed redundant test cases related to report creation gate checks. - Simplified user addition logic in UpdateWorkspaceUser by removing unnecessary checks for personal workspaces.
| Commit: | ecde112 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
feat: Implement runtime license checks and workspace write permissions - Added runtime license state management to the server, allowing for read-only mode based on license expiration. - Introduced `requireWorkspaceWrite` and `requireReportWorkspaceWrite` functions to enforce write permissions based on workspace state. - Updated various server methods to check for workspace write permissions before performing actions. - Enhanced license validation to allow expired keys under specific conditions. - Added tests for workspace write permission checks and license expiration scenarios. - Refactored workspace handling to include read-only state and reason for read-only status.
| Commit: | a2979da | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Revert "Revert changes since 2c9e5cc except migration" This reverts commit 09ad512b06b1cca223776a1ed8cc8a46226a09dd.
| Commit: | 09ad512 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Revert changes since 2c9e5cc except migration
| Commit: | 7b4765c | |
|---|---|---|
| Author: | Vladi Bilonenko | |
feat: implement no-config snapshot flow and update related API responses
| Commit: | 33d33e3 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
feat: PostgreSQL connection UX - Added validation for PostgreSQL connection parameters in ValidateReqConnection. - Implemented cloud environment checks to disable user-defined PostgreSQL connections. - Updated connection retrieval methods to include PostgreSQL fields. - Enhanced CreateConnection and UpdateConnection methods to handle PostgreSQL credentials. - Introduced TestConnection method for PostgreSQL to verify credentials. - Modified user storage logic to handle PostgreSQL connections with local file fallback. - Added sanitization for secret fields in connection responses. - Updated job creation and execution logic to support PostgreSQL jobs.
| Commit: | 13dae7c | |
|---|---|---|
| Author: | Vladi Bilonenko | |
no-config: local-first defaults, storage backup unification, and token injection cleanup
| Commit: | 31740c5 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add dataset_id to query job responses - Updated SQL queries in getQueryJob and getDatasetsQueryJobs functions to include dataset_id. - Modified rowsToQueryJobs function to scan and assign dataset_id to QueryJob struct.
| Commit: | d9c9dc3 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Enhance job queries with connection type and add tests - Updated SQL queries in job.go to include connection type from the datasets table. - Modified the rowsToQueryJobs function to handle the new connection type field. - Introduced a new function, resultExtensionByConnectionType, to determine the file extension based on the connection type. - Added unit tests for resultExtensionByConnectionType to ensure correct behavior for different connection types.
| Commit: | b1d0cce | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add queries to GetReportProperties response - Updated the callGetReportPropertiesTool function to include queries in the response. - Modified the description of the get_report_properties tool to reflect the inclusion of queries.
| Commit: | 7639d11 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add check_job_status tool to MCP server - Implemented the check_job_status tool to retrieve the current status of a job using job_id. - Added necessary input validation and error handling for the new tool. - Updated MCP tool definitions to include check_job_status with appropriate metadata. - Enhanced unit tests to cover the new check_job_status functionality, including authentication and argument validation.
| Commit: | 6381b8d | |
|---|---|---|
| Author: | Vladi Bilonenko | |
feat: add asynchronous query execution with run_query tool - Implemented callRunQueryTool to handle asynchronous query execution requests. - Updated callMCPTool to dispatch run_query requests to the new handler. - Added run_query tool definition with appropriate input schema and guidance. - Modified runQuery method to return a QueryJob object upon execution. - Enhanced error handling for invalid arguments in run_query requests. - Updated tests to cover new run_query functionality and validate input requirements.
| Commit: | 928248b | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Implement dry-run functionality for BigQuery queries and enforce permission checks - Added a dryRunQuery method to validate SQL queries for BigQuery connections. - Integrated dry-run validation in the callUpdateQueryTool method to check query validity before execution. - Enforced user authentication and report write permissions prior to executing queries. - Enhanced error handling for unsupported connections and empty query texts.
| Commit: | 0ac9a6a | |
|---|---|---|
| Author: | Vladi Bilonenko | |
feat: add UpdateQuery method to gRPC service - Introduced UpdateQuery method in dekart_grpc.pb.go for updating existing queries. - Implemented UpdateQuery handler in the server to update query text without executing jobs. - Added callUpdateQueryTool in mcp.go to handle update query requests. - Updated mcpToolDefinitions to include update_query tool with appropriate input schema. - Enhanced unit tests to cover UpdateQuery functionality and validate input arguments. - Refactored query.go to encapsulate query text update logic in a dedicated method.
| Commit: | 9bdcbe5 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
feat: add create_query tool and associated functionality - Implemented the `create_query` tool in MCP, allowing the creation of query metadata for a specified dataset and connection. - Added a new method `callCreateQueryTool` to handle the creation of queries, including argument validation and response marshaling. - Updated MCP tool definitions to include `create_query` with appropriate input schema and usage guidance. - Enhanced the `CreateQuery` method to return the `QueryId` upon successful creation and handle race conditions by checking for existing queries. - Added unit tests for the `create_query` tool to ensure proper dispatching and argument validation.
| Commit: | 9835586 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
feat: enhance report creation response with company workspace limits - Added fields to CreateReportResponse in proto to indicate if report creation was blocked due to freemium plan limits, the number of workspaces of the same company, and the owners of those workspaces. - Updated TypeScript definitions and JavaScript implementations to accommodate new fields in CreateReportResponse. - Modified UpgradeModal to display a message when the report creation limit is reached, showing the number of existing workspaces. - Enhanced report creation logic to check for workspace limits and trigger the upgrade modal if limits are reached. - Implemented a new report gate logic to evaluate workspace limits based on company email domains and existing workspaces. - Added tests for the new report gate logic and email domain validation functions. Co-authored-by: Copilot <copilot@github.com>
| Commit: | 4376692 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
feat: add readme management tools and update report properties retrieval - Implemented `add_report_readme`, `update_report_readme`, and `remove_report_readme` tools in MCP for managing report readme markdown. - Added `get_report_properties` tool to retrieve report metadata and associated datasets. - Updated `callMCPTool` to handle new readme management and report properties tools. - Enhanced input validation and error handling for readme operations. - Updated tool definitions to include new functionalities and usage descriptions. - Added unit tests for new tools to ensure proper schema validation.
| Commit: | 2c54dff | |
|---|---|---|
| Author: | Vladi Bilonenko | |
feat: add ReplaceFile method to Dekart service - Introduced ReplaceFile method in the Dekart gRPC service, allowing users to create a new file entry while keeping the old file untouched. - Implemented server-side logic for ReplaceFile, including validation of dataset ID and handling of database operations. - Updated MCP tool definitions to include replace_file functionality, with appropriate input schema and usage guidelines. - Added unit tests to ensure the new replace_file tool is correctly defined and validated.
| Commit: | ac8d511 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
feat(mcp): add tools for updating report title, map config, and dataset name - Implemented `callUpdateReportTitleTool` to update report titles while preserving existing configurations. - Implemented `callUpdateReportMapConfigTool` to update map configurations for reports. - Implemented `callUpdateDatasetNameTool` to update dataset names by dataset ID. - Updated `mcpToolDefinitions` to include new tools with appropriate input schemas. - Added tests to ensure new tools are correctly defined and handle unknown tool requests. fix(snapshot): increase default snapshot timeout to 240 seconds
| Commit: | 4ead217 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
feat: add CreateReportSnapshot RPC and related functionality - Implemented CreateReportSnapshot method in the Dekart gRPC service. - Added snapshot handling logic in the server, including token issuance and validation. - Introduced Browserless integration for rendering report snapshots. - Enhanced user claims to support snapshot token and report ID. - Updated workspace context management to accommodate snapshot-specific claims. - Added new HTTP endpoint for serving report snapshots. - Implemented in-memory token management for short-lived snapshot tokens. - Updated CORS configuration to allow snapshot-related origins.
| Commit: | b97fbd8 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
feat: add new MCP tools and endpoints for dataset and file management - Implemented new HTTP endpoints for creating datasets and files. - Added MCP tools for creating reports, datasets, and files. - Enhanced dataset insertion to return dataset ID. - Introduced file handling logic to manage existing dataset files. - Created a new MCP upload session management with start, complete, and abort functionalities. - Added JSON schema definitions for MCP tools and requests. - Removed deprecated report JSON handling code. - Added unit tests for MCP error handling and schema generation.
| Commit: | d378f86 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
| Committer: | Vladi Bilonenko | |
Add token update functionality and ping user streams on device authorization and revocation - Implemented GetTokenUpdate function to retrieve the latest token update timestamp for a user in a workspace. - Updated AuthorizeDevice and RevokeDeviceToken methods to ping user streams after authorization and revocation. - Enhanced sendUserStreamResponse to include token update information in the response.
| Commit: | f1c87c5 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
| Committer: | Vladi Bilonenko | |
Add ListDeviceTokens and RevokeDeviceToken methods to gRPC service - Implemented ListDeviceTokens to retrieve active device tokens for a workspace. - Implemented RevokeDeviceToken to revoke a specific device token by ID. - Added corresponding methods in the DekartClient and DekartServer interfaces. - Created new deviceauth package for handling device token logic. - Updated database queries to support token listing and revocation.
| Commit: | ccfa22e | |
|---|---|---|
| Author: | Vladi Bilonenko | |
File upload proto
| Commit: | 06b6d09 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
feat: implement device authorization session management - Add protojson utility functions for encoding and decoding protobuf messages as JSON. - Create deviceauth package for managing device authorization sessions, including session states, token issuance, and lifecycle events. - Implement HTTP helpers for retrieving base URLs and generating device IDs. - Introduce telemetry tracking for device authorization events in cloud mode. - Develop JWT issuer for signing device authorization tokens with configurable key material and TTL. - Add tests for device authorization session management and JWT issuance. - Refactor license token issuance to utilize the new JWT key parsing functions.
| Commit: | 1d956fc | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Implement version check feature and UI banner - Added a new endpoint for version checking in the server, allowing clients to verify if a newer version is available. - Introduced a `NewVersion` component in the client to display a banner when a new release is detected, enhancing user awareness of updates. - Updated environment variables to support version check configuration. - Created a Cypress test for the version banner functionality to ensure proper display under specified conditions. - Enhanced the tracking of version check events for analytics purposes.
| Commit: | c604cab | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Dekart Comminity Edition Mode - Introduced offline JWT license verification for premium and community plans, enhancing licensing capabilities. - Added new documentation for the JWT license implementation plan and offline license key handling. - Updated `.gitignore` to exclude sensitive license files. - Modified proto files to include new plan types: `TYPE_COMMUNITY` and `TYPE_PREMIUM`. - Implemented changes in the client and server code to support the new licensing model and ensure compatibility with existing features.
| Commit: | 405464f | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add OIDC support for JWT header authentication - Introduced new environment variables for OIDC configuration in .env.example. - Updated docker-compose.yml to include Keycloak and oauth2-proxy services for OIDC support. - Enhanced Makefile with new commands for OIDC setup. - Added documentation for OIDC integration with Keycloak via reverse proxy. - Implemented JWT verification and claims validation in the server code. - Added tests for OIDC header authentication and JWT handling. - Updated client-side logic to accommodate OIDC-related changes.
| Commit: | e318611 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Fixing dataset deletion - Created migration scripts to remove the `dataset_id` column from the `query_jobs` table in both SQL and SQLite. - Updated the `QueryJob` protocol buffer definition to eliminate the `dataset_id` field. - Adjusted relevant queries and data handling in the server code to reflect the removal of `dataset_id`, ensuring compatibility with the updated schema.
| Commit: | 16aaadc | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Move previews to storage - Created migration scripts to remove the `map_preview_data_uri` column and add a new `resource_id` column in the `map_previews` table for both SQL and SQLite. - Updated the `GetEnvResponse` protocol buffer to include a new variable `TYPE_STORE_MAP_PREVIEW`. - Modified the `SaveMapPreview` function to handle saving map previews using the new `resource_id`, including base64 data decoding and storage. - Adjusted the `ServeMapPreview` function to retrieve map previews from public storage based on the new `resource_id`, ensuring proper handling of missing or invalid previews. - Enhanced the `GetEnv` function to expose the `storeMapPreview` environment variable, indicating whether map preview storage is enabled.
| Commit: | 3dfdd51 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add connection types to Report List - Introduced a new repeated field `connection_types` in the Report message to store unique connection types used by datasets. - Updated the TypeScript and JavaScript definitions for the Report class to include methods for managing the connection types list. - Modified the report.proto file to define the `connection_types` field. - Enhanced the server logic to retrieve and assign connection types when fetching report lists, ensuring accurate data representation. - Adjusted related components to accommodate the new connection types functionality.
| Commit: | 30e705e | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add hasMapPreview to Report - Introduced a new boolean field `hasMapPreview` in the Report message to indicate the presence of a map preview. - Updated the Report class in TypeScript and JavaScript to include getter and setter methods for the new field. - Modified the report.proto file to define the `has_map_preview` field. - Enhanced the report retrieval logic in the server to populate the `hasMapPreview` field based on the existence of associated map previews. - Adjusted the SaveMapPreview functionality to accommodate the new field and updated related components accordingly.
| Commit: | ed2d7e8 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add SaveMapPreview functionality to Dekart service - Introduced SaveMapPreviewRequest and SaveMapPreviewResponse message types in the protobuf definition. - Implemented SaveMapPreview RPC method in the Dekart service to handle saving and updating map previews for reports. - Enhanced the DekartClient to include a saveMapPreview method for client-side interaction. - Updated the Dekart class to expose the new SaveMapPreview method. - Added necessary error handling and validation in the server implementation to ensure robust functionality.
| Commit: | f4c50c8 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Implement switching to workspace - Introduced a `planType` field to the `Workspace` message in the protobuf definition, enabling better management of workspace plans. - Updated the TypeScript `Workspace` class to include getter and setter methods for the new `planType` field. - Modified the JavaScript implementation to serialize and deserialize the `planType` field correctly. - Enhanced the server-side logic to fetch and return the plan type associated with workspaces. - Adjusted the `getUserWorkspaces` method to include plan type in the response, improving workspace data handling.
| Commit: | ebb9be9 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add role field to Workspace and update related methods - Introduced a `role` field to the `Workspace` message in the protobuf definition, allowing for user role management within workspaces. - Updated the `Workspace` class in TypeScript to include getter and setter methods for the new `role` field. - Modified the JavaScript implementation to serialize and deserialize the `role` field correctly. - Enhanced the server-side logic to fetch and return user roles associated with workspaces. - Adjusted the `getUserWorkspaces` method to include user roles in the response, improving workspace data handling.
| Commit: | 0cca6bc | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Enhance GetUserStreamResponse with user workspaces support - Added `userWorkspaces` field to the `GetUserStreamResponse` message in the protobuf definition, allowing for a list of user workspaces to be included in the response. - Implemented methods for managing user workspaces in the server, including fetching user workspaces from the database. - Updated the `sendUserStreamResponse` method to include the user workspaces in the response sent to clients. - Modified the `WorkspaceSelector` component to utilize the new user workspaces data, improving workspace management in the UI.
| Commit: | ff9f863 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Enhance report snapshot functionality with trigger type support - Added `trigger_type` field to the `report_snapshots` table to categorize snapshot creation events. - Updated SQL migrations to include the new field and ensure proper indexing. - Modified server methods to pass the appropriate trigger type during snapshot creation, improving traceability of changes. - Enhanced protobuf definitions to support the new trigger type enumeration, allowing for better integration with client-side logic. - Updated `MapChangeHistoryModal` to display snapshot trigger types, improving user experience by providing context for changes.
| Commit: | b14d2f1 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add RestoreReportSnapshot functionality to Dekart service - Introduced `RestoreReportSnapshot` RPC method in the Dekart service to handle restoring report snapshots. - Added corresponding request and response message types in the protobuf definitions. - Implemented client-side methods for invoking the `RestoreReportSnapshot` service. - Updated server logic to create report snapshots during relevant operations, enhancing snapshot management. - Refactored existing dataset snapshot logic to streamline report snapshot creation and improve code clarity.
| Commit: | 3b78e5f | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Refactor report version retrieval to support snapshot fetching - Replaced `GetReportVersion` with `GetSnapshots` in the Dekart service to enhance clarity and functionality. - Updated related protobuf definitions and server methods to handle the new `GetSnapshotsRequest` and `GetSnapshotsResponse`. - Implemented logic to fetch report and dataset snapshots, ensuring proper validation and error handling. - Adjusted SQL queries to retrieve snapshots ordered by creation date, improving data retrieval efficiency.
| Commit: | fc0b1a9 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Enhance report and dataset snapshot functionality with author tracking - Updated the `report_snapshots` and `dataset_snapshots` tables to replace `changed_by` with `author_email` for better clarity on user modifications. - Modified SQL migrations to reflect the new schema and ensure existing data is correctly populated with author information. - Enhanced server methods to utilize the new `author_email` field during snapshot creation, improving traceability of changes. - Introduced new protobuf definitions for `GetReportVersionRequest` and `GetReportVersionResponse` to support fetching report and dataset snapshots with author details.
| Commit: | ff072de | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add versioning support to reports with new snapshots and related database changes - Introduced a `version_id` column in the `reports` table to track report versions. - Created `report_snapshots` and `dataset_snapshots` tables to store user-editable content and complete dataset states for each report version. - Added indexes for efficient querying of version-related data. - Updated protobuf definitions to include `version_id` in the `Report` message structure, ensuring compatibility with the new versioning system.
| Commit: | bef7056 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add dataset_id to QueryJob and update related SQL migrations - Introduced a new column `dataset_id` in the `query_jobs` table with a foreign key constraint referencing the `datasets` table. - Backfilled `dataset_id` based on existing relationships between `query_jobs` and `datasets`. - Updated the `QueryJob` protobuf definition and generated code to include `dataset_id`. - Modified relevant server methods to handle the new `dataset_id` field in query job retrieval and processing.
| Commit: | 8f7a40b | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add server time to GetEnvResponse and update related components - Added `serverTime` field to the `GetEnvResponse` message in the proto files to provide the server's current time in seconds. - Updated the JavaScript and TypeScript definitions to include the new `serverTime` field, ensuring compatibility with the client-side code. - Modified the `setEnv` action to accept and store the `serverTime` from the environment response. - Enhanced the report update logic to utilize the new server time for determining report freshness and auto-refresh behavior. - Adjusted the `AutoRefreshSettings` component to reflect the changes in the environment state management. - Updated the Go server implementation to return the current server time in the `GetEnvResponse`.
| Commit: | 23fecb5 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add SetAutoRefreshIntervalSeconds functionality to Dekart service - Implemented the SetAutoRefreshIntervalSeconds RPC method in the Dekart service to allow users to set the auto-refresh interval for reports. - Added corresponding request and response message types in the proto files. - Updated the report model to include the auto-refresh interval and modified the database to support this feature. - Integrated the new functionality into the client-side AutoRefreshSettings component, enabling users to adjust settings directly from the UI. - Enhanced the report header to reflect the current auto-refresh status.
| Commit: | fae58e2 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add expired field to Subscription model and update related components - Introduced an `expired` boolean field in the Subscription model to indicate subscription status. - Updated the proto definitions and generated files to reflect the new field. - Modified the WorkspaceReadOnlyBanner component to conditionally render based on the subscription's expired status. - Enhanced the user state management in the workspace reducer to track subscription expiration. - Updated the server logic to set the expired status based on trial end dates.
| Commit: | 8295f2e | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add trial support to subscription management - Introduced a new column `trial_ends_at` in the `subscription_log` table to track trial end timestamps. - Created an index on `subscription_log` for efficient lookups based on `workspace_id`, `plan_type`, and `trial_ends_at`. - Updated the `getSubscription` method to handle trial subscriptions, returning the appropriate cancellation timestamp when the plan type is `TYPE_TRIAL`.
| Commit: | fd9a96c | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add TYPE_IS_SNOWPARK to GetEnvResponse and update related components - Introduced TYPE_IS_SNOWPARK to the GetEnvResponse variable types in proto files. - Updated the DekartMenu, Header, ShareButton, and server code to utilize the new isSnowpark state for conditional rendering and logic. - Ensured consistent handling of the isSnowpark state across the client and server components for improved functionality.
| Commit: | 21a30f6 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add tracking event functionality and database integration - Introduced a new TrackEvent RPC in the Dekart service to handle tracking events. - Implemented TrackEventRequest and TrackEventResponse message types in the proto definitions. - Created a new database table for storing tracking events, including email, event name, and event data. - Enhanced the server-side logic to store tracking events only for authorized users in the cloud environment. - Integrated tracking functionality in the client-side code to dispatch events to the server, improving analytics capabilities.
| Commit: | fea7ad6 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add 'canRefresh' property to Report class and update related functionality - Introduced a new boolean property 'canRefresh' in the Report class to determine if a report can be refreshed. - Updated the Report serialization and deserialization methods to handle the new property. - Modified the ReportHeaderButtons component to conditionally render the refresh button based on the 'canRefresh' state. - Adjusted server-side logic to enforce permissions based on the 'canRefresh' property, ensuring only authorized users can refresh reports. - Updated the proto definitions and related Go files to reflect the new property and its usage.
| Commit: | 76800fd | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Implement file size limit checks and enhance upload functionality - Added support for maximum file upload size configuration using the DEKART_MAX_FILE_UPLOAD_SIZE environment variable. - Integrated the go-humanize library to parse file size limits in various formats. - Updated the file upload handler to validate file sizes against the configured limit, returning appropriate error messages when exceeded. - Enhanced the File component to display the maximum file size limit to users during uploads.
| Commit: | 187bbfb | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add public maps limit check to PublishReportResponse - Introduced `publicMapsLimitReached` field in `PublishReportResponse` to indicate if the user has reached their freemium plan limit for public maps. - Updated the `PublishReport` method to check the number of existing public reports for users on a freemium plan and block publishing if the limit is exceeded. - Enhanced client-side logic to handle the new response field and provide appropriate feedback to users attempting to publish more maps than allowed.
The documentation is generated from this commit.
| Commit: | e861abd | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add track_viewers functionality to reports - Introduced a new column `track_viewers` in the `reports` table to enable tracking of report views. - Added `SetTrackViewers` RPC method to manage the tracking state for reports. - Updated report retrieval logic to include the `track_viewers` field. - Enhanced report analytics to conditionally update view counts based on the `track_viewers` setting. - Updated related protobuf definitions and service methods to support the new functionality.
| Commit: | 77463ed | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Enhance connection handling and file upload functionality - Updated connection handling to support different data sources (USER, SNOWFLAKE, ATHENA, PG, BQ, CH) with appropriate connection types and names. - Improved default connection retrieval logic to ensure proper handling of the "default" connection ID. - Added error handling for missing connections in the UploadFile method. - Modified CreateFile method to include connection ID in the dataset update query, ensuring correct association of files with connections. - Added DEKART_CLOUD environment variable to the GetEnv response for better configuration visibility. - Adjusted bucket configuration to remove the empty string case for GCS, ensuring clarity in storage backend selection.
| Commit: | a3cb95f | |
|---|---|---|
| Author: | Vladi Bilonenko | |
add GetWherobotsConnectionHint
| Commit: | 818cea2 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Wherobot Integration
| Commit: | a0dc431 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
feat: direct access by email
| Commit: | a6229e0 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Cloud merge oss
| Commit: | 4884fb7 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
| Committer: | Vladi Bilonenko | |
Fix map reloads when edit
| Commit: | d5f3014 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
New Dataset PanelUpdate dataset panel
| Commit: | 0f9a488 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add snowflake_key support to connections and update related components
| Commit: | b89f1a2 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Merge OSS to Cloud
| Commit: | 6f898a1 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add analytics reporting feature with database updates and UI enhancements
| Commit: | 87c8b97 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Merge remote-tracking branch 'cloud/main' into premium-merge-cloud
| Commit: | 0425a50 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add readme functionality with markdown support and UI integration
| Commit: | d023f43 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add allow_export functionality to reports with UI toggle and backend support
| Commit: | 25cc154 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
BigQuery Service Account Keys
| Commit: | 8843b0b | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Report Fork Onboarding
| Commit: | d9257db | |
|---|---|---|
| Author: | Vladi Bilonenko | |
| Committer: | Vladi Bilonenko | |
Query Parameters, Auto Save and Autocomplete
| Commit: | 11f64f2 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Rename PREMIUM plan type to SELF_HOSTED and update related references across the codebase
| Commit: | 2b8e437 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
SQLite user workspaces
| Commit: | bd636d6 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Migration backward compatibility, default workspaces
| Commit: | 8c53108 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add isPlayground and isDefaultWorkspace fields to GetUserStreamResponse
| Commit: | 698fbd6 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Merge remote-tracking branch 'cloud/main' into premium-merge-cloud-changes-533cfa7
| Commit: | 2d0472d | |
|---|---|---|
| Author: | Vladi Bilonenko | |
New planes per user
| Commit: | 33fba84 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
User roles
| Commit: | 88be89d | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Refactor code to add new environment variable for disabling version check
| Commit: | a19dfe0 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Merge remote-tracking branch 'premium/main'
| Commit: | 58dcd36 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Backport cloud features
| Commit: | c681ff0 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
| Committer: | Vladi Bilonenko | |
Invite user who already have workspace
| Commit: | 771151d | |
|---|---|---|
| Author: | Vladi Bilonenko | |
| Committer: | Vladi Bilonenko | |
Snowflake support
| Commit: | 7f285a0 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Publish maps
| Commit: | 112d684 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
isSharable field in Report to mitigate BigQuery result storage access issue
| Commit: | 43b7850 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
| Committer: | Vladi Bilonenko | |
Move isPlayground state to session level
| Commit: | ab17a43 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
| Committer: | Vladi Bilonenko | |
Validate connection object in CreateConnection endpoint
| Commit: | 85a994f | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Update connection creation to include required fields
| Commit: | c863c64 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Merge remote-tracking branch 'oss/main' into cloud-merge-oss
| Commit: | 8491335 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Make GCP storage bucket optional and autocomplete project list
| Commit: | 6a2d127 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
| Committer: | Vladi Bilonenko | |
Add login hint for Google OAuth
| Commit: | aac0d5c | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add login hint for Google OAuth
| Commit: | d539a61 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Cloud Playground
| Commit: | 968329e | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Merge remote-tracking branch 'oss/main' into cloud-delay-scope-request-2
| Commit: | 03d36f2 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Grant sensitive scopes
| Commit: | 0617255 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
| Committer: | Vladi Bilonenko | |
Merge branch 'release-0.16' into update-to-0.16
| Commit: | a07277e | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Sample Query
| Commit: | 6c58e72 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
DEKART_UX_NOT_FOUND_ERROR_INFO_HTML
| Commit: | 9c25c23 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Add optional ACCESS_ERROR_INFO
| Commit: | 8430f56 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
| Committer: | Vladi Bilonenko | |
Allow edit reports
| Commit: | 784b376 | |
|---|---|---|
| Author: | Vladi Bilonenko | |
Limit number of users