PAR-107
Bedrock: widen firm_players name cache to fit Floodgate names
Found auditing Bedrock/Floodgate support across the plugins (prompted by the explorer account-linking ticket; .FiftyNine595 is a Floodgate name).
Bug: firm_players.current_name was VARCHAR(16) (Java's max), with a generated name_lower VARCHAR(16) carrying UNIQUE. Floodgate prefixes Bedrock IGNs with ., so .SomeLongGamertag exceeds 16 → silently truncated on store (non-STRICT) or collided onto one name_lower and dropped by the UNIQUE upsert (STRICT). firm_players is the canonical name↔uuid cache read by the REST API (findPlayerUuidByName → transfer-by-name / account-by-player), the Business firm-name resolver (FirmPlayerResolver.findByName/tab-complete), and the explorer's name display (search / /me / firm / counterparty views) — so Bedrock players showed as a bare UUID or failed by-name lookups, and treasury-ingest.upsertFirmPlayer actively dropped any ingested name >16 chars.
Fixed (Pending Release):
- economy-schema V12 — widen
current_name+ generatedname_lowertoVARCHAR(32)(matchesexplorer_identity.minecraft_name), drop/re-add the UNIQUE index around the change. (commit1420750) - treasury-ingest — raise the
> 16drop-guard in bothupsertFirmPlayeroverloads to> 32. (commitb864148, onmain) - business-rian — sync the
schema.sqltest fixture toVARCHAR(32). (commit33aa7bf)
Deploy note: economy-schema migrations are manual (workflow_dispatch) — V12 must be applied for the live cache to widen.
Comments
No comments yet.
Activity
- ParadauxIO changed status to Status → Done
- tesks created the issue