This repository was archived by the owner on Oct 9, 2025. It is now read-only.

Description
Bug report
Describe the bug
When sending byte-arrays to postgres using it's hex-format (e.g. nonce: "\xe2cf51076254e9e0b9b89690448263f3bd35a33224a693f6") this works perfectly fine while utilising standard supabase functions.
But when using a subscription it returns a different String (e.g. nonce: "\x653263663531303736323534653965306239623839363930343438323633663362643335613333323234613639336636") that looks like a dec number instead of a hex number. I couldn't find out how supabase creates the returned string.
To Reproduce
- create a subscription for a table with a column with type byta.
supabase
.channel("bytea-channel")
.on(
{ event: "INSERT", schema: "public", table: "orders_message" },
(payload) => {
console.log("bytea payload", payload.new.bytea);
});
-
insert a bytea String (nonce: "\x64b03fd2f59f05703f2fdefb4aa74ddf6b0eb0990a90833c")
-
take a look at the output "bytea payload \x653263663531303736323534653965306239623839363930343438323633663362643335613333323234613639336636"
Expected behavior
- Return the same (correct) bytea string as the one being returned when using the normal
supabase.from().select when using real time subscriptions
System information
- OS: any OS. any Browser. Using supabase-(free)-hosting from supabase.
Could be an issue of the supabase.js library. But it seems like supabase itself is doing something wrong.