Skip to content

Modal view with fewer than 100 blocks fails to render, no error in logs #144

@ShivamS136

Description

@ShivamS136

Description

According to the Slack documentation, a modal view can contain up to 100 blocks. However, in my multi-step form workflow, when the step 2 view contains a number of blocks well within this limit (e.g., 20 blocks at the top level), the view fails to render. There are no errors in the logs, and the view that is supposed to be rendered works perfectly in the Block Kit Builder. Despite this, the modal is not updated and instead displays the error:

"We had some trouble connecting. Try again?"

This makes it difficult to debug or understand what is causing the issue.


Version

slack v3.4.0

OS Info

ProductName:    macOS
ProductVersion: 15.5
BuildVersion:   24F74
Darwin Kernel Version 24.5.0: Tue Apr 22 19:54:29 PDT 2025; root:xnu-11417.121.6~2/RELEASE_ARM64_T6030

Steps to Reproduce

  1. Create a multi-step modal workflow.
  2. In step 2, define a view with a number of blocks (e.g., 20) at the top level, well below the 100 block limit.
  3. Push or update the modal to display step 2.
  4. Observe that the modal fails to update and shows the error:
    "We had some trouble connecting. Try again?"
  5. Note that there are no errors in the logs, and the view renders fine in Block Kit Builder.

Expected Result

  • The modal should update and render the step 2 view as defined, since the number of blocks is well within the documented limit.

Actual Result

  • The modal fails to update and displays an error.
  • No errors are logged.
  • The view is valid and renders in Block Kit Builder.

Questions

  1. Block Limit Scope:
    When a modal view is pushed (using response_action: "push") instead of updated, is the 100 block limit applied only to the step 2 view, or to the combined blocks of both step 1 and step 2 views?

  2. Block Limit Definition:
    Does the 100 block limit apply only to top-level block elements, or does it also count nested elements (e.g., elements inside rich_text or input blocks)?

  3. Error Handling:
    Is there a handler or callback function that can be attached to a Slack Function to catch errors that occur during the submission handler? In this case, the view is being created and returned from the addViewSubmissionHandler without any error, but the modal fails to update and no error is surfaced. How can such issues be detected or debugged? addUnhandledEventHandler is also not able to catch the issue here.


Requirements

  • I've read and understood the Contributing guidelines and have done my best effort to follow them.
  • I've read and agree to the Code of Conduct.
  • I've searched for any related issues and avoided creating a duplicate issue.

Metadata

Metadata

Labels

area:deno-sdkRelated to github.com/slackapi/deno-slack-sdkneeds infoAn issue that is claimed to be a bug and hasn't been reproduced, or otherwise needs more infoquestionM-T: User needs support to use the project

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions