Conversation
feat(config): tools.alsoAllow additive allowlist
* docs(install): add migration guide for moving to a new machine * chore(changelog): mention migration guide docs --------- Co-authored-by: Pocket Clawd <[email protected]>
* feat(telegram): add silent message option (disable_notification) Add support for sending Telegram messages silently without notification sound via the `silent` parameter on the message tool. Changes: - Add `silent` boolean to message tool schema - Extract and pass `silent` through telegram plugin - Add `disable_notification: true` to Telegram API calls - Add `--silent` flag to CLI `message send` command - Add unit test for silent flag Closes #2249 AI-assisted (Claude) - fully tested with unit tests + manual Telegram testing * feat(telegram): add silent send option (#2382) (thanks @Suksham-sharma) --------- Co-authored-by: Pocket Clawd <[email protected]>
… previews When users send iMessages containing URLs, BlueBubbles sends separate webhook events for the text message and the URL balloon/link preview. This caused Clawdbot to receive them as separate queued messages. This fix adds inbound debouncing (following the pattern from WhatsApp/MS Teams): - Uses the existing createInboundDebouncer utility from plugin-sdk - Adds debounceMs config option to BlueBubblesAccountConfig (default: 500ms) - Routes inbound messages through debouncer before processing - Combines messages from same sender/chat within the debounce window - Handles URLBalloonProvider messages by coalescing with preceding text - Skips debouncing for messages with attachments or control commands Config example: channels.bluebubbles.debounceMs: 500 # milliseconds (0 to disable) Fixes inbound URL message splitting issue.
…e error logging This commit removes the URL balloon message handling logic from the monitor, simplifying the message processing flow. Additionally, it enhances error logging by including the account ID in the error messages for better traceability.
…iting and improve input handling
- Add isHeartbeat to AgentRunContext to track heartbeat runs - Pass isHeartbeat flag through agent runner execution - Suppress webchat broadcast (deltas + final) for heartbeat runs when showOk is false - Webchat uses channels.defaults.heartbeat settings (no per-channel config) - Default behavior: hide HEARTBEAT_OK from webchat (matches other channels) This allows users to control whether heartbeat responses appear in the webchat UI via channels.defaults.heartbeat.showOk (defaults to false).
The async setTimeout callback re-threw errors without a .catch() handler, causing unhandled promise rejections that crashed the gateway. The error is already logged by the heartbeat runner and a retry is scheduled, so the re-throw served no purpose. Co-Authored-By: Claude Opus 4.5 <[email protected]>
…wfinkelstein) # Conflicts: # CHANGELOG.md
Replace raw error messages with generic 'Internal Server Error' to prevent leaking internal error details to unauthenticated HTTP clients. Fixes #2383
Add evictOldHistoryKeys() function that removes oldest keys when the history map exceeds MAX_HISTORY_KEYS (1000). Called automatically in appendHistoryEntry() to bound memory growth. The map previously grew unbounded as users interacted with more groups over time. Growth is O(unique groups) not O(messages), but still causes slow memory accumulation on long-running instances. Fixes #2384
…2403) * fix(security): properly test Windows ACL audit for config includes The test expected fs.config_include.perms_writable on Windows but chmod 0o644 has no effect on Windows ACLs. Use icacls to grant Everyone write access, which properly triggers the security check. Also stubs execIcacls to return proper ACL output so the audit can parse permissions without running actual icacls on the system. Adds cleanup via try/finally to remove temp directory containing world-writable test file. Fixes checks-windows CI failure. * test: isolate heartbeat runner tests from user workspace * docs: update changelog for #2403 --------- Co-authored-by: Tyler Yust <[email protected]>
- Add bot.catch() to prevent unhandled rejections from middleware - Add isRecoverableNetworkError() to retry on transient failures - Add maxRetryTime and exponential backoff to grammY runner - Global unhandled rejection handler now logs recoverable errors instead of crashing (fetch failures, timeouts, connection resets) Fixes crash loop when Telegram API is temporarily unreachable.
Co-authored-by: techboss <[email protected]>
dgarson
added a commit
that referenced
this pull request
Feb 2, 2026
feat: massive UI overhaul; add Overseer/Continuation support
dgarson
added a commit
that referenced
this pull request
Feb 4, 2026
dgarson
pushed a commit
that referenced
this pull request
Feb 4, 2026
dgarson
pushed a commit
that referenced
this pull request
Feb 4, 2026
dgarson
added a commit
that referenced
this pull request
Feb 7, 2026
…#208) * feat: added work-queue workflow workers and a worker manager, integrate w/cron * fix: address 12 logic flaws in workflow engine, adapter, phases, and cron types - engine: capture phase before clobbering in catch handler (#1) - engine: remove dead `state.plan ?? plan` fallback (#2) - engine: mark workflow failed when all execution nodes fail (#6) - adapter: fix retry count off-by-one (attemptNumber vs retryCount) (#3) - adapter: clean up abort listener in sleep on timeout (#10) - discover: fix batch/entries index mismatch when spawns fail (#4) - execute: add cycle detection to topological sort (#5) - review: add autoApproved flag to distinguish fallback approvals (#7) - plan: add comment clarifying sessionKey reuse across repair attempts (#8) - decompose: remove unused model/maxPhases/maxTasksPerPhase/maxSubtasksPerTask opts (#9) - types: add autoApproved to ReviewIteration (#7) - cron/state: use discriminated union for CronEvent (CronJobEvent | CronHealthEvent) (#12) - tests: add WorkflowWorkerAdapter test suite (8 tests) (#11) https://claude.ai/code/session_01L8kquwpmUh5zmU9S4MHgPu --------- Co-authored-by: Claude <[email protected]>
dgarson
added a commit
that referenced
this pull request
Feb 7, 2026
…cron types (openclaw#217) - engine: capture phase before clobbering in catch handler (#1) - engine: remove dead `state.plan ?? plan` fallback (#2) - engine: mark workflow failed when all execution nodes fail (#6) - adapter: fix retry count off-by-one (attemptNumber vs retryCount) (#3) - adapter: clean up abort listener in sleep on timeout (#10) - discover: fix batch/entries index mismatch when spawns fail (#4) - execute: add cycle detection to topological sort (#5) - review: add autoApproved flag to distinguish fallback approvals (#7) - plan: add comment clarifying sessionKey reuse across repair attempts (#8) - decompose: remove unused model/maxPhases/maxTasksPerPhase/maxSubtasksPerTask opts (#9) - types: add autoApproved to ReviewIteration (#7) - cron/state: use discriminated union for CronEvent (CronJobEvent | CronHealthEvent) (#12) - tests: add WorkflowWorkerAdapter test suite (8 tests) (#11) https://claude.ai/code/session_01L8kquwpmUh5zmU9S4MHgPu Co-authored-by: Claude <[email protected]>
dgarson
added a commit
that referenced
this pull request
Feb 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.