Commit graph

142 commits

Author SHA1 Message Date
cbbf373b6a Restrict delivery HTTP to loopback and fix grant races.
Require trusted loopback requests for proactive send, accept hyphenated WhatsApp group JIDs, and serialize access-grant mutations to avoid lost concurrent updates.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 14:45:37 +08:00
356538ac18 Improve WhatsApp delivery suggestions and peer labels (ops.30).
Surface chat/access-list contacts as selectable targets with clearer nicknames, and keep conversation peers usable for ops schedulers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 02:31:42 +08:00
6d2229acd2 Bump bundled client version string to 4.9.1-ops.22.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 19:25:20 +08:00
a92080e490 Hide WhatsApp LID ids from session-header peer labels (4.9.1-ops.21).
Resolve nickname/phone via contact LID mapping and show only group title, pushName, and phone.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 19:14:38 +08:00
37742043a9 Show WhatsApp channel peer next to Agent Preset in session header (4.9.1-ops.20).
Plugins inject conversation.session.header.actions; resolve sessionId back to the bound chat and render nickname/phone or group title.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 19:10:07 +08:00
2718586fda Add per-DM and per-group Agent Preset overrides (4.9.1-ops.19).
Access grants can pin an agentPreset on direct members and groups; new sessions resolve override over the bot-global preset.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 18:53:43 +08:00
7993499273 Stop contact action buttons from invading the source column (4.9.1-ops.18).
The shared 72px actions width was crushing the contact table; give that column real space.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 18:20:06 +08:00
9baddba579 Keep contact grant actions on one horizontal row (4.9.1-ops.17).
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 18:17:11 +08:00
e4cdb6f60a Show auto-collected contacts in a table (4.9.1-ops.16).
Align nickname, phone, source, and grant actions like the other access lists.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 18:14:13 +08:00
a10d900a7b Use table layout for access-grant people lists (4.9.1-ops.15).
Nickname, phone, permission, and actions sit in aligned columns with headers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 18:08:59 +08:00
a59a09e0d2 Align access rows and theme native selects for dark mode (4.9.1-ops.14).
Use a shared three-column grid for admin/member rows, and inherit DSH color-scheme so channel/command dropdowns stay readable.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 18:04:25 +08:00
43f082d2e3 Replace IM channel rail with a top dropdown (4.9.1-ops.13).
Give the settings panel the full right-pane width instead of a left channel list.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 17:57:40 +08:00
ec96b4d6eb Compact access-grant member/admin rows for denser editing (4.9.1-ops.12).
Use flex-wrap rows so phone, command, and delete stay tight and soft-wrap only when the panel is too narrow.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 17:50:33 +08:00
87e44bd36e Hide fully authorized contacts from the quick-grant list (4.9.1-ops.11).
Recent contacts only show people who still need DM or group access actions.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 17:44:17 +08:00
f96157da1e Sync WhatsApp group subjects into access UI (4.9.1-ops.10).
Refresh missing/forced group titles via groupMetadata and participating catalog so cards show real names instead of bare JIDs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 17:39:25 +08:00
a169b164a8 Show WA nicknames and auto-fill group subjects in access UI (4.9.1-ops.9).
Fetch groupMetadata.subject on @mentions for group cards; render contact pushName under phone rows so admins are not staring at bare numbers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 17:29:43 +08:00
e8e58924ca Polish access-grant UI: no sticky typeahead overlay, flatter group cards (4.9.1-ops.8).
Suggestions only open while focused and hide exact matches; nested group admins/members drop extra frames; pending and actions show group names.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 17:20:53 +08:00
a4508a7caa Load WhatsApp accessGrant into bot settings (4.9.1-ops.7).
Settings button only forwarded accessPolicy, so the graded ACL page always opened empty; also refresh grant from connection.status on mount.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 17:12:24 +08:00
93672dfd91 Fix WhatsApp access settings showing empty grant state (4.9.1-ops.6).
Client normalizeBot dropped accessGrant/groupSessionScope, so pending, contacts, and group cards never appeared. Also record contacts only on DM/@, auto-create group buckets on @, and add one-click grant buttons.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 17:05:16 +08:00
a0c49707a1 Fix access-grant phone inputs losing focus after each keystroke.
Row keys included the phone value, so each character remounted the input; also sync draft from serialized grant content, not object identity.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 16:50:42 +08:00
9f97c44031 Add WhatsApp graded phone ACL (4.9.1-ops.4).
Replace allowlist-only gating with phone-scoped grants: global admins, DM members, per-group admins/members, pending approval via quote YES/NO or settings UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 16:45:21 +08:00
e5e1e6573a Strip WhatsApp @bot LID tokens from inbound group text.
Mention triggers leave opaque LID digits in the body; remove those only,
without injecting sender identity (use context enhancement when needed).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 16:04:55 +08:00
d9edca4d5f Fix WhatsApp group access when senders are opaque LIDs.
Resolve LID to phone aliases before allowlist and @mention checks so
group prompts are not silently dropped after a working direct chat.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 15:56:24 +08:00
7f1b9bd480 Add configurable group session scope (default user_in_chat).
Ops bots now isolate per-speaker Harness sessions in groups, with a
settings/RPC toggle to restore shared chat sessions when needed.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 15:39:28 +08:00
d10a941fc8 Fix client ModuleLoader id to dsh-im-ops after package rename.
GitHub installs still shipped the upstream @xmanrui/dsh-im client id, so the web shell loaded the bundle without registering the plugin.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 15:21:26 +08:00
xmanrui
965e839457 chore: release v4.9.1 2026-09-04 03:26:39 +08:00
xmanrui
1b05fa8d32 fix: add actionable DingTalk connection diagnostics 2026-09-04 02:18:18 +08:00
xmanrui
3010535409 chore: release v4.9.0 2026-09-03 10:19:06 +08:00
xmanrui
537fca8a14 fix context tooltip clipping 2026-09-03 00:30:18 +08:00
xmanrui
275dafbf19 chore: release v4.8.0 2026-09-02 23:48:02 +08:00
Chan
3562b9244e
feat(context-enhancement): 新增 chatId 与 threadId 来源字段 (#128)
Add chatId and threadId source fields across all nine IM channels, update UI/docs/tests, reconcile the latest main branch, and credit @Chan-0312 as a contributor.
2026-09-02 23:28:53 +08:00
xmanrui
3c71712962 fix: support current directory picker errors 2026-09-02 23:18:28 +08:00
xmanrui
88ef12ecc8 chore: release v4.7.0 2026-09-02 03:03:00 +08:00
xmanrui
52deb872aa chore: release v4.6.0 2026-09-02 01:39:29 +08:00
xmanrui
94e114b9b3 fix: preserve quoted message context across channels 2026-09-02 01:27:35 +08:00
xmanrui
c2be2389b0 chore: release v4.5.0 2026-09-01 22:39:47 +08:00
曜 星
7a68e94f54 feat: add conversationTitle to context enhancement
Pass inbound group titles into <dsh_im_source> without extra platform API lookups.
DingTalk uses conversationTitle; Telegram groups use chat.title.
2026-09-01 17:15:17 +08:00
xmanrui
13fc85cdce chore: release v4.4.0 2026-09-01 12:33:36 +08:00
xmanrui
840e5aa857 feat: add unified IM access policies 2026-09-01 10:46:41 +08:00
xmanrui
009f1abec9 feat: add tabs to bot settings 2026-09-01 02:31:57 +08:00
xmanrui
08368c135c chore: release v4.3.0 2026-09-01 02:09:33 +08:00
xmanrui
75ebaebf2e feat: split group and direct context enhancement 2026-09-01 02:06:22 +08:00
xmanrui
a0845a7a25 chore: release v4.2.1 2026-08-31 03:33:15 +08:00
xmanrui
14519060f0 fix(telegram): isolate long polling transport 2026-08-31 03:31:07 +08:00
xmanrui
02ddea0054 chore: release v4.2.0 2026-08-31 01:38:31 +08:00
xmanrui
347acceffb fix(feishu): integrate slash command permissions 2026-08-31 01:21:38 +08:00
xmanrui
4496c9601e chore: release v4.1.1 2026-08-31 00:50:07 +08:00
xmanrui
e08c3e9576 chore: release v4.1.0 2026-08-30 13:08:14 +08:00
xmanrui
32c6d48857 refine bot delivery settings labels 2026-08-30 13:03:57 +08:00
xmanrui
31792d7bc8 feat: add stable proactive delivery 2026-08-30 11:24:53 +08:00