Difference between revisions of "LSL Protocol/Restrained Love Relay/Bugs and Pending Features"
Maike Short (talk | contribs) m |
Maike Short (talk | contribs) (added section for 1.015) |
||
Line 1: | Line 1: | ||
{{Restrained Life Relay Specs TOC}} | {{Restrained Life Relay Specs TOC}} | ||
== Stuck: Accepting Permission Dialog after !release == | == 1.015 == | ||
== 1.014 == | |||
The following problems occured in version 1.014 and have been fixed: | |||
=== Stuck: Accepting Permission Dialog after !release === | |||
; Discovered by : Maike Short | ; Discovered by : Maike Short | ||
; Workaround : Don't accept requests after you have been freed. In case it happend, reenter the cage / sit down again; relog. | ; Workaround : Don't accept requests after you have been freed. In case it happend, reenter the cage / sit down again; relog. | ||
; Fixed : in | ; Fixed : in 1.015 | ||
== Force Sit during Login on the control object instead of the forced-sit one == | === Force Sit during Login on the control object instead of the forced-sit one === | ||
; Discovered by : Azoth Amat | ; Discovered by : Azoth Amat | ||
Line 12: | Line 19: | ||
; Broken fix attempt : change in <code>timer()</code>: <code>sendRLCmd ("@sit:"+(string)kSource+"=force");</code> to <code>sendRLCmd ("@sit:"+(string)lastForceSitDestination+"=force");</code> | ; Broken fix attempt : change in <code>timer()</code>: <code>sendRLCmd ("@sit:"+(string)kSource+"=force");</code> to <code>sendRLCmd ("@sit:"+(string)lastForceSitDestination+"=force");</code> | ||
; Note : This prevents @unsit to work in case the person set down without being forced. See below for real fix. | ; Note : This prevents @unsit to work in case the person set down without being forced. See below for real fix. | ||
; Fixed : in | ; Fixed : in 1.015 | ||
== Stuck on crash/relog with objects asking for relay upon being sat on == | === Stuck on crash/relog with objects asking for relay upon being sat on === | ||
; Discovered by : Gregor Mougin | ; Discovered by : Gregor Mougin | ||
Line 64: | Line 71: | ||
debug("asking for permission because kSource is NULL_KEY"); | debug("asking for permission because kSource is NULL_KEY"); | ||
</lsl> | </lsl> | ||
; Fixed : in | ; Fixed : in 1.015 |
Revision as of 01:30, 30 August 2008
1.015
1.014
The following problems occured in version 1.014 and have been fixed:
Stuck: Accepting Permission Dialog after !release
- Discovered by
- Maike Short
- Workaround
- Don't accept requests after you have been freed. In case it happend, reenter the cage / sit down again; relog.
- Fixed
- in 1.015
Force Sit during Login on the control object instead of the forced-sit one
- Discovered by
- Azoth Amat
- Workaround
- Put the script into the same object as the one the person is forced to sit on.
- Broken fix attempt
- change in
timer()
:sendRLCmd ("@sit:"+(string)kSource+"=force");
tosendRLCmd ("@sit:"+(string)lastForceSitDestination+"=force");
- Note
- This prevents @unsit to work in case the person set down without being forced. See below for real fix.
- Fixed
- in 1.015
Stuck on crash/relog with objects asking for relay upon being sat on
- Discovered by
- Gregor Mougin
- Problem
- Many objects check for presence of a relay and the RR viewer by asking for the !version when sat on. If the user crashes, and the object was used by someone else in the meantime (or, for testing, reset), the relay enforces all previous restrictions whereas the object doesn't know of them.
- Workaround
- none
- Suggested fix
<lsl> --- RLV_v1.014a 2008-07-06 23:17:14.000000000 +0200 +++ RLV_v1.014a-xxx 2008-07-06 23:18:32.000000000 +0200 @@ -545,10 +545,16 @@
loginPendingForceSit = FALSE; releaseRestrictions(); }
- else - { - sendRLCmd ("@sit:"+(string)kSource+"=force"); - } + // XXX + // DON'T do it here + // Some (many?) objects ask the relay for the !version upon + // sitting on it. Since the !version is interpreted the same + // as !pong, the relay would think the object is still available + // and put all restrictions on the wearer unconditionally. + //else + //{ + // sendRLCmd ("@sit:"+(string)kSource+"=force"); + //}
} if (!loginPendingForceSit && !loginWaitingForPong)
@@ -583,6 +589,18 @@
loginWaitingForPong = FALSE; // whatever the message, it is for me => it satisfies the ping request
+ // XXX + // force sit here instead of unconditionally in the timer event + if (loginPendingForceSit) + { + integer agentInfo = llGetAgentInfo(llGetOwner()); + + loginPendingForceSit = FALSE; + if (!(agentInfo & AGENT_SITTING)) + sendRLCmd ("@sit:"+(string)kSource+"=force"); + } + // end XXX +
if (!isObjectKnow(id)) { debug("asking for permission because kSource is NULL_KEY");
</lsl>
- Fixed
- in 1.015