# Upgrade Guide — v0.12.22

<!-- bump: patch -->

## What Changed

Fixed WhatsApp QR pairing flow in the setup wizard:

- **Dashboard-first approach**: The wizard now navigates to the dashboard UI, authenticates with the PIN, and clicks the WhatsApp button to render the QR — instead of trying to hit `/whatsapp/qr` directly in the browser (which fails because that API requires Bearer auth headers that browsers can't pass via URL).
- **QR initialization retry**: Added retry loop (up to 30 seconds) for when the WhatsApp adapter hasn't generated its first QR code yet after server start.
- **Removed WhatsApp Web fallback**: WhatsApp Web creates a competing linked device session that conflicts with the Baileys adapter. The wizard no longer suggests opening web.whatsapp.com.
- **API QR fallback**: If dashboard rendering fails, the wizard fetches QR data via curl with auth and renders it in the browser via JavaScript.

## What to Tell Your User

- **Smoother WhatsApp setup**: "The QR code pairing flow is more reliable now — it properly uses the dashboard to display the QR code."

## Summary of New Capabilities

| Capability | How to Use |
|-----------|-----------|
| Dashboard-based QR pairing | Automatic during setup — navigates to dashboard, authenticates, opens QR panel |
| QR initialization retry | Automatic — waits up to 30s for adapter to generate first QR |
