Peter Steinberger
77ae497e93
Merge pull request #600 from samratjha96/fix/discord-duplicate-messages
...
fix(queue): deduplicate followup queue entries
2026-01-09 19:45:10 +00:00
Peter Steinberger
702df1adda
fix: dedupe followup queue by message id ( #600 ) (thanks @samratjha96)
2026-01-09 20:44:11 +01:00
Peter Steinberger
225af878f6
Merge pull request #537 from Nachx639/fix/discord-web-provider-activity
...
fix: Discord eventQueue + WhatsApp provider activity accounting
2026-01-09 19:43:27 +00:00
Peter Steinberger
8cb359dd11
fix: align WhatsApp activity account id ( #537 ) (thanks @Nachx639)
2026-01-09 20:42:35 +01:00
Samrat Jha
c91589d311
fix(queue): deduplicate followup queue entries to prevent duplicate responses
...
## Problem
When messages arrived while the agent was busy processing a previous message,
the same message could be enqueued multiple times into the followup queue.
This happened because Discord's event system can emit the same message multiple
times (e.g., during reconnects or due to slow listener processing), and the
followup queue had no deduplication logic.
This caused the bot to respond to the same user message 2-4+ times.
## Solution
Add simple exact-match deduplication in `enqueueFollowupRun()`: if a prompt
is already in the queue, skip adding it again. Extracted into a small
`isPromptAlreadyQueued()` helper for clarity.
## Testing
- Added test cases for deduplication (same prompt rejected, different accepted)
- Manually verified on Discord: single response per message even when multiple
events fire during slow agent processing
2026-01-09 20:40:18 +01:00
Tu Nombre Real
4491e9c8d5
fix(web): pass accountId in WhatsApp provider activity tracking
...
Recent changes added recordProviderActivity calls with accountId, but
the type definition and usage didn't include accountId in ActiveWebSendOptions.
This fix adds the optional accountId field and uses optional chaining
when accessing it to handle cases where options is undefined.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 20:40:03 +01:00
Peter Steinberger
1a3d0bace2
chore: add pnpm app workflow scripts
2026-01-09 19:38:48 +00:00
Peter Steinberger
eed2ac72ef
feat(messages): add whatsapp messagePrefix and responsePrefix auto
2026-01-09 19:29:04 +00:00
Peter Steinberger
b1fd0a73c1
Merge pull request #604 from clawdbot/fix/model-fallback-error-message
...
Fix model fallback error message handling
2026-01-09 19:24:22 +00:00
Peter Steinberger
cc865b3c92
docs: update changelog for model fallback lint fix ( #604 ) (thanks @steipete)
2026-01-09 20:24:08 +01:00
Peter Steinberger
20fc2b3a5e
fix: avoid base-to-string in model fallback
2026-01-09 20:23:00 +01:00
Shadow
6df49ba164
chore: update carbon
2026-01-09 13:22:32 -06:00
Peter Steinberger
278fe8e904
Merge pull request #603 from clawdbot/refactor/ui-chat-split-475
...
refactor(ui): split chat renderers and styles
2026-01-09 19:21:56 +00:00
Peter Steinberger
d56559a063
refactor(ui): split chat renderers and styles
2026-01-09 20:20:06 +01:00
Peter Steinberger
ff848cd51e
Merge pull request #599 from mcinteerj/fix/gemini-tool-schemas
...
fix: simplify tool schemas for Gemini compatibility
2026-01-09 19:19:01 +00:00
Peter Steinberger
1f8e4790b5
fix(messages): restore explicit responsePrefix default
2026-01-09 19:18:34 +00:00
Peter Steinberger
f080127072
fix: simplify session tool schemas for Gemini compatibility ( #599 ) (thanks @mcinteerj)
2026-01-09 20:17:46 +01:00
Peter Steinberger
6d02197bcd
Merge pull request #602 from clawdbot/refactor/model-override-warnings
...
refactor: centralize model override validation
2026-01-09 19:15:51 +00:00
Peter Steinberger
e797d0a62c
refactor: centralize test path containment checks
2026-01-09 19:15:44 +00:00
Keith the Silly Goose
e68973fb3f
fix: simplify tool schemas for Gemini compatibility
...
Replaces Type.Integer with Type.Number and simplifies the sessions_send tool schema to avoid anyOf/oneOf unions that cause 400 errors with Google Cloud Code Assist API.
2026-01-09 20:15:26 +01:00
Peter Steinberger
1e3c8f3380
refactor: centralize model override validation ( #602 ) (thanks @steipete)
2026-01-09 20:15:26 +01:00
Peter Steinberger
865abef566
refactor: centralize model override validation
2026-01-09 20:14:42 +01:00
Shadow
93416106c8
Changelog: add PR 601
2026-01-09 13:06:41 -06:00
Peter Steinberger
75d667e1b0
docs: add messages concept overview
2026-01-09 19:06:14 +00:00
Peter Steinberger
9031406494
Merge pull request #472 from koala73/main
...
feat: add hooks.gmail.model for cheaper Gmail PubSub processing
2026-01-09 19:00:53 +00:00
Martin Púčik
6e4098fcd3
docs: split CLI install commands into separate code blocks ( #601 )
2026-01-09 13:00:50 -06:00
Peter Steinberger
b53f657485
fix: harden Gmail hook model defaults ( #472 ) (thanks @koala73)
2026-01-09 19:59:45 +01:00
Magi Metal
c3336cec4b
Discord: fix DM recipient parsing for bare numeric user IDs ( #596 )
...
Co-authored-by: Shadow <shadow@clawd.bot>
2026-01-09 12:58:25 -06:00
Shadow
f47cdc9820
Docs: pin Carbon dependency
2026-01-09 12:57:58 -06:00
Peter Steinberger
8716955847
Merge pull request #475 from rahthakor/feature/ui-enhancements
...
feat(ui): refactor chat layout with sidebar, message grouping, and nav improvements
2026-01-09 18:54:44 +00:00
Peter Steinberger
f3f5c70db6
fix(ui): landing cleanup ( #475 ) (thanks @rahthakor)
2026-01-09 19:53:32 +01:00
Peter Steinberger
633dd4e4d6
Merge pull request #505 from koala73/feat/whatsapp-media-max-size
...
feat(whatsapp): add configurable media max size
2026-01-09 18:53:04 +00:00
Peter Steinberger
07310951d4
fix: honor whatsapp mediaMaxMb ( #505 ) (thanks @koala73)
2026-01-09 19:51:35 +01:00
rahthakor
053199101f
test(ui): add tests for chat modules and update for icon refactor
...
- Add 21 tests for message-normalizer.ts (normalizeMessage, normalizeRoleForGrouping, isToolResultMessage)
- Add 17 tests for tool-helpers.ts (formatToolOutputForSidebar, getTruncatedPreview)
- Update navigation.test.ts to test iconClassForTab instead of deprecated iconForTab
- Skip focus-mode.browser.test.ts (toggle button moved to settings)
- Skip chat-markdown.browser.test.ts (tool card rendering refactored to sidebar)
- Skip bash-tools.test.ts line offset tests (shell env pollution issue)
2026-01-09 19:47:19 +01:00
Elie Habib
c31ade92b2
feat(whatsapp): add configurable media max size
...
- Add whatsapp.mediaMaxMb config option (default: 50MB)
- Increases default from previous 5MB hardcoded limit
- Allows receiving larger documents/media files
- Per-account override via whatsapp.accounts.*.mediaMaxMb
Fixes #<issue-number> (if applicable)
2026-01-09 19:40:21 +01:00
Elie Habib
84b6e8aa04
docs: add gateway restart guide
2026-01-09 19:39:42 +01:00
Elie Habib
bc6c12f95d
fix: add serveBaseUrl to compactEmbeddedPiSession params
2026-01-09 19:39:42 +01:00
Elie Habib
62dc5e7d81
feat(gateway): add serve feature for sharing files via public URLs
2026-01-09 19:39:42 +01:00
Peter Steinberger
7550ef8192
fix(auto-reply): coalesce block replies and document streaming toggles ( #536 ) (thanks @mcinteerj)
2026-01-09 18:19:55 +00:00
Jake
c289c9afc1
Config: add support for per-provider blockStreaming override
2026-01-09 18:11:27 +00:00
Peter Steinberger
b546fc57e2
docs: changelog for iMessage thread isolation ( #535 ) (thanks @mdahmann)
2026-01-09 18:43:32 +01:00
Peter Steinberger
a9b72db51c
Merge pull request #535 from mdahmann/fix/imessage-groupish-threads
...
imessage: isolate group-ish threads by chat_id
2026-01-09 17:42:42 +00:00
Peter Steinberger
e70fe249e9
test: harden logout path check on windows
2026-01-09 18:39:38 +01:00
Peter Steinberger
a248dc0f4e
refactor: centralize minimax onboarding + keys
2026-01-09 18:37:06 +01:00
Peter Steinberger
ec5aeb6dce
Merge branch 'main' into fix/imessage-groupish-threads
2026-01-09 17:36:15 +00:00
Peter Steinberger
4bae531c9e
fix: stabilize CI path assumptions
2026-01-09 18:35:52 +01:00
Peter Steinberger
10e3389516
test: normalize windows path assertions
2026-01-09 18:32:45 +01:00
Peter Steinberger
083b314881
Merge pull request #592 from clawdbot/docs/hetzner-followups
2026-01-09 17:31:27 +00:00
Peter Steinberger
a1ca8551a3
refactor: add helper for empty assistant content
2026-01-09 18:29:27 +01:00
Peter Steinberger
e1d1465df9
Merge pull request #591 from clawdbot/followup/empty-error-filter
...
refactor: drop empty error messages from session history
2026-01-09 17:24:51 +00:00