Skip to content

fix(deps): update dependency @slack/bolt to v4 - autoclosed - #9

Closed
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/slack-bolt-4.x
Closed

fix(deps): update dependency @slack/bolt to v4 - autoclosed#9
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/slack-bolt-4.x

Conversation

@renovate

@renovate renovate Bot commented Dec 16, 2024

Copy link
Copy Markdown

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
@slack/bolt (source) ^3.12.2^4.0.0 age confidence

Release Notes

slackapi/bolt-js (@​slack/bolt)

v4.7.3

Compare Source

Patch Changes
  • 341b60e: Reject empty signingSecret at initialization to prevent accidental HMAC signature forgery.

v4.7.2

Compare Source

Patch Changes
  • 4545150: Require exact ssl_check=1 value to bypass signature verification, preventing truthy but incorrect values from skipping authentication checks.

v4.7.1

Compare Source

Patch Changes
  • a18c359: fix: correct InvalidCustomPropertyError code and MemoryStore promise handling

v4.7.0

Compare Source

What's Changed

Bring magic to a conversation with sayStream for streaming messages and show loading status with setStatus. Now available for app.event and app.message listeners:

app.event('app_mention', async ({ sayStream, setStatus }) => {
  setStatus({
    status: 'Thinking...',
    loading_messages: ['Waking up...', 'Loading a witty response...'],
  });
  const stream = sayStream({ buffer_size: 100 });
  await stream.append({ markdown_text: 'Thinking... :thinking_face:\n\n' });
  await stream.append({ markdown_text: 'Here is my response!' });
  await stream.stop();
});

The respond function now accepts thread_ts to publish responses in a thread:

app.action('my_action', async ({ ack, respond }) => {
  await ack();
  await respond({ text: 'Replying in thread!', thread_ts: '1234567890.123456' });
});

Configure ping timeouts, reconnect behavior, and other Socket Mode settings directly through App options:

const app = new App({
  socketMode: true,
  appToken: process.env.SLACK_APP_TOKEN,
  token: process.env.SLACK_BOT_TOKEN,
  clientPingTimeout: 15000,
  serverPingTimeout: 60000,
  pingPongLoggingEnabled: true,
});
👾 Enhancements
🐛 Fixes
📚 Documentation
🧰 Maintenance
🎁 Dependencies
Core
CI
Dev
Examples

👋 New Contributors 🎉

Full Changelog: https://github.com/slackapi/bolt-js/compare/@slack/bolt@4.6.0...@​slack/bolt@4.7.0
Milestone: https://github.com/slackapi/bolt-js/milestone/61
Package: https://www.npmjs.com/package/@​slack/bolt/v/4.7.0

v4.6.0

Compare Source

📚 Changelog

What's Changed

👾 Enhancements
🐛 Bug fixes
📚 Documentation
🤖 Dependencies
🧰 Maintenance

Milestone: https://github.com/slackapi/bolt-js/milestone/60?closed=1
Full Changelog: https://github.com/slackapi/bolt-js/compare/@slack/bolt@4.5.0...@​slack/bolt@4.6.0
Package: https://www.npmjs.com/package/@​slack/bolt/v/4.6.0

v4.5.0

Compare Source

AI-Enabled Features: Loading States, Text Streaming, and Feedback Buttons

🍿 Preview
2025-10-06-loading-state-text-streaming-feedback.mov
📚 Changelog
⚡ Getting Started

Try the AI Agent Sample app to explore the AI-enabled features and existing Assistant helper:

# Create a new AI Agent app
$ slack create slack-ai-agent-app --template slack-samples/bolt-js-assistant-template
$ cd slack-ai-agent-app/

# Add your OPENAI_API_KEY
$ export OPENAI_API_KEY=sk-proj-ahM...

# Run the local dev server
$ slack run

After the app starts, send a message to the "slack-ai-agent-app" bot for a unique response.

⌛ Loading States

Loading states allows you to not only set the status (e.g. "My app is typing...") but also sprinkle some personality by cycling through a collection of loading messages:

Web Client SDK:
app.event('message', async ({ client, context, event, logger }) => {
    // ...
    await client.assistant.threads.setStatus({
        channel_id: channelId,
        thread_ts: threadTs,
        status: 'thinking...',
        loading_messages: [
            'Teaching the hamsters to type faster…',
            'Untangling the internet cables…',
            'Consulting the office goldfish…',
            'Polishing up the response just for you…',
            'Convincing the AI to stop overthinking…',
        ],
    });

    // Start a new message stream
});
Assistant Class:
const assistant = new Assistant({
    threadStarted: assistantThreadStarted,
    threadContextChanged: assistantThreadContextChanged,
    userMessage: async ({ client, context, logger, message, getThreadContext, say, setTitle, setStatus }) => {
        await setStatus({
            status: 'thinking...',
            loading_messages: [
                'Teaching the hamsters to type faster…',
                'Untangling the internet cables…',
                'Consulting the office goldfish…',
                'Polishing up the response just for you…',
                'Convincing the AI to stop overthinking…',
            ],
        });
    },
});
🔮 Text Streaming Helper

The client.chatStream() helper utility can be used to streamline calling the 3 text streaming methods:

app.event('message', async ({ client, context, event, logger }) => {
    // ...

    // Start a new message stream
    const streamer = client.chatStream({
        channel: channelId,
        recipient_team_id: teamId,
        recipient_user_id: userId,
        thread_ts: threadTs,
    });

    // Loop over OpenAI response stream
    // https://platform.openai.com/docs/api-reference/responses/create
    for await (const chunk of llmResponse) {
        if (chunk.type === 'response.output_text.delta') {
            await streamer.append({
                markdown_text: chunk.delta,
            });
        }
    }

    // Stop the stream and attach feedback buttons
    await streamer.stop({ blocks: [feedbackBlock] });
});
🔠 Text Streaming Methods

Alternative to the Text Streaming Helper is to call the individual methods.

1) client.chat.startStream

First, start a chat text stream to stream a response to any message:

app.event('message', async ({ client, context, event, logger }) => {
    // ...
    const streamResponse = await client.chat.startStream({
        channel: channelId,
        recipient_team_id: teamId,
        recipient_user_id: userId,
        thread_ts: threadTs,
    });

    const streamTs = streamResponse.ts
2) client.chat.appendStream

After starting a chat text stream, you can then append text to it in chunks (often from your favourite LLM SDK) to convey a streaming effect:

for await (const chunk of llmResponse) {
    if (chunk.type === 'response.output_text.delta') {
        await client.chat.appendSteam({
            channel: channelId,
            markdown_text: chunk.delta,
            ts: streamTs,
        });
    }
}
3) client.chat.stopStream

Lastly, you can stop the chat text stream to finalize your message:

await client.chat.stopStream({
    blocks: [feedbackBlock],
    channel: channelId,
    ts: streamTs,
});
👍🏻 Feedback Buttons

Add feedback buttons to the bottom of a message, after stopping a text stream, to gather user feedback:

const feedbackBlock = {
    type: 'context_actions',
    elements: [{
        type: 'feedback_buttons',
        action_id: 'feedback',
        positive_button: {
            text: { type: 'plain_text', text: 'Good Response' },
            accessibility_label: 'Submit positive feedback on this response',
            value: 'good-feedback',
        },
        negative_button: {
            text: { type: 'plain_text', text: 'Bad Response' },
            accessibility_label: 'Submit negative feedback on this response',
            value: 'bad-feedback',
        },
    }],
};

// Using the Text Streaming Helper
await streamer.stop({ blocks: [feedbackBlock] });
// Or, using the Text Streaming Method
await client.chat.stopStream({
    blocks: [feedbackBlock],
    channel: channelId,
    ts: streamTs,
});

What's Changed

👾 Enhancements
  • feat: add ai-enabled features text streaming methods, feedback blocks, and loading state in #​2674 - Thanks @​zimeg!
🐛 Bug fixes
  • Fix: allows Assistant say function to properly pass metadata in #​2569 - Thanks @​jamessimone!
  • refactor: check payload type before extracting assistant thread info in #​2603 - Thanks @​zimeg!
  • fix: better ES module support for App class in #​2632 - Thanks @​malewis5!
  • fix(typescript): accept empty list of suggested prompts for the assistant class in #​2650 - Thanks @​zimeg!
📚 Documentation
🤖 Dependencies

Note

PR body was truncated to here.


Configuration

📅 Schedule: (in timezone Europe/Berlin)

  • Branch creation
    • "every 2 weeks on Monday before 7am"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot requested a review from Lisa-Stubert as a code owner December 16, 2024 01:52
@netlify

netlify Bot commented Dec 16, 2024

Copy link
Copy Markdown

Deploy Preview for sensational-cupcake-14667f ready!

Name Link
🔨 Latest commit 78f839c
🔍 Latest deploy log https://app.netlify.com/projects/sensational-cupcake-14667f/deploys/6a650fc09564650008d558d9
😎 Deploy Preview https://deploy-preview-9--sensational-cupcake-14667f.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch from 0ebd997 to 930eb81 Compare August 3, 2025 16:06
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch from 930eb81 to 8571014 Compare August 23, 2025 19:39
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch from 8571014 to 631cdbf Compare September 1, 2025 15:09
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch from 631cdbf to 7e1f6d4 Compare September 26, 2025 07:30
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch from 7e1f6d4 to 7f425ee Compare October 9, 2025 02:53
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch from 7f425ee to 9af5e11 Compare October 25, 2025 20:04
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch from 9af5e11 to da9d06c Compare November 2, 2025 07:48
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch 2 times, most recently from 6d659d2 to 979d60a Compare November 19, 2025 03:58
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch from 979d60a to 97445c2 Compare December 5, 2025 08:12
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch from 97445c2 to 538bfc6 Compare January 1, 2026 03:24
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch from 538bfc6 to d89504c Compare January 8, 2026 23:54
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch from d89504c to a6d86ee Compare January 19, 2026 23:06
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch from a6d86ee to 5f1f536 Compare February 3, 2026 23:36
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch 2 times, most recently from 2f22b4c to f2955bd Compare February 19, 2026 11:48
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch 2 times, most recently from ea9a584 to bdf3b5e Compare March 14, 2026 23:55
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch from bdf3b5e to f7cd16f Compare April 15, 2026 19:48
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch 2 times, most recently from b81b842 to e1ca693 Compare May 7, 2026 20:04
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch 2 times, most recently from f602534 to afdc944 Compare May 16, 2026 14:29
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch from afdc944 to 362dc77 Compare May 23, 2026 10:40
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch 2 times, most recently from e937c7a to 7474203 Compare June 5, 2026 23:58
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch from 7474203 to 3fce7b7 Compare June 13, 2026 11:41
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch from 3fce7b7 to c3b4304 Compare July 18, 2026 03:43
@renovate
renovate Bot force-pushed the renovate/slack-bolt-4.x branch from c3b4304 to 78f839c Compare July 25, 2026 19:34
@renovate renovate Bot changed the title fix(deps): update dependency @slack/bolt to v4 fix(deps): update dependency @slack/bolt to v4 - autoclosed Jul 30, 2026
@renovate renovate Bot closed this Jul 30, 2026
@renovate
renovate Bot deleted the renovate/slack-bolt-4.x branch July 30, 2026 07:47
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.

0 participants