From 63e3006aca3f8ae23f7498c19c1e85b43418c3b9 Mon Sep 17 00:00:00 2001 From: jwinterm Date: Mon, 1 Jun 2026 09:17:48 -0400 Subject: [PATCH] launch features: win feed, public stats, share-a-win, live CTA MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Four pre-launch additions to make the game feel alive and shareable: - Live win feed: server broadcasts 'win_feed' on every escape; client shows a transient toast ('X escaped with the bag') so the room feels active. - Public stats: GET /api/stats (10s-cached) returns games + escapes in the last 24h and total paid out; a status-area strip polls it for social proof. - Share-a-win: game-over screen gets 'Share to X' + 'Copy link' buttons pointing at the /verify page, which now renders OpenGraph/Twitter-card meta (brand OG image per instance) so shared links unfurl with a preview. - Land-on-action: a dismissible 'N games live now โ€” watch' CTA appears on connect when games are in progress, opening the existing spectator panel. Non-intrusive: hidden while playing/spectating and never hijacks the canvas. --- html/index.html | 3 + html/js/network/socketHandlers.js | 103 ++++++++++++++++++++++++++++++ html/js/ui/publicStats.js | 45 +++++++++++++ html/og-card-wow.png | Bin 0 -> 57002 bytes html/og-card-xmr.png | Bin 0 -> 53684 bytes html/styles/stylesheet.css | 31 +++++++++ src/game/gameManager.js | 13 ++++ src/index.js | 56 +++++++++++++++- src/views/verifyPage.js | 35 +++++++++- test/verifyPageOg.test.js | 42 ++++++++++++ 10 files changed, 324 insertions(+), 4 deletions(-) create mode 100644 html/js/ui/publicStats.js create mode 100644 html/og-card-wow.png create mode 100644 html/og-card-xmr.png create mode 100644 test/verifyPageOg.test.js diff --git a/html/index.html b/html/index.html index 042442d..bb70398 100644 --- a/html/index.html +++ b/html/index.html @@ -80,6 +80,7 @@ + @@ -98,6 +99,8 @@
Block Height: Loading...
Status: Connecting...
+ + '); + $x.on('click', function () { window.open(intent, '_blank', 'noopener'); }); + + var $copy = $(''); + $copy.on('click', function () { + var done = function () { $copy.text('โœ… Copied!'); setTimeout(function () { $copy.text('๐Ÿ”— Copy link'); }, 1500); }; + if (navigator.clipboard && navigator.clipboard.writeText) { + navigator.clipboard.writeText(url).then(done).catch(function () { window.prompt('Copy this link:', url); }); + } else { window.prompt('Copy this link:', url); } + }); + + $row.append($x).append($copy); + $('#messages').append($row); + }, + onQueueCancelled: function(data) { // Clear queued state SocketHandlers._isQueued = false; @@ -1097,6 +1169,37 @@ const SocketHandlers = { if (!data || !data.games) return; SocketHandlers._activeGames = data.games; SocketHandlers._updateGamesListPanel(data); + SocketHandlers._updateLiveCta(data); + }, + + // "Land on action": when live games are in progress, surface a prominent, dismissible CTA + // in the status area so a new visitor immediately sees the room is alive and can jump into + // spectating with one click. Deliberately NON-intrusive โ€” it never hijacks the canvas or + // interrupts someone who came to play (hidden while in a game / spectating, and dismissible). + _liveCtaDismissed: false, + _updateLiveCta: function(data) { + var el = document.getElementById('liveCta'); + if (!el) return; + var liveCount = (data.games || []).length; + var inGame = (typeof Game !== 'undefined' && (Game._gameActive || Game._isSpectating)) || SocketHandlers._spectatorMode || SocketHandlers._isQueued; + var panelOpen = $('#gamesListPanel').is(':visible'); + + if (liveCount > 0 && !inGame && !panelOpen && !SocketHandlers._liveCtaDismissed) { + el.innerHTML = '๐Ÿ”ด ' + liveCount + ' game' + (liveCount === 1 ? '' : 's') + + ' live right now โ€” watch »'; + el.style.display = 'block'; + if (!el._bound) { + el._bound = true; + el.addEventListener('click', function () { + SocketHandlers._liveCtaDismissed = true; // don't nag after they engage + el.style.display = 'none'; + if (window.socket) socket.emit('get_active_games', { page: 1, pageSize: 20 }); + SocketHandlers._showGamesPanel(); + }); + } + } else { + el.style.display = 'none'; + } }, onSpectateStart: function(data) { diff --git a/html/js/ui/publicStats.js b/html/js/ui/publicStats.js new file mode 100644 index 0000000..1fe0ead --- /dev/null +++ b/html/js/ui/publicStats.js @@ -0,0 +1,45 @@ +/** + * Public stats strip โ€” light "social proof" shown in the status area: games and escapes in + * the last 24h, and total paid out (only where payouts are enabled). Polls /api/stats, which + * is cached server-side (10s), so a 30s poll is cheap. Online-player count is intentionally + * NOT shown here โ€” it already updates live via the 'user_count' socket event. + */ +(function () { + var EL_ID = 'publicStats'; + + function fmtAmount(n) { + if (!isFinite(n)) return '0'; + // Trim to a tidy magnitude: whole numbers plain, otherwise up to 4 dp without trailing zeros. + if (n >= 1000) return Math.round(n).toLocaleString(); + var s = (Math.round(n * 10000) / 10000).toString(); + return s; + } + + function render(data) { + var el = document.getElementById(EL_ID); + if (!el || !data) return; + var parts = []; + parts.push('๐ŸŽฎ ' + (data.gamesToday || 0) + ' games (24h)'); + parts.push('๐Ÿ† ' + (data.escapesToday || 0) + ' escapes'); + if (data.payoutsEnabled && data.totalPaidOut > 0) { + parts.push('๐Ÿ’ฐ ' + fmtAmount(data.totalPaidOut) + ' ' + (data.currencyLabel || '') + ' paid out'); + } + el.innerHTML = parts.join('  ยท  '); + el.style.display = 'block'; + } + + function poll() { + fetch('/api/stats') + .then(function (r) { return r.json(); }) + .then(render) + .catch(function () { /* ignore; transient */ }); + } + + function start() { + poll(); + setInterval(poll, 30000); + } + + if (document.readyState !== 'loading') start(); + else document.addEventListener('DOMContentLoaded', start); +})(); diff --git a/html/og-card-wow.png b/html/og-card-wow.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca8cccce773f2da7c75269b0d9787bc742c81b7 GIT binary patch literal 57002 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 { res.json({ leaderboard: result.rows, period, board }); })); +// Public "social proof" stats strip: players online, games + escapes in the last 24h, and +// total paid out. Cached in-memory for 10s so a public, unauthenticated endpoint can't hammer +// the DB (one query set per 10s regardless of traffic). +let _statsCache = { at: 0, data: null }; +app.get('/api/stats', asyncHandler(async (req, res) => { + const now = Date.now(); + const online = io.sockets.sockets.size || io.engine.clientsCount || 0; + + if (_statsCache.data && (now - _statsCache.at) < 10000) { + return res.json({ ..._statsCache.data, online }); + } + + const config = paymentConfigManager.getConfig(); + const decimals = Number(config.currency?.decimals ?? 12); + const divisor = Number.isFinite(decimals) ? Math.pow(10, decimals) : 1; + const currencyLabel = gameModeManager.currencyLabel || config.currency?.symbol || 'WOW'; + + let gamesToday = 0, escapesToday = 0, totalPaidOut = 0; + try { + const [games, payouts] = await Promise.all([ + db.query(`SELECT COUNT(*) AS games, + COUNT(*) FILTER (WHERE status = 'won') AS escapes + FROM games WHERE created_at > NOW() - INTERVAL '24 hours'`), + // Only count payouts that actually left the wallet. + db.query(`SELECT COALESCE(SUM(amount), 0) AS total FROM payouts WHERE status = 'completed'`) + ]); + gamesToday = parseInt(games.rows[0]?.games || 0, 10); + escapesToday = parseInt(games.rows[0]?.escapes || 0, 10); + // amount is atomic units (BIGINT); divide for display. Number() is safe at these magnitudes. + totalPaidOut = Number(payouts.rows[0]?.total || 0) / divisor; + } catch (e) { + // Best-effort; serve whatever we have rather than 500 on a public widget. + } + + const data = { + gamesToday, + escapesToday, + totalPaidOut, + currencyLabel, + // Paid out is only meaningful where payouts are enabled (stagenet / payout instances). + payoutsEnabled: !!(gameModeManager.directPayoutEnabled || gameModeManager.creditsPayoutEnabled) + }; + _statsCache = { at: now, data }; + res.json({ ...data, online }); +})); + app.get('/api/game-modes', (req, res) => { const config = paymentConfigManager.getConfig(); const decimals = Number(config.currency?.decimals ?? 12); @@ -641,7 +687,15 @@ app.get('/verify/:gameId', asyncHandler(async (req, res) => { } // Return the server-rendered HTML verification page (see src/views/verifyPage.js). - res.send(renderVerifyPage(gameId, gameRecord, gameModeManager.gameName)); + // Pass an absolute base URL (honours the trusted reverse proxy) + a brand-specific social + // card image so shared /verify links unfurl with a preview on Twitter/Discord/etc. + const baseUrl = `${req.protocol}://${req.get('host')}`; + const ogImage = (process.env.CRYPTO_TYPE === 'XMR') ? 'og-card-xmr.png' : 'og-card-wow.png'; + res.send(renderVerifyPage(gameId, gameRecord, { + gameName: gameModeManager.gameName, + baseUrl, + ogImage + })); })); // API endpoint for programmatic verification diff --git a/src/views/verifyPage.js b/src/views/verifyPage.js index 0f646aa..d9ebe39 100644 --- a/src/views/verifyPage.js +++ b/src/views/verifyPage.js @@ -14,8 +14,35 @@ function esc(value) { .replace(/'/g, '''); } -function renderVerifyPage(gameId, gameRecord, gameName) { - const name = gameName || 'Wownerogue'; +function renderVerifyPage(gameId, gameRecord, opts = {}) { + // Back-compat: opts may be a plain gameName string (older callers). + if (typeof opts === 'string') opts = { gameName: opts }; + const name = opts.gameName || 'Wownerogue'; + const baseUrl = (opts.baseUrl || '').replace(/\/$/, ''); + const ogImage = opts.ogImage ? `${baseUrl}/${opts.ogImage.replace(/^\//, '')}` : ''; + const pageUrl = `${baseUrl}/verify/${esc(gameId)}`; + + // Social card description reflects the actual result when we have a record. + let ogDescription = `Provably-fair roguelike โ€” escape the dungeon before the next block. Verify any game was fair.`; + if (gameRecord) { + const escaped = gameRecord.status === 'won'; + const bag = gameRecord.treasure_found ? ' with the treasure bag' : ''; + ogDescription = escaped + ? `Escaped the dungeon${bag} in ${gameRecord.moves_made || '?'} moves. Cryptographically verified provably fair.` + : `A provably-fair run that didn't make it out. Verify the seed generated this exact dungeon.`; + } + const ogTitle = `${name} โ€” Provably-Fair Roguelike`; + const metaTags = ` + + + + ${pageUrl ? `` : ''} + ${ogImage ? `` : ''} + + + + ${ogImage ? `` : ''}`; + const recordBlock = gameRecord ? `

Game Record

@@ -32,7 +59,9 @@ function renderVerifyPage(gameId, gameRecord, gameName) { - ${esc(name)} - Game Verification + + + ${esc(name)} - Game Verification${metaTags}