Commit 80518f2
committed
Squashed commit of the following:
commit 5193ef7
Author: frdel <38891707+frdel@users.noreply.github.com>
Date: Tue Mar 31 09:47:02 2026 +0200
refactor: change default mode from dedicated to self-chat and reorder UI settings
- Change default mode to self-chat across all modules
- Update README to reflect self-chat as primary mode with security warning
- Move session/media storage from usr/whatsapp to tmp/whatsapp
- Reorder config UI: move Mode above Allowed Numbers
- Add warning banner when allowed_numbers is empty in self-chat mode
- Move Bridge Port and Poll Interval to bottom of settings
- Update mode descriptions to clarify self-chat handles both self
commit 9fece91
Author: frdel <38891707+frdel@users.noreply.github.com>
Date: Tue Mar 31 09:20:35 2026 +0200
refactor: centralize WhatsApp storage paths and improve bridge dependency handling
- Add storage_paths.py helper for consistent session/media/runtime paths
- Replace hardcoded usr/whatsapp paths across all modules
- Fix bridge lock to be event-loop-aware (recreate per loop)
- Add automatic dependency reinstall on startup failures
- Track bridge startup output for better error diagnostics
- Add dependency state tracking with package.json hash validation
- Implement force reinstall when node_modules appears
commit bc511d2
Author: linuztx <linuztx@gmail.com>
Date: Tue Mar 31 09:07:46 2026 +0800
fix: stop poll loop immediately when Node.js is not installed
commit a9554e1
Author: linuztx <linuztx@gmail.com>
Date: Tue Mar 31 08:49:15 2026 +0800
fix: auto-reinstall corrupt node_modules and stop poll loop after repeated bridge failures
_ensure_npm_install now verifies key package exists, not just
node_modules dir. Wipes and reinstalls if corrupt.
Poll loop stops after 5 consecutive bridge start failures instead
of spamming errors and making A0 unusable.
commit 61fa1bf
Author: linuztx <linuztx@gmail.com>
Date: Tue Mar 31 08:38:51 2026 +0800
fix: move allowed_numbers filtering from JS bridge to Python handler
The JS bridge used LIDs (internal WhatsApp identifiers) for sender
matching which never matched actual phone numbers. Moved filtering
to Python handler.py where config is read fresh each poll cycle.
- Add senderNumber (resolved phone) to bridge message payload
- Filter in poll_messages() with normalized number comparison
- Remove --allowed-numbers CLI arg and JS-side filtering
- Fix ensure_bridge_http_up not recording _bridge_config
- Fix falsy empty-dict check in bridge restart detection
commit 64ee177
Author: linuztx <linuztx@gmail.com>
Date: Sat Mar 28 23:34:23 2026 +0800
refactor: move email agent instructions to system prompt and update prompt labels
commit 0f53b41
Author: linuztx <linuztx@gmail.com>
Date: Sat Mar 28 10:59:44 2026 +0800
Add node_modules to gitignore
commit eb6a4d3
Author: linuztx <linuztx@gmail.com>
Date: Sat Mar 28 10:53:59 2026 +0800
Add WhatsApp plugin thumbnail
commit 39bed4f
Author: linuztx <linuztx@gmail.com>
Date: Sat Mar 28 10:51:47 2026 +0800
refactor: rename allowed_users to allowed_numbers across plugin
commit e4991b6
Author: linuztx <linuztx@gmail.com>
Date: Fri Mar 27 21:58:29 2026 +0800
improve: move agent instructions from per-message to system prompt
commit 4f1be15
Author: linuztx <linuztx@gmail.com>
Date: Fri Mar 27 21:00:25 2026 +0800
improve: add macOS port kill support and bridge process destructor cleanup
commit f534975
Author: linuztx <linuztx@gmail.com>
Date: Fri Mar 27 17:09:56 2026 +0800
improve: remove redundant bridge_manager from execute, rely on poll loop finally
commit 9d9dd4b
Author: linuztx <linuztx@gmail.com>
Date: Fri Mar 27 14:41:14 2026 +0800
fix: stop bridge and poll loop when plugin is disabled or toggled off
commit 66b0a7d
Author: linuztx <linuztx@gmail.com>
Date: Fri Mar 27 11:05:58 2026 +0800
improve: fix allowed users input, auto-strip + prefix, log ignored messages
commit 938e7b9
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 23:26:42 2026 +0800
improve: add line break to allowed users description
commit 4ef64b9
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 22:44:55 2026 +0800
feat: convert markdown to WhatsApp formatting before sending replies
commit f549b49
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 22:34:56 2026 +0800
improve: add progress update instructions to system context prompt
commit 66e5d51
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 22:23:32 2026 +0800
fix: stop typing indicator on agent error or generation failure
commit 3dd01cd
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 18:31:38 2026 +0800
improve: persistent typing indicator with poll-based refresh
commit 8d0ec86
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 17:11:25 2026 +0800
Update README.md
commit e664673
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 16:05:44 2026 +0800
feat: add agent prefix to self-chat replies for visual distinction
commit 18c5716
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 15:43:01 2026 +0800
fix: clear typing indicator after sending reply in self-chat mode
commit 7c653c9
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 14:43:06 2026 +0800
improve: merge WhatsApp Link and Disconnect into single Account field
commit 57c95e6
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 14:11:05 2026 +0800
feat: add disconnect account option to switch WhatsApp accounts
commit c626953
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 14:00:00 2026 +0800
improve: move mode description inline and reorder Allow Group after Allowed Users
commit 18a56ea
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 13:44:17 2026 +0800
fix: remove duplicate typing indicator before sending reply
commit 44c90a1
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 13:30:06 2026 +0800
improve: remove sender number from DM prompt
commit 64fe7d0
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 13:17:29 2026 +0800
fix: handle documentWithCaptionMessage wrapper for captioned documents
commit 00b6657
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 13:06:40 2026 +0800
feat: add attachment reader/writer with RFC and download all media types
commit 8041c08
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 11:45:17 2026 +0800
improve: update group prompt and reply instructions
commit 71a6eb7
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 11:26:36 2026 +0800
feat: reply to specific messages in group chats with quote
commit 6bf63eb
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 09:57:34 2026 +0800
feat: detect replies to bot messages in group chats
commit b4492e0
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 09:20:27 2026 +0800
improve: resolve group names and sender LIDs in bridge messages
commit 14e673f
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 04:44:50 2026 +0800
feat: add allow_group toggle to respond only when mentioned in group chats
commit 40f4884
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 03:20:02 2026 +0800
refactor: rename mode value from bot to dedicated
commit 50af7c2
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 02:34:51 2026 +0800
fix: kill orphaned bridge process on port before starting new one
commit 45b21c0
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 02:07:45 2026 +0800
improve: auto-restart bridge when config changes
commit a12183b
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 01:39:55 2026 +0800
feat: add bot and self-chat mode selection for WhatsApp bridge
commit bb8961a
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 00:56:56 2026 +0800
improve: send typing indicator immediately on message receive
commit 84c12b0
Author: linuztx <linuztx@gmail.com>
Date: Thu Mar 26 00:29:04 2026 +0800
feat: add WhatsApp integration plugin with Baileys bridge and QR pairing1 parent 3df7065 commit 80518f2
44 files changed
Lines changed: 5551 additions & 15 deletions
File tree
- plugins
- _email_integration
- extensions/python/system_prompt
- helpers
- prompts
- _telegram_integration/prompts
- _whatsapp_integration
- api
- extensions/python
- job_loop
- monologue_end
- process_chain_end
- system_prompt
- tool_execute_after
- helpers
- prompts
- webui
- whatsapp-bridge
- tests
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
| |||
Lines changed: 24 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
8 | 12 | | |
9 | 13 | | |
10 | 14 | | |
| |||
16 | 20 | | |
17 | 21 | | |
18 | 22 | | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
394 | 394 | | |
395 | 395 | | |
396 | 396 | | |
397 | | - | |
| 397 | + | |
398 | 398 | | |
399 | 399 | | |
400 | 400 | | |
401 | 401 | | |
402 | 402 | | |
403 | 403 | | |
404 | | - | |
405 | | - | |
406 | | - | |
407 | | - | |
408 | | - | |
409 | | - | |
410 | 404 | | |
411 | 405 | | |
412 | 406 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
| 1 | + | |
| 2 | + | |
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
| 1 | + | |
| 2 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
0 commit comments