Skip to content

Commit 9ad3efd

Browse files
committed
Fixed a bug with web socket notification data loss could occur
1 parent 639a219 commit 9ad3efd

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

src/Exceptionless.Core/Models/Messaging/ExtendedEntityChanged.cs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ private ExtendedEntityChanged() { } // Ensure create is used.
1111
public string ProjectId { get; private set; }
1212
public string StackId { get; private set; }
1313

14-
public static ExtendedEntityChanged Create(EntityChanged entityChanged) {
14+
public static ExtendedEntityChanged Create(EntityChanged entityChanged, bool removeWhenSettingProperties = true) {
1515
var model = new ExtendedEntityChanged {
1616
Id = entityChanged.Id,
1717
Type = entityChanged.Type,
@@ -21,17 +21,20 @@ public static ExtendedEntityChanged Create(EntityChanged entityChanged) {
2121

2222
if (model.Data.TryGetValue(KnownKeys.OrganizationId, out var organizationId)) {
2323
model.OrganizationId = organizationId.ToString();
24-
model.Data.Remove(KnownKeys.OrganizationId);
24+
if (removeWhenSettingProperties)
25+
model.Data.Remove(KnownKeys.OrganizationId);
2526
}
2627

2728
if (model.Data.TryGetValue(KnownKeys.ProjectId, out var projectId)) {
2829
model.ProjectId = projectId.ToString();
29-
model.Data.Remove(KnownKeys.ProjectId);
30+
if (removeWhenSettingProperties)
31+
model.Data.Remove(KnownKeys.ProjectId);
3032
}
3133

3234
if (model.Data.TryGetValue(KnownKeys.StackId, out var stackId)) {
3335
model.StackId = stackId.ToString();
34-
model.Data.Remove(KnownKeys.StackId);
36+
if (removeWhenSettingProperties)
37+
model.Data.Remove(KnownKeys.StackId);
3538
}
3639

3740
return model;

src/Exceptionless.Core/Services/MessageService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ private async Task BeforePublishEventEntityChanged(object sender, BeforePublishE
4949
}
5050

5151
private Task<int> GetNumberOfListeners(EntityChanged message) {
52-
var entityChanged = ExtendedEntityChanged.Create(message);
52+
var entityChanged = ExtendedEntityChanged.Create(message, false);
5353
if (String.IsNullOrEmpty(entityChanged.OrganizationId))
5454
return Task.FromResult(1); // Return 1 as we have no idea if people are listening.
5555

0 commit comments

Comments
 (0)