From 68b95a6b0858629e10761668f4cbca94ba045243 Mon Sep 17 00:00:00 2001 From: ThanhNguyxn Date: Mon, 26 Jan 2026 16:19:21 +0700 Subject: [PATCH 1/3] fix(whatsapp): apply humanDelay to block streaming replies Fixes #2116 --- src/web/auto-reply/monitor/process-message.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/web/auto-reply/monitor/process-message.ts b/src/web/auto-reply/monitor/process-message.ts index 84f03cf0b..6340f1780 100644 --- a/src/web/auto-reply/monitor/process-message.ts +++ b/src/web/auto-reply/monitor/process-message.ts @@ -1,4 +1,4 @@ -import { resolveIdentityNamePrefix } from "../../../agents/identity.js"; +import { resolveHumanDelayConfig, resolveIdentityNamePrefix } from "../../../agents/identity.js"; import { resolveChunkMode, resolveTextChunkLimit } from "../../../auto-reply/chunk.js"; import { formatInboundEnvelope, @@ -327,6 +327,7 @@ export async function processMessage(params: { dispatcherOptions: { responsePrefix, responsePrefixContextProvider: prefixContext.responsePrefixContextProvider, + humanDelay: resolveHumanDelayConfig(params.cfg, params.route.agentId), onHeartbeatStrip: () => { if (!didLogHeartbeatStrip) { didLogHeartbeatStrip = true; From b58edde8c1e0ca2c4f3600df46310e0bdd0b9fa6 Mon Sep 17 00:00:00 2001 From: ThanhNguyxn Date: Tue, 27 Jan 2026 12:23:47 +0700 Subject: [PATCH 2/3] style(macos): use if expression for conditional assignment (swiftformat) --- apps/macos/Sources/Moltbot/AppState.swift | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/apps/macos/Sources/Moltbot/AppState.swift b/apps/macos/Sources/Moltbot/AppState.swift index 627e5851f..689b1a61b 100644 --- a/apps/macos/Sources/Moltbot/AppState.swift +++ b/apps/macos/Sources/Moltbot/AppState.swift @@ -418,11 +418,10 @@ final class AppState { let trimmedUser = parsed.user?.trimmingCharacters(in: .whitespacesAndNewlines) let user = (trimmedUser?.isEmpty ?? true) ? nil : trimmedUser let port = parsed.port - let assembled: String - if let user { - assembled = port == 22 ? "\(user)@\(host)" : "\(user)@\(host):\(port)" + let assembled = if let user { + port == 22 ? "\(user)@\(host)" : "\(user)@\(host):\(port)" } else { - assembled = port == 22 ? host : "\(host):\(port)" + port == 22 ? host : "\(host):\(port)" } if assembled != self.remoteTarget { self.remoteTarget = assembled From 67e2d0b4fb4ab5fcc1f5a304a4feb05b6fa345e3 Mon Sep 17 00:00:00 2001 From: ThanhNguyxn Date: Fri, 30 Jan 2026 22:56:50 +0700 Subject: [PATCH 3/3] ci: skip submodule update when no .gitmodules --- .github/workflows/ci.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 885d87fcb..a2abe26ca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,6 +16,10 @@ jobs: - name: Checkout submodules (retry) run: | set -euo pipefail + if [ ! -f .gitmodules ]; then + echo "No .gitmodules found; skipping submodule update." + exit 0 + fi git submodule sync --recursive for attempt in 1 2 3 4 5; do if git -c protocol.version=2 submodule update --init --force --depth=1 --recursive; then @@ -101,6 +105,10 @@ jobs: - name: Checkout submodules (retry) run: | set -euo pipefail + if [ ! -f .gitmodules ]; then + echo "No .gitmodules found; skipping submodule update." + exit 0 + fi git submodule sync --recursive for attempt in 1 2 3 4 5; do if git -c protocol.version=2 submodule update --init --force --depth=1 --recursive; then @@ -217,6 +225,10 @@ jobs: - name: Checkout submodules (retry) run: | set -euo pipefail + if [ ! -f .gitmodules ]; then + echo "No .gitmodules found; skipping submodule update." + exit 0 + fi git submodule sync --recursive for attempt in 1 2 3 4 5; do if git -c protocol.version=2 submodule update --init --force --depth=1 --recursive; then @@ -293,6 +305,10 @@ jobs: - name: Checkout submodules (retry) run: | set -euo pipefail + if [ ! -f .gitmodules ]; then + echo "No .gitmodules found; skipping submodule update." + exit 0 + fi git submodule sync --recursive for attempt in 1 2 3 4 5; do if git -c protocol.version=2 submodule update --init --force --depth=1 --recursive; then @@ -389,6 +405,10 @@ jobs: - name: Checkout submodules (retry) run: | set -euo pipefail + if [ ! -f .gitmodules ]; then + echo "No .gitmodules found; skipping submodule update." + exit 0 + fi git submodule sync --recursive for attempt in 1 2 3 4 5; do if git -c protocol.version=2 submodule update --init --force --depth=1 --recursive; then