So I was attempting to debug the chat subsystem and there was a key thing I noticed since #10367 was merged:
The reliability portion of the subsystem outright does not work on the JS side of things; sequences are not stored at all properly which means the client is not keeping track of which messages it needs. This is not the fault of the port PR as this is exactly how it seems to work be written in tgstation/tgstation#79479; and is as it functions in modern TG
Latest Bee:
Latest TG:
What did you expect?
I expected the chat reliability subsystem build reliability in the reception of chat messages, as it was the advertised function of the system to begin with. The solution should (hopefully) be as simple as figuring out a proper storage solution for these sequences on the clientside and dealing with them, solving the issue detailed in #9050
Reproducible steps
To debug the client side of things:
1) Using the code below, write rudimentary debugging statements using the following code in the chats/middleware.js
chatRenderer.processBatch([
{
text: 'string with info here!',
},
]);
2) Notice how the sequence of the message is transmitted right; but the list of locally stored sequence information is never added to nor saved. In fact the sequences list used is a local variable of the function that never seems to be stored anywhere else.
BYOND Version
N/A
Round Date
N/A
Round ID
N/A
Test merges
N/A
Describe the bug
So I was attempting to debug the chat subsystem and there was a key thing I noticed since #10367 was merged:
The reliability portion of the subsystem outright does not work on the JS side of things; sequences are not stored at all properly which means the client is not keeping track of which messages it needs. This is not the fault of the port PR as this is exactly how it seems to work be written in tgstation/tgstation#79479; and is as it functions in modern TG
Latest Bee:
Latest TG:
What did you expect?
I expected the chat reliability subsystem build reliability in the reception of chat messages, as it was the advertised function of the system to begin with. The solution should (hopefully) be as simple as figuring out a proper storage solution for these sequences on the clientside and dealing with them, solving the issue detailed in #9050
Reproducible steps
To debug the client side of things: 1) Using the code below, write rudimentary debugging statements using the following code in the
chats/middleware.js
2) Notice how the
sequence
of the message is transmitted right; but the list of locally stored sequence information is never added to nor saved. In fact thesequences
list used is a local variable of the function that never seems to be stored anywhere else.