Lanes
One lane at a time — the goal, the critical path, and the current wave of blockers.
Approve: Surface buildTo do · blockerViv — Fix Dashboard 'Create → Destination' tile to link to the destination picker instead of the QR page.DoneViv — Build the missing destination picker on QR Launchpad so users can connect a destination to an existing QR code from web.DoneViv — Add app-wide error.tsx and not-found.tsx boundaries to web-mobile.DoneSPEC → backend: three dead QR shape values, a sticker key Android and web disagree on, and a grader blind to bothDoneQR studio: four remaining silent-substitution hazards before decoratives/stickers shipDoneSPEC → backend: collapse the duelling QR enums and make every offered shape render — Matthew decided parity, not documentationDoneBLOCKED: logo interactive crop cannot be built on web — all five logo snapshot fields are inert in the TS rendererDoneweb-mobile production build sets no NEXT_PUBLIC_API_URL — six call sites fall back to same-origin and 404To doweb-mobile /auth/callback redirects to an unsanitized ?redirect param (open redirect)DoneViv — Fix the 'forms' vs 'form' naming mismatch between web-mobile's disabled-category type and the backend destination type.DoneViv — Add 'action' and 'form' to the shared DestinationType union in the SDK.DoneViv — Wire up QR design editing from the Launchpad (prefill existing design into the editor).DoneViv — Add QR code deletion once a DELETE endpoint/SDK method exists.DoneViv — Wire the AI Insights tab to the real analytics insights endpoint once the SDK exposes it.DoneViv — Remove the unreachable 'Group-level analytics are in development' stub banner from Deep Dive, or wire it up if group-scope analytics ships.Doneme — Decide whether to complete the orphaned device-trust / verify-device feature on web-mobile or delete the dead scaffolding.To doViv — Point 'Help Center' to a real docs/FAQ URL instead of duplicating the 'Contact Support' mailto link.DoneAdd loading.tsx route skeletons to web-mobileDonePin test: web-mobile Deep Dive must not offer 'group' scope while useEntitySummary has no real group endpoint (follow-up to #712, t_288daf95)To doViv — Pin the three unguarded delete paths on the web-mobile QR Launchpad (cache repair, double-submit, sheet while deleting)DoneViv — Either finish the Menu destination builder or mark it disabled/coming-soon in the category picker.DoneViv — Add video, audio, and action to the destination CategoryPicker with an honest disabled/coming-soon state, instead of leaving them silently absent.DoneViv — Add a timeout/failure path to the cross-domain auth handoff when setSession() hangs.DoneKaitlynn — Verify auth + cross-domain handoff end-to-end: sign in, sign up, forgot/reset password, and the tactile.to → app.tactile-connect.com handoff flow.DoneKaitlynn — Verify the 6 working destination builders (website, notes, gallery, document, link_hub, contact-via-card) end-to-end.DoneKaitlynn — Verify QR create, scan, and Launchpad view/manage flows end-to-end.DoneKaitlynn — Verify ConnectCard editor (create and edit) end-to-end.DoneKaitlynn — Verify all 6 Settings pages (profile, security, subscription, notifications, appearance, plus the settings hub) end-to-end.To doKaitlynn — Verify Analytics tabs (all 7) render real data with correct empty/error states, confirming no fabricated data anywhere.DoneKaitlynn — Verify Assets browser (Triggers / Destinations / QR / Groups / Families tabs) end-to-end.Done
Wave
web-mobile — Surface build
TacTile › Launch TacTile › Web › web-mobile — Surface build
26/31 done5 open1 open blocker
Selected taskclear
Viv — Build the missing destination picker on QR Launchpad so users can connect a destination to an existing QR code from web.
DoneOwner · Vivt_a9d79189
Done when: the 'Connect destination' row on QR Launchpad opens a working destination picker and saves the link, instead of showing static 'Not connected — use iOS app to connect' text with no control. File: apps/web-mobile/features/qr/pages/QRLaunchpadPage.tsx:10,221 (TODO: destination picker — chunk 8).
Show the prompt
To doIn progressDoneBlockedPick a wave on the left · tap a task to expand it