Commit graph

696 commits

Author SHA1 Message Date
Julianna Tetreault
7af4ee034f
Enforce Uniqueness for Broadcast Titles (#8239) [deploy]
* Add uniqueness validation to broadcast titles in broadcast.rb

* WIP: properly test title uniqueness in broadcast_spec.rb

* Add unique index for title and type_of on Broadcasts
  * Adds a unique index to the Broadcasts table
  * Adds broadcast.rb to .rubocop_todo.yml

* Resolve merge conflicts

* Add spec around duplicate broadcasts in broadcasts_spec.rb

* Adjust broadcast to be inactive in broadcasts_spec.rb
2020-06-02 15:43:59 -06:00
Sarthak Sharma
40dc8d1349
[deploy] 🚀 Feature: Chat Channel Request manager for mods (#7904)
* Feature 🚀 : Ability to delete messages in chat channels

- Sending message ID to frontend
- Deleting Message
- Use pusher to delete message realtime

* Minor Bug 🐞: Show message action only for current user

- User can delete or edit their own messages

* Test cases added

* Bug 🐞: Update message id for receiver

Message id was not sent to receiver by pusher

* Refactoring🛠: Message controller refactoring

* Test Cases📝 : Specs for Delete message added

* Feature 🚀 : Ability to edit messages

* Test Cases📝 : Specs for Edit message added

* 🐞 Channel List bug in mobile view

* changes in joining request responses

* 🛠  Request Managers Frontend ready

* changes in routes for adding and removing remembership

* 🚀 New routes implemented for request manager

* fix issues

* changes in api for remove membership

* Merge conflict resolved

* 🐞 Channel List bug in mobile view

* changes in joining request responses

* 🛠  Request Managers Frontend ready

* changes in routes for adding and removing remembership

* 🚀 New routes implemented for request manager

* fix issues

* changes in api for remove membership

* 🛠Optimizing for CodeClimate

* 🛠Optimizing again for CodeClimate

* 🛠Optimizing again 2 for CodeClimate

* 🛠 Added more test cases

* 🛠 Optimizing code

* 🛠 vscode file changed

* 🛠  Updated schema as requested

Co-authored-by: Parasgr-code <paras.gaur@skynox.tech>
2020-06-02 17:23:56 -04:00
Joe Doss
6406b0727b
Allow localhost or 127.0.0.1 to access api/health_checks without health-check-token (#8231)
* This change allows access to api/health_checks if you are coming from localhost
or 127.0.0.1. Pretty sweet huh?

The reason for this change is because I want to easily get to these healthcheck
end points from localhost without having to get the health-check-token beforehand.

Buttttt.... this addition has some issues. You can spoof the host header pretty
easily:

https://daniel.haxx.se/blog/2018/04/05/curl-another-host/

I thought about doing `return if !request.ssl? && request.local?`

to check of the request was over https or not. Any localhost healthcheck we do
directly to puma will be over http. Checking for TLS seemed like a logical next
check, but since we force https on the edge and not necessarily from the edge to
Puma the Host header can still be spoofed to get at these end points.

More info on host header attacks and what Rails 6 is doing about it:

https://github.com/rails/rails/issues/29893

While I do think it is a good idea to protect these healthcheck end points from
the outside world, I do want to be able to get to them easily locally. WWYD?

* Fix Health Check spec by stubbing request

Co-authored-by: mstruve <mollylbs@gmail.com>
2020-06-02 11:29:04 -04:00
Molly Struve
f2632a3f6b
[deploy] Remove All Notification Count Helper Classes (#8221) 2020-06-02 09:48:02 -05:00
Molly Struve
fe96375110
Set Redis URL that will not be reused in specs (#8227) 2020-06-01 16:46:23 -05:00
Molly Struve
eda0a78d47
Add Health Check Endpoint for Cache (#8222) 2020-06-01 15:19:56 -05:00
Ridhwana
02109e8e9a
feat: update the DEV Digest to be fully dynamic (#8213) 2020-06-01 13:56:29 -04:00
Molly Struve
699f9c8144
[deploy] Optimization:Use Scope and current_user to Get Notification Count (#8177) 2020-06-01 09:27:46 -05:00
Ridhwana
af6d2325e6
Site configuration improvements (#8157)
* feat: alphabetize the site config page

* chore: move twitter hashtag into social media and rename Mailchimp list ID's to Newsletter

* chore: reorder the site config

* fix: don't show a broken image when the value does not exist

* if there are 3 or more parameters lets move it to its own method

* chore: empty line

* fix: seems like we couldn't update the token

* chore: amend the test to mimic the order on the site config

* chore: oops - add back the welcome_notifications_live_at
2020-05-30 11:42:27 +02:00
Vaidehi Joshi
a4be185720
Leverage announcement broadcasts (#8150) [deploy]
* Differentiate between welcome + announcement broadcasts

* Allow admins to filter between these two types in the `/internal/broadcasts` UI.
* Ensure that the index endpoint fetches the correct Broadcast models.

* Only allow one Announcement broadcast to be created at a time

* Also add some `announcement` and `welcome` scopes on the `Broadcast` class.
* Add flash[:success] messages in BroadcastsController.

* Add some tests for Announcement broadcast validations

* Remove unused active_announcement_params method

* Order Broadcasts by title, optimization improvements

* Fix missing closing tags in broadcast specs
2020-05-29 11:38:41 -07:00
ludwiczakpawel
a161d3ce31
[deploy] Redesign article editor (#7524) 2020-05-29 11:59:37 -04:00
Molly Struve
8a4c2c1cb4
[deploy] Add App, Database, and Search Health Check Endpoints (#8071) 2020-05-28 08:33:31 -05:00
Michael Kohl
7f75f99560
[deploy] Rename classified listings (#7910)
* Change models and related files

* Update controllers and specs

* More renaming

* Seek and destroy, I mean search and replace

* Round up the stragglers

* Ground control to Major Travis...

* More fixes

* PR feedback

* Various fixes

* Rename view

* Fix list query builder

* Unify request specs

* Fix some API spec errors

* Fix remaining API specs

* Make spec conform to API

* Fix leftover problems

* Fix JS tests

* Fix column name in select

* Fix API specs

* Fix search specs

* Paging Mr. Travis
2020-05-27 13:35:09 +00:00
rhymes
0976132425
[deploy] RSS feed: add article tags as categories (#8046) 2020-05-26 15:51:33 -04:00
Andy Zhao
c42fd3461e
[deploy] Rename positive_reactions_count to public_reactions_count in logic (#7926)
* Rename positive_reactions_count to public_reactions_count

* Add positive reactions count back in so we can remove it

* Use public_category method for reactions

* Add positive_reactions_count in case any old caches rely on it

* Add positive_rxn_count to account for API endpoints

* Remove unused method

* One more spot...

* Add method back in because of caches

* Update specs to match new functionality

* Fix typo

* Remove unused methods
2020-05-26 12:36:28 -04:00
rhymes
7db40b2117
[deploy] Add unique indexes - part 3 (#8050) 2020-05-26 08:34:53 -05:00
Ben Halpern
a53de929fe
[deploy] Remove sidebar variant from CTA (#8040)
* Remove sidebar variant from CTA

* Remove unneeded tests

* Modify algo *just a bit*
2020-05-23 13:35:43 -04:00
rhymes
8e35ffda51
Routine rubocop fixes (#8028) 2020-05-22 14:42:40 -04:00
Ben Halpern
1aaf91c37c
[deploy] Add config for whether campaign posts require approval (#7961)
* Add config for whether campaign posts require approval

* Fix logic
2020-05-21 21:00:11 -04:00
Ben Halpern
b51d56159a
[deploy] Implement web-monetization/payment pointer (#6345)
* WIP payment pointer

* Add payment pointer config

* Add proper siteconfig var to view

* Finalize

* Fix typo

Co-authored-by: Andy Zhao <17884966+Zhao-Andy@users.noreply.github.com>
2020-05-21 12:10:02 -04:00
Anna Buianova
5fcc44677e
Display existing sponsorships even when an org doesn't have enough credits (#7978) 2020-05-21 13:10:39 +03:00
Julianna Tetreault
97c46cfbf8
Refactor User-Specific JSON-LD in the Stories::Controller (#7731)
* Refactor user_same_as_json_ld method to be more readable

* Refactor user JSON-LD to be less verbose in Stories::Controller
  * Removes set_user_same_as_json_ld method
  * Removes set_user_profile_json_ld method
  * Adds user_works_for and user_disambiguating_description
  * Adds inline logic to the data structure
  * Simplifies user_same_as method

* Add documentation around specific data properties

* Add .reject to user_json_ld to remove key, value if value blank
  * Checks for blank values and rejects key,value if blank
  * Accounts for JSON-LD preference for no key,value if blank

* Add reject and compact to worksFor in Stories::Controller
  * Ensures any nil/empty values for worksFor are removed
  * Cleans up existing code within Stories::Controller

* Add test for values that eval to true when .blank? is called
  * Adds test to check that empty key/values are not included
  * Adds test to check that nil key/values are not included
  * Refactors variables to be inline in user_show_spec
  * Refactors existing code in user_show_spec

* Add reject for blank values to user_same_as in Stories::Contrroller
  * Adds a check for email_public to email

* Fix typo within comment in Stories::Controller

* Add ternary operation to email in Stories::Controller
2020-05-20 14:40:34 -06:00
Molly Struve
1c461f8891
[deploy] Remove Unused Pro Memberships (#7894) 2020-05-20 11:54:30 -05:00
rhymes
300ba1b33f
[deploy] Decouple Twitter authentication from fetching tweets (#7920)
* Add TwitterClient::Client

* Use TwitterClient::Client for Tweet

* Test retweets

* Test assignment to user

* Fix TweetTag spec

* Remove TwitterBot

* Fix some specs

* Fix RSS Reader specs
2020-05-19 18:05:41 -04:00
Anna Buianova
c02a103c7f
Refactored creating sponsorships (#7946)
* Refactored sponsorships levels and purchasing sponsorships

* Fix partnerships tests

* Refactored creating partnerships, removed unused functionality

* Display flashes in /partnerships

* Fix views
2020-05-19 18:00:01 -04:00
Molly Struve
ef39860875
Use raw Option When Incrementing Redis Keys (#7959)
* Use raw Option When Incrementing Redis Keys

* include raw option in image upload spec
2020-05-19 17:38:25 -04:00
Ben Halpern
97bc5fd8b1
[deploy] Add campaign url for sidebar link (#7943)
* Add campaign url for sidebar link

* Add proper test
2020-05-19 14:31:34 -04:00
icncsx
d15290420f
replace hardcoded twitter hashtag (#7895)
* replace hardcoded DEVCommunity

* make sure # is a part of the string

* set site config explicity in test for twitter hashtag
2020-05-19 14:02:28 +02:00
Michael Kohl
b5885f6c29
Fix internal category filtering for listings (#7908) 2020-05-18 09:26:38 -04:00
rhymes
3130261384
Refactor GitHub::Client to extract Github::OauthClient for users (#7848)
* Introduce Github::OAuthClient and refactor shortcut Github::Client

* Better stubbing and fix specs

* Fix Badge rewarder

* Add dummy values for Travis

* Fix spec?

* Simplify

* Fix spec take 2?

* Is this the right one?

* Hopefully this is the last time, for realz

* Fix spec for the nth time?

* Which deity do I have to offer a sacrifice to?

* This is it

* Fix Honeycomb name
2020-05-18 14:23:55 +02:00
Mac Siri
f15797ac17
Expand webhook API request specs (#7872)
* Expand webhook API specs

* Use single expectation

* Refactor include examples
2020-05-15 11:35:44 +02:00
Michael Kohl
c23850f795
[deploy] Credit refactoring (#7841)
* Simplify Credit model

* Use enough_credits? method
2020-05-14 18:04:26 -04:00
Molly Struve
d1e39a7dba
[deploy] Rate Limit Feedback Message Creation (#7832) 2020-05-14 12:00:22 -05:00
Alex
5b4ef24468
[deploy] Validate both images and pattern_images when creating podcasts (#7828)
* Validate both images and pattern_images

* Move image_keys to IMAGE_KEYS constant

* Use slice over select
2020-05-14 11:23:04 -04:00
Mac Siri
321b24d2a0
[deploy] Create write_articles oauth scope (#7834) 2020-05-14 09:55:53 -04:00
Juan Vasquez
9efd1d35fa
Add twitter hashtag to the site config (#7573)
* Add twitter hashtag to the site config

* Add twitter_hashtag field
2020-05-14 12:41:15 +02:00
Jacob Herrington
03bf1ac45e
Use build_stubbed where possible in tests (#7827)
I got a little sidetracked and found a few places where we could use
build_stubbed.
2020-05-14 10:56:29 +02:00
Ben Halpern
a288acf88f
[deploy] Add query-friendly article additions (Initial step) (#7794)
* Add query-friendly article additions

* Fiddle with font size

* Change from query_friendly_ to search_optimized_
2020-05-13 16:59:41 -04:00
Alex
004dbba500
[deploy] Remove logging of image data to Datadog (#7829) 2020-05-13 16:23:42 -04:00
Jacob Herrington
f388fb46e9
Handle negative reactions on comments (#7805)
It totally slipped my mind that we can create negative reactions on
comments. This PR accounts for that in the internal view that renders
negative reactions.
2020-05-13 09:27:38 -04:00
Anna Buianova
82799eb752
Remove code related to /live_articles (#7822) 2020-05-13 09:26:13 -04:00
rhymes
81fff248dd
Refactoring GitHub Repos functionality - step 1 (#7764)
* Rename find_or_create to upsert and improve validation and testing

* Add User.authenticated_through?

* Refactor settings/integrations

* Refactor profile github repositories rendering

* Refactor repos fetching

* Only fetch a single repo and improve error messages

* Remove unused code

* Cleanups

* Fix specs

* Remove trailing whitespace

* Fix spec

* Trigger Travis
2020-05-12 13:48:19 +02:00
Ben Halpern
614aaff644
[deploy] Shorten page title for unauthenticated traffic (#7738)
* Shorten page title for non-logged-in

* Update spec/requests/stories_show_spec.rb

* Fix tests
2020-05-11 18:06:27 -04:00
Molly Struve
744dea426d
Ensure Users are Authorized Before Checking Reaction Rate Limit (#7776) 2020-05-11 16:51:42 -04:00
Michael Kohl
1d578aa3ea
[deploy] Add org credit management to org mod page (#7761)
* Add org credit management to org mod page

* Fix typo
2020-05-11 16:49:05 +02:00
Sarthak Sharma
90d60bf73f
[deploy] 🚀 Feature: Ability to search discoverable channels and send request to join (#7385)
* Feature 🚀 : Ability to delete messages in chat channels

- Sending message ID to frontend
- Deleting Message
- Use pusher to delete message realtime

* Minor Bug 🐞: Show message action only for current user

- User can delete or edit their own messages

* Test cases added

* Bug 🐞: Update message id for receiver

Message id was not sent to receiver by pusher

* Refactoring🛠: Message controller refactoring

* Test Cases📝 : Specs for Delete message added

* Feature 🚀 : Ability to edit messages

* Test Cases📝 : Specs for Edit message added

* added new column discoverable for public channel and changes in elasticsearch

* fix corrections

* changes in serializer file, added channel_discoverable

* added checkbox with discoverable policy

* changes in code for discoverable channels

* accept and reject member invitation by mod

* add joining request to closed groups

* fixed merge error

* changes in joining member to closed groups

* join to closed group

* changes in message action of joining

* changes in chat upopened json

* 🚀Feature : Ability to search Global Channels

* touch updated_at in after commit update

* 🚀Feature : Ability to send request to discoverable channel

* 🚀Feature : Ability to send request to discoverable channel

* created new route for joining closed channel

* 🚀 Success handle on joining request sent

* removed redundant code

* join_channel improvement, removed authorization for join channel

* list of joining requests

* added joining_request status channels on search list

* changes in mailer and query builder optimized

* 🛠 Adding filter for new Query

* added rspec for add membership method in controller

* rspec for sending join channel request

* invite join request channel list rspec

* test case for query builder discoverable

* viewable and discoverable channel list

* refactored logic for search channels

* 🚀 Check if Request already sent

* 🛠 Optimizing code and making channelButton Component

* 🛠 Optimizing codefor SVG problem

* 🛠 Optimized action.js

* changes in search controller query

* hot fix

* removed unwanted code

* 🛠  Fix the Channel Name problem

* 🛠  Optimizing code further for CodeClimate

* added new column discoverable for public channel and changes in elasticsearch

* fix corrections

* changes in serializer file, added channel_discoverable

* added checkbox with discoverable policy

* changes in code for discoverable channels

* accept and reject member invitation by mod

* add joining request to closed groups

* fixed merge error

* changes in joining member to closed groups

* join to closed group

* changes in message action of joining

* changes in chat upopened json

* touch updated_at in after commit update

* 🚀Feature : Ability to search Global Channels

* 🚀Feature : Ability to send request to discoverable channel

* 🚀Feature : Ability to send request to discoverable channel

* created new route for joining closed channel

* 🚀 Success handle on joining request sent

* removed redundant code

* join_channel improvement, removed authorization for join channel

* list of joining requests

* added joining_request status channels on search list

* changes in mailer and query builder optimized

* added rspec for add membership method in controller

* rspec for sending join channel request

* invite join request channel list rspec

* 🛠 Adding filter for new Query

* test case for query builder discoverable

* viewable and discoverable channel list

* refactored logic for search channels

* 🚀 Check if Request already sent

* 🛠 Optimizing code and making channelButton Component

* 🛠 Optimizing codefor SVG problem

* 🛠 Optimized action.js

* changes in search controller query

* hot fix

* 🛠  Fix the Channel Name problem

* 🛠  Fixing merge problem

* 🛠  Optimizing code further for CodeClimate

* updated UI for membership edit

* fixed test casses and fixed UI for chat_channel_edit

* 🛠napshots added

* test cases fixed

* 🛠 Test cases added for new component

* channel settings accesible only by mod

* 🛠 More Test cases added

* 🛠 Svg code optimized

* 🛠 Svg code optimized in videocontent

* optimized code for search query

* fix test case for query builder

* changes in joining closed channel logic

* refactored join channel

* redirect to edit channel after joining request

* changes in test case for redirect

* optimized code

* 🛠 Eslint bugs fixed

* test case fixed

* optimization

* olving channel repetition problem

* optimization of code for query builder

* changes in query builder

* test cases fixed

* 🛠 Handling reduntant data on frontend

* 🛠  Don't show data if no filter query

* 🛠 Optimized code for fixing bugs and code coverage

* 🛠  Optimizing code further for CodeClimate

Co-authored-by: Parasgr-code <paras.gaur@skynox.tech>
2020-05-11 09:29:15 -04:00
Jacob Herrington
d89f4e14d7
[deploy] Fix bug regarding negative reactions on users (#7741)
* Add tests for user and article negative reactions

* Fix weird conditonal logic

This fixes a bug that breaks the page on user vomits.
2020-05-08 17:07:10 -04:00
Molly Struve
ea1d38d3b8
[deploy] Bulk Fetch Follow Button Data for Users (#7676) 2020-05-08 13:58:58 -05:00
rhymes
b5ebf8f3dc
Routine rubocop fixes (#7743)
* Rubocop auto fixes

* Fix Capybara/VisibilityMatcher

* Regenerate todo
2020-05-08 19:38:06 +02:00
Julianna Tetreault
ab248edfe5
Refactor articles_show_spec to Better Test JSON-LD (#7733)
* Refactor articles_show_spec.rb to better test JSON data
  * Adds additional tests around JSON-LD data
  * Removes original tests for JSON-LD from articles_show_spec

* Add org data to spec to test against actual JSON-LD data
  * Removes inline variables in favor of let declarations
  * Adds and tests organization structured data
  * Removes unnecessary objs and variables from spec

* Adjust org JSON-LD description in the Stories::Controller
  * Replaces user summary with org summary in org data structure

* Capitalize the S in RSpec in articles_show_spec.rb

* Remove OR from dateModified in favor of published_timestamp
2020-05-08 10:16:41 -06:00