Skip to content

Fix/whatsapp lid allowlist match#544

Closed
JohnYin-hub wants to merge 38 commits into
mainfrom
fix/whatsapp-lid-allowlist-match
Closed

Fix/whatsapp lid allowlist match#544
JohnYin-hub wants to merge 38 commits into
mainfrom
fix/whatsapp-lid-allowlist-match

Conversation

@JohnYin-hub

Copy link
Copy Markdown
Contributor

已从最新 dev 新建分支并完成修复。
分支:
fix/whatsapp-lid-allowlist-match
远程地址:
https://github.com/AgentFlocks/flocks/tree/fix/whatsapp-lid-allowlist-match
最新提交:
fb794ab fix: match whatsapp lid aliases in dispatcher allowlist
修复内容:
Dispatcher 层对 WhatsApp 通道的 allowlist 不再使用简单字符串匹配。
当 msg.channel_id == "whatsapp" 时,复用 WhatsApp 的 matches_identifier,支持:25482795991095
25482795991095@lid
这两种格式互相匹配。

DM allowlist 和群消息 allowlist 都已覆盖。
其他通道仍保持原来的精确匹配逻辑,不扩大影响面。
验证已通过:
uv run --group dev python -m pytest tests/channel/test_whatsapp.py tests/channel/test_channel.py::TestCheckAllowlist29 个测试通过

git diff --check 通过
npm run build 通过

github-actions Bot and others added 30 commits July 8, 2026 08:25
…n-6a1bb22fd8b3

chore: sync main into dev after main-6a1bb22fd8b3
fix(webui): serve static assets with stable MIME types
docs(onesig): align skill with strategy api v2.5.3
Add shared frontend resources for common data hooks, consolidate SessionChat feature logic, lazy-load heavier UI paths, and bound SSE fan-out/backpressure so concurrent sessions and workflows create less browser and server load.
Reuse lightweight tool summaries for paginated search/filter requests and invalidate the snapshot when tool or API service state changes.

Add route coverage for cache reuse on the tools page.
- enforce session ownership and admin boundaries across shared APIs
- prevent stale caches, dropped events, and lazy chunk recovery failures
- keep cold-start registries concurrent and add regression coverage
Fail closed when the live primary database is moved or replaced, and defer unsafe online recovery to startup.

Preserve quarantined WAL evidence and make offline recovery atomic, non-destructive, and fully validated.
The health check previously required 5 steps (process alive → TCP port → /api/health → GET / SPA). HTTP-level checks (DNS, proxy, filesystem) could intermittently timeout and trigger a false-positive restart after only 2 failures (~10s).

Now only checks:
- process.poll() is None → process alive
- socket.create_connection() succeeds → TCP port open

Both must fail for a restart to trigger. HTTP-level timeouts no longer cause daemon to kill the backend.

Closes #537
fix(supervisor): remove HTTP health check, use pure liveness probe
Preserve last-known-good tool state and expose structured partial refresh outcomes.

Serialize concurrent loading paths and keep UI feedback aligned with active requests.
duguwanglong and others added 8 commits July 14, 2026 11:14
Use pure ASGI middleware for security headers, instance context, request logging, authentication, and static WebUI handling. Preserve auth-hook request body replay and disconnect semantics with focused regression coverage.
fix(server): replace task-spawning HTTP middleware
fix: use bundled ca for whatsapp bridge node processes
docs: update README badges and service access guidance
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants