mirror of
https://github.com/ipnet-mesh/meshcore-hub.git
synced 2026-10-31 04:02:03 +01:00
- api CLI single-process path now passes spam_detection_enabled / spam_score_threshold to create_app() so the messages hide-filter actually runs in the default (Docker) deployment - OIDC role names (oidc_role_admin/operator/member/test) moved from WebSettings to CommonSettings and wired onto API app.state; the API tier previously matched hardcoded role names, ignoring customized OIDC_ROLE_* config in authz, channel visibility, and tag/adoption checks (oidc_roles_claim stays web-only) - /metrics handler is now sync def so collection runs in the threadpool instead of blocking the event loop; hoisted fragile in-loop imports - evaluate_route_history gates max_path_length on the packet's true hop count (RawPacket.path_len) instead of the prefix-filtered hop list, so history day buckets agree with snapshot evaluation - reload_keys clears the decode cache: negatively-cached packets for a newly added channel key were permanently dropped by the normalizer Also documents 'sudo npx playwright install-deps chromium' in the AGENTS.md e2e setup.