diff --git a/carry.js b/carry.js index d40021f..7e38a63 100644 --- a/carry.js +++ b/carry.js @@ -43,7 +43,8 @@ function signer() { // ---- notices: email + on-site inbox, sent as the company account ---- async function tell(email, subject, text) { - try { if (X.mailer && X.mailer.hasKey()) X.mailer.send(email, subject, text + '\n\nLinkSpin').catch(() => {}); } catch (e) {} + const emailOk = !(X.siteConfig && String(X.siteConfig().carryNotices || '1') === '0'); // test area: 0 = on-site notices only + try { if (emailOk && X.mailer && X.mailer.hasKey()) X.mailer.send(email, subject, text + '\n\nLinkSpin').catch(() => {}); } catch (e) {} try { const html = '

' + String(text).replace(/&/g, '&').replace(/$1').split('\n\n').join('

').replace(/\n/g, '
') + '

'; if (X.messages) await X.messages.deliver(1, X.adminEmail || 'house@linkspin.co', [email], subject, html); diff --git a/server.js b/server.js index c65b8f8..f9c894b 100644 --- a/server.js +++ b/server.js @@ -433,7 +433,8 @@ function siteConfig() { telegramAdminChatId: '', // private chat for admin alerts (sign-up guard bursts); falls back to ADMIN_EMAIL launchAt: '', // public launch moment, ISO 8601 with offset (e.g. 2026-09-18T19:00:00-05:00): countdown on /launch + dashboard mark aiCreditsPerGen: 10, aiFreeSurge: 20, aiFreeCircuit: 60, aiFreeNexus: 150, // AI Copy Engine: free generations per month by badge, then credits per generation - carryClaimDays: '3', // sponsor with no wallet: days to link one before a downline seat walks up (LinkSpin) + carryClaimDays: '3', + carryNotices: '1', // 0 = carry-over notices stay on-site (test area), 1 = email too // sponsor with no wallet: days to link one before a downline seat walks up (LinkSpin) linkDomains: '', // comma list of short link domains this server answers for (each gets a real mini-site + /r/ redirects) snapshotEnabled: '1', snapshotHourUtc: '14', snapshotTargets: 'feed,echo', // daily growth snapshot: 14 UTC = 9 AM Central; feed = proof channel, echo = shared payments topic pipelineMode: 'off', // Pipeline board: off = 'coming soon' card, preview = only the admin account sees the live board, on = everyone (Marty, 2026-09-15)