-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FIRE-31264: Temp attachments attached by experinece are ghosted. #70
base: master
Are you sure you want to change the base?
Conversation
experinece are ghosted. Experience detach request on region change occurs before fsExperimentalLostAttachmentsFixKillDelay expires. Altered check to bypass if temporary attachment.
Hiya, I am not an expert in this area, @Ansariel might want to correct me if I am wrong here. (note that if Also, an unrelated point on the change tagging. //<FS:TT-lp0> FIRE-31264: Temp attachments attached by experinece are ghosted.
//(objectp->isAttachment() || objectp->isTempAttachment()) &&
//Window for experience to request detach on change to non-experienced area is shorter than the default FixKillDelay.
(objectp->isAttachment() && !objectp->isTempAttachment()) &&
// </FS:TT-lp0> |
PR looks good to me, but also checked to be sure: For temp attachments, both |
After a few tests with an experience attached object, was unable to cause the temporary object to detach on its own without issuing a llDetachFromAvatar() |
We had some internal discussion which reminded me why the check is the way it is: Apparently there are two different different ways temporary attachments are supposed to be handled during a TP:
Problem: So far I - at least - couldn't find a way to determine what kind of temp attachment the worn object is. So there had to be a decision made if temp attachments should be included in the viewer-side workaround for attachments getting erroneously detached (case 1) or excluded (case 2). Latter could of course mean you might lose a normal temp attachment during a TP because of the server-side bug. |
That was also something I noticed, the lack of information relating to an experience, except for a hint from a debug message mentioning that the attachment arrived unexpected or late. Started looking through the RLV part to see how it's handled, but if I understand RLV, commands are processed by the viewer, and attach/detach requests originate from the viewer, making them expected messages. Experience related attach/detach originate server side, and attach is reliably generating the unexpected / late attachment warning. WARNING # newview/llattachmentsmgr.cpp(418) onAttachmentArrived : ATT Attachment was unexpected or arrived after 30 seconds: |
So we're kinda stuck, I am not sure whether this change fixes more things than it breaks. I'm gonna reach out to LL and see if I can get more info. |
Just to update, LL are looking into whether there is a way to determine this. I suspect this means there is not, in which case we need to somehow work out which of the two options is more likely to happen across the whole user base. |
Experience detach request on region / parcel change occurs before fsExperimentalLostAttachmentsFixKillDelay expires. Added a bypass to FIRE-12004 if attached in a temporary slot.