ArrayDecoder doesn't handle escaped backslashes in quoted PostgreSQL array elements
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 74/100
Direzione di ricerca
Inizia in packages/elixir-client/lib/electric/client/ecto_adapter/array_decoder.ex, concentrandoti sulla funzione decode_quoted_elem e sulla gestione degli elementi di array PostgreSQL tra virgolette. Riproduci l'esempio con una barra rovesciata con escape, quindi verifica che le barre rovesciate con escape vengano decodificate in una singola barra rovesciata letterale, mentre le virgolette con escape mantengano il comportamento attuale.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
The decode_quoted_elem function in packages/elixir-client/lib/electric/client/ecto_adapter/array_decoder.ex does not correctly handle escaped backslashes in quoted PostgreSQL array elements.
PostgreSQL array format requires \\ (escaped backslash) in quoted strings to be decoded as a single backslash \, similar to how \" decodes to a quote. The current implementation only handles escaped quotes but treats backslashes as regular UTF8 characters, causing arrays containing literal backslashes to be decoded incorrectly—each \\ results in two backslashes instead of one.
Example
A PostgreSQL array like {"a\\\\b"} should decode to ["a\\b"], but currently decodes to ["a\\\\b"].
Context
This issue was identified during review of PR #3699 but is pre-existing in the codebase and not introduced by that PR.
References
- PR: https://github.com/electric-sql/electric/pull/3699
- Comment: https://github.com/electric-sql/electric/pull/3699#discussion_r2690724545
- Reported by: @robacourt
- Lingua principale
- TypeScript
- Stelle
- 10.4k
- Fork
- 399
- Merge medio
- 22h 11m
- PR unite (30g)
- 5
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di electric-sql/electric
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
electric-sql/electric#4830 ·
I maintainer di solito rispondono entro 1 giorno
-
@electric-sql/client throws SecurityError on import when the browser blocks site storage (typeof localStorage outside try)Forse già presa @mohanedmoh l’ha presa 17 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
electric-sql/electric#4826 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
agents-chat-starter: spawn PUT goes to the durable-streams proxy, so no entity is created and agents never wakeForse già presa @adityavkk l’ha presa 113 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
electric-sql/electric#4687 ·
I maintainer di solito rispondono entro 1 giorno
-
Listen IP addressApertafeature request triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
electric-sql/electric#4150 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
ShapeStream stops for good when a response body is cut off mid-readForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertatriage
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
electric-sql/electric#4843 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di electric-sql/electric
Issue simili
-
e2e-failure ready-to-code
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
redhat-developer/rhdh-plugin-export-overlays#4580 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
devdotfast/whiteboard#1415 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area/sessions comp/desktop desktop/sessions P2 type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
NousResearch/hermes-agent#145383 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement p2 setup
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
vercel/eve#5419 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno