Skip to content
Extraits de code Groupes Projets
Non vérifiée Valider beeb073d rédigé par Benjamin Neff's avatar Benjamin Neff Validation de Dennis Schubert
Parcourir les fichiers

Fix followed tags posts in stream for posts with multiple tags

When there were posts with many followed tags they were returned
multiple times, resulting in less than 15 unique posts. That resulted in
some posts to be missed in the stream.

Fixes #4503

closes #7715
parent f0aca56c
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -8,6 +8,7 @@
* Prevent duplicate mention notifications when the post is received twice [#7721](https://github.com/diaspora/diaspora/pull/7721)
* Fixed a compatiblitiy issue with non-diaspora\* webfingers [#7718](https://github.com/diaspora/diaspora/pull/7718)
* Don't retry federation for accounts without a valid public key [#7717](https://github.com/diaspora/diaspora/pull/7717)
* Fix stream generation for tagged posts with many followed tags [#7715](https://github.com/diaspora/diaspora/pull/7715)
## Features
* Add basic html5 audio/video embedding support [#6418](https://github.com/diaspora/diaspora/pull/6418)
......
......@@ -46,7 +46,7 @@ class StatusMessage < Post
end
def self.public_tag_stream(tag_ids)
all_public.tag_stream(tag_ids)
all_public.select("DISTINCT #{table_name}.*").tag_stream(tag_ids)
end
def self.tag_stream(tag_ids)
......
......@@ -51,6 +51,14 @@ describe StatusMessage, type: :model do
it "returns public status messages tagged with the tag" do
expect(StatusMessage.public_tag_stream([@tag_id])).to eq([@status_message_1])
end
it "returns a post with two tags only once" do
status_message = FactoryGirl.create(:status_message, text: "#hashtag #test", public: true)
test_tag_id = ActsAsTaggableOn::Tag.where(name: "test").first.id
expect(StatusMessage.public_tag_stream([@tag_id, test_tag_id]))
.to match_array([@status_message_1, status_message])
end
end
describe ".user_tag_stream" do
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter