Skip to content
Back

[Self-hosted] Realtime crashes with "Missing channels" + fatal Swoole\Server::exist() TypeError when

  • 0
  • Self Hosted
  • Web
Jasper
11 May, 2026, 09:19

I'm unable to use the realtime connection on the latest appwrite client (npm)

When connecting to realtime it's getting stuck in a loop

browser prints: Realtime disconnected. Re-connecting in 1 seconds.
Server prints: Connection open (user: 707) [Error] Type: Appwrite\Extend\Exception [Error] Message: Missing channels [Error] File: /usr/src/code/app/realtime.php [Error] Line: 705
Connection close: 707

Fatal error: Uncaught TypeError: Swoole\Server::exist(): Argument #1 ($fd) must be of type int, array given
in /usr/src/code/vendor/utopia-php/websocket/src/WebSocket/Adapter/Swoole.php:54

TypeScript
  import { Account, Channel, Client, Realtime, TablesDB } from "appwrite";

  const client = new Client()
    .setEndpoint(APPWRITE_ENDPOINT)
    .setProject(APPWRITE_PROJECT_ID);
                                                                                                                                                                                        
  const realtime = new Realtime(client);
                                                                                                                                                                                        
  realtime.onOpen(() => {                                                                                                                                                             
    console.log("Realtime connection opened"); // fires, then immediately drops
  });

  realtime.subscribe(
    Channel.tablesdb(DATABASE_ID).table(COLLECTION_ID),
    (event) => {                                                                                                                                                                        
      console.log("Realtime event:", event);
    },                                                                
  );   ```

  When downgrading the SDK to appwrite@24.2.0 it's able to connect to realtime without any issues.
TL;DR
Developers are experiencing issues with a real-time connection in the latest Appwrite client. The browser displays a disconnect message and the server logs show errors related to missing channels and a fatal Swoole\Server::exist() TypeError. Downgrading the SDK to version 24.2.0 resolves the real-time connection problem.
Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more