PhoenixKitWeb.SyncWebsock (phoenix_kit v1.7.71)

Copy Markdown View Source

WebSock handler for DB Sync module.

Uses WebSock directly (not Phoenix.Socket/Channel) to avoid cross-OTP-app channel supervision issues.

Authentication Types

Supports two authentication methods:

  1. Session-based (:session) - Ephemeral sessions for manual transfers

    • Uses 8-character session codes
    • Tied to sender's LiveView process
  2. Connection-based (:connection) - Permanent connections

    • Uses auth tokens stored in database
    • Subject to access controls (allowed tables, limits, etc.)

Message Protocol

All messages are JSON arrays in Phoenix channel format: [join_ref, ref, topic, event, payload]

Supported events:

  • phx_join - Join the transfer session
  • request:capabilities - Get server capabilities
  • request:tables - List available tables
  • request:schema - Get table schema
  • request:count - Get record count
  • request:records - Fetch records with pagination