tg-bot-ts/data/updates/v0.9/update.json
Nuno Duque Nunes 049ea7b77f fix: unify score submission on Score.submit, fix TGScore type drift, fix playedBy semantics for borrowed characters
- Score.submit/score/set.ts/score-inject.ts now all share one code path
- TGScore consolidated to single canonical type (was duplicated in types.ts and score.ts)
- Fixed atk/def/heal flat-vs-nested TGStats drift across leaderboard.ts, result layouts
- Fixed playedBy semantics — now correctly identifies the actual player on borrowed characters
- Attendance.allSubmitted now correctly matches against playedBy (borrower) not just userKey (owner)
- score-inject gained atk/def/heal/date/played_by parameters for full parity with real submission
- Added migrate-stats-shape.py and fix-class-keys.py maintenance scripts
2026-06-22 04:27:03 +01:00

52 lines
No EOL
2.4 KiB
JSON

{
"version": "v0.9",
"date": "2026-06-20",
"title": "Leaderboards, Results & Aligned Stats",
"layout": "default",
"sections": [
{
"type": "new",
"label": "New",
"emoji": "✨",
"items": [
{ "text": "Weekly Leaderboard in <:capella:> · <:procyon:> — live rankings updated after every score submission" },
{ "text": "TG Result posts — full breakdown after each TG, with W.Rank, score, K/D, and per-character stats" },
{ "text": "Weekly Highlights — most kills, most deaths, and next Storm/Luminous Bringer predictions" },
{ "text": "/tg call — officers and trusted players can end a TG early when it's called" },
{ "text": "/tg poll confirm-no — officially mark a TG as cancelled, with a clear visual indicator" }
]
},
{
"type": "improvement",
"label": "Improvements",
"emoji": "⚙️",
"items": [
{ "text": "Leaderboard and Result layouts now have aligned columns — name, score, K/D and TG count line up cleanly across all players" },
{ "text": "Multiple display layouts available for both Leaderboard and Result — officers can switch between them" },
{ "text": "Secondary combat stats (ATK / DEF / Heal) now shown directly under each player's main stats when recorded" },
{ "text": "W.Rank shown on Result posts now reflects the rank at the moment the score was submitted, not the current rank — more accurate for historical TGs" }
]
},
{
"type": "fix",
"label": "Fixes",
"emoji": "🔧",
"items": [
{ "text": "Fixed a long-standing bug where K/D could silently show as 0/0 even when kills and deaths were recorded" },
{ "text": "Fixed weekly reset occasionally computing the wrong week after a Timezone inconsistency" },
{ "text": "Fixed Bringer assignment not correctly carrying over in some weeks" }
]
},
{
"type": "technical",
"label": "Under the hood",
"emoji": "🛠️",
"items": [
{ "text": "Built a reusable text-alignment system for embeds, using real font metrics extracted directly from Discord's font" },
{ "text": "Persistent message system extended to support multiple independently-updatable embeds in one message" },
{ "text": "Added an event system so different parts of the bot can react to score submissions without being tightly coupled" }
]
}
],
"examples": []
}