Paradaux
IssuesPAR-107Done
0

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 + generated name_lower to VARCHAR(32) (matches explorer_identity.minecraft_name), drop/re-add the UNIQUE index around the change. (commit 1420750)
  • treasury-ingest — raise the > 16 drop-guard in both upsertFirmPlayer overloads to > 32. (commit b864148, on main)
  • business-rian — sync the schema.sql test fixture to VARCHAR(32). (commit 33aa7bf)

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 → DoneJun 7, 2026, 2:49 PM
  • tesks created the issueJun 6, 2026, 12:44 PM