Skip to content

Breaking change between @supabase/realtime-js version 2.11.15 and 2.12.2 #1611

@hlovdal

Description

@hlovdal

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

The packages @supabase/realtime-js and @supabase/supabase-js, depending on version, produces different and incompatible versions socket.serializer that breaks compilation:

Argument of type 'import("/download/src/github/y-supabase/node_modules/@supabase/realtime-js/dist/module/RealtimeChannel").default' is not assignable to parameter of type 'import("/download/src/github/y-supabase/node_modules/@supabase/supabase-js/node_modules/@supabase/realtime-js/dist/module/RealtimeChannel").default'.
  The types of 'socket.serializer' are incompatible between these types.
    Type 'import("/download/src/github/y-supabase/node_modules/@supabase/realtime-js/dist/module/lib/serializer").default' is not assignable to type 'import("/download/src/github/y-supabase/node_modules/@supabase/supabase-js/node_modules/@supabase/realtime-js/dist/module/lib/serializer").default'.
      Types have separate declarations of a private property '_binaryDecode'.ts(2345)

To Reproduce

Steps to reproduce the behavior, please provide code snippets or a repository:

  1. I attempted to compile https://github.com/AlexDunmow/y-supabase with dependencies updated with npx npm-check-updates@latest --interactive --format group. With package.json containing
        "@supabase/realtime-js": "^2.12.2",
        "@supabase/supabase-js": "^2.52.1",

compilation fails with the error above.

  1. Reverting @supabase/realtime-js to 2.11.15 (since that version is currently used in https://github.com/supabase/supabase-js/blob/master/package.json) makes the error go away.

Expected behavior

This should at minimum be documented as a breaking change between 2.11.15 and 2.12.2.

System information

        "typescript": "^5.8.3",

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingrealtime-jsRelated to the realtime-js library.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions