Skip to content

improvement(timeouts): sync to 50 min, self-hosted maxed out - #3133

Merged
icecrasher321 merged 2 commits into
stagingfrom
improvement/timeouts
Feb 4, 2026
Merged

improvement(timeouts): sync to 50 min, self-hosted maxed out#3133
icecrasher321 merged 2 commits into
stagingfrom
improvement/timeouts

Conversation

@icecrasher321

Copy link
Copy Markdown
Collaborator

Summary

  • Reduce sync timeouts to 50 min
  • Not billing enabled should default to enterprise tier timeouts

Type of Change

  • Documentation
  • Other: Self hosted

Testing

Tested manually

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel

vercelBot commented Feb 4, 2026

Copy link
Copy Markdown

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

1 Skipped Deployment
ProjectDeploymentActionsUpdated (UTC)
docsSkippedSkippedFeb 4, 2026 7:20pm

Request Review

@greptile-apps

Copy link
Copy Markdown
Contributor

Greptile Overview

Greptile Summary

This PR reduces sync execution timeouts from 60 minutes to 50 minutes for Pro, Team, and Enterprise tiers, and ensures self-hosted deployments without billing enabled default to enterprise-tier timeouts.

Key Changes

  • Reduced DEFAULT_SYNC_TIMEOUTS_SECONDS from 3600s (60 min) to 3000s (50 min) for paid tiers
  • Added logic to getExecutionTimeout() to return enterprise timeouts when isBillingEnabled is false
  • Updated DEFAULT_EXECUTION_TIMEOUT_MS to use enterprise timeout for non-billing-enabled environments
  • Updated documentation and UI plan features to reflect 50-minute limit

Impact

The changes are consistent across code, documentation, and UI. The self-hosted behavior ensures that deployments without billing infrastructure get maximum timeouts (enterprise tier) rather than defaulting to the restrictive free tier.

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • The changes are straightforward timeout adjustments with complete consistency across code, documentation, and UI. The logic is simple and the self-hosted fallback to enterprise tier is appropriate for deployments without billing enforcement.
  • No files require special attention

Important Files Changed

FilenameOverview
apps/sim/lib/core/execution-limits/types.tsReduced sync timeout from 60 min (3600s) to 50 min (3000s) for Pro/Team/Enterprise tiers, and added self-hosted fallback to enterprise tier when billing is disabled
apps/docs/content/docs/en/execution/costs.mdxUpdated documentation table to reflect new 50-minute sync execution limit for Pro/Team/Enterprise plans
apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-modal/components/subscription/plan-configs.tsUpdated UI display text for Pro and Team plan features to show 50-minute sync execution limit

Sequence Diagram

sequenceDiagram
participant Client as API Client/UI
participant PreProc as Preprocessing
participant ExecLimits as getExecutionTimeout()
participant FeatureFlags as isBillingEnabled
participant Execution as Workflow Execution
Client->>PreProc: Start workflow execution
PreProc->>PreProc: Resolve user plan (free/pro/team/enterprise)
PreProc->>ExecLimits: getExecutionTimeout(plan, type)
alt Billing Disabled (Self-hosted)
ExecLimits->>FeatureFlags: Check isBillingEnabled
FeatureFlags-->>ExecLimits: false
ExecLimits-->>PreProc: Return enterprise timeout (3000s sync / 5400s async)
else Billing Enabled (Hosted)
ExecLimits->>FeatureFlags: Check isBillingEnabled
FeatureFlags-->>ExecLimits: true
ExecLimits-->>PreProc: Return plan-specific timeout
Note over ExecLimits,PreProc: Free: 300s/600s<br/>Pro/Team/Enterprise: 3000s/5400s
end
PreProc->>Execution: Execute with timeout limit
alt Execution completes in time
Execution-->>Client: Return results
else Execution exceeds timeout
Execution-->>Client: TimeoutError
end
Loading

@greptile-appsgreptile-appsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

3 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

Comment threadapps/sim/lib/core/execution-limits/types.ts
@icecrasher321

Copy link
Copy Markdown
CollaboratorAuthor

@cursor review

@cursorcursorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

@icecrasher321
icecrasher321 merged commit 362f4c2 into stagingFeb 4, 2026
12 checks passed
@waleedlatif1
waleedlatif1 deleted the improvement/timeouts branch February 5, 2026 03:46
royceP2 pushed a commit to arenadeveloper02/p2-sim that referenced this pull request Mar 3, 2026
…ioai#3133)
* improvement(timeouts): sync to 50 min, self-hosted maxed out
* update env vars
Sign up for freeto 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.

1 participant

@icecrasher321