Commit graph

75 commits

Author SHA1 Message Date
James Turner
b4507f21d4 Update itemprop to use mainEntity (#5060) 2019-12-10 14:43:24 -05:00
Ben Halpern
7285b55aaf
Add under-article article boxes (#5031) [deploy] 2019-12-06 18:15:43 -05:00
Ben Halpern
538f3cd29d
Temporarily remove extra cache-oriented content (#5028) [deploy] 2019-12-06 16:33:47 -05:00
Terence Eden
390192afba Add SRI Support (#4658) [deploy] 2019-12-06 08:35:37 -05:00
Ben Halpern
4dabe265c6
Fix linting (#4933) [deploy] 2019-11-26 08:35:34 -05:00
Ben Halpern
481871f127
Revert Redis fragment cache (#4932) [deploy] 2019-11-25 19:33:30 -05:00
Molly Struve
59e9971d06 move bottom_content article content to Redis (#4927) 2019-11-25 18:17:19 -05:00
jeffin sam
61788e5dec Add tag_colors cache to redis (#4716) [deploy] 2019-11-13 09:43:22 -06:00
Mike Rogers
cf475779d0 Setting width & height attributes to SVGs on articles#show page (#4705)
* Adding spec around adding width/height to images

* Adding width/height to svgs on article page

* Improving the englishing of the test description

* Re-read final test description, this felt the clearest

* Just checking attriutes are present - not to fussed about much else
2019-11-05 13:13:44 -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
c8abbe9d60 Pro: memberships (#3461)
* Add ProMembership model

* Implement ProMembershipsController#create

* Implement basic ProMembershipsController#show

* Add ProMembership to ledger

* Populate user history after pro subscription is created

* Add fields for expiration notifications

* Add ProMemberships::ExpirationNotifier to notify users of expiring memberships

* Add tasks for recurring jobs to notify users of expiration

* Add auto_recharge column to ProMembership

* Add ProMemberships::Biller (incomplete)

* Fix specs

* Add ProMembership to Administrate

* Fix spec

* Add has_enough_credits? to User and Organization

* Add Payments::Customer class

* Finish ProMembership::Biller functionality

* Fix ProMemberships::Creator check for credits

* Disable destroy actions for ProMembershipsController

* Correctly authenticate ProMembershipsController actions

* Make sure only pro user's history can be indexed

* Add ProMembershipsController#update action for auto recharge

* Use regular AR to save new credits and add touch to the purchaser

* Clarify Pro membership create policy

* Display information about an existing pro membership

* Add UI to show page

* Add system test for Pro membership creation

* Implement edit membership

* Make sure users with pro memberships can access history and dashboard pro

* Fix padding issue

* Show a different text for a user that has credits but not enough for Pro

* Move Pro Membership functionality inside settings

* Update Pro Membership link in email notifications

* Bust all relevant caches

* Add the Pro checkmark around the website

* Use Users::ResaveArticlesJob instead of delay

* Add/remove user from pro-members chat channel

* Use the appropriate Pro checkmark

* Remove unfinished pro elements

* Remove checkmark JS
2019-09-24 10:38:54 -07: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
8ae057b06e
Beta polls feature (admin use only for now) (#3176)
* Initial poll features

* Add basic poll functionality

* Finish (maybe) beta poll functionality
2019-06-15 17:33:30 -04:00
Mac Siri
f62bc7faa8 Fix js-breaking webcomponent (#3087)
* Remove webcomponents-loader

* Add unpkg webcomponent-loader

* Update clipboard-copy-element to include @githubscope

* Make WebComponent loading async

* Simplify clipboardCopy
2019-06-10 11:23:42 -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
Ben Halpern
166e26bdf9
Move webcomponents-loader to lib and clean out some dead code (unrelated) (#2838) 2019-05-14 22:00:46 -04:00
Benny Powers
5f9a8a7501 Add click-to-copy to article share dropdown (#1579) 2019-05-14 17:45:40 -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
Kobe Raypole
bb16b36ca7 Add policy for article manage action (#2643)
* Add policy for article manage action

This commit adds a policy for the articles#manage method. This will
prevent the error that is stopping article owners from managing their
articles.

* Hide manage button if article isnt published

* account for no current_user

* Move button logic to javascript
2019-05-02 19:31:26 -04:00
Ben Halpern
5891b2ea58
Add application "page" model (#2657)
* Generate page model

* Add page model

* Conditionally modify html rendering
2019-05-02 18:24:06 -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
Ben Halpern
e3760fc215
Add originally_published_at for more accurate crossposted info (#2076) 2019-03-16 18:11:39 -04:00
Glenn Carremans
281330fe16 Fix linting issues in app/views/articles (#1848) 2019-02-28 17:23:06 -05:00
Molly Struve
981f4ed893 Include Article ID in Bottom Content Cache Key (#1773) 2019-02-21 15:13:07 -05:00
Phil Nash
d8de2b0d14 Use <web-share-wrapper> for article sharing (#1524) 2019-02-11 16:05:52 -05:00
Ben Halpern
92b24a9978
Add html_variant split testing to /badge (#1763)
* Add /badge html_variant

* Fix some of the linting
2019-02-08 12:45:14 -04:00
Ben Halpern
4bff494adc
Ping comments to pre-warm new comment trees (#1755) 2019-02-06 21:45:24 -04:00
Ben Halpern
71a419e5ee
Add profile_updated_at and github_repos_updated_at to avoid extra fet… (#1754)
* Add profile_updated_at and github_repos_updated_at to avoid extra fetches

* Fix variant_number issue

* Fix test
2019-02-06 20:39:15 -04:00
Ben Halpern
2d97a5d837
Improve performance for additional content boxes and tags index (#1750)
* Improve performance for additional content boxes and tags index

* Modify followed_articles endpoint with new classic article api
2019-02-06 16:50:35 -04:00
Ben Halpern
7c7c39149c
Modify cache keys for well-trafficked views. (#1681)
* Add cache to sidebar sticky to make it stick longer

* Add last_article_at and last_comment_at

* Clean up schema.rb
2019-01-29 13:27:22 -05:00
Ben Halpern
043a21494c
Modify sidebar cache (#1675) 2019-01-29 11:52:44 -05:00
Ben Halpern
84e2e79239
Add a couple cache optimizations and query guards (#1598)
* Add a couple cache optimizations

* Fix failed test, add a couple optimizations

* Move if statement inside proper div
2019-01-20 19:57:28 -05:00
Ben Halpern
865a1a6fdf
Remove article collection area caching (#1597) 2019-01-20 17:13:12 -05:00
Ben Halpern
6e4259baaf
Cache collection so it doesn't have to be re-fetched (#1576)
* Cache collection so it doesn't have to be re-fetched

* Update app/views/articles/show.html.erb

Co-Authored-By: benhalpern <bendhalpern@gmail.com>

* Update app/views/articles/show.html.erb

Co-Authored-By: benhalpern <bendhalpern@gmail.com>

* Update app/views/articles/show.html.erb

Co-Authored-By: benhalpern <bendhalpern@gmail.com>
2019-01-20 15:50:57 -05:00
Ben Halpern
c28e3a4d54
Modify cache keys which have low hit rate. (#1596)
* Change worker line in procfile

* mod buildpacks

* Add bin/start-pgbouncer

* Modify procfile

* Remove bin/start-pgbouncer

* Make artice show caching more effective
2019-01-20 12:30:26 -05:00
Ben Halpern
d988bc71f9
Add reading time to articles (#1538)
* add comment template

* merge upstream

* Initial work

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

* Small fix

* Fix git issues

* Account for missing reading times

* Add minimal score on sidebar

* Test for page to include min read

* rubocop cleanup

* Mess with test

* Add .to_i after score

* Modify search_score var
2019-01-14 15:58:33 -05:00
Ben Halpern
69b90272a9
Improve caching on article show view (#1467) 2019-01-05 21:42:10 -05:00
Ashwin Vaswani
fbdd80d5fc Add headings to header tags (#1003)
* updating all headers to have h* tags, or changing elements

* Remove commented out binding.pry

* Remove unused page

* Use article instead of div for consistency

* Update snapshot with new section tag

* Use h4 tags again for new views
2018-12-19 16:47:44 -05:00
Anna Buyanova
c1eb30e02a Make less sql queries when loading comments (#1197) 2018-11-26 10:51:38 -05:00
Ben Halpern
a1be99ebf0
Add reaction confirm/invalidate workflow for admins (#1134) 2018-11-16 18:53:36 -05:00
Ben Halpern
359cc71b64
Add ability for users to publish series (#1034) 2018-10-29 13:04:42 -04:00
Ben Halpern
8661fe44d5
Fix sidebar caching issue for articles (#981) 2018-10-22 17:49:59 -04:00
Ben Halpern
302e8f202d
Add HTML variants for cta optimization and other nav bar adjustments (#970)
* Add HTML variants for cta optimization and other nav bar adjustments

* Fix 1==1 non-random mistake

* Spruce up org call-to-action

* Change default text color

* Add html variant trial and success request specs

* Fix article sidebar caching issue

* One line adjustment

* Modify schema

* Add include ActionView::Helpers::TagHelper to user_tag_spec

* Modify follow_button to remove session context

* Dummy commit

* Change Edit Article to Edit Post

* Dummy commit

* Fix rubocop concerns

* Fix rubocop style
2018-10-22 17:03:57 -04:00
Ben Halpern
ca403ee01e
Adjust article show view css (revert sticky css) (#954)
* Adjust article show view css

* Change color subtly
2018-10-18 16:02:54 -04:00
Juan Manuel Ramallo
6ada73136b [Article Actions] Using position sticky (#945) 2018-10-18 12:27:58 -04:00
Ben Halpern
221c363af0
Reduce queries in typical stories#show response + small fixes (#903)
* Reduce queries in typical stories#show response + small fixes

* Change const to git in non-es6 code
2018-10-13 19:38:38 -04:00
Ben Halpern
1159f47e49
Remove comment join CTA (#862) 2018-10-08 14:48:36 -04:00
Ben Halpern
97a8958a87
Rearrange some code to remove unnecessary queries (#787)
* Change harcoded memcache limit

* Rearrange some code to remove unnecessary queries
2018-10-02 10:59:51 -04:00
Ben Halpern
2517bb555b
Add functionality for buffering to different accounts (#752)
* Create initial buffer updates logic

* Add UI functionality and test for sattelite tweets

* Add additional /mod functionality and re-use script partial in /internal
2018-09-26 15:51:39 -04:00