fix: Label Duplication in Bulk Actions (#7341)

When looping the conversations in bulk action to assign them to new labels, the existing labels in other conversations were also getting duplicated across all conversations. This PR fixes the issue. 

> In the previous implementation, new_labels is appended to the existing labels using the << operator. This operator modifies the original array instead of creating a new one, causing unwanted side effects. More specifically, new_labels is a reference to the original argument array of the method.

Co-authored-by: Sojan <sojan@pepalo.com>
Co-authored-by: Peter Salib <74493166+Peteraymansalib@users.noreply.github.com>
This commit is contained in:
OMAR.A
2023-06-22 16:06:58 +03:00
committed by GitHub
parent 93daaea19b
commit 82e5fc413e

View File

@@ -10,7 +10,8 @@ module Labelable
end
def add_labels(new_labels = nil)
new_labels << labels
update!(label_list: new_labels)
new_labels = Array(new_labels) # Make sure new_labels is an array
combined_labels = labels + new_labels
update!(label_list: combined_labels)
end
end