@shownames/@shownametags improvements

Kokua version 6.3.5 fixes a number of longstanding upstream bugs, some Kokua-specific porting bugs and also provides new functionality for @shownametags.

@shownametags

This command behaves quite differently between RLV and RLVa. In RLV it is a reduced version of @shownames which doesn’t censor chat but does remove name tags (as does @shownames). In RLVa it specifically controls whether name tags show and doesn’t turn on any name anonymisation. So, with RLVa it’s possible to do @shownames=n with @shownametags=y and have name tags showing the anonymised names which can make it easier to figure out which nearby avatar is speaking. This effect is not possible with RLV where @shownames and @shownametags both cause all name tags to be hidden.

There is a new debug setting named KokuaRLVShowOtherNameTags which defaults to false for the previous behaviour of hiding name tags when @shownames=n is in effect. If you set it to true you’ll get the RLVa-like behaviour with @shownames=n where name tags for other avatars continue to show but now contain the anonymised name and do not contain additional information (group information, complexity etc). Your own name tag will always be hidden.

This setting can be changed in Preferences/Kokua/General in the RLV version and via direct modification of the debug setting in RLV or FTRLV. Changes take effect immediately (assuming @shownames=n is active).

Inconsistent anonymisation

When avatars with names of the form Something Resident or with active display names were involved there would often be a difference in anonymised name between what appears on their speech and what appears elsewhere (eg via tooltips). The same anonymised name should now appear in all situations.

Better choice of anonymisation names

RLV and RLVa both have 28 substitute names available. Since a non-island region can hold up to 40 avatars that means there would be at least 12 reused names in a full region, more if the hashing algorithm maps three or more onto the same hash / doesn’t pick out all the available names.

The number of available names has been increased to 44 along with a new algorithm to choose the names which will avoid allocating the same name twice if it can. However, if there are more name mappings required than the 44 available names the algorithm will fall back to using hash-based choice of name.

@shownames:uuid exceptions

A number of fixes have been made in this area to get this functionality working in all situations. These fixes also include getting rid of bonus “Resident” suffixes when someone with a Something Resident-style name speaks whilst they have an exception set to an active @shownames restriction

Worn objects speaking with the name of the wearer

This now behaves identically to the avatar themselves speaking, including honouring any @shownames exception that exists

Name hiding in minimap/nearby people and edit window

Both of these have long-standing porting errors which were preventing names from being hidden.

Bonus ‘Resident’ naming

Usually the chat window just shows “FirstName” when “FirstName Resident” speaks, however with @shownames=n active there were a number of scenarios where “FirstName Resident” would be displayed instead. These are now fixed.

Other avatars in parcels with visibility turned off

When @shownames was in effect avatars in such parcels would be correctly anonymised in situations where the text is known to be a name and only a name (such as the minimap tooltips) but would not get anonymised in regular text (eg the hovertext display of a scripted avatar radar). An alternative method to get the list of local avatars is now used which isn’t affected by parcel visibility settings.

Fixing loopholes

Kokua has many more features that Marine’s own viewer. Some of these really should be covered by RLV restrictions too - two examples here are Remove Friend and Copy Name/UUID/SLURL to clipboard in the right-click on other avatar menu which are now covered by @shownames.

Postscript

This is a hairy area and it’s quite likely old bugs remain or new bugs have been added. If you see something strange please file a bug report and also check with Marine’s RLV to see if that behaves the same way. Please provide as much detail as possible - there are many possible paths through the code in this area of RLV.