Gate consistency video to members; embed on rhythm page; add vertical cut

- Members-only: the stay-consistent video now requires a wallet-verified session
  (server 403 + training-page lock UI), matching Module 3.
- Embedded on /weekly-rhythm above the sheet (hidden in print) with a members-only
  fallback card for signed-out visitors.
- Added a ~31s vertical (1080x1920) social cut, ungated, for Telegram/social.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
martbost
2026-09-08 06:08:46 -05:00
parent 47955c6b56
commit 946a9d75b5
4 changed files with 18 additions and 3 deletions
+1 -1
View File
@@ -1616,7 +1616,7 @@ const server=http.createServer(async(req,res)=>{
// member session (web sign-in or the Mini App auth bridge). Lesson 1, all
// posters, and every join-funnel/transparency video stay public on purpose:
// Lesson 1 is the free preview, the rest is the trust engine.
if((/^\/v\/rmc-method-m\d+l\d+-[0-9a-f]+\.mp4$/.test(pathname)&&!/^\/v\/rmc-method-m1l1-/.test(pathname))||pathname==='/training/egift_cards.mp4'){
if((/^\/v\/rmc-method-m\d+l\d+-[0-9a-f]+\.mp4$/.test(pathname)&&!/^\/v\/rmc-method-m1l1-/.test(pathname))||/^\/v\/rmc-stay-consistent-[0-9a-f]+\.mp4$/.test(pathname)||pathname==='/training/egift_cards.mp4'){
if(!messages.authFromCookie(req))return json(res,403,{error:'Members area — sign in on the training page with the wallet that owns your position, or open it through the Telegram Mini App.'},{'Cache-Control':'no-store'});
}
if(pathname==='/unsubscribe'){