Skip to content

v0.4.17: input format + files support for webhooks, docs updates, dashboard improvements#1663

Merged
waleedlatif1 merged 10 commits intomainfrom
staging
Oct 16, 2025
Merged

v0.4.17: input format + files support for webhooks, docs updates, dashboard improvements#1663
waleedlatif1 merged 10 commits intomainfrom
staging

Conversation

@waleedlatif1
Copy link
Copy Markdown
Collaborator

@waleedlatif1 waleedlatif1 commented Oct 16, 2025

waleedlatif1 and others added 9 commits October 15, 2025 22:52
…n gh action for docs (#1652)

* fix(i18n): fix SDK and guardrails translation corruption

* re-enable i18n gh action
…e, and improve performance (#1651)

* improvement(dashboard): cleanup execution dashboard UI, fix logs trace, and improve perforamnce

* cleanup

* cleaned up

* ack PR comments
* fix(input-format): allow value field to be cleared

* don't let value field be detected as deployment change

* fix zep icon in docs

* exclude collapsed state
…t for file uploads (#1654)

* feat(webhooks): added  optioanl input format to webhooks, added support for file uploads

* feat(webhooks): added input format component to generic webhook trigger, added file support

* consolidated execution files utils, extended presigned URL duration for async tasks
… consolidate routes (#1662)

* improvement(dashboard): improve dashboard performance, enrich charts, consolidate routes

* cleanup
@vercel
Copy link
Copy Markdown

vercel Bot commented Oct 16, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Preview Comments Updated (UTC)
docs Skipped Skipped Oct 16, 2025 11:23pm

Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps Bot left a comment

Choose a reason for hiding this comment

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

Greptile Overview

Summary

This release consolidates multiple features including webhook file upload support, dashboard performance improvements, and bug fixes. The changes add comprehensive file handling capabilities to both API and webhook triggers through an optional inputFormat configuration with a "files" type.

Key Changes

  • Webhook & API File Uploads: Added processExecutionFiles utility to handle base64 file uploads and URL pass-through with 20MB size limits. Files are uploaded to S3/Blob storage with presigned URLs (10min for async, 5min for sync)
  • Dashboard Refactor: Replaced older /execution-history routes with consolidated /metrics/executions endpoint featuring time-bucketed aggregation, percentile calculations (p50, p90, p99), and paginated log loading
  • Chart Enhancements: Extended LineChart component to support multi-series data with interactive hover states and improved scaling for millisecond-based metrics
  • Input Format Fix: Removed validation preventing empty value fields from being cleared in the input format component
  • Documentation: Extensive i18n translation updates across 5 languages (es, fr, zh, ja, de) for SDK, webhooks, guardrails, and new tool integrations
  • Developer Experience: Added .gitattributes to normalize line endings for PowerShell users

Confidence Score: 4/5

  • Safe to merge with standard testing - well-structured changes with proper validation and error handling
  • Score reflects solid implementation with good separation of concerns, comprehensive error handling, and proper validation. The file upload logic includes size limits and format validation. Dashboard consolidation removes deprecated routes cleanly. One point deducted due to the scale of changes across multiple subsystems which increases surface area for edge cases
  • apps/sim/background/webhook-execution.ts and apps/sim/app/workspace/[workspaceId]/logs/executions-dashboard.tsx should receive extra attention during testing due to complexity

Important Files Changed

File Analysis

Filename Score Overview
apps/sim/lib/execution/files.ts 5/5 New utility module for processing execution files - handles base64 uploads and URL pass-through with proper validation and size limits
apps/sim/background/webhook-execution.ts 4/5 Added file processing for webhook inputs including trigger file outputs and generic webhook file support via inputFormat
apps/sim/app/api/workflows/[id]/execute/route.ts 4/5 Added file processing logic for API trigger executions using inputFormat - processes files before execution
apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/components/sub-block/components/starter/input-format.tsx 5/5 Fixed issue preventing value field from being cleared - removed trim check that blocked empty value updates
apps/sim/app/api/workspaces/[id]/metrics/executions/route.ts 5/5 New consolidated metrics endpoint - replaced older execution-history routes with efficient time-series metrics calculation
apps/sim/app/workspace/[workspaceId]/logs/executions-dashboard.tsx 4/5 Major dashboard refactor - added paginated log loading, improved performance with new metrics endpoint, enhanced charts

Sequence Diagram

sequenceDiagram
    participant Client
    participant API as API Route
    participant FileProcessor as processExecutionFiles
    participant Storage as S3/Blob Storage
    participant Executor as Workflow Executor
    participant Metrics as Metrics Endpoint
    participant Dashboard

    Note over Client,Dashboard: Webhook File Upload Flow
    Client->>API: POST /api/workflows/{id}/execute<br/>{files: [{type: 'file', data: base64}]}
    API->>API: Load workflow & check inputFormat
    API->>FileProcessor: processExecutionFiles(fieldValue)
    FileProcessor->>FileProcessor: Validate base64 format
    FileProcessor->>FileProcessor: Check 20MB size limit
    FileProcessor->>Storage: Upload file with presigned URL<br/>(10min for async, 5min for sync)
    Storage-->>FileProcessor: Return UserFile with URL
    FileProcessor-->>API: Array of UserFile objects
    API->>Executor: Execute workflow with processed files
    Executor-->>API: Execution result
    API-->>Client: Success response

    Note over Client,Dashboard: Dashboard Metrics Flow
    Dashboard->>Metrics: GET /api/workspaces/{id}/metrics/executions<br/>?segments=72&startTime&endTime
    Metrics->>Metrics: Validate permissions
    Metrics->>Metrics: Load workflows (with filters)
    Metrics->>Metrics: Query execution logs
    Metrics->>Metrics: Bucket data into time segments
    Metrics->>Metrics: Calculate p50, p90, p99 percentiles
    Metrics-->>Dashboard: Time-series metrics per workflow
    Dashboard->>Dashboard: Render multi-series line charts
    Dashboard->>Dashboard: Enable paginated log loading
Loading

56 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@waleedlatif1 waleedlatif1 merged commit da091df into main Oct 16, 2025
21 checks passed
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.

2 participants