mirror of
https://github.com/djdevin/recflare.git
synced 2026-09-08 14:41:28 -07:00
178d3b5b0e
* [auth][api] accept the 20250424.01 client * [2025] unstable * 20250718.0 * correct one this time * stubs * more stubs * more stubs * [lists] add worker * [ai] route stubs * [api] player photo setting * [econ] add roomEconConfig route * [infra] update worker generators * [worker] add cards/moderation/platformnotification workers * [lists] updates to some endpoints * [clubs] stub out announcement endpoint, for now * [econ] stub out season endpoints for now * [chat] apps/chat stub out party endpoint not sure the shape yet * [api] stub out statsig and lockeditems * [doc] new services * [lists] stub the bulk endpoint * [datacollection] add placeholder service until we can kill it * [api] set gifting to lvl5 * update lock * [cdn] enable cache * [match] matchmake v2 * [lists] stub some lists * [ai] stubs * [rooms] new subroom save endpoint * [econ] add bulk purchase endpoint * [discovery] update featured creator to 1 for fun * [api] add photo settings flag * [chat] fixup chat permissions (sorta) * [auth] restrictions endpoint * [rooms] contributed endpoint * [api] fix outfit endpoint * [discovery] attempt to fix store * [chat] privacy endpoints * [api] cheered images * [rooms] add xp endpoint (disbaled) * [rooms] add xp endpoint (disabled) * update images-db for cheers * [rooms] add autocomplete endpoint * [cdn/img] increase cache ttl for statics * [api] bulk route for images * [accounts] add banner image * [api] add misc missing endpoints * [discovery] remove AI tab * [platformnotifications] stub some endpoints * [lists] add some more lists * [rooms] additional endpoints * [chat] stub a few privacy endpoints * [econ] stub some endpoints * misc db fixes * [api] tweak shape for images v6 * [rooms] dont show trending RROs
76 lines
2.8 KiB
JSON
76 lines
2.8 KiB
JSON
{
|
|
"$schema": "node_modules/wrangler/config-schema.json",
|
|
"name": "match",
|
|
"main": "src/match.app.ts",
|
|
"compatibility_date": "2026-06-16",
|
|
"compatibility_flags": ["nodejs_compat"],
|
|
// Shared `recflare` DB. Reads room scenes for matchmaking, writes a player's
|
|
// personal dorm room on first dorm entry (see getOrCreateDormRoom), and holds
|
|
// player presence (the `presence` table — owned/migrated by the `rooms` worker).
|
|
// The "local" placeholder is replaced with the real id from RECFLARE_D1 at deploy time.
|
|
"d1_databases": [
|
|
{
|
|
"binding": "DB",
|
|
"database_name": "recflare",
|
|
"database_id": "local"
|
|
}
|
|
],
|
|
// Per-player settings KV, owned by the `playersettings` worker. Read-only here, for
|
|
// GET /player/avoidjuniors. The "local" id placeholder is replaced with the real id
|
|
// from RECFLARE_KV at deploy time.
|
|
"kv_namespaces": [
|
|
{
|
|
"binding": "RECFLARE_PLAYER_SETTINGS",
|
|
"id": "local"
|
|
}
|
|
],
|
|
// Presence sweep. Rows expire on their own TTL (15m) and reads already ignore
|
|
// expired ones, so this is housekeeping: it purges them, deletes the room
|
|
// instances left with nobody in them, and recomputes the fullness of the
|
|
// instances the departed players were in (a crashed player never matchmakes out,
|
|
// so nothing else notices they left). Every 5 minutes.
|
|
"triggers": {
|
|
"crons": ["*/5 * * * *"]
|
|
},
|
|
"logpush": false,
|
|
// Shared Secrets Store holding the HS256 JWT signing key. Every worker binds the
|
|
// same store as JWT_SECRET so tokens signed by `auth` verify here. The "local"
|
|
// store_id placeholder is replaced with RECFLARE_SECRETS_STORE at deploy time.
|
|
"secrets_store_secrets": [
|
|
{
|
|
"binding": "JWT_SECRET",
|
|
"store_id": "local",
|
|
"secret_name": "JWT_SECRET"
|
|
}
|
|
],
|
|
// The `notify` worker's NotificationsHub DO — used by POST /invite to push the
|
|
// game-invite message to the invitee's live socket.
|
|
"durable_objects": {
|
|
"bindings": [
|
|
{
|
|
"name": "RECFLARE_NOTIFICATIONS_HUB",
|
|
"class_name": "NotificationsHub",
|
|
"script_name": "notify"
|
|
}
|
|
]
|
|
},
|
|
"upload_source_maps": true,
|
|
"observability": {
|
|
"logs": {
|
|
"enabled": true,
|
|
"head_sampling_rate": 1 // 100%
|
|
}
|
|
},
|
|
// The operator's knobs — the room substitutions (ROOM_REDIRECTS) and the Photon app ids
|
|
// and region (PHOTON_REALTIME_APP_ID, PHOTON_VOICE_APP_ID, PHOTON_CHAT_APP_ID,
|
|
// PHOTON_REGION) — are deliberately NOT set here. They're injected at deploy time from
|
|
// the gitignored .env (RECFLARE_<VAR>, see .env.example), so swapping a room out or
|
|
// pointing at your own Photon apps never means editing a versioned file. Unset — the
|
|
// default — means every matchmake enters the room it asked for, the Photon app ids are
|
|
// empty (recflare ships none of its own), and sessions run in the `us` region.
|
|
"vars": {
|
|
"ENVIRONMENT": "development", // overridden during deployment
|
|
"SENTRY_RELEASE": "unknown" // overridden during deployment
|
|
}
|
|
}
|