Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Capture failed turnstile challenges to sentry #738

Merged
merged 4 commits into from
Sep 5, 2024

Conversation

henrikskog
Copy link
Contributor

@henrikskog henrikskog commented Sep 5, 2024

OWF_SENTRY_DSN var kalt OW4_SENTRY_DSN i doppler πŸ˜΅β€πŸ’«

Copy link

vercel bot commented Sep 5, 2024

The latest updates on your projects. Learn more about Vercel for Git β†—οΈŽ

Name Status Preview Updated (UTC)
onlineweb-frontend βœ… Ready (Inspect) Visit Preview Sep 5, 2024 9:27pm

const user = await getUser();
Sentry.captureEvent({
message: 'User failed turnstile challenge when signing up for event.',
level: Sentry.Severity.Fatal,
Copy link
Member

@henrikhorluck henrikhorluck Sep 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Det er ikke riktig nivΓ₯, dette er maks en error, sannsynligvis bare warning

Fatal ville vært om OWF ikke kjører overhode

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I utgangspunktet er jeg enig i at det burde vΓ¦re warning, men vi vet at i 99.9% av tilfellene som dette skjer sΓ₯ er det ikke meningen at det skal ha skjedd. For hvorfor skal folk gidde Γ₯ botte nΓ₯r det ikke funker uansett siden vi har turnstile. SΓ₯ mener det er error i vΓ₯rt tilfelle her.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HΓ₯pet er ihvertfall at turnstile gjΓΈr det vanskelig nok Γ₯ botte til at ingen gidder. Men har ikke testet selv

Copy link
Member

@henrikhorluck henrikhorluck Sep 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

99.9% av tilfellene som dette skjer sΓ₯ er det ikke meningen at det skal ha skjedd

Nei, det er ikke det vi vet.

Dette er ikke en fatal error, og skal ikke behandles som det, det er helt naturlig at Turnstile feiler, det at den noen ganger feiler betyr at den er "working as intended".

SΓ₯ lenge vi har data-ene i sentry spiller det ikke sΓ₯ stor rolle hvilke nivΓ₯ det er pΓ₯, tipper det bare er jeg som faktisk fΓΈlger med er pr. nΓ₯

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Enig i at det ikke er en fatal error. Synes det kan vΓ¦re error sett situasjonen vΓ₯r.

Mener du det er "helt naturlig" om turnstile i blant feiler nΓ₯r reelle brukere prΓΈver Γ₯ melde seg pΓ₯?

Copy link
Member

@henrikhorluck henrikhorluck Sep 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"helt naturlig" om turnstile i blant feiler nΓ₯r reelle brukere prΓΈver Γ₯ melde seg pΓ₯

Ja, fordi bot-deteksjon er et vanskelig problem, og jeg antar at de nΓΈdvendigvis mΓ₯ ha noen false-positives. NΓ₯ er jeg ogsΓ₯ ikke helt kjent med API-et til turnstile her og det kan godt vΓ¦re at det at den sier feil en gang bare betyr at brukeren mΓ₯ trykke pΓ₯ knappen en gang til eller mΓ₯ flytte pΓ₯ musepekeren litt til for Γ₯ samle info, idk.

Vi vet jo allerede fra Cloudflare-turnstile stats at den feiler ganske ofte, og kan vΓ¦re mΓ₯ten vi har satt den opp (med at den bare er i en modal) legger opp til at den feiler oftere enn nΓΈdvendig.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok sure kjΓΈrer warning. Men synes personlig det like godt kunne vΓ¦rt error i vΓ₯rt tilfelle.

message: 'User failed turnstile challenge when signing up for event.',
level: Sentry.Severity.Fatal,
extra: {
event_id: eventId,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tror det fanges via URL-en allerede

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah smart

onError={async (error) => {
const user = await getUser();
Sentry.captureEvent({
message: 'User failed turnstile challenge when signing up for event.',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vi burde ha en egen ordbok akkurat for event-domenet med norsk og engelsk "melde seg pΓ₯" = register eller sign up?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eeenig!

error: error,
},
user: {
email: user?.profile.email,
Copy link
Member

@henrikhorluck henrikhorluck Sep 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

E-post er personopplysning (PII), auth0 sub-en er ikke

https://www.datatilsynet.no/rettigheter-og-plikter/personopplysninger/

(Vi mangler personvernerklæring)

SΓ₯nn generelt burde vi unngΓ₯ at PII havner i Sentry, siden vi ikke har koblet f.eks. "slett bruker" funksjonaliteten til det

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Godt poeng. Bytter til auth0-sub'en.

@@ -44,7 +43,8 @@ const AttendButton: FC<IAttendButtonProps> = (props: IAttendButtonProps) => {
unwrapResult(action);
addToast('Du har blitt meldt pΓ₯ arrangementet');
} catch (err) {
addToast(`Noe gikk galt under pΓ₯meldelse av arrangement, ERROR: ${err.message}`, { type: 'error' });
const errorMessage = err instanceof Error ? err.message : 'Unknown error';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Ukjent feil"?

@@ -10,10 +10,11 @@ interface ICaptchaModalProps {
toggleModal: () => void;
setCaptcha: (token: string | null) => void;
errorText?: React.ReactNode | string;
onError: (error: Error) => void;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

React-struktur spΓΈrsmΓ₯l: hvorfor driver du Γ₯ sender logikk via to nivΓ₯er? Syntes det bare kompliserer kontroll-flyten.

Ser dette ganske ofte, og syntes det fremstΓ₯r som et veldig anti-pattern?

Copy link
Contributor Author

@henrikskog henrikskog Sep 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Enig i at flyten er litt komplisert her. Godt mulig at det kan gjΓΈres bedre. Er fort en case av premature optimalization. SΓ₯nn det er nΓ₯ er ikke CaptchaModal knyttet til event-pΓ₯melding. Det er en reusable komponent som potensielt kan brukes andre steder. SΓ₯ da blir det jo sΓ₯nn at event handlers og tekst som kan vΓ¦re forskjellig fra case til case mΓ₯ vΓ¦re i parent komponenten.

IMO kunne hele greia vært i AttendButton istedenfor at det er en egen komponent. Eller bare gjort den helt spesifikk for event registration.

Synes forΓΈvrig setCaptcha er et dΓ₯rlig navn her da, som gjΓΈr det litt ekstra forvirrende. Kunne vΓ¦rt onValidCaptchaToken e.l.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Synes det ble veldig rotete med feilmeldingene fra parent component og fra Turnstile onError her da. Men siden vi ikke har store ambisjoner for videreutvikling pΓ₯ owf tenker jeg at sΓ₯nne ting er greit. As long as it works og ikke er helt uforstΓ₯elig liksom

Copy link

sonarcloud bot commented Sep 5, 2024

@henrikskog henrikskog merged commit 5b38a07 into master Sep 5, 2024
5 of 6 checks passed
@henrikskog henrikskog deleted the log-turnstile-errors-to-sentry branch September 5, 2024 21:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants