- Sponsor messaging is now reachable everywhere a new referral looks: a
"Message your sponsor" card on My line, the Overview quick action, and a
pinned "Message your sponsor" row atop the Messages drawer (even with no
thread yet). Chat stores the sponsor from the dashboard.
- Watch-to-earn video + Shorts now PAUSE when the tab/window loses focus and
resume on return, so a viewer must stay on the page for the watch to count.
- Welcome tour hides its frame on completion (no white about:blank panel).
NOTE: rmcircle.team allows framing (frame-ancestors *); the blank was just
the post-dwell blank state.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Videos now carry client-detected pixel dimensions (videoW/videoH) captured at
campaign create (upload or direct link). serveVideo takes an orientation filter:
Shorts reel (/shorts) serves portrait (height>width); the Watch videos tab
serves landscape, including legacy/unknown-dimension videos so nothing is orphaned.
- shorts.js requests the portrait feed and has a client guard that skips any
landscape video that slips through. Create form shows the detected orientation.
- Achievement badge share image: member name now renders in gold with a dark
outline (was low-contrast dark ink) and sits centered on the ribbon.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Named the milestone ladder: Spark (payouts) / Surge (first buyer) / Circuit (L2) / Nexus (L3)
- Overview badges strip now shows the ornate badge art (locked = dimmed); milestone stepper renamed
- Share button composites the badge template with the member's @username on the ribbon (JPEG, same-origin canvas)
- Badge art in public/badges/ (optimized JPG ~300KB each)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Achievement badge share-image now draws a milestone emblem (⚡🎯⭐🏆) in the medal
- Profile: Facebook/X/YouTube/Instagram/TikTok/Telegram/LinkedIn/Website links, shown on the public bio page
- OG + Twitter Card tags on homepage/ledger/contract (hero banner as share image)
- Per-member OG tags server-injected into /wall/<username> so shared bio links preview with name/bio/avatar
- robots.txt + sitemap.xml; .txt/.xml MIME types
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- 3 brand banners generated via kie.ai (mint-on-dark Web3 aesthetic), served from /banners/
- Promo tools Banners card now shows the kit with copy-image-URL
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Buy N verified visits flat up-front; each is a distinct member, dwell + captcha verified
- Verified visits earn sub-tab: open site (new tab), dwell, human-check, earn
- Per-viewer dedup (visit_seen unique), daily cap, completes at N; single-use tokens
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Per-day occupancy shown in composer (Today 1/10, Tomorrow 2/10, …), full days unpickable
- Book a specific start day + duration; every covered day must have an open slot
- Slot cap turns dilution disclosure into a hard ceiling; featured skips frame-check (new-tab)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>