aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Avatar/InstantMessage
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2014-05-12 23:30:44 +0100
committerJustin Clark-Casey (justincc)2014-05-12 23:38:48 +0100
commit87e2668529af4479e3dd94215193ff63ae685148 (patch)
treea5b8bc40112e3e4f749b372989acdde02e804ec5 /OpenSim/Region/CoreModules/Avatar/InstantMessage
parentAdd send group notice regression test for when MessageOnlineUsersOnly=true (diff)
downloadopensim-SC-87e2668529af4479e3dd94215193ff63ae685148.zip
opensim-SC-87e2668529af4479e3dd94215193ff63ae685148.tar.gz
opensim-SC-87e2668529af4479e3dd94215193ff63ae685148.tar.bz2
opensim-SC-87e2668529af4479e3dd94215193ff63ae685148.tar.xz
For XmlRpcGroups (Flotsam) module, when MessageOnlineUsersOnly = true, handle notices to offline users directly as known undeliverable messages rather than discarding or attempting delivery.
Offline notices can still be controlled with the [Messaging] ForwardOfflineGroupMessages setting. Looks to address more of http://opensimulator.org/mantis/view.php?id=7037 Only for Flotsam now for testing, but if approach works should be possible with core offline notices as well.
Diffstat (limited to 'OpenSim/Region/CoreModules/Avatar/InstantMessage')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs4
-rw-r--r--OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs10
2 files changed, 7 insertions, 7 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs
index c51b30f..6f3c80a 100644
--- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs
@@ -210,7 +210,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
210 success = m_IMService.OutgoingInstantMessage(im, url, foreigner); 210 success = m_IMService.OutgoingInstantMessage(im, url, foreigner);
211 211
212 if (!success && !foreigner) 212 if (!success && !foreigner)
213 HandleUndeliveredMessage(im, result); 213 HandleUndeliverableMessage(im, result);
214 else 214 else
215 result(success); 215 result(success);
216 }); 216 });
@@ -246,7 +246,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
246 return successful; 246 return successful;
247 } 247 }
248 248
249 protected void HandleUndeliveredMessage(GridInstantMessage im, MessageResultNotification result) 249 public void HandleUndeliverableMessage(GridInstantMessage im, MessageResultNotification result)
250 { 250 {
251 UndeliveredMessage handlerUndeliveredMessage = OnUndeliveredMessage; 251 UndeliveredMessage handlerUndeliveredMessage = OnUndeliveredMessage;
252 252
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
index 40a400f..7aa7123 100644
--- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
@@ -181,7 +181,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
181 SendGridInstantMessageViaXMLRPC(im, result); 181 SendGridInstantMessageViaXMLRPC(im, result);
182 } 182 }
183 183
184 private void HandleUndeliveredMessage(GridInstantMessage im, MessageResultNotification result) 184 public void HandleUndeliverableMessage(GridInstantMessage im, MessageResultNotification result)
185 { 185 {
186 UndeliveredMessage handlerUndeliveredMessage = OnUndeliveredMessage; 186 UndeliveredMessage handlerUndeliveredMessage = OnUndeliveredMessage;
187 187
@@ -511,14 +511,14 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
511 if (upd.RegionID == prevRegionID) 511 if (upd.RegionID == prevRegionID)
512 { 512 {
513 // m_log.Error("[GRID INSTANT MESSAGE]: Unable to deliver an instant message"); 513 // m_log.Error("[GRID INSTANT MESSAGE]: Unable to deliver an instant message");
514 HandleUndeliveredMessage(im, result); 514 HandleUndeliverableMessage(im, result);
515 return; 515 return;
516 } 516 }
517 } 517 }
518 else 518 else
519 { 519 {
520 // m_log.Error("[GRID INSTANT MESSAGE]: Unable to deliver an instant message"); 520 // m_log.Error("[GRID INSTANT MESSAGE]: Unable to deliver an instant message");
521 HandleUndeliveredMessage(im, result); 521 HandleUndeliverableMessage(im, result);
522 return; 522 return;
523 } 523 }
524 } 524 }
@@ -567,12 +567,12 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
567 else 567 else
568 { 568 {
569 m_log.WarnFormat("[GRID INSTANT MESSAGE]: Unable to find region {0}", upd.RegionID); 569 m_log.WarnFormat("[GRID INSTANT MESSAGE]: Unable to find region {0}", upd.RegionID);
570 HandleUndeliveredMessage(im, result); 570 HandleUndeliverableMessage(im, result);
571 } 571 }
572 } 572 }
573 else 573 else
574 { 574 {
575 HandleUndeliveredMessage(im, result); 575 HandleUndeliverableMessage(im, result);
576 } 576 }
577 } 577 }
578 578