From 3ce4bba3831dcbcb1ed683c93c25025d7e660e65 Mon Sep 17 00:00:00 2001 From: Steffen van Bergerem Date: Thu, 23 Mar 2017 00:58:56 +0100 Subject: [PATCH 1/8] Only remove post from stream after successful response Pass destroyModel from post control view to post view and don't listen to the remove event in the post view anymore. The `remove` function will be called from the base view. Fixes #5445 --- app/assets/javascripts/app/views/post_controls_view.js | 4 ++++ app/assets/javascripts/app/views/stream_post_views.js | 1 - app/assets/stylesheets/stream_element.scss | 3 ++- spec/javascripts/app/views/post_controls_view_spec.js | 7 +++++-- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/app/views/post_controls_view.js b/app/assets/javascripts/app/views/post_controls_view.js index 78c0ee3df..879d4d623 100644 --- a/app/assets/javascripts/app/views/post_controls_view.js +++ b/app/assets/javascripts/app/views/post_controls_view.js @@ -76,6 +76,10 @@ app.views.PostControls = app.views.Base.extend({ $.post(Routes.postParticipation(this.model.get("id")), {_method: "delete"}, function() { this.model.set({participation: false}); }.bind(this)); + }, + + destroyModel: function() { + this.post.destroyModel(); } }); // @license-end diff --git a/app/assets/javascripts/app/views/stream_post_views.js b/app/assets/javascripts/app/views/stream_post_views.js index ee0968420..c723d514b 100644 --- a/app/assets/javascripts/app/views/stream_post_views.js +++ b/app/assets/javascripts/app/views/stream_post_views.js @@ -33,7 +33,6 @@ app.views.StreamPost = app.views.Post.extend({ var personId = this.model.get("author").id; app.events.on("person:block:" + personId, this.remove, this); } - this.model.on("remove", this.remove, this); //subviews this.commentStreamView = new app.views.CommentStream({model : this.model}); this.oEmbedView = new app.views.OEmbed({model : this.model}); diff --git a/app/assets/stylesheets/stream_element.scss b/app/assets/stylesheets/stream_element.scss index 0cf1c6067..2ef09f3e0 100644 --- a/app/assets/stylesheets/stream_element.scss +++ b/app/assets/stylesheets/stream_element.scss @@ -4,7 +4,8 @@ margin: 0px; } &.deleting { - > .media { opacity: 0.3; } + opacity: .3; + .control-icons { display: none !important; } } } diff --git a/spec/javascripts/app/views/post_controls_view_spec.js b/spec/javascripts/app/views/post_controls_view_spec.js index e85cf571f..291d19b18 100644 --- a/spec/javascripts/app/views/post_controls_view_spec.js +++ b/spec/javascripts/app/views/post_controls_view_spec.js @@ -74,12 +74,15 @@ describe("app.views.PostControls", function() { }); it("calls destroyModel when removing a post", function() { - spyOn(app.views.PostControls.prototype, "destroyModel"); + spyOn(app.views.PostControls.prototype, "destroyModel").and.callThrough(); + spyOn(app.views.Post.prototype, "destroyModel"); app.currentUser = new app.models.User(this.model.attributes.author); - this.view = new app.views.PostControls({model: this.model}); + this.postView = new app.views.Post({model: this.model}); + this.view = new app.views.PostControls({model: this.model, post: this.postView}); this.view.render(); this.view.$(".remove_post.delete").click(); expect(app.views.PostControls.prototype.destroyModel).toHaveBeenCalled(); + expect(app.views.Post.prototype.destroyModel).toHaveBeenCalled(); }); it("calls hidePost when hiding a post", function() { From 8a98cd4517e599724b3ca3b68e233c3e6038e848 Mon Sep 17 00:00:00 2001 From: Steffen van Bergerem Date: Thu, 23 Mar 2017 01:02:33 +0100 Subject: [PATCH 2/8] Refactor destroyModel function in base view closes #7385 --- Changelog.md | 1 + app/assets/javascripts/app/views.js | 17 +++++++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Changelog.md b/Changelog.md index 8fb0c37ce..0ce0422ef 100644 --- a/Changelog.md +++ b/Changelog.md @@ -9,6 +9,7 @@ * Don't hide posts when blocking someone from the profile [#7379](https://github.com/diaspora/diaspora/pull/7379) * Disable autocomplete for the conversation form recipient input [#7375](https://github.com/diaspora/diaspora/pull/7375) * Fix sharing indicator on profile page for blocked users [#7382](https://github.com/diaspora/diaspora/pull/7382) +* Remove post only after a successful deletion on the server [#7385](https://github.com/diaspora/diaspora/pull/7385) ## Features * Add links to liked and commented pages [#5502](https://github.com/diaspora/diaspora/pull/5502) diff --git a/app/assets/javascripts/app/views.js b/app/assets/javascripts/app/views.js index d0bede4ea..16a033280 100644 --- a/app/assets/javascripts/app/views.js +++ b/app/assets/javascripts/app/views.js @@ -132,19 +132,20 @@ app.views.Base = Backbone.View.extend({ destroyModel: function(evt) { evt && evt.preventDefault(); - var self = this; var url = this.model.urlRoot + "/" + this.model.id; if( confirm(_.result(this, "destroyConfirmMsg")) ) { this.$el.addClass("deleting"); - this.model.destroy({ url: url }) - .done(function() { - self.remove(); - }) - .fail(function() { - self.$el.removeClass("deleting"); + this.model.destroy({ + url: url, + success: function() { + this.remove(); + }.bind(this), + error: function() { + this.$el.removeClass("deleting"); app.flashMessages.error(Diaspora.I18n.t("failed_to_remove")); - }); + }.bind(this) + }); } }, From 6f3c61d8f2c2dcbfae0c2998ac2aa681ec6d12f7 Mon Sep 17 00:00:00 2001 From: Steffen van Bergerem Date: Wed, 22 Mar 2017 11:25:41 +0100 Subject: [PATCH 3/8] Increase maximal height of large thumbnail Fixes #6248, supersedes #6244. closes #7383 --- Changelog.md | 1 + app/uploaders/processed_image.rb | 9 ++++----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Changelog.md b/Changelog.md index 0ce0422ef..54e1866bb 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,6 +4,7 @@ * Remove unused setPreload function [#7354](https://github.com/diaspora/diaspora/pull/7354) * Remove jQuery deprecations [#7356](https://github.com/diaspora/diaspora/pull/7356) * Use empty selector where "#" was used as a selector before (prepare jQuery 3 upgrade) [#7372](https://github.com/diaspora/diaspora/pull/7372) +* Increase maximal height of large thumbnail on mobile [#7383](https://github.com/diaspora/diaspora/pull/7383) ## Bug fixes * Don't hide posts when blocking someone from the profile [#7379](https://github.com/diaspora/diaspora/pull/7379) diff --git a/app/uploaders/processed_image.rb b/app/uploaders/processed_image.rb index 71bae76a1..68b540cf9 100644 --- a/app/uploaders/processed_image.rb +++ b/app/uploaders/processed_image.rb @@ -18,16 +18,15 @@ class ProcessedImage < CarrierWave::Uploader::Base end version :thumb_small do - process :resize_to_fill => [50,50] + process resize_to_fill: [50, 50] end version :thumb_medium do - process :resize_to_limit => [100,100] + process resize_to_limit: [100, 100] end version :thumb_large do - process :resize_to_limit => [300,300] + process resize_to_limit: [300, 1500] end version :scaled_full do - process :resize_to_limit => [700,nil] + process resize_to_limit: [700, nil] end - end From 13a44be30698fad485c14f911558b0c40d78e9d0 Mon Sep 17 00:00:00 2001 From: Steffen van Bergerem Date: Sun, 19 Mar 2017 18:43:23 +0100 Subject: [PATCH 4/8] Reduce size of conversation recipients in conversation form Fixes #7321. --- app/assets/stylesheets/conversations.scss | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/app/assets/stylesheets/conversations.scss b/app/assets/stylesheets/conversations.scss index 2c5b7b7e7..7c0bf90c5 100644 --- a/app/assets/stylesheets/conversations.scss +++ b/app/assets/stylesheets/conversations.scss @@ -197,16 +197,14 @@ } .recipients-tag-list { + margin: 0 -2px $form-group-margin-bottom; + .conversation-recipient-tag { background-color: $brand-primary; border-radius: $btn-border-radius-base; display: inline-flex; - margin: 0 2px $form-group-margin-bottom; - padding: 8px; - - &:first-child { margin-left: 0; } - - &:last-child { margin-right: 0; } + margin: 0 2px; + padding: $btn-border-radius-base; div { align-self: center; @@ -215,9 +213,9 @@ } .avatar { - height: 40px; + height: 35px; margin-right: 8px; - width: 40px; + width: 35px; } .name-and-handle { From 4a944c5ab4f7703a549d0e58d86945b964ba4012 Mon Sep 17 00:00:00 2001 From: Steffen van Bergerem Date: Sun, 19 Mar 2017 18:58:55 +0100 Subject: [PATCH 5/8] Use small avatar in the person json closes #7376 --- Changelog.md | 1 + app/models/person.rb | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Changelog.md b/Changelog.md index 54e1866bb..47f0e50ea 100644 --- a/Changelog.md +++ b/Changelog.md @@ -5,6 +5,7 @@ * Remove jQuery deprecations [#7356](https://github.com/diaspora/diaspora/pull/7356) * Use empty selector where "#" was used as a selector before (prepare jQuery 3 upgrade) [#7372](https://github.com/diaspora/diaspora/pull/7372) * Increase maximal height of large thumbnail on mobile [#7383](https://github.com/diaspora/diaspora/pull/7383) +* Reduce conversation recipient size [#7376](https://github.com/diaspora/diaspora/pull/7376) ## Bug fixes * Don't hide posts when blocking someone from the profile [#7379](https://github.com/diaspora/diaspora/pull/7379) diff --git a/app/models/person.rb b/app/models/person.rb index 8e0d5b6e2..1f86c28bc 100644 --- a/app/models/person.rb +++ b/app/models/person.rb @@ -271,12 +271,12 @@ class Person < ActiveRecord::Base def as_json( opts = {} ) opts ||= {} json = { - :id => self.id, - :guid => self.guid, - :name => self.name, - :avatar => self.profile.image_url(:thumb_medium), - :handle => self.diaspora_handle, - :url => Rails.application.routes.url_helpers.person_path(self), + id: id, + guid: guid, + name: name, + avatar: profile.image_url(:thumb_small), + handle: diaspora_handle, + url: Rails.application.routes.url_helpers.person_path(self) } json.merge!(:tags => self.profile.tags.map{|t| "##{t.name}"}) if opts[:includes] == "tags" json From d59ede46df9ecca072c5000bfa2aee8d271e4a2b Mon Sep 17 00:00:00 2001 From: Steffen van Bergerem Date: Sun, 19 Mar 2017 00:11:28 +0100 Subject: [PATCH 6/8] Remove styles for removed elements --- app/assets/stylesheets/mobile/mobile.scss | 14 ---------- app/assets/stylesheets/rtl.scss | 34 ----------------------- 2 files changed, 48 deletions(-) diff --git a/app/assets/stylesheets/mobile/mobile.scss b/app/assets/stylesheets/mobile/mobile.scss index e48c64596..54d01870e 100644 --- a/app/assets/stylesheets/mobile/mobile.scss +++ b/app/assets/stylesheets/mobile/mobile.scss @@ -625,20 +625,6 @@ h1.session { font-weight: 200; } -form p.checkbox_select { - position: relative; - label { - left: 25px; - top: 4px; - position: absolute; - font-size: 1em; - } - img { - position: relative; - top: 6px; - } -} - #profile_photo_upload { margin-top: 5px; min-height: 100px; diff --git a/app/assets/stylesheets/rtl.scss b/app/assets/stylesheets/rtl.scss index bec248686..76180a062 100644 --- a/app/assets/stylesheets/rtl.scss +++ b/app/assets/stylesheets/rtl.scss @@ -3,21 +3,11 @@ body { text-align: right; } -.right { - left: 0; - right: auto; -} - .stream-element .content { padding-right: 60px; padding-left: 0; } -.stream-element .right { - left: 12px; - right: auto; -} - ul.as-selections li { float: right; } @@ -41,16 +31,6 @@ ul.as-selections li.as-selection-item { padding-right: 120px; } -form p.checkbox_select label { - right: 20px; - left: auto; -} - -#update_profile_form h4 textarea[placeholder] { - right: -9999px; - left: auto; -} - label { right: 0.48em; left: auto; @@ -61,20 +41,6 @@ ul, ol { padding-right: 3.333em; } -.last { - margin-left: 0; -} - -ul.comments li .content, ul.show_comments li .content, div.likes li .content, div.dislikes li .content { - padding-left: 10px; - padding-right: 36px; -} - -ul.comments li form p, ul.show_comments li form p, div.likes li form p, div.dislikes li form p { - left: auto; - right: 35px; -} - .stream .stream-element time { right: auto; left: 20px; From 2c53c2941eb77b598c9560a8ad26fba2a8513dcf Mon Sep 17 00:00:00 2001 From: Steffen van Bergerem Date: Sun, 19 Mar 2017 00:13:32 +0100 Subject: [PATCH 7/8] Remove unused rtl styles --- app/assets/stylesheets/rtl.scss | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/app/assets/stylesheets/rtl.scss b/app/assets/stylesheets/rtl.scss index 76180a062..057d6a30b 100644 --- a/app/assets/stylesheets/rtl.scss +++ b/app/assets/stylesheets/rtl.scss @@ -3,11 +3,6 @@ body { text-align: right; } -.stream-element .content { - padding-right: 60px; - padding-left: 0; -} - ul.as-selections li { float: right; } @@ -41,21 +36,6 @@ ul, ol { padding-right: 3.333em; } -.stream .stream-element time { - right: auto; - left: 20px; -} - -.stream-element.conversation .message-count { - right: auto; - left: 10px; -} - -.stream-element.conversation .timestamp { - right: auto; - left: 10px; -} - div.content span.rtl { display: block; } From 4a56c0465ce4cbf8791ddc044e38e4fb02592d13 Mon Sep 17 00:00:00 2001 From: Steffen van Bergerem Date: Sun, 19 Mar 2017 00:14:11 +0100 Subject: [PATCH 8/8] Remove outdated rtl styles These lines might have been necessary some time ago but now they are making things worse. closes #7374 --- Changelog.md | 1 + app/assets/stylesheets/rtl.scss | 15 --------------- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/Changelog.md b/Changelog.md index 47f0e50ea..9931e37cc 100644 --- a/Changelog.md +++ b/Changelog.md @@ -6,6 +6,7 @@ * Use empty selector where "#" was used as a selector before (prepare jQuery 3 upgrade) [#7372](https://github.com/diaspora/diaspora/pull/7372) * Increase maximal height of large thumbnail on mobile [#7383](https://github.com/diaspora/diaspora/pull/7383) * Reduce conversation recipient size [#7376](https://github.com/diaspora/diaspora/pull/7376) +* Cleanup rtl css [#7374](https://github.com/diaspora/diaspora/pull/7374) ## Bug fixes * Don't hide posts when blocking someone from the profile [#7379](https://github.com/diaspora/diaspora/pull/7379) diff --git a/app/assets/stylesheets/rtl.scss b/app/assets/stylesheets/rtl.scss index 057d6a30b..bc260b9b5 100644 --- a/app/assets/stylesheets/rtl.scss +++ b/app/assets/stylesheets/rtl.scss @@ -16,21 +16,6 @@ ul.as-selections li.as-selection-item { padding: 3px 6px 3px 0; } -#profile_photo_upload img { - left: auto; - right: 0; -} - -#profile_photo_upload { - padding-left: 0; - padding-right: 120px; -} - -label { - right: 0.48em; - left: auto; -} - ul, ol { margin: 0 0 1.5em 1.5em; padding-right: 3.333em;