diff options
author | Erik Kundiman <erik@megapahit.org> | 2024-12-29 16:59:46 +0800 |
---|---|---|
committer | Erik Kundiman <erik@megapahit.org> | 2024-12-29 16:59:46 +0800 |
commit | 078a69ba818694911a5ca2c5e38f03452c0d71a7 (patch) | |
tree | 2231c5fbcb5124470f8d9f5a90f40827fe69c433 /indra/newview/scripts/lua/test_popup.lua | |
parent | 7a4ec2d83393171dc9321337536983c1af514ecd (diff) |
https://megapahit.com/show_bug.cgi?id=9
At first I was trying to implement it without any peeking, but I got
stuck at making the group IM blocking state synced across logins and
user accounts, and found that there wasn't any data block reserved for
it in SL group-related message protocols.
I took a peek at Kokua's code, and the feature seemed to have been
imported from Exodus viewer. There were exogroupmutelist files, which
had some implementation of saving to a list named muted_groups.xml,
which was also how I thought the information was stored at first,
locally, meaning would have to be synced manually across user accounts.
I tested the feature on Kokua, and found it didn't generate any file
that lists the muted groups locally, instead it was indeed synced across
devices, which meant that there must have been a way to store such
information in SL servers.
After looking carefully at the logs, only then I noticed a call from
llmutelist, which I then realised it was wrapped by exogroupmutelist.
So, this implementation forwards Exodus' way of using llmutelist to
llpanelgroupgeneral, for saving and loading the states to and from SL
server without using the exogroupmutelist files which contained more,
but unused, code. Exodus' way is to use legacy mute, and construct the
name by prepending "Group:" to the group ID (I had tried setting
LLMute's enum to GROUP, instead of BY_NAME, and it didn't work).
This implementation also differs in how the chat gets blocked in
llimview.cpp, I just tried some few lines and it worked, though I don't
know yet whether this implementation is good/better or not, so I leave
it to others to improve it if they want.
Diffstat (limited to 'indra/newview/scripts/lua/test_popup.lua')
0 files changed, 0 insertions, 0 deletions