From e6f849f87301ef17b5eb20a781a9ac4f1d6cbbfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Hanol?= Date: Fri, 23 Jan 2015 19:17:33 +0100 Subject: [PATCH 01/15] FIX: make sure pasting an image in the composer is considered as an image instead of an attachment --- app/assets/javascripts/discourse/lib/utilities.js | 3 ++- test/javascripts/lib/utilities-test.js.es6 | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/discourse/lib/utilities.js b/app/assets/javascripts/discourse/lib/utilities.js index 8fe483a16d..81afac78a6 100644 --- a/app/assets/javascripts/discourse/lib/utilities.js +++ b/app/assets/javascripts/discourse/lib/utilities.js @@ -162,11 +162,12 @@ Discourse.Utilities = { } var upload = files[0]; - var type = Discourse.Utilities.isAnImage(upload.name) ? 'image' : 'attachment'; // CHROME ONLY: if the image was pasted, sets its name to a default one if (upload instanceof Blob && !(upload instanceof File) && upload.type === "image/png") { upload.name = "blob.png"; } + var type = Discourse.Utilities.isAnImage(upload.name) ? 'image' : 'attachment'; + return Discourse.Utilities.validateUploadedFile(upload, type, bypassNewUserRestriction); }, diff --git a/test/javascripts/lib/utilities-test.js.es6 b/test/javascripts/lib/utilities-test.js.es6 index 0052767c4b..15ee484673 100644 --- a/test/javascripts/lib/utilities-test.js.es6 +++ b/test/javascripts/lib/utilities-test.js.es6 @@ -60,14 +60,16 @@ test("prevents files that are too big from being uploaded", function() { ok(bootbox.alert.calledWith(I18n.t('post.errors.file_too_large', { max_size_kb: 5 }))); }); +var imageSize = 10 * 1024; + var dummyBlob = function() { var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder; if (BlobBuilder) { var bb = new BlobBuilder(); - bb.append([1]); + bb.append([new Int8Array(imageSize)]); return bb.getBlob("image/png"); } else { - return new Blob([1], { "type" : "image\/png" }); + return new Blob([new Int8Array(imageSize)], { "type" : "image\/png" }); } }; @@ -75,10 +77,11 @@ test("allows valid uploads to go through", function() { Discourse.User.resetCurrent(Discourse.User.create()); Discourse.User.currentProp("trust_level", 1); Discourse.SiteSettings.max_image_size_kb = 15; + Discourse.SiteSettings.max_attachment_size_kb = 1; sandbox.stub(bootbox, "alert"); // image - var image = { name: "image.png", size: 10 * 1024 }; + var image = { name: "image.png", size: imageSize }; ok(validUpload([image])); // pasted image var pastedImage = dummyBlob(); From 05006389002b704ff6d8af5b841e9a46ff33efa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Hanol?= Date: Fri, 23 Jan 2015 19:57:01 +0100 Subject: [PATCH 02/15] FIX: :arrow_up: update onebox gem for more dailymotion.com support --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index debd886241..6f663bb562 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -271,7 +271,7 @@ GEM omniauth-twitter (1.0.1) multi_json (~> 1.3) omniauth-oauth (~> 1.0) - onebox (1.5.9) + onebox (1.5.10) moneta (~> 0.7) multi_json (~> 1.7) mustache (~> 0.99) From f7f5e39f75adb8f5336322aae007f70f5e683f2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Hanol?= Date: Fri, 23 Jan 2015 20:31:48 +0100 Subject: [PATCH 03/15] FIX: Minor Admin bug with a setting when creating a new group --- app/assets/javascripts/admin/templates/group.hbs | 2 +- app/assets/javascripts/discourse/models/group.js | 7 ++++++- app/controllers/admin/groups_controller.rb | 5 +++-- app/serializers/basic_group_serializer.rb | 4 ---- spec/controllers/admin/groups_controller_spec.rb | 3 ++- 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/app/assets/javascripts/admin/templates/group.hbs b/app/assets/javascripts/admin/templates/group.hbs index ac76d7056a..2800ac2b9c 100644 --- a/app/assets/javascripts/admin/templates/group.hbs +++ b/app/assets/javascripts/admin/templates/group.hbs @@ -46,7 +46,7 @@ {{#unless automatic}}
- {{list-setting name="automatic_membership" settingValue=automatic_membership_email_domains}} + {{list-setting name="automatic_membership" settingValue=emailDomains}}