ID:2791827
 
Resolved
In some situations, a client might try to use verbs before it had received them and couldn't parse them correctly. In the particular case tested, the client was aware of the existence of a verb but did not have its name and parsing data. The server now keeps track of which verbs a client knows and sends their info to the client without the client having to request them.
BYOND Version:514
Operating System:Windows 10 Pro 64-bit
Web Browser:Chrome 101.0.4951.54
Applies to:Dream Daemon
Status: Resolved (514.1584)

This issue has been resolved.
Descriptive Problem Summary:

I'm getting issues of output() failing after ads being played when called within mob/Login(). The general wisdom is that Login() is the point where the user's UI is fully loaded. This does not appear to be the case.

This only appears to happen on a remote connection to a hosted world when an ad is played during the connection. Otherwise, the output works and the UI loads fine.

I can send a demo project in private.
I have this same problem with winsets. Some winsets fail if the user is stuck on the ad screen.
With the demo project I was not able to reproduce the issue of output() failing, but I was able to see that some two-way interaction where the client had to use a particular command was failing due to a race condition. On the assumption that's the problem at hand, and for confirming that fixing that issue fixed the demo case, I'm resolving this report.

The condition I discovered was that a verb initiated by the client on browser startup was not being sent to the server because although the client appearance and its verbs had been sent by the server and received by the client already, the info about those verbs (particularly their names) had not, so the command was failing.

The client has to send back requests for some things it's been told about but hasn't seen yet. I'm not sure whether the verbs had already been requested but their info definitely hadn't yet been received. The solution I chose for this was to make the server send the verb info without waiting for a request, and keep track of which verbs the client knows. For this reason, I'm changing this to a server-side issue since it's a server-side fix.
Lummox JR resolved issue with message:
In some situations, a client might try to use verbs before it had received them and couldn't parse them correctly. In the particular case tested, the client was aware of the existence of a verb but did not have its name and parsing data. The server now keeps track of which verbs a client knows and sends their info to the client without the client having to request them.