Skip to content

feat(settings): render qr code in mfa setup flow#441

Merged
AndreLiar merged 1 commit into
devfrom
feat/mfa-qr-code-setup
Jun 15, 2026
Merged

feat(settings): render qr code in mfa setup flow#441
AndreLiar merged 1 commit into
devfrom
feat/mfa-qr-code-setup

Conversation

@AndreLiar

Copy link
Copy Markdown
Owner

Problem

The MFA setup form was showing the raw otpauth:// URL as plain text. Users had to manually copy a 32-character secret into their authenticator app — impossible without a desktop and very error-prone.

Fix

  • Install qrcode.react and render the otpauth:// URL as a scannable QR code image
  • Keep the secret below as a manual-entry fallback ("Can't scan? Enter this secret:")
  • Update step 1 description to say "Open Microsoft Authenticator (or Google Authenticator) and scan the QR code below"
  • i18n updated for both EN and FR

UX before → after

Before: user sees a wall of text with a secret + an otpauth URL, has to know what to do with it

After: user sees a QR code → opens Microsoft Authenticator → taps "+" → scans → enters 6-digit code → done

the setup form was showing the raw otpauth:// url as plain text.
users had to manually copy a long secret into their authenticator app.
now shows a scannable qr code image (qrcode.react) + keeps the secret
as a manual-entry fallback below.

also clarifies the step 1 label to mention microsoft authenticator / google
authenticator explicitly.
@AndreLiar AndreLiar merged commit 2ef71e2 into dev Jun 15, 2026
5 checks passed
@AndreLiar AndreLiar deleted the feat/mfa-qr-code-setup branch June 15, 2026 08:25
@codecov-commenter

codecov-commenter commented Jun 15, 2026

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

AndreLiar added a commit that referenced this pull request Jun 15, 2026
* fix(rag): add sse keepalive heartbeat to prevent nginx 60s timeout (#434)

the embedding phase (multi-query expansion via cpu-only ollama) can take
several minutes. nginx's proxy_read_timeout (60s default) was killing the
idle sse connection before any event was flushed, leaving the ui stuck on
"retrieving context…" forever.

send a sse comment (: keepalive) every 20s to keep the connection alive
through the entire pipeline duration.

* feat(settings): render qr code in mfa setup flow (#441)

the setup form was showing the raw otpauth:// url as plain text.
users had to manually copy a long secret into their authenticator app.
now shows a scannable qr code image (qrcode.react) + keeps the secret
as a manual-entry fallback below.

also clarifies the step 1 label to mention microsoft authenticator / google
authenticator explicitly.
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