TypeError: _a.trim is not a function during exposure event
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 38/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- node.js, typescript
- Ambito
- backend
Direzione di ricerca
Inizia dai punti di ingresso dello stack trace in dist/src/exposure/exposure.js (Exposure.canonicalize) e dist/src/exposure/exposure-filter.js (InMemoryExposureFilter.shouldTrack), quindi traccia il percorso con cui i dati di exposure arrivano a questi punti da dist/src/local/client.js. Il report indica che il problema non è stato riprodotto localmente; il lavoro è completato quando i valori di exposure non stringa non causano più eccezioni durante la valutazione delle varianti o il tracciamento delle exposure.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Expected Behavior
The Experiment Node Server SDK should safely handle non-string values when canonicalizing exposure data before calling .trim(). Invalid or unexpected input types should not cause a runtime exception during variant evaluation or exposure tracking.
Current Behavior
A runtime exception is thrown during exposure tracking:
TypeError _a.trim is not a function
/app/node_modules/@amplitude/experiment-node-server/dist/src/exposure/exposure.js:16:93 Exposure.canonicalize
/app/node_modules/@amplitude/experiment-node-server/dist/src/exposure/exposure-filter.js:16:44 InMemoryExposureFilter.shouldTrack
/app/node_modules/@amplitude/experiment-node-server/dist/src/exposure/exposure-service.js:23:37 AmplitudeExposureService.<anonymous>
/app/node_modules/@amplitude/experiment-node-server/dist/src/exposure/exposure-service.js:8:71
/app/node_modules/@amplitude/experiment-node-server/dist/src/exposure/exposure-service.js:4:12 __awaiter
/app/node_modules/@amplitude/experiment-node-server/dist/src/exposure/exposure-service.js:22:16 AmplitudeExposureService.track
/app/node_modules/@amplitude/experiment-node-server/dist/src/local/client.js:149:87 LocalEvaluationClient.evaluateV2
.next/server/chunks/7651.js:19:1755 d.fetchVariants
Possible Solution
Improve input validation earlier in the exposure pipeline.
Steps to Reproduce
We weren't able to reproduce it locally.
Environment
- JS Server SDK Version: 1.13.2
- Runtime: Node.js
- Installation Method: yarn
- Browser and Version: N/A
- Lingua principale
- TypeScript
- Stelle
- 2
- Fork
- 9
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un 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 amplitude/experiment-node-server
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
user_properties from ExperimentUser are not forwarded to exposure/assignment eventsForse già presa @FabricioFFC l’ha presa 263 giorni fa. Apertabug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
amplitude/experiment-node-server#72 · 3 commenti ·
-
enhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
amplitude/experiment-node-server#38 · 2 commenti · 3 reazioni ·
-
ssr-demo needs react 18Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
Tutte le issue di amplitude/experiment-node-server
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 84/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
keptinventory/kept#336 ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
hemi-earn
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
vetro-protocol/vetro-monorepo#1013 ·
I maintainer di solito rispondono entro 1 giorno