Reference
Messaging parity checklist
Named FluxyChat features aligned with Sendbird and Stream: pinning, profanity filters, push channels, and where to configure them.
Use this checklist when comparing FluxyChat to competitor docs or sales RFPs. Each item maps to a production module and a configuration surface in the dashboard or API.
Message pinning
| What | Where |
|---|---|
| Pin message in room | Room slash command /pin or moderator REST |
| Persisted pin state | D1 room_pins and Room DO broadcast |
| Dashboard | Rooms, open room, pinned message indicator |
Pinning is room-scoped, not global inbox pinning. For cross-room highlights use the activity feed (/user/activity-feed).
Profanity and spam filter
| What | Where |
|---|---|
| Toxicity and spam labels | moderation-labels.js on ingest |
| Rate limits | Per-IP, per-user, per-room WS and HTTP RPM |
| Block list and allow list | /moderation dashboard and tenant policy rows |
| Agent redaction | LLM middleware hooks before external providers |
In the compare matrix this appears as automated moderation labels plus rate limits, not a standalone profanity API.
Push notification channels
| Channel | Register | Send | Docs |
|---|---|---|---|
| Web Push (VAPID) | POST /push/web/subscribe | Worker self-host | Web Push VAPID |
| Android FCM | POST /push/devices (fcm) | Legacy key or HTTP v1 | Mobile push |
| iOS APNs | POST /push/devices (apns) | ES256 JWT HTTP/2 | Mobile push |
| Delivery acknowledgement | POST /push/delivery-ack | SDK acknowledgePushDelivery() | Mobile push |
Admin config: dashboard Settings → Push (/settings/push) or PUT /push/config per environment.
CSAT and support vertical
| Feature | Endpoint / UI |
|---|---|
| Canned responses | /support/canned-responses, /settings/support |
| Business hours | /support/business-hours |
| Post-chat CSAT | Auto on ticket resolve or handoff end; GET /support/csat/pending?roomId= |
| Ticket from chat | POST /support/tickets/from-room |
Embed widget
| Feature | Config |
|---|---|
| Launcher bubble | /embed dashboard, GET /embed.js |
| Proactive open rules | URL pattern and dwell seconds, auto-open or pulse |
| Origin allowlist | allowedOrigins on embed config |
Related
- Embed widget reference
- Mobile push
- Dashboard compare matrix (
compare-providers.ts)