Commit graph

51 commits

Author SHA1 Message Date
Ben Halpern
630c1b7425
Migrate to streaming app shell via serviceworkers (#5020) [deploy]
* Initial work for streaming app shell way of using serviceworkers

* Close in on serviceworker adjustment finalization

* Add docs and loading indicator

* Remove useless code

* Don't run on API

* Update app/javascript/contentDisplayPolicy/hideBlockedContent.js

* Fix small details

* Don't run serviceworker.js code in test env

* Fix JS in serviceworker

* Move private keyword to proper place in async controller

* Change shell_version to HEROKU_SLUG_COMMIT

* Update caching config

* Add test for async_info/shell_version
2019-12-16 12:21:33 -05:00
Andy Zhao
71157c993e Hide comment feature (#4944)
* Add MVP of hide comment feature

* Slight copy adjustments

* Remove unused file oops

* Fix strange styling issues

* Add hide/unhide comment specs

* Authenticate user for hide/unhide

* Add tests for hide/unhide functionality

* Remove opacity CSS for hidden comments

* Fix hidden comment explanation logic

* Fix some styling issues

* Fix hiding top level comment logic

* Show only hidden comments in permalink and not thread

* Hide subtree properly if hidden comment

* Fix weird CSS issue

* Properly hide comments for permalink view

* Show children comments in permalink view

* Add tests for comment hiding visibility

* Remove superfluous code and adjust copy

* Remove some more logical duplication

* Add dedicated article column for any comments hidden

* Add reload in test
2019-12-10 15:09:47 -05:00
Ben Halpern
1b5f702c96 Add noopener to sponsor links (#4733) [deploy] 2019-11-06 14:21:40 -05:00
Andy Zhao
85d8f52789 Hide a blocked user's content [deploy] (#4678)
* Hide blocked users' content appropriately

* Use RESTful create route

* Update functionality to block the user

* Fix specs for new route

* Use const instead of var

* Add noopener and noreferrer

* Remove caching for blocked user ids

* Add new rule for lack of noopener noreferrer

* Update snapshot
2019-11-04 14:47:26 -05:00
Regina Alyssa
8b4f7faf6b Comment Social Preview (#4260)
* Add route for comment social preview

* Add method comment to social_previews_controller

* Add view for comment social preview

* Fix spacing in meta keywords

* Update comments page keywords

* Create helper for comment social media image

* Use comment social image, add published condition for article social image

* Add tests for comment social preview

* Remove not_found fallback for social previews controller

* Remove cached_tag_list

* Update typos of word 'image' in spec
2019-10-07 10:03:03 -04:00
rhymes
808b8f285c Comments: remove double stripping undoing escaping (#3270) 2019-06-24 12:00:36 -04:00
Ben Halpern
d48ad63aea
Add comment context for notifications and comment pages (#3262)
* Add comment context for notifications and comment pages

* Fix comment spec and adjust css
2019-06-22 14:50:15 -04:00
Andy Zhao
4ca7197696 Delete a comment's title if it is deleted (#3249)
* Remove cursor pointer for notification cards

* Delete the comment title if deleted

* Update title to use comment's title
2019-06-20 15:48:21 -04:00
Ben Halpern
456931f208
Further generalize pages and site Twitter handle (#3177)
* Further generalize pages and site Twitter handle

* Add footer mod change

* Remove giveaways dead code
2019-06-16 00:59:11 -04:00
Ben Halpern
e130400e9e
Finalize UI for all types of notification settings (#3164) 2019-06-14 18:28:38 -04:00
Andy Zhao
b953f17d0c New Feature: Subscribe to posts! (#3149)
* Add MVP of notification subscriptions

* Add rate limiting for notification subscriptions

* Show modal for logged out users on subscribe click

* Add enter key functionality for checkbox

* Add relationships for notification subscriptions

* Add model test for notification subscription

* Deprecated article mutes in favor of notification subscriptions

* Deprecated comment mutes in favor of notification subscriptions

* Move comment muting tests and logic over

* Merge comment and article muting into subscriptions

* Remove redundant check

* Use database to check for rate limit instead of cache

* Test for subscriptions handling notifications properly

* Fix notification model spec for subscriptions

* Fix tests for subscriptions

* Remove rate limiting

* Properly handle logged out users getting subscription status

* Fix test for new pattern

* Update reserved words

* Add config column to notification subscriptions

* Add logic for top level config and move tests

* Test for top level subscribers getting notified

* Fix logic mistake oops

* Add index and refactor comment_user_ids
2019-06-14 12:03:43 -04:00
rhymes
6a626e819d Refactor: fix issues raised by bullet (#2965)
* Preload organization, not user

* Preload users only when needed

* Pre-load podcasts for podcast episodes in API

* Avoid eager loading error by loading rating votes separately

* Preload associations for moderation

* Preload user comments in trees

* Preload organization for non org dashboard and cleanup queries

* Optimize ArticleSuggester to only load N articles at need

* Remove eager loading and pass variables to partials for easier debug

* Reorganize tags validation code and ignore actsastaggableon eager loading issues

* Remove unused eager loading and bring up comments relation

* Preload podcasts when loading podcast episodes

* Fix views specs

* Make sure ArticleSuggester never returns duplicates

* Remove commented code

* Re-trigger build

* Move suggested articles back to view to respect fragment caching
2019-05-28 17:32:53 -04:00
rhymes
e626002260 Add alternative texts to images (#2771) [ci skip] 2019-05-09 11:16:03 -04:00
rhymes
4e591fea1c Show localized date/time on hover for articles/comments (#2722)
* Add article decorator published_timestamp

* Use time HTML5 element and refactor date in partial

* Add published_timestamp to Article

Adding `published_timestamp` to the homepage we can then use JS to render the full timestamp localized for the user.

We've also added the timestamp to the index and the API

* Display article published timestamp on hover

* Use time also in the article show page

* Add timestamp to bottom articles as well

* Remove published_timestamp from index because it is not used

* Fix broken specs

* Add more article dates specs

* Refactor date initializers
2019-05-09 11:05:17 -04:00
rhymes
879864a9bb Improve accessibility score on homepage and article show page (#2740) [ci skip]
* Increase loader text opacity

Low contrast text is not great in general, this also brings Lighthouse score from 88 to 96

* Add some alternative text to images

* Add some aria labels to controls
2019-05-07 09:56:34 -04:00
Mario See
96a0235168 Change DevComment#render to utilize html.erb (#2554) [ci skip] 2019-05-02 12:05:55 -04:00
Mike Coutermarsh
4c9959f0ff Social Cards Part 2 (#2188)
* Social Cards Part 2

This is a follow up to part 1: https://github.com/thepracticaldev/dev.to/pull/2090.

This PR updates the og:image URLs to use the new social_preview.png urls
added in Part 1.

So that the already generated/cached images do not need to be recreated,
this sets a MIGRATION_DATETIME. Any object that has been updated after
that date will generate a new image

Objects from before that date will not. They will use the new url.

* Fix weird change made by rubocop autocorrect

* Handle organizations + users

* Run CI

* Use time with zone to be explicit about timezone

* Simplify branching in user_social_image_url method

* Fix param alignment + bump migration date
2019-05-01 11:07:25 -04:00
rhymes
f17d0f34e1 Update framework defaults to match those in Rails 5.1 (#2309)
* Enable all Rails 5.0 defaults, except for CSRF mitigations

* Enable all Rails 5.1 defaults

* Enable per_form_csrf_tokens

* Enable forgery_protection_origin_check

* Avoid replacing the CSRF in the comment form

Each form now has its own CSRF in addition to the global one.
I've left in place the setInterval

* Restore per_form_csrf_tokens to false
2019-04-17 12:21:15 -04:00
rhymes
3c6a7d4574 Display comment published timestamp according to user's locale (#1970) 2019-03-08 15:19:37 -05:00
Glenn Carremans
bcce614a80 Last general linting sweep (#1947)
* Fixed HTML errors in /app/views/additional_content_boxes

* Fixed indentation

* Fixed linting error in /app/views/comments

* Fixed indentation in /app/views/html_variants

* Fixed HTML errors + Fixed indentation in /app/views/internal

* Fixed HTML errors + Fixed indentation in /app/views/layouts

* Fixed indentation in /app/views/mailers

* Fixed indentation in /app/views/moderations

* Fixed HTML errors + Fixed indentation in /app/views/notifications

* Fixed HTML errors in /app/views/pages

* Fixed HTML errors + Fixed indentation in /app/views/social_previews

* Fixed indentation in /app/views/stories

* Fixed indentation in /app/views/stripe_subscriptions

* Fixed indentation in /app/views/tags

* Fixed indentation in /app/views/users
2019-03-02 07:47:14 -08:00
Adarsh
38066a5b1a Add OP badge on comments (#461) 2019-02-26 17:11:09 -05:00
Glenn Carremans
d9ee35a421 Fix linting issues in app/views/comments (#1853) [ci skip] 2019-02-25 13:03:31 -05:00
Anna Buianova
1cc0fccbf7 Reduce the number of sql queries for articles comments #1606 (#1766)
* Reduce the number of sql queries for articles comments

* Refactor comments tree display

* Refactor retrieving the comments tree

* Remove comments tree view object

* Update score in comments spec for consistent order
2019-02-16 18:14:15 -04:00
Ben Halpern
d7665fcc3f
Add comment template to post (#1692)
* add myself to the core contributors

* add comment template

* merge upstream

* make sure the template re-appears for top level comments after submission

* make interface admin only

* Adjust comment template form

* Fix merge conflicts

* Remove unnecessary comment template from json
2019-01-30 13:32:34 -05:00
Anna Buianova
4073b869d6 Add erb_lint (#1657) [ci skip] 2019-01-29 11:47:32 -05:00
Ben Halpern
5b77b779a3
Comment muting tweaks (#1646) 2019-01-24 18:16:13 -05:00
Andy Zhao
c4677071a7 Mute notifications for a comment thread (#1636)
* Use idempotent update instead of toggle

* Update editor guide with new comment instructions

* Render the settings button on page load

* Add settings button to comment dropdown

* Update styles to properly render

* Add comment mute function and settings page

* Clean up erb spacing

* Remove unneccessary user_id param

* Add receive_notifications for policy spec

* Update name for accuracy

* Add request spec for comments_mute

* Remove unused permitted attributes

* Add actually used permitted attributes
2019-01-24 17:20:38 -05:00
Anna Buianova
8f348f9831 Fix comment cancel button url (#1508) 2019-01-10 12:25:11 -05:00
Ben Halpern
7c8f71251d
Add details to toggles and modify some styling (#1484)
* Add details to toggles and modify some styling

* Add details to child comments

* Finalize comment collapse in nested comments

* Modify styling on comment <details>
2019-01-08 12:53:48 -05:00
Ben Halpern
9af401ad09
Remove user signed in difference in article show comment form (#1468) 2019-01-05 22:27:34 -05:00
Ben Halpern
69b90272a9
Improve caching on article show view (#1467) 2019-01-05 21:42:10 -05:00
Anna Buyanova
c1eb30e02a Make less sql queries when loading comments (#1197) 2018-11-26 10:51:38 -05:00
Ben Halpern
921b5b0d9a
Add sloan as marker of low quality and adjust banishment logic (#1129)
* Add sloan as marker of low quality and adjust banishment logic

* Add s3 stub to rails_helper

* Modify banishment criteria

* Only mess with profile image in prod
2018-11-16 14:11:41 -05:00
Jasmeet Singh Saini
908e82cf9e Implement cancel button comment edit (#331) 2018-11-05 13:48:56 -05:00
Nick Karnik
a3649b8d09 Added the ability to press Ctrl+Enter Or Command+Enter to submit comments. (#885)
* Resolves #245
    * This is applied to root level comments as well as nested replies.
    * We are ensuring that user has commented at least once which means
      they have accepted the code of conduct before

Style changes as per suggestions in code review
2018-10-13 14:24:53 -04:00
Ben Halpern
1159f47e49
Remove comment join CTA (#862) 2018-10-08 14:48:36 -04:00
Antony Garand
e7a0911b81 Replace http with https in links (#521)
* Comment liquid tag - https

Replaced `http` for `https` in twitter and github links

* User tag - Https

Replaced `http` with `https` in github and twitter links.

* Comments - Https

Replaced http with https for github and twitter links

* Article index

Article - Update twitter and github link from http to https

* Article markdown - Http to Https

Article markdown - replaced http with https

* Comment view: Closed `a` tag

An `a` tag was not correctly closed, before injecting an image. This commit closed it.
2018-08-30 16:06:38 -04:00
Kohei Sugi
c50ac78c4b Fix Naming/MethodName Lint (#458) 2018-08-24 14:54:50 -04:00
Loïc Vernet
bbd9aef3cc Remove extra quote in html (#447) 2018-08-23 12:12:50 -04:00
Arun Kumar
a4de2fd0b1 Open social links inside comment in a new tab (#616) 2018-07-26 09:27:49 -07:00
Andy Zhao
ecbb9d4ab1 [Done] New Reporting System MVP (#408)
* Move validations from controller to model

* Add new columns to feedback message model

* Use polymorphic notes relationship

* MVP of ticketing system

* Use new URL for reported_url param

* Add missing files

* Add validations and tests for feedback_messages

* Clean up some html

* Update create spec and add update spec

* Add mail tests and lint

* Add link to user profile
2018-06-19 16:41:31 -04:00
Ben Halpern
04aa888d5c
Add inline moderation buttons (#401) 2018-06-07 12:47:31 -04:00
Andy Zhao
c9c02ef3c0 [Done] Fix div in li issue (#320)
* Lint and clean up github issue styles

* Use heredoc HTML for easier formatting

* Add better error handling for 404 github issues

* Use custom sanitizer for markdown render

* Refactor unless to ternary

* Rename file and tighten up sanitization

* Fix codepen and instagram tag styling
2018-05-21 17:35:03 -04:00
Ben Halpern
0281849e23
Adjust articles that show up in side sticky bar (#254)
* Add user articles to sidebar

* Add organization save-all functionality

* Adjust articles that show up in side sticky bar

* Add conditional for @user_stickies to show up
2018-04-28 13:30:31 -04:00
Ben Halpern
64d21a3266
Modify color and copy on comment join button CTA (#238) 2018-04-25 12:43:54 -04:00
Mac Siri
4bc9020956 Implement comment preview feature (#223)
* Create #preview endpoint for CommentController

* Create comment preview button WIP

* Implement preview feature for reply comment W

* Style preview button CSS WIP

* Style preview button CSS WIP

* Tweak markdown toggle logic and add styling

* Update comment feature spec

* Add error handling for comment preview & fix lint

* Extract handleCommentPreview into it's own file

* Adjust functionality for comment preview [WIP]

* Modify comment preview functionality and CSS

* Adjust code style based on linter
2018-04-24 14:30:52 -04:00
Mac Siri
18f0003187 Use JSON instead of FormData for comment-creation (#216)
* Use JSON instead of FormData for comment-creation

* Fix lint
2018-04-17 17:32:45 -07:00
Ben Halpern
80de5a96a8
Modify copy and style of comment signin cta (#202) 2018-04-11 15:17:12 -07:00
Ben Halpern
05255d7566 Add comment join CTA 2018-04-02 14:41:03 -07:00
Ben Halpern
cc0ffe1c5d
Add thread indicator for flat comments (#134) 2018-03-23 14:38:06 -04:00