Skip to content

v0.5.82: slack trigger files, pagination for linear, executor fixes#3153

Merged
waleedlatif1 merged 4 commits intomainfrom
staging
Feb 6, 2026
Merged

v0.5.82: slack trigger files, pagination for linear, executor fixes#3153
waleedlatif1 merged 4 commits intomainfrom
staging

Conversation

@waleedlatif1
Copy link
Collaborator

icecrasher321 and others added 4 commits February 5, 2026 15:31
* fix(executor):  loop sentinel-end wrongly queued

* fix nested subflow error highlighting
)

* fix(linear): align tool outputs, queries, and pagination with API

* fix(linear): coerce first param to number, remove duplicate conditions, add null guard
…ranch (#3152)

* fix(resolver): response format in deactivated branch

* add evaluator metrics too

* add child workflow id to the workflow block outputs

* cleanup typing
)

* feat(slack): add file attachment support to slack webhook trigger

* additional file handling

* lint

* ack comment
@vercel
Copy link

vercel bot commented Feb 6, 2026

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

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Skipped Skipped Feb 6, 2026 8:29am

Request Review

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 6, 2026

Greptile Overview

Greptile Summary

  • Aggregates recent changes across Slack trigger, Linear tools/pagination, executor edge scheduling, and resolver metrics formatting into a single release PR.
  • Adds Slack webhook trigger support for file attachments and related webhook execution/utilities wiring.
  • Refactors/aligns Linear tool schemas and pagination behavior to match the upstream API and updates docs accordingly.
  • Fixes executor edge-manager logic around sentinel-end handling, with associated unit test updates.

Confidence Score: 3/5

  • This PR is mergeable after fixing a few workflow-breaking behavioral changes in schema generation and Slack webhook normalization.
  • Most changes are straightforward refactors or well-scoped fixes (executor sentinel-end gating, Linear pagination alignment) with added test coverage. However, there are a couple of definite regressions: responseFormat schema currently drops base outputs (breaking downstream references) and Slack webhook formatting now normalizes non-event_callback payloads (can trigger workflows on url_verification/other types). There is also a credential visibility mismatch for user-supplied Slack bot tokens.
  • apps/sim/executor/utils/block-data.ts; apps/sim/lib/webhooks/utils.server.ts; apps/sim/triggers/slack/webhook.ts

Important Files Changed

Filename Overview
apps/docs/content/docs/en/tools/linear.mdx Updates Linear tool documentation, likely covering new pagination behavior and output fields; no code execution impact observed.
apps/sim/background/webhook-execution.ts Extends webhook attachment processing for nested object schemas and adds trigger inference fallback; needs attention due to broadened trigger resolution paths.
apps/sim/blocks/blocks/linear.ts Expands and consolidates pagination parameter exposure across many Linear operations; large conditional logic change but appears consistent.
apps/sim/executor/execution/edge-manager.ts Fixes sentinel-end queuing by gating readiness checks on activatedTargets; addresses deactivated-branch execution bug.
apps/sim/executor/utils/block-data.ts Adds evaluator/responseFormat-derived output schemas; responseFormat path currently drops base outputs from schema (breaks downstream references).
apps/sim/lib/webhooks/utils.server.ts Adds Slack file download support and changes Slack payload normalization; now formats non-event_callback Slack payloads (may trigger workflows on url_verification).
apps/sim/tools/linear/types.ts Introduces shared Linear output property constants and pageInfo schema used across tools; large refactor but type-only changes.
apps/sim/triggers/slack/webhook.ts Adds bot token + includeFiles options and exposes files/hasFiles outputs; botToken is marked hidden (credential visibility inconsistency).

Sequence Diagram

sequenceDiagram
  autonumber
  participant Slack as Slack
  participant Webhook as Webhook Endpoint
  participant Utils as formatWebhookInput()
  participant DL as downloadSlackFiles()
  participant Fetch as secureFetchWithPinnedIP()
  participant Exec as WebhookExecution
  participant Attach as AttachmentProcessor

  Slack->>Webhook: POST payload (event_callback)
  Webhook->>Utils: formatWebhookInput(body, providerConfig)
  Utils->>Utils: read providerConfig.includeFiles/botToken
  alt event contains files AND includeFiles AND botToken
    Utils->>DL: downloadSlackFiles(rawEvent.files, botToken)
    loop each file (<= SLACK_MAX_FILES)
      DL->>DL: validate host + size + DNS
      DL->>Fetch: GET url_private (Authorization: Bearer botToken)
      Fetch-->>DL: Response (bytes)
      DL-->>Utils: base64 file objects
    end
  else no files or disabled
    Utils-->>Utils: files = []
  end
  Utils-->>Exec: normalized event {text, user, hasFiles, files}
  Exec->>Attach: map output schema to attachments
  Attach-->>Exec: attachments ready for workflow execution
Loading

Copy link
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.

8 files reviewed, 3 comments

Edit Code Review Agent Settings | Greptile

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 6, 2026

Additional Comments (1)

apps/sim/lib/webhooks/utils.server.ts
Slack events now always formatted

This removes the body.type === 'event_callback' gate and will return a normalized event object even for non-event_callback Slack payloads (e.g. url_verification). In those cases rawEvent is typically missing and this code logs a warning but still returns an event with mostly empty fields and event_type derived from body.type. That’s a behavior change that can cause workflows to run on Slack verification requests with empty text/channel/user.

If only event_callback should trigger workflows, the early return should remain (or explicitly return undefined/error for other Slack types).

@waleedlatif1 waleedlatif1 merged commit a3a99ed into main Feb 6, 2026
27 checks passed
@wikremedi
Copy link

cracked

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.

3 participants