MantisBT - opensim
View Issue Details
0004528opensim[REGION] OpenSim Corepublic2010-01-19 13:262014-07-29 13:39
master (dev code) 
Grid (1 Region per Sim)
Mono / Linux32
0004528: llGivenInventory fails to deliver object if recipient is offline
If a script uses llGiveInventory to deliver an object to an avatar, the delivery fails, if the recipient is offline at the time of delivery. If the recipient is online, a dialog window appears and the user can accept the object, what is the expected behavior.

After logging in, users should be asked to accept each object that was given to that avatar (by scripts or by users) during the time when that avatar was offline.
No tags attached.
has duplicate 0004429closed BlueWall llGiveInventory fails if receiver is not known by script region or if user is not logged in 
Issue History
2010-01-19 13:26SnoopyNew Issue
2010-01-19 13:26SnoopyGit Revision => 88d2adc93cd91baa9b2c9899ebe727672c914ec3
2010-01-19 13:26SnoopySVN Revision => 12029
2010-01-19 13:26SnoopyRun Mode => Grid (1 Region per Sim)
2010-01-19 13:26SnoopyPhysics Engine => ODE
2010-01-19 13:26SnoopyEnvironment => Mono / Linux32
2010-01-19 13:26SnoopyMono Version => trunk
2010-01-19 13:54ZauberNote Added: 0014814
2010-01-19 14:02SnoopyNote Added: 0014815
2010-01-19 14:31melanieNote Added: 0014817
2010-01-23 09:12SnoopyNote Added: 0014830
2010-01-23 09:22melanieNote Added: 0014832
2010-01-23 14:59SnoopyNote Added: 0014833
2010-09-05 15:38justinccRelationship addedhas duplicate 0004429
2010-10-31 05:36SnoopyNote Added: 0017199
2010-10-31 05:48melanieNote Added: 0017207
2011-05-23 12:30melanieStatusnew => resolved
2011-05-23 12:30melanieResolutionopen => fixed
2011-05-23 12:30melanieAssigned To => melanie
2014-07-29 13:39chi11kenStatusresolved => closed

2010-01-19 13:54   
I think this has something to do with the offline messenger module. Can you check to see if this behavior is still observed when that module is enabled?
2010-01-19 14:02   
I have the offline messaging module enabled:

    ; Control which region module is used for instant messaging.
    ; Default is InstantMessageModule (this is the name of the core IM module as well as the setting)
    InstantMessageModule = InstantMessageModule
    MessageTransferModule = MessageTransferModule
    OfflineMessageModule = OfflineMessageModule
    OfflineMessageURL = MSG_SERVER/offline.php
    MuteListModule = MuteListModule
    MuteListURL = MSG_SERVER/mute.php

    ; Control whether group messages are forwarded to offline users. Default is true.
    ; ForwardOfflineGroupMessages = true
2010-01-19 14:31   
Default behavior. as coded, is to simply insert the item into the user's inventory. No messages are generated. Tested on OSGrid and found working. The "offer" messages are not stored as offline messages.
2010-01-23 09:12   
I have tested it again and sorry it does not work for me, if the receipient is not online in OSGrid.

* CASE 1 *
Console messages when the receipient is online and the object is delivered properly using llGiveInventory (the recipient click "Keep" in the viewer):

Region (Dreamland) # CreateAgentInventoryItemFromTask
18:00:21 - [HG INVENTORY CONNECTOR]: user 375d38b7-ff91-4022-9c77-c56f30502673 is foreign( [^] - [^])
18:00:22 - [HGScene]: user's asset server is local region's asset server
Region (Dreamland) # Giving inventory
18:00:22 - [INSTANT MESSAGE]: Attempting delivery of IM from Test llGiveInventory, an object owned by Snoopy Pfeffer, to 375d38b7-ff91-4022-9c77-c56f30502673
18:00:22 - [INSTANT MESSAGE]: Looking for 375d38b7-ff91-4022-9c77-c56f30502673 in Dreamland
18:00:22 - [INSTANT MESSAGE]: Delivering to client
18:00:24 - OnInstantMessage 5
18:00:24 - [INSTANT MESSAGE]: Attempting delivery of IM from Claude Ashbourne to bf1e2445-01b0-4a0c-9f9d-2ede2975af8f
18:00:24 - [HG INVENTORY CONNECTOR]: GetItem b9cd04d6-f6a4-40a0-93e2-8858dee08c73 for user 375d38b7-ff91-4022-9c77-c56f30502673
18:00:24 - [HG INVENTORY CONNECTOR]: user 375d38b7-ff91-4022-9c77-c56f30502673 is foreign( [^] - [^])
18:00:24 - [GRID INSTANT MESSAGE]: Unable to deliver an instant message

What is the purpose of the failing instant message delivery? Is that another, independent bug?

* CASE 2 *
Console messages when the receipient is offline and the object is not delivered (bug) using llGiveInventory:

18:02:53 - [PRIM INVENTORY]: Could not find prim for ID 375d38b7-ff91-4022-9c77-c56f30502673
2010-01-23 09:22   
I see there is a foreign HG user involved. That makes things less clear. It may actually not work with foreign users. The IM is likely the dialog to accept or reject the item. It's sent as a special IM.
2010-01-23 14:59   
Both user, the owner of the object with the script and the recipient, are OSGrid residents. The region has HG enabled.
2010-10-31 05:36   
This bug still exists in the latest OpenSim 0.7 versions. The following error message appears on the console, where the UUIDs shown is the UUID of the receiver that isn't online:

13:33:58 - [PRIM INVENTORY]: Could not find prim for ID 2a48bef0-c306-4029-a54e-6ba8146ace51
2010-10-31 05:48   
The recipient doesn't receive a message, but does indeed receive the item. In that way, it's consistent with SL when IMs are capped, because capping can also cause the dialogs to be lost in SL, but delivery as such still works.