Describe the bug
Creating or editing a Cron HTTP job in Supabase Studio handles SQL-escaped apostrophes incorrectly.
If the job body or headers contain a single quote ('), for example can''t in the stored SQL value, the Create/Edit Job flow shows or stores corrupted values instead of the original semantic value. It also collapses meaningful double spaces inside the JSON body.
To Reproduce
- Open the SQL Editor.
- Run:
create extension if not exists pg_cron;
create extension if not exists pg_net;
select cron.schedule(
'ui_repro_http_literal_parse',
'0 0 1 1 *',
$$
select net.http_post(
url:='https://example.com/api/endpoint',
headers:='{"X-Text":"can''t"}'::jsonb,
body:='{"message":"hello there","text":"can''t"}'::jsonb,
timeout_milliseconds:=5000
);
$$
);
- Go to
Integrations -> Cron -> Jobs.
- Find
ui_repro_http_literal_parse.
- Open the row menu and click
Edit job.
- Check the parsed
HTTP Request Body and header values.
Expected behavior
The edit form should show the original semantic values:
- Header value:
can't
- Body value:
{"message":"hello there","text":"can't"}
Screenshots
If needed, I can provide screenshots of the Edit Job form showing the corrupted parsed values
Describe the bug
Creating or editing a Cron HTTP job in Supabase Studio handles SQL-escaped apostrophes incorrectly.
If the job body or headers contain a single quote (
'), for examplecan''tin the stored SQL value, the Create/Edit Job flow shows or stores corrupted values instead of the original semantic value. It also collapses meaningful double spaces inside the JSON body.To Reproduce
Integrations -> Cron -> Jobs.ui_repro_http_literal_parse.Edit job.HTTP Request Bodyand header values.Expected behavior
The edit form should show the original semantic values:
can't{"message":"hello there","text":"can't"}Screenshots
If needed, I can provide screenshots of the Edit Job form showing the corrupted parsed values