Neos-Metaverse / NeosPublic

A public issue/wiki only repository for the NeosVR project
195 stars 9 forks source link

World overwrite function not working #3044

Open AegisTheWolf opened 3 years ago

AegisTheWolf commented 3 years ago

Describe the bug?

When overriding one world with another it closes the context menu to do so.

Relevant issues

I am unaware any direct issues, though as said to me it may be a side effect of another playerspace security update that just needs to be configured to make this work again?

To Reproduce

Simply attempt to override one world with another using the context menu that pops up when selecting the world you are overriding,

Expected behavior

The context menu when you first select the second world orb will pop up but once selecting the override option the context menu closes/does not react to clicking the option.

Log Files

No response

Screenshots

No response

How often does it happen?

Always

Does the bug persist after restarting Neos?

Yes

Neos Version Number

2021.9.16.105

What Platforms does this occur on?

Windows

Link to Reproduction Item/World

No response

Did this work before?

Yes

If it worked before, on which build?

unknown (not known to me)

Additional context

No response

Reporters

Aegis_Wolf, Ryuvi

mralext20 commented 3 years ago

related #2836 maybe?

Frooxius commented 3 years ago

I can't actually replicate this. I just tested it on my end, but I can overwrite the world properly. I'd need more information on how to replicate this.

shiftyscales commented 3 years ago

Aegis just tried to replicate it in desktop, and I tried in VR. What worlds were you testing with? For me, they were a couple of worlds I had just made yesterday. The initial context menu appears, but when the overwrite option is pressed, it dismisses, and nothing happens.

Frooxius commented 3 years ago

I just tested with my own worlds I just created.

Is there anything in the log?

shiftyscales commented 3 years ago

With the new debug logging added, I made the following log: SHIFTYWINDOWS - 2021.9.22.1431 - 2021-09-22 17_21_53.log

ProbablePrime commented 1 year ago

I know some beady eyed people will wonder why i'm looking at this issue, well:

  1. I wanted to
  2. So I am :)

I looked into the logs provided here from Shifty and traced these through the code. Everything seems to get through how it should based on the logs but I don't see a log message which I would expect to see.

During the overwrite process we check if the two orbs are compatible to be overwritten 5 times.

Each time this produces 2 log messages:

5:22:39 PM.035 ( 89 FPS)    OverwriteWith: neosrec:///U-Shifty/R-ed1925bc-8d2c-4f66-afb1-da1b87c6c267
5:22:39 PM.035 ( 89 FPS)    ExtractRecordID: neosrec:///U-Shifty/R-ed1925bc-8d2c-4f66-afb1-da1b87c6c267, OwnerId: U-Shifty, CanModify: True

In that order, so we should expect 5 repetitions of the above structure.

Each time is for a different reason:

  1. To check if we should add the extra context menu item
  2. Immediately after you press the extra context menu item
  3. When you confirm the overwrite process via the context menu("Confirm OVERWRITE")
  4. Immediately before doing the actual overwrite process.

Looking at your logs shifty i see:

5:22:36 PM.537 ( 91 FPS)    OverwriteWith: 
5:22:39 PM.031 ( 89 FPS)    CanModify: True, OwnerID: U-Shifty, URL: neosrec:///U-Shifty/R-87c419d3-2173-4774-b10b-9e2c030d3473
5:22:39 PM.035 ( 89 FPS)    OverwriteWith: neosrec:///U-Shifty/R-ed1925bc-8d2c-4f66-afb1-da1b87c6c267
5:22:39 PM.035 ( 89 FPS)    ExtractRecordID: neosrec:///U-Shifty/R-ed1925bc-8d2c-4f66-afb1-da1b87c6c267, OwnerId: U-Shifty, CanModify: True
5:22:40 PM.050 ( 91 FPS)    OverwriteWith: neosrec:///U-Shifty/R-ed1925bc-8d2c-4f66-afb1-da1b87c6c267
5:22:40 PM.050 ( 91 FPS)    ExtractRecordID: neosrec:///U-Shifty/R-ed1925bc-8d2c-4f66-afb1-da1b87c6c267, OwnerId: U-Shifty, CanModify: True

I'm a little confused by the first time I see Overwrite With: as it seems to have no url after it I will assume that this check failed. So I'm discounting that one for now.

However, the next line after the blank overwrite with, that just starts with CanModify is generated when you open the context menu.

Based on this I assume you opened the world orb menu at "5:22:39 PM.031" then following this through I only see 2 OverwriteWith/ExtractRecordID pairs.

This would seem to suggest that the confirmation step "Confirm OVERWRITE" did not appear and/or was not selected?

If this is the case then either that option is misbehaving or it wasn't pressed for some other reason? I see an immediate exit of neos 6 seconds after the end of the chain described above so its a little hard to tell.

If you can re-take a look at this and confirm that the overwrite option appears and is selected that might help me. If this fails I can always re-structure the log lines here to take a deeper look. I did this based purely on logs and comparing these to code today though.

Thanks!

ohzee00 commented 1 year ago

So seeing this issue made me curious (partly because I knew this feature was actually a thing but never tested it because I assumed it was broken)

On testing it in desktop, I was not able to override a world BUT, on letting go of the world orb I was holding, I was able to override the world successfully!

https://user-images.githubusercontent.com/33611545/205266487-ae1773c1-b881-4450-9757-9a5527557966.mp4

ProbablePrime commented 1 year ago

You got the logs for that runthrough? I want to compare them to Shifty's thanks Ohzee so much for your help!

ohzee00 commented 1 year ago

DESKTOP-V75BHJO - 2022.1.28.1335 - 2022-12-02 04_50_27.log

Oh duh those would be useful, my bad for not including them to begin with! Kinda got excited that it just worked:tm:

ProbablePrime commented 1 year ago

Ok so your log only shows 4 Log pairs :S Maybe I miscounted but it's certainly greater than 2 :D :

You'll see The following order here:

  1. You open the menu(CanModify: True)(4:55:21 AM.963)
  2. We check if the situation is suitable for overwrite (Also 4:55:21 AM.963)
  3. You push the overwrite option (.709)
  4. You confirm the overwrite (28.648) (This timestamp is kinda gross, the milliseconds should be before the AM :'()
  5. The Actual process for overwriting happens(.650)
  6. A sync starts to Sync the overwrite!
    4:55:21 AM.963 (165 FPS)    CanModify: True, OwnerID: U-ohzee, URL: neosrec:///U-ohzee/R-8019b685-1026-43dd-9c24-e1d958966e89
    4:55:21 AM.963 (165 FPS)    OverwriteWith: neosrec:///U-ohzee/R-453407dc-ba12-4bba-8d5b-789429a25439
    4:55:21 AM.963 (165 FPS)    ExtractRecordID: neosrec:///U-ohzee/R-453407dc-ba12-4bba-8d5b-789429a25439, OwnerId: U-ohzee, CanModify: True
    4:55:25 AM.709 (165 FPS)    OverwriteWith: neosrec:///U-ohzee/R-453407dc-ba12-4bba-8d5b-789429a25439
    4:55:25 AM.709 (165 FPS)    ExtractRecordID: neosrec:///U-ohzee/R-453407dc-ba12-4bba-8d5b-789429a25439, OwnerId: U-ohzee, CanModify: True
    4:55:28 AM.648 (162 FPS)    OverwriteWith: neosrec:///U-ohzee/R-453407dc-ba12-4bba-8d5b-789429a25439
    4:55:28 AM.648 (162 FPS)    ExtractRecordID: neosrec:///U-ohzee/R-453407dc-ba12-4bba-8d5b-789429a25439, OwnerId: U-ohzee, CanModify: True
    4:55:28 AM.650 (162 FPS)    OverwriteWith: neosrec:///U-ohzee/R-453407dc-ba12-4bba-8d5b-789429a25439
    4:55:28 AM.650 (162 FPS)    ExtractRecordID: neosrec:///U-ohzee/R-453407dc-ba12-4bba-8d5b-789429a25439, OwnerId: U-ohzee, CanModify: True
    4:55:29 AM.755 (103 FPS)    Starting sync for U-ohzee:R-8019b685-1026-43dd-9c24-e1d958966e89. Local: 17, Global: 16
    4:55:36 AM.274 (155 FPS)    Finished sync for U-ohzee:R-8019b685-1026-43dd-9c24-e1d958966e89. Local: 17, Global: 16

So based on this what I think we have is probably a usability issue, the way that you trigger these menus might be affecting things as it only worked when you let go. Shifty's original reproduction steps seem to suggest she was also holding the "source" orb while overwriting.

I'll dig into the code a little more to see how/why holding the orb is doing this. In any case I think we have a workaround!

ProbablePrime commented 1 year ago

I confirmed that the second context menu(Confirm Overwrite) does in fact open if you hold the source orb by adding some log lines, it just appears to immediately close.

ProbablePrime commented 1 year ago

Removing priority status due to a workaround being found.

shiftyscales commented 1 year ago

Thanks, @ProbablePrime - yeah. What Ohzee demonstrated with the menu just not appearing at all was the behaviour I experienced, which was a regression/change from the original behaviour wherein you can hold the orb through the entire process.

I think I might potentially have a candidate for a cause too? Checking our update log from around that time, I see that shortly before the issue was reported, Frooxius had introduced the new grab types e.g. "precision grab" and "laser only" grabbing.

https://discord.com/channels/402159838827905024/469131434628612116/887465678779580427