og:url keeps the ?v= angle - Facebook was canonicalizing every variant back to the cached plain URL

This commit is contained in:
martbost
2026-08-22 12:09:25 -05:00
parent 1dc60e8c4c
commit 0562579a56
+3 -2
View File
@@ -776,14 +776,15 @@ async function handleApi(req,res,pathname){
function serveMemberPage(req,res,file,kind,id){
let html; try{ html=fs.readFileSync(file,'utf8'); }catch(e){ return staticFile(req,res,path.join(PUBLIC_DIR,'404.html'),404); }
const base='https://rmcircle.team';
const url=kind==='join'?`${base}/join/${id}`:`${base}/my/${id}`;
const ANGLE_OG={
pocket:{t:'You already spent it this week.',d:'The pocket-change illusion, called out in 105 seconds. Watch.',i:'/v/og-angle-pocket.jpg'},
phone:{t:"Everybody's making money on your phone. Except you.",d:'90 seconds that flips it. Watch.',i:'/v/og-angle-phone.jpg'},
two:{t:"You know two people. That's all this takes.",d:'The #1 excuse, retired in 90 seconds. Watch.',i:'/v/og-angle-two.jpg'},
graveyard:{t:'Your side-hustle graveyard has enough tenants.',d:"This one's built different. 90 seconds. Watch.",i:'/v/og-angle-graveyard.jpg'}
};
const angle=kind==='join'?ANGLE_OG[new URL(req.url,'http://x').searchParams.get('v')]:null;
const angleKey=kind==='join'?new URL(req.url,'http://x').searchParams.get('v'):null;
const angle=angleKey?ANGLE_OG[angleKey]:null;
const url=kind==='join'?`${base}/join/${id}${angle?`?v=${angleKey}`:''}`:`${base}/my/${id}`;
const title=angle?angle.t:(kind==='join'
? `You're invited to the RM Circle team by Member #${id}`
: `Member #${id}'s RM Circle team — live on the blockchain`);