You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Mask whole words, see through colour codes, and reject invented tokens
Three things wrong with the masking that shipped in 0.2.9, found by
reading it back adversarially rather than by anyone reporting them.
The one that mattered: a hologram writes KingdomHills as
§3§lKingdom§b§lHills, so the literal name is nowhere in the string and
the mask never fired. The model saw two ordinary words, translated
both, and French word order handed back CollinesRoyaume, which is the
bug this was meant to fix. Names are matched against a colour stripped
copy now and hidden as a span of the original, so the codes inside come
back exactly as they were.
The one that would have been worse: names matched as bare substrings.
IRS ships in the default protected-names and lives inside FIRST, so
"FIRST JOIN REWARD" went to the model as "F{0}T JOIN REWARD". Matching
is whole words now. A short name inside a longer one keeps only the
prompt rule, which is what it had before.
And restore only checked the tokens it owned, so a token the model
invented walked into player chat and got cached there. Masking only
runs on text that had no placeholder to begin with, so anything left
over afterwards is not ours and the original goes out instead.
Also stopped hiding a server id that is spelled like an ordinary word.
museum is listed verbatim so /server museum keeps working, but hiding
it left "the museum" sitting in English mid sentence.