feat(fleet): F4 Phase 2a — Matrix CS-API connector client + factory #618
Reference in New Issue
Block a user
Delete Branch "feat/f4-matrix-client"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
F4 Phase 2a — Matrix CS-API connector client + factory (#616)
The Matrix connector behind the F4 abstraction (#617). Speaks the Matrix client-server API directly over HTTPS (injectable fetch, no SDK) — homeserver-agnostic (Conduit default, Synapse alt).
What it does
MatrixConnector implements OrchestratorConnector:send→PUT …/rooms/{room}/send/m.room.message/{txn}(thread-aware viam.thread), returnsevent_id.subscribe→/synclong-poll loop driven by the pureparseSyncResponse(skips the orchestrator's own echoes; carriesthreadId).health→/_matrix/client/versions(reachable) +/account/whoami(authed against the configured user).buildMessageBody+parseSyncResponsemake send/receive unit-testable without running the loop or a live homeserver.registerMatrixConnector(env)registers the factory; access token fromMATRIX_ACCESS_TOKEN, never the roster.Verification
connectors/module — nofleet.tschanges.Stacking
Stacked on #617 (F4 Phase 1 — the types/registry). Merge order: #617 → this. Rebases onto main after #617 lands (the #617 commit drops, leaving the Matrix-client diff).
Remaining Phase 2 (follow-ups)
init/configure connector-selection UX + roster-parse wiring (touches
fleet.ts— after #615 lands to avoid churn); systemd launch wiring so the orchestrator boots on the chosen connector; Conduit deploy guide.🤖 Generated with Claude Code
aefcc9b5c0toeed12bd4ba