Product Updates
Changelog
A running record of notable product, UX, analytics, and platform changes across Listaily.
Last updated: March 28, 2026
2026-03-28
Added
- Bilingual UI support for English and Chinese across the main marketing, auth, and dashboard flows.
- A locale switcher with mobile visibility and immediate locale persistence.
- Google Analytics base install plus CTA, login, pricing, and workspace funnel events.
- First-pass auth abuse protection with device ID, preflight checks, trial eligibility scoring, and optional Cloudflare Turnstile verification.
- Supabase auth-risk persistence with auth_risk_events, free_eligibility, and user-level trial status fields.
Changed
- Landing-page copy and multiple marketing sections were updated for bilingual presentation.
- Login-page messaging was rewritten to use user-facing security language instead of admin troubleshooting copy.
- Language switcher styling and placement were refined across landing, login, and dashboard pages.
Fixed
- A server/client import issue caused by next/headers leaking into shared i18n code.
- A landing-page runtime error caused by referencing localized arrays before initialization.
- A React Hook dependency warning in AppShell.
2026-03-26
Changed
- Standardized current product naming on Rednote across UI, docs, and code.
- Plan resolution now prefers subscriptions.plan before falling back to users.plan.
- Clarified free-plan runtime rules around product persistence, credits, and generation success.