This commit is contained in:
+22
-3
@@ -195,14 +195,33 @@ in the actual Windows/Plutonium deployment before rollout.
|
||||
|
||||
## History and validation
|
||||
|
||||
Player profiles show the shared balance, pending status and 20 newest ledger
|
||||
entries, including signed amounts, resulting balances, server, time and match.
|
||||
The **Players → Bank** page shows fleet-wide balances, funded accounts, completed
|
||||
transfers in the last 24 hours and pending transfers. Accounts can be searched by
|
||||
player name or GUID, sorted by balance or recent completed activity, and filtered
|
||||
to funded accounts, accounts at or above the configured limit, or pending transfers.
|
||||
Balances always remain shared across both games.
|
||||
|
||||
Transactions can be filtered by player, game, server, direction and inclusive UTC
|
||||
dates. Pending transfers show oldest first, with an attention indicator after five
|
||||
minutes and details explaining the reservation. This indicator does not expire or
|
||||
cancel a transfer. Both views retain historical server identities and match IDs
|
||||
after retention; unavailable matches have no live link.
|
||||
|
||||
Selecting a player opens a drawer with their balance, available points, pending
|
||||
transfer and paginated history. Filters and pagination are retained in the URL,
|
||||
including when following a match or player-profile link. The page refreshes every
|
||||
30 seconds while visible. Summary counts always cover the whole fleet. Bank is
|
||||
read-only for all browser roles; transfers continue to originate in game.
|
||||
|
||||
Player profiles show the shared balance, pending status and three newest ledger
|
||||
entries, with a **View bank history** link to the drawer. Entries include signed
|
||||
amounts, resulting balances, server, time and match.
|
||||
Accounts, request IDs and ledger entries have no cascading match/server foreign
|
||||
keys and are not deleted by match retention or server deletion. Retained IDs
|
||||
also keep old retries idempotent. Expired match links become plain historical
|
||||
IDs. Include these tables in normal database backups.
|
||||
|
||||
Run `npx vitest run tests/unit/bank.test.ts`, then the usual lint, type checks,
|
||||
Run `npx vitest run tests/unit/bank.test.ts tests/unit/bank-overview.test.ts tests/client/bank-page.test.ts`, then the usual lint, type checks,
|
||||
tests and build. TWS supplies `node tools/check_bank.mjs` and
|
||||
`python3 tools/test_plugin_bank.py`. Live validation must cover both games:
|
||||
deposit/withdraw amounts and `all`, insufficient funds and caps, joining before
|
||||
|
||||
Reference in New Issue
Block a user