Appearance
Feilsøking
Vanlige problemer og løsninger for Lumi-widgeten.
Survey dukker ikke opp
Symptom: Komponenten er rendret, men ingenting vises på skjermen.
Sjekk 1: initialOpen er satt til false
Widgeten starter som standard åpen (initialOpen: true). Hvis du har satt initialOpen: false, vises bare den minimerte knappen.
tsx
// ❌ Starter minimert
<LumiSurveyDock behavior={{ initialOpen: false }} />
// ✅ Starter åpen (default)
<LumiSurveyDock behavior={{ initialOpen: true }} />Sjekk 2: Dismissed-tilstand fra tidligere visning
Widgeten husker at brukeren lukket den. Under utvikling kan dette persistere mellom sidelaster.
Løsning for utvikling:
- Bruk
storageStrategy: "none"for å deaktivere persistering - Eller tøm localStorage/cookies og last siden på nytt
tsx
// For utvikling/testing
<LumiSurveyDock behavior={{ storageStrategy: "none" }} />Sjekk 3: Cooldown-perioden er aktiv
Etter at brukeren lukker surveyen, er default cooldown 30 dager. Under utvikling kan du sette den lavere:
tsx
<LumiSurveyDock behavior={{ dismissCooldownDays: 0 }} />Sjekk 4: CSS mangler
Uten CSS-import kan widgeten rendre med usynlige elementer. Se Layout virker tom under.
403 fra API
Symptom: transport.submit feiler med HTTP 403.
Sjekk:
- API-nøkkel er gyldig — verifiser at
X-Api-Key-headeren inneholder riktigpk_-nøkkel - Nøkkelen er ikke revokert — sjekk via admin-API-et
- Allowed origins — sjekk at domenet du sender fra er i nøkkelens
allowedOrigins - Riktig endepunkt — enterprise bruker
POST /api/v1/submission
Ingen data i dashboard
Symptom: Innsending ser ut til å fungere (ingen feil), men data dukker ikke opp i dashboardet.
Sjekk:
Sender du riktig payload? Backend skal videresende
submission.transportPayload— ikke hele submission-objektet.ts// ✅ Riktig body: JSON.stringify(submission.transportPayload) // ❌ Feil body: JSON.stringify(submission)Riktig endepunkt? Sjekk at du treffer riktig Lumi API-endepunkt:
POST /api/v1/submissionSjekk nettverksfanen i DevTools for å verifisere at requesten faktisk sendes og får 2xx-respons.
Verifiser
surveyId— dashboardet filtrerer påsurveyId. Sjekk at du leter under riktig ID.
Layout virker tom
Symptom: Widgeten vises, men uten styling — ingen farger, rar layout, elementer overlapper.
Årsak: Manglende CSS-import:
tsx
import "lumi-survey/styles.css";Dismissed-tilstand persisteres ikke
Symptom: Brukeren lukker surveyen, men den dukker opp igjen ved neste sidelast.
Årsak: Widgeten bruker localStorage til å huske dismissed-tilstand. Hvis localStorage er utilgjengelig — typisk i privat nettlesing (Safari), når kvoten er full, eller i en sandkasse-iframe — kan dismissal ikke persisteres.
Løsning: Lytt på onDismissalPersistFailed-eventet for å oppdage og logge feilen, eller sett storageStrategy: "none" hvis du bevisst ønsker at surveyen vises på nytt hver sidelast.
tsx
<LumiSurveyDock
events={{
onDismissalPersistFailed: (cause) => {
console.warn("Lagring feilet:", cause);
},
}}
/>Se Lagring for full oversikt over lagringsstrategier.
Validering feiler uventet
Symptom: Brukeren får valideringsfeil selv om de har svart.
Sjekk:
- Har du
required: truepå spørsmål som er skjult medvisibleIf? Skjulte spørsmål hoppes over i validering, men dobbeltsjekk at betingelsen fungerer som forventet. - Bruk
onValidationFailedfor å se hvilke spørsmål som mangler svar:
tsx
<LumiSurveyDock
events={{
onValidationFailed: (missing) => {
console.log("Mangler svar:", missing);
},
}}
/>Trenger du mer hjelp?
Spør i #lumi på Slack — vi hjelper gjerne!
Du kan også sjekke disse sidene:
- Styling — styling-problemer
- Props-referanse — alle props
- Branching — avansert flyt
- Lagring — lagring og cooldown
