# Android Node Foundation Checklist **Date:** 2026-02-16 **Scope:** Close OpenClaw "Android node" gap with Android push-ready companion support. ## Goal Extend companion-node push registration beyond iOS so Android nodes can register FCM tokens with the same safety model and operator visibility. ## Implemented - Extended node push token protocol: - `node.push_token.set` now accepts `provider: "apns" | "fcm"`. - Added Android/FCM support in node handler runtime: - store provider-specific push metadata in connection state. - `fcm` tokens are accepted without APNs environment/topic requirements. - Preserved secret safety: - `system.nodes` continues exposing only masked `tokenPreview`. - Kept policy model consistent: - still gated by `server.nodes.push.enabled`. - role scopes unchanged (companion-only write path). ## Tests - `src/gateway/protocol.test.ts` - Added valid FCM parse coverage. - `src/gateway/handlers/node.test.ts` - Added FCM push-token registration test for Android companion. - `src/gateway/server.test.ts` - Added end-to-end Android node + `node.push_token.set` + `system.nodes` verification. - Existing auth/config/system tests continue passing. ## Docs Updated - `README.md` node method notes now mention APNs + FCM. - `docs/api/PROTOCOL.md` now documents APNs/FCM provider support for `node.push_token.set`. ## Validation Run ```bash pnpm test:run src/gateway/protocol.test.ts src/gateway/handlers/node.test.ts src/gateway/server.test.ts src/gateway/auth.test.ts src/gateway/handlers/handlers.test.ts src/config/schema.test.ts pnpm typecheck pnpm build ```