FIRE-31264: Temp attachments attached by experinece are ghosted. #70
FIRE-31264: Temp attachments attached by experinece are ghosted. #70Error-LP0 wants to merge 3 commits intoFirestormViewer:masterfrom
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.