LITMUS/WORK/THREADS BY META

Threads by Meta

Mobile iOS/AndroidWebLaunch QASecurityUX Review2023
11
Issues found
3
Critical
8
High / Medium
14
Days of testing
9/11
Fixed pre-launch
0
Critical issues day one
THE CHALLENGE

Meta was launching Threads at product speed — fast public rollout, global scale from day one, dual-platform delivery. They needed QA coverage across iOS, Android, and web in a compressed window with zero room for critical failures at GA. The surface area was large; the timeline was not.

OUR APPROACH

We ran three parallel testing tracks over 14 days across the full surface:

01Core flows — onboarding, compose, follow, notifications, search
02Cross-platform delta — systematic comparison of iOS vs Android vs Web behaviour
03Edge case library — network failures, permission states, deep links, accessibility
FINDINGS
CRITICALHIGHMEDIUM
CRITICALiOS
Push notifications silently dropped under specific permission state

On iOS 16, a provisional notification permission state caused all push delivery to fail without surfacing an error. Affected ~18% of test devices in that OS bracket.

CRITICALiOS / Android
Draft state lost on backgrounding + device rotation

Composing a thread, backgrounding the app, then rotating the device before returning destroyed the draft without recovery. Reproducible 100% on both platforms.

CRITICALWeb
Account enumeration possible via password reset timing

Password reset response time differed measurably (~240ms) between registered and unregistered email addresses, enabling account enumeration at scale.

HIGHAndroid
Reply threading broke visual hierarchy at depth > 3

Thread reply indentation collapsed at nesting depth 4+, making long conversations visually flat and unreadable on Android. Not reproducible on iOS.

HIGHAll
Profile images failed for non-Latin usernames

Avatar image load requests were URL-encoding usernames inconsistently, causing 404s for accounts with Arabic, CJK, or Cyrillic characters in their handle.

HIGHWeb
Infinite scroll lost position on browser back navigation

Returning to the feed from a post detail view always reset scroll position to top, making it impossible to resume browsing from where the user left off.

HIGHiOS
Haptic feedback fired twice on double-tap like

Double-tapping to like a post triggered two distinct haptic pulses ~80ms apart instead of one. Minor but noticeably off — reported by 3 of 5 user testers independently.

HIGHAndroid
Notification badge count desynced after clearing all

Clearing all notifications via "Mark all read" left the app badge at 1 indefinitely until next cold launch. The OS badge count was correct; the in-app counter was not.

MEDIUMWeb
No keyboard trap in modal dialogs

Focus was not constrained inside modal dialogs, allowing Tab to navigate behind the overlay. Fails WCAG 2.1 SC 2.1.2.

MEDIUMAll
Empty state shown briefly on authenticated home feed

A 200–400ms flash of the empty state appeared on cold launch before content loaded, even on fast connections. Felt like a broken state to test users.

MEDIUMiOS
Swipe-back gesture conflicted with horizontal media scroll

In threads containing horizontally scrollable media carousels, the iOS swipe-back gesture triggered ~40% of the time when the intent was to scroll media.

IMPACT

Before our review cycle ended, the team shipped fixes for all 3 critical issues and 6 of the 8 remaining high-severity findings. Zero critical issues surfaced in public launch reviews on day one.

The 2 remaining medium findings were tracked and resolved in the first post-launch sprint. The cross-platform delta report became a reference document for the team's ongoing QA process.

Want this for your next launch?

Start with a 20-minute Litmus Check. We'll pick one area, run a real test, and show you exactly what we find.

Book a 20-min QA review →
◖◗LITMUS
← Back to home