Skip to content

REALTIME channel CHANNEL_ERROR after a few hours in supabase.com #1414

@DavidGOrtega

Description

@DavidGOrtega

Bug report

  • I confirm this is a bug with Supabase, not with my own application.
  • I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug

My code is running in node not in background, idle, etc.... After a few hours the client disconnects and DOES ALMOST NOTHING to reconnect.
I have tried to remove all the channels, unregister... NONE of that seems to work.

Trust in Supabase

this.channel = this.supabase.channel('schema-db-changes')
      .on('postgres_changes',
        {
          event: '*',
          schema: 'public',
          table: DEPLOYMENTS_TABLE
        },
        (payload) => {
          this.emit('deploymentChange', payload);
        }
      ).subscribe((status, err) => {
        Logger.info('Supabase deployments channel status:', status);
      });
  }

After a few hours

daemon-1  | 2025-06-06T00:35:09.457264978Z Supabase deployments channel status: SUBSCRIBED
daemon-1  | 2025-06-06T03:10:44.528397534Z Supabase deployments channel status: CHANNEL_ERROR
daemon-1  | 2025-06-06T03:31:45.930803801Z Supabase deployments channel status: CHANNEL_ERROR
daemon-1  | 2025-06-06T03:41:32.255652797Z Supabase deployments channel status: CHANNEL_ERROR
daemon-1  | 2025-06-06T04:05:53.636571958Z Supabase deployments channel status: CHANNEL_ERROR

Try to recover

so I tried to remove the channel and try to register again

.subscribe((status, err) => {
        Logger.info('Supabase deployments channel status:', status);
        
        if (status === 'CHANNEL_ERROR') {
          Logger.error('CHANNEL_ERROR:', JSON.stringify(err));
          this.supabase.removeChannel(this.channel);
          this.setupRealtimeListener();
        }
      });

the result

daemon-1  | 2025-06-06T12:49:04.521578951Z Supabase deployments channel status: CHANNEL_ERROR
daemon-1  | 2025-06-06T12:49:04.521849659Z CHANNEL_ERROR: undefined
daemon-1  | 2025-06-06T12:49:04.522545547Z Supabase deployments channel status: CLOSED
daemon-1  | 2025-06-06T12:49:14.524323649Z Supabase deployments channel status: TIMED_OUT

CHANNEL_ERROR undefined 🤦
Here deleting the channel and try to reconnect ends with CLOSED channel

System information

  • OS: Debian 12
  • Version of supabase-js: 2.49.4
  • Version of Node.js: 18.20.4

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions