Fix/whatsapp lid allowlist match#544
Closed
JohnYin-hub wants to merge 38 commits into
Closed
Conversation
…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.
…ndles fix/sqlite recovery stale handles
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.
perf/webui load optimization
Codex/whatsapp channel
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
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.
已从最新 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 通过