Players get a fast TTL-backed homepage (local profile / Cloudflare D1) with dense UI polish; login unlocks /home without blocking on every OpenDota refresh.
Co-authored-by: Cursor <cursoragent@cursor.com>
Generate /players/{account_id}[/{match_id}] locally after POST_GAME via OpenDota; publish to OSS only when public_share is enabled.
Co-authored-by: Cursor <cursoragent@cursor.com>
Path URLs, crawlable hero/mechanics pages, and sitemap make the static site indexable while keeping SPA hydration.
Co-authored-by: Cursor <cursoragent@cursor.com>
Move role filters between grid and detail, fix skill video/text layout and detail height jump, unify item dividers, drop OpenDota matchup cross, sync docs and assets.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ship Web refresh cache/lock, mobile demand gate, matches 职业/国服 filter, and related site updates through 0.5.84.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ship top-level #/matches with pro watchlist defaults, bump site to 0.5.71, and document the flow in AGENTS/README.
Co-authored-by: Cursor <cursoragent@cursor.com>
Separate the local recognition, web publishing, and shared data paths while preserving direct script execution and existing site content.
Co-authored-by: Cursor <cursoragent@cursor.com>