Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
134 stars 2 forks source link

WorldUsersFeed not adding / removing instances sometimes #1886

Closed JackTheFoxOtter closed 4 months ago

JackTheFoxOtter commented 4 months ago

Describe the bug?

We haven't quite nailed it down, but sometimes the WorldUsersFeed doesn't seem to update the user instances. Appending the log file for a session where we first tested in a world I was hosting, then in a world Nordwick's headless (Nordwig) was hosting. In the session I was hosting (I'm the simulating user) it worked, Nordwick re-joining correctly removed and then instantiated the corresponding instance again, but on the headless, while the list generated correctly when spawning the item or manually re-assigning the data feed, it didn't remove Nordwick's old instance, and also didn't add a new one.

To Reproduce

Create a simple WorldUsersFeed, and according to our conditions, have a simulating user that isn't the host, a separate host (in our case a headless), and a third user that's joining / leaving.

Expected behavior

Users joining / leaving should update the data feed correctly in all cases.

Screenshots

No response

Resonite Version Number

Beta 2024.4.30.495

What Platforms does this occur on?

Windows

What headset if any do you use?

Valve Index

Log Files

J4-C - 2024.4.30.495 - 2024-04-30 20_04_02.log

Additional Context

No response

Reporters

Nordwick & Myself

JackTheFoxOtter commented 4 months ago

Managed to isolate it more: The incorrect behavior seems to only happen when an UpdatingUser is specified on the SingleFeedView. I've not seen it misbehave when that reference was left empty.

Frooxius commented 4 months ago

What is the UpdatingUser set to? Is it the host?

JackTheFoxOtter commented 4 months ago

No, it was set to myself. In the situation where I was the host it appeared to work, in the situation where I wasn't the host it appeared to misbehave.

Frooxius commented 4 months ago

Does it always misbehave when the user is set to someone who isn't the host? Or only sometimes?

JackTheFoxOtter commented 4 months ago

Just now we managed to reliably reproduce it in Phant's world. Setting myself to be the updating user and having Nordwick rejoin failed to remove Nordwick's old instance, but added a new one, so he ended up having two entries. Setting it to null and having Nordwick re-join behaved as expected.

Frooxius commented 4 months ago

Okay this should be fixed in 2024.5.3.467 now, the user join/leave events weren't firing for non-host users.

If it's still an issue let me know and we'll reopen.