FIX: Don't send image sizes for emojis/avatars (#20589)
When using the "review media unless trust level" setting, posts with emojis or quotes will end up in the review queue even though they don't have any uploaded media. That is because our heuristic for this in the new post manager relies on image_sizes. This commit skips sending image_sizes for emojis and avatars. Co-authored-by: Régis Hanol <regis@hanol.fr>
This commit is contained in:
parent
3cab9d5f80
commit
673cd4196f
|
@ -23,5 +23,9 @@
|
||||||
</DEditor>
|
</DEditor>
|
||||||
|
|
||||||
{{#if this.allowUpload}}
|
{{#if this.allowUpload}}
|
||||||
<PickFilesButton @fileInputId="file-uploader" @allowMultiple={{true}} />
|
<PickFilesButton
|
||||||
|
@fileInputId="file-uploader"
|
||||||
|
@allowMultiple={{true}}
|
||||||
|
name="file-uploader"
|
||||||
|
/>
|
||||||
{{/if}}
|
{{/if}}
|
|
@ -1008,7 +1008,9 @@ export default Controller.extend({
|
||||||
// TODO: This should not happen in model
|
// TODO: This should not happen in model
|
||||||
const imageSizes = {};
|
const imageSizes = {};
|
||||||
document
|
document
|
||||||
.querySelectorAll("#reply-control .d-editor-preview img")
|
.querySelectorAll(
|
||||||
|
"#reply-control .d-editor-preview img:not(.avatar, .emoji)"
|
||||||
|
)
|
||||||
.forEach((e) => {
|
.forEach((e) => {
|
||||||
const src = e.src;
|
const src = e.src;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
describe "Composer using review_media", type: :system, js: true do
|
||||||
|
fab!(:user) { Fabricate(:user) }
|
||||||
|
fab!(:topic) { Fabricate(:topic, category: Category.find(SiteSetting.uncategorized_category_id)) }
|
||||||
|
fab!(:post) { Fabricate(:post, topic: topic) }
|
||||||
|
fab!(:upload) { Fabricate(:upload) }
|
||||||
|
let(:topic_page) { PageObjects::Pages::Topic.new }
|
||||||
|
|
||||||
|
before do
|
||||||
|
SiteSetting.review_media_unless_trust_level = 3
|
||||||
|
sign_in user
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not flag a post with an emoji" do
|
||||||
|
topic_page.visit_topic_and_open_composer(topic)
|
||||||
|
topic_page.fill_in_composer(" this one has an emoji: :mask: ")
|
||||||
|
|
||||||
|
within(".d-editor-preview") { expect(page).to have_css(".emoji") }
|
||||||
|
topic_page.send_reply
|
||||||
|
|
||||||
|
expect(topic_page).to have_post_number(2)
|
||||||
|
expect(page).not_to have_css(".post-enqueued-modal")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "flags a post with an image" do
|
||||||
|
topic_page.visit_topic_and_open_composer(topic)
|
||||||
|
topic_page.fill_in_composer(" this one has an upload: ")
|
||||||
|
|
||||||
|
attach_file "file-uploader", "#{Rails.root}/spec/fixtures/images/logo.jpg", make_visible: true
|
||||||
|
within(".d-editor-preview") { expect(page).to have_css("img") }
|
||||||
|
topic_page.send_reply
|
||||||
|
|
||||||
|
expect(page).to have_css(".post-enqueued-modal")
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue