Commit graph

2643 commits

Author SHA1 Message Date
Alex
8d7b95ea15
Index ClassifiedListings to Elasticsearch (#6132) [deploy]
* Add ClassifiedListingEsIndexWorker & spec

* Update ClassifiedListing model

- Add es index methods (inline and async)
- Index ClassifiedListing to es after_commit
- Add serialized_search_hash
- Update model specs for new methods
- Add serializers referenced in new model method

* Update specs

* Create DataUpdateScript to index ClassifiedListings

* Fix formatting

* Fix codeclimate :/

* Use match_array instead of keys.sort

* Change find_by! to find

* Update spec

* Update mappings for ClassifiedListing

* Update specs

* Implement refactor with Searchable module
2020-02-19 09:55:37 -05:00
Ben Halpern
055c826139
Add heroku slug commit to some cache keys (#6159) [deploy] 2020-02-19 09:07:32 -05:00
Molly Struve
4203b57944
rescue Psych::DisallowedClass when parsing frontmatter (#6145) [deploy] 2020-02-19 08:31:04 -05:00
Ben Halpern
d05ceb4d98
Modify padding for classifiedlisting dropdown (#6165) [deploy] 2020-02-18 18:23:11 -05:00
Zachary Dixon
cf2af6c2dc
Add dropdown menu to listings (#4184) [deploy]
* Resolves 2826, add dropdown menu to listings

* Fixed dropdown position

* Refactored single listing

* Revert schema.rb to master

* Fixed tests
2020-02-18 18:08:39 -05:00
Josh Puetz
35c2800c89
Add json support at stories/index endpoint (#6070)
* Add json support at stories/index endpoint

* Tweak tests

* Add main image

* Some light refactoring in StoriesController

* Tiny test refactor

* Split feed generation to it's own controller

* Use Jbuilder for article formatting

* Blank lines thanks Rubocop

* Don't cache this response: we want it generated per use each time

* Whoops!

* PR changes and tweaks to Timeframmer constants

* Remove initializer test since arguments aren't required
2020-02-18 15:15:40 -06:00
Molly Struve
0085437725
PageView is no longer a valid model to index (#6161) 2020-02-18 16:06:51 -05:00
Molly Struve
567eb49ee1
Refactor searchable interface into a module for AR models (#6160) [deploy] 2020-02-18 15:35:34 -05:00
Ridhwana
086b6ab202
Filter by 'approved:true' on the tags page (when a tag requires approval) (#6037)
* feat: we add the attribute for faceting

* feat: pass the requires_approval tag through with the dataset

* feat: if the tag requires approval then filter by the approved:true facet that we setup via algolia

* chore: false is redundant

* chore: robocop syntax improvement

* refactor: rename filters to tagFilters

* chore: standard javascript styleguide formatting

* chore: javascript styling

* Update app/assets/javascripts/initializers/initScrolling.js.erb

Co-Authored-By: Nick Taylor <nick@iamdeveloper.com>

Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
2020-02-18 12:44:51 -06:00
Molly Struve
74118c2d1f
Setup ChatChannelMembership Index (#6152) [deploy] 2020-02-18 13:30:52 -05:00
Ridhwana
39007b4dab
Campaign settings (#6141) [deploy]
* feat: port over changes (+ suggestions) from https://github.com/thepracticaldev/dev.to/pull/5892/files

* chore: add query over multiple lines

* refactor: move the sql logic into the controller instead of in the template

* chore: appease code climate
2020-02-18 11:02:09 -06:00
rhymes
6cbfb01394
Stop using legacy user's organization_id and remove followers unused code (#6079) [deploy] 2020-02-18 11:27:43 -05:00
rhymes
a56eb8fab0
Enable CORS on public API endpoints (#6116) [deploy]
* Enable CORS for public API

* Add specs for Articles API

* Mention CORS in the API docs
2020-02-18 10:47:07 -05:00
Molly Struve
06b44bce26
Refactor Common Search Methods into a Base Class (#6133) [deploy] 2020-02-18 10:43:47 -05:00
Molly Struve
98f25e2b9d
Remove UserHistory Feature and PageViews from Algolia (#6127) [deploy] 2020-02-18 10:06:30 -05:00
Nick Taylor
a7dc893f50
Updates to Storybook for home page makeover. (#6130) 2020-02-18 08:42:37 -06:00
Nick Taylor
bd24cf2a05
Updates/adds to prop-types for homepage feed makeover. (#6128) 2020-02-18 08:09:50 -06:00
Ben Halpern
d0dd79ac29
Make sure profile images show up in onboarding (#6134) [deploy] 2020-02-17 20:19:06 -05:00
Nick Taylor
18cc329925
Removed important from some CSS properties set on body. (#6013) 2020-02-17 15:19:10 -05:00
Andy Zhao
6cb525900f
Add notification_id to honeybadger context (#6124) 2020-02-17 14:08:14 -05:00
Molly Struve
d23afcd7ef
Add safety navigators to handle a missing reply (#6121) [deploy] 2020-02-17 13:50:23 -05:00
Molly Struve
04dcca0b13
remove algolia from Tag model (#6123) 2020-02-17 12:28:10 -05:00
Ridhwana
8641f0a93e
Update the number of Published Posts to match the approved articles where necessary. (#6098)
* feat: the number of published posts should show up by approved article.

* chore: Do not use spaces between -> and ( in lambda literals

* refactor: use the existing function in order to spawn the one where we need approval

* refactor: move logic to the controller instead of the view :)

* chore: code climate syntax

* chore: more codeclimate
2020-02-17 12:18:33 -05:00
rhymes
d438349550
Revert "[deploy] Switch decorators from Draper to Rails builtin decorations (#6040)" (#6122) [deploy]
This reverts commit cc53b55a4a.
2020-02-17 11:28:32 -05:00
Andy Zhao
acd3b92b32
Add sink user service and specs for mass vomits (#6006)
* Add sink user service and specs for mass vomits

* Use new score calculation

* Lower articles' scores instead and make async

* Add lower score functionality to controllers

* Remove unused variable

* Use correct var and add missing arg

* Remove unused status

* Add composite index for reactable_type and ID

* Use alias instead of additional boolean

* Use medium priority for sink worker

* Log to honeybadger and not logs

* Log the error and not a string
2020-02-17 10:29:50 -05:00
Nick Taylor
9696e63034
[deploy] Made changes to timeAgo function for Preact component usage. (#6083) 2020-02-17 10:04:38 -05:00
Andy Zhao
7cf87c14de
[deploy] Delete notifications before comments are deleted and log w/ Honeybadger (#6084)
* Use Honeybadger to log notification errors

* Create a comment first to test if deleted

* Ensure notifications are deleted before comment
2020-02-17 09:51:05 -05:00
Jacob Herrington
40bc7ecedd
Remove unnecessary eager loading (#6063)
Bullet doesn't seem to like this, and it makes sense because we don't
want to load ALL reactions, just some of them.

Co-authored-by: nspinazz89 <nspinazz89@gmail.com>

Co-authored-by: Nick S <nspinazz89@gmail.com>
2020-02-17 09:39:30 -05:00
rhymes
cc53b55a4a
[deploy] Switch decorators from Draper to Rails builtin decorations (#6040)
* Convert SponsorshipDecorator to Rails decorator

* Remove empty ReactionDecorator

* Rename SponsorshipDecorator#level_color_hex to level_background_color

* Convert CommentDecorator to Rails decorator

* Add specs and fix bugs for NotificationDecorator

* Convert NotificationDecorator to Rails decorator

* Add specs and fix bugs for OrganizationDecorator

* Convert OrganizationDecorator to Rails decorator

* Add specs to PodcastEpisodeDecorator and fix bugs

* Convert PodcastEpisodeDecorator to a Rails decorator

* Add missing specs for ArticleDecorator and fix bugs

* Convert ArticleDecorator to Rails decorator

* Add missing specs to UserDecorator and fix issues

* Convert UserDecorator to Rails decorator

* Add .decorate_collection method

* Add decorator for AR relations and remove Draper

* Rename BaseDecorator back to ApplicationDecorator

* Rename .decorate_ back to .decorate

* Restore decorate_collection (WTH)

* Add decorated?

* Fix bugs and failing specs

* Decoration should always be explicit
2020-02-17 09:32:32 -05:00
Molly Struve
7ff79f77b8
Search Tags in Elasticsearch from Classified Listing and Post Creation (#6024) [deploy] 2020-02-17 08:16:45 -05:00
Vaidehi Joshi
76fe99b76a
Add Broadcast seeds + generator service to set up for welcome notifications (#6080)
* Add more Broadcasts to seeds for welcome notification flow

* Remove unnecessary welcoming_user_id from development config

* Add basic service class for generating appropriate broadcast per user

Eventually, this should be called from a rake task that will rely on this service to determine which broadcast, if any, is the appropriate one to send to newly signed-up users, and will enqueue a worker to create/send a welcome notification when appropriate.

* Add a few TODOs, plus some general cleanup

* Add some skipped tests for WelcomeNotification::Generator
2020-02-14 12:30:25 -08:00
Alex
b81c2e8df3
Remove delayed_job (#6071) [deploy]
* Update adapter to sidekiq

* Remove delayed_jobs routes

* Remove delayd_jobs initializer and references

* Remove delayed_job_spec

* Remove bin/delayed_job

* Remove app/jobs/

* Migration to drop delayed_jobs table

* Remove delayed_job_web & delayed_job_active_record

* Update docs

* Remove reference to delayed_job dashboard

* Remove delayed_job settings from initializers

* Add delayed_job_admin back to reserved words list
2020-02-14 10:00:26 -08:00
Molly Struve
65eba740ab
Document DataUpdateScripts, Add to Deploy Process, Add Development Check (#6068) [deploy] 2020-02-14 11:45:27 -05:00
Ben Halpern
8837531195
Add additional safeguards for config write access (#6064) [deploy]
* Add additional safeguards for config write access

* Change spec name and confirmation step
2020-02-13 18:39:55 -05:00
Alex
d32dc38bed
Move ClassifiedListing mappings to JSON file (#6061) [deploy] 2020-02-13 14:39:39 -08:00
Ridhwana
9da0049fc6
Add the 'approved' attribute to index articles so that we can filter by it later on. (#6032) [deploy]
* feat: add approved as an index or ordered articles and for the algolia search

* oops: added approved to the wrong place, should be on ordered_articles
2020-02-13 15:46:14 -05:00
Michael Kohl
934d0a6cc3
Add placeholder to badge award text area (#6054) 2020-02-13 15:10:38 -05:00
Alex
4a9e5d2fc9
Remove Reactions::UpdateReactableJob & spec (#6059) [deploy] 2020-02-13 08:59:03 -08:00
Alex
611706f3f2
Remove Reactions::BustReactableCacheJob & spec (#6060) 2020-02-13 08:58:47 -08:00
Jacob Herrington
bc9fc6ee3b
[deploy] Autosize textareas for suggested tweets (#6056) 2020-02-13 11:42:44 -05:00
Molly Struve
9f4dad77da
Move Elasticsearch mappings to config folder as json file (#6051) [deploy] 2020-02-13 11:33:47 -05:00
Molly Struve
0bfbd9bb1f
Set Up Framework For Running Data Update Scripts (#6025) [deploy] 2020-02-13 10:48:23 -05:00
Lucas Hiago
f68bd8bc4f
Change UpdateReactableJob to UpdateReactableWorker and move to sidekiq (#5551) [deploy] 2020-02-13 10:13:11 -05:00
Alex
0f32eb9db0
Add Elasticsearch index for classified_listings (#6031) [deploy] 2020-02-12 18:24:01 -05:00
Vaidehi Joshi
f71c8b16e7
Allow dynamic authoring of welcome notifications (#6045) [deploy]
* Add "Welcome" type to Broadcasts, allow dynamic "authoring" of Broadcasts

This adds a new `type_of` to the Broadcast model: "Welcome". As we begin to create a new "welcome notification" workflow, we'll categorize them by making them all of the same type.

This also adds a concept of a "welcoming user", which can be set via an ENV var. The WELCOMING_USER_ID will allow us to explicitly set (and change) which user in the database is the one that "sends" welcoming notification. In production, we plan for this to be dev.to/sloan.

* Allow WelcomeNotificationWorker to accept + send any kind of broadcast

This abstracts out the logic of deciding which broadcast to send from the woker into the calling method. This will help us send many different kinds of welcome notifications using one, resuable worker class.

* Raise if a Notification can't be created

* Add STAFF_USER_ID as an ENV var

This is in preparation for moving away from SiteConfig.staff_user_id, and replacing it with an ENV var. We will need to set this in production first, and then make a separate PR to replace all instances of staff_user_id with the newly-set ENV var.
2020-02-12 13:50:37 -08:00
Michael Kohl
2a0a89239c
Add health check endpoint for Mailchimp unsubscribe webhook (#6034) [deploy] 2020-02-12 15:55:21 -05:00
rhymes
5037753163
Change error styling from syntax highlighting for a better UI in all themes (#6004) [deploy]
* Remove error styling for a better UI in all themes

* Use text shadow to highlight syntax error
2020-02-12 15:25:00 -05:00
Molly Struve
acfdd11b50
update cluster settings to prevent auto index creation, update destroy to remove ALL indexes (#6042) 2020-02-12 15:21:38 -05:00
Mac Siri
a31e15f90d
Skips verify_authenticity_token in MailchimpUnsubscribesController (#6038) 2020-02-12 15:18:50 -05:00
Michael Kohl
06d78e3676
Fix API documentation link (#6036) 2020-02-12 15:08:46 -05:00