Commit graph

2418 commits

Author SHA1 Message Date
Ridhwana
2dad0c42f8
Save Data Update Script errors to database and show them on http://localhost:3000/admin/data_update_scripts (#12348)
* feat: add an error column to the data update script

* feat: save the error to the error field

* feat: save the error when the script fails

* feat: show the script error on the data update script page

* chore: pass the error to mark_as_failed instead of having its own function

* refactor: use presence

* test: ensure that we test an error case of a data update script

* chore: rename errorneous to failing

* test: update some specs, working on the others

* chore: update tests now that there are two files

* chore: change error from a string to a text to allow for more char
2021-01-21 14:48:34 +01:00
Michael Kohl
71ea85be6e
Verify current password on password change (#12174)
* Verify current password on password change

* Address PR comments

* Allow password reset for logged in users

* Make password change message more explicit

* Reformat message

* Fix specs
2021-01-21 12:40:54 +07:00
Michael Kohl
5d0fe12528
Update NavigationLink handling (#12316)
* Update copy

* Allow relative URLs and normalize on save

* Update specs

* Move clarification from index to form

* Add data update script

* Update spec
2021-01-20 13:57:59 -05:00
Arit Amana
94236d7ee6
Update dev.to/mods for non-logged in users (#12301)
* complete implementation

* check if forem is DEV properly

* Add tests

* improve tests

* improve tests again

* REALLY improve tests (sheesh!)

* Address code review comments

* small changes

* modify specs
2021-01-20 13:53:50 -05:00
Andy Zhao
0f15b8dbd3
Don't try to unsub users when destroying if Mailchimp is not enabled (#12331)
* Use proper Mailchimp newsletter IDs respective to methods

* Add guard clauses when Mailchimp newsletter isn't enabled

* Rubocop correction

* Only unsub after destroy if Mailchimp newsletter is enabled

* Refactor a bit

* Fix typo

* Fix boolean logic for guard clauses

* Update tests to account for new SiteConfig logic

* Break guard clause into two clauses
2021-01-20 12:32:35 -05:00
Alex
f5ab9552d5
Move MarkdownTraverser to service (#12282) 2021-01-20 11:29:42 -05:00
Mac Siri
bdd05f7a9d
Reindex comments' Elasticsearch doc when commentable is updated (#12330) 2021-01-20 09:44:59 -05:00
Nick Taylor
86eb75cee7
Report a Message in Connect (#12229)
* Frontend Ready for Connect Report Abuse

* add feedback api

* js defination fix

* Added Hooks to the Component

* add json response in feedback

* Block popup added

* fix render issue

* Made changes in internal view

* change error message

* Added few design changes =

* add test cases

* Update app/javascript/chat/actions/requestActions.js

Co-authored-by: Nick Taylor <nick@iamdeveloper.com>

* add PR suggestions

* add backend test cases

* report abuse form close

* Update app/javascript/chat/actions/requestActions.js

Co-authored-by: Nick Taylor <nick@iamdeveloper.com>

* Update app/javascript/chat/ReportAbuse/index.jsx

Co-authored-by: Nick Taylor <nick@iamdeveloper.com>

* add test cases

* Update app/javascript/chat/ReportAbuse/index.jsx

Co-authored-by: Nick Taylor <nick@iamdeveloper.com>

* Update app/javascript/chat/ReportAbuse/index.jsx

Co-authored-by: Marcy Sutton <holla@marcysutton.com>

* Update app/javascript/chat/ReportAbuse/index.jsx

Co-authored-by: Marcy Sutton <holla@marcysutton.com>

* group the fieldset

* fix report abuse api

* fix test case

* fix request test case

* fix typo

* cleaned up markup in report abuse component.

* Fixed spacing between abuse options.

* Fixed wording in report abuse confirmation.

* Removed unnecessary data-testid and aria-label attributes.

* Added some top margin to the report abuse form.

* Update app/javascript/chat/message.jsx

Co-authored-by: Suzanne Aitchison <suzanne@forem.com>

* Added a legend to the the fieldset.

* Update app/javascript/chat/actions/requestActions.js

Co-authored-by: Michael Kohl <citizen428@dev.to>

Co-authored-by: Sarthak <7lovesharma7@gmail.com>
Co-authored-by: Narender Singh <narender2031@gmail.com>
Co-authored-by: Marcy Sutton <holla@marcysutton.com>
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
Co-authored-by: Michael Kohl <citizen428@dev.to>
2021-01-19 12:07:47 -05:00
Ben Halpern
ed04875074
Fix image assets in tweets and remove like/retweet counts (#12327) 2021-01-19 10:30:38 -05:00
leewynne
58efe300ac
generalise sidebar campaign published article timeframe (#12278) 2021-01-19 08:40:39 -06:00
Philip Q Nguyen
fe00bcacf9
BUGFIX: Allow image upload even if no existing image (#12312)
* Allow image upload even if no existing image

Allow profile image upload even if there's no profile image attached.

* Add specs to ensure profile image field is there

Specs to ensure that the profile image upload field is always
available wether the user has a profile picture or not.
2021-01-19 11:47:09 +01:00
Ben Halpern
d7732499b9
Improve cumulative layout shift on comment reactions + optimizations (#12309)
* Improve content layout shift on comment reactions + optimizations

* Clean ups, tests, and docs

* Fix test typo

* Update app/views/comments/_comment_footer.html.erb

Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>

* Update docs/technical-overview/architecture.md

Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>

* Update docs/technical-overview/architecture.md

Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>

* Update docs/technical-overview/architecture.md

Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>

* Refactor and add jsdoc

Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
2021-01-18 19:29:44 -05:00
Ben Halpern
472c3d2922
Fix and refactor hide user content (#12307) 2021-01-18 11:08:23 -05:00
Shilpi Agrawal
92f191445b
Refactored all site config default hardcoded value in rspec test (#12315)
* Refactored all site config default hardcoded value in rspec test

* Remove Liquid::BlockBody patch (#12313)

* Refactored all site config default hardcoded value in rspec test

* Added seperate function to fetch default site confif value and using it in specs

Co-authored-by: rhymes <rhymes@hey.com>
2021-01-18 15:23:40 +01:00
rhymes
3750ea6544
Remove Liquid::BlockBody patch (#12313) 2021-01-18 08:09:28 +01:00
dependabot[bot]
a63ba17b6a
Bump liquid from 4.0.3 to 5.0.0 (#12150)
* Bump liquid from 4.0.3 to 5.0.0

Bumps [liquid](https://github.com/Shopify/liquid) from 4.0.3 to 5.0.0.
- [Release notes](https://github.com/Shopify/liquid/releases)
- [Changelog](https://github.com/Shopify/liquid/blob/master/History.md)
- [Commits](https://github.com/Shopify/liquid/compare/v4.0.3...v5.0.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Convert ActiveSupport::SafeBuffer to string

* Disable echo and render tags

* Disable liquid tag

* Add issue link

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: rhymes <rhymes@hey.com>
2021-01-15 15:37:42 -06:00
Julianna Tetreault
d06ee645f8
Improve Error Messaging for Self-Deletion Confirmation Flow (#12266) [deploy]
* Adds guard clauses and better error messages to UsersController #confirm_destroy

* Adds tests around guard clauses in UsersController #confirm_destroy

* Adds a custom error for invalid tokens in UsersController#confirm_destroy

* Refactor user_destroy_token.rb initialize method to be more succinct

* Removes unnecessary code from user_self_destroy_spec.rb and fixes failing InvalidToken spec

* Reworks code in #confirm_destroy to be consistent with other #destroy methods

* Adjust token mismatch test to use mismatched tokens

* Refactors #confirm_destroy and adds a before_action to Users::Controller
 - Reworks the logic within #confirm_destroy and removes excess code
 - Adds set_or_sign_in_user before_action for #confirm_destroy
 - Removes custom InvalidToken error message

* Cleans up spec and adds an additional test around logged out user edge case

* Fixes failing tests due to changes in #confirm_delete flow

* Adjusts test logic in user_self_destroy_spec.rb

* Refactors code by removing custom before_action and rewriting conditionals
2021-01-15 11:51:06 -07:00
Ridhwana
65d439e70d
Attempt to fix random test failures when dealing with the ForemInstance class (#12294)
* fix: set the deployed at to nil

* chore: make sure the heroku env is also set to empty

* Sprinkle more after block

Co-authored-by: Mac Siri <krairit.siri@gmail.com>
2021-01-15 19:44:18 +02:00
Fernando Valverde
e60159184f
Fixes apple auth creator flow in /admin/config (#12287) 2021-01-15 08:07:34 -06:00
rhymes
c2c1366a4d
Enable new rules and run Rubocop autocorrect (#12232) 2021-01-14 16:35:27 -05:00
Molly Struve
636f4b0ae1
Bug Fix:Increase Default Rate Limit for User Updates to 15 (#12281)
* Bug Fix:Increase Default Rate Limit for User Updates to 15

* spec fix
2021-01-14 12:51:08 -06:00
Fernando Valverde
7f3859a8b4
Workaround for Apple auth problems (still in beta) (#12263)
* Workaround for Apple auth problems (still in beta)

* Fix spec
2021-01-14 09:44:56 -06:00
Ben Halpern
444841bb90
Fix domain list bug (#12268) 2021-01-14 10:43:42 -05:00
Alex
31689fd76a
Break MarkdownFixer into MarkdownProcessor::Fixer services (#12241)
* Create new MarkdownProcessor::Fixer services

* Remove old MarkdownFixer

* Code cleanup

* Capitalize Base in code comments

* Remove comments related to inheritance

* Add fix_methods method to hold METHDOS constant
2021-01-14 10:26:46 -05:00
Andy Zhao
eed4df0fa4
Add sorting feature to /admin/tags (#12249)
* Use Ransack for admin/tags

* Update admin tags index to use search with Ransack

* Add feature to sort tags in /admin/tags

* Add test for viewing /admin/tags pages

* Add aria labels for sort links

* Make links a bit more accessible
2021-01-13 17:03:17 -05:00
Andy Zhao
b45c578ea1
Encode emails properly before sending to /confirm-email (#12211)
* Refactor test a bit

* Account for URL encoding when redirecting to /confirm-email

* Fix failing spec

* Use correct method to encode + and @

* Fix test

* Don't encode things I don't need to (thanks Nick)
2021-01-13 15:17:14 -05:00
Alex
27df7ddee5
Remove old MailchimpBot (#12244)
* Remove old MailchimpBot

* Wake up, Travis

* Wake up, Travis
2021-01-13 14:33:21 -05:00
Arit Amana
3a984c8ee7
[2020 EOY Issue] Modal alert when enabling Auth Provider without keys (#12135)
* Start hooking things up

* further generalize adminModal, hook up relevant code

* Complete implementation

* remove comments

* Address QA suggestions

* Address QA suggestions

* Use object parameter for adminModal

* starting the admin cypress tests

* Code review suggestions

* remove incomplete test

* rename data attributes to make more sense

* complete the work

* use destructuring

* edit warning modal text
2021-01-13 13:54:39 -05:00
Alex
01a4b41fed
Fix shell version logic in async info controller (#12262)
* Add .to_s to ForemInstance.deployed_at

* test: could it possibly be holding onto the cached value across the tests

Co-authored-by: Ridhwana <ridhwana.khan16@gmail.com>
2021-01-13 13:20:34 -05:00
Alex
a5e6f7942c
Rename MarkdownParser to MarkdownProcessor::Parser (#12248)
* Rename MarkdownParser to MarkdownProcessor::Parse

* Wake up, Travis

* Fix typo
2021-01-13 10:39:13 -05:00
Ridhwana
4549144fbb
Refactor deployed_at and latest_commit_id code (#12224)
* WIP: release footprint in the admin UI

* feat: show the commit ID and the date

* chore: change env optional to empty string

* fix: change the FOREM_BUILD_DATE to RELEASE_FOOTPRINT

* feat: add Not Available as a last option

* test: last deployed time and latest commit id

* feat: update the way we change the env variable!

* fix: we need to set the RELEASE FOOTPRINT so that this clause is not hit - `return path if release_footprint.blank?`

* feat: add a Forem Instance Model

* chore: rename variable

* feat: use the new model that we created

* feat: Update the Forem Instance model to remove Not available from the model method and add it to the view layer

* test: Forem Instance model to return the correct values when present

* feat: use Forem.deployed_at instead of the Application config directly

* chore: remove the initializer

* feat: rename the data keys to reflect what it does

* fix: oops evaluate the var

* refactor: static values that can never change during the lifetime of the app should be constants

* chore: setup the test to have a release footprint before the test gets executed

* chore: remove the methods

* revert to method + cache

* revert to using method

* reset the instance variable
2021-01-13 16:53:59 +02:00
ludwiczakpawel
0c6c5c55a1
Code snippet fullscreen icon - setting constraints for size. (#12010)
* tooltips 1.0.1

* tooltips 1.0.1

* initial fix

* .

* .

* test

* Add data update script to re-save published articles

* Approve verified diffs

* Fix Rubocop violation

Co-authored-by: rhymes <rhymes@hey.com>
2021-01-13 15:17:10 +01:00
Spencer
27648a938b
API: Endpoint to get an organization's articles (#12237)
* update route

* add controller action

* add article jbuilder/update shared files

* add tests

* update api docs

* add published to query

* render articles index/delete articles jbuilder

* call articles index attributes const

* put back article/flare partials

* bug fix for readinglist index

* bug fix for render partial in jbuilder
2021-01-13 13:09:58 +01:00
Michael Kohl
576d60d6bf
Standardize bot meta tags (#12197) 2021-01-13 11:16:33 +07:00
Michael Kohl
b5a9eeb95e
Remove contact_consent from users (#12196) 2021-01-12 16:18:47 -05:00
Alex
b168e1529f
Move HexComparer to Hex::Comparer service (#12202)
* Move HexComparere to Hex::Comparer service

* Create USER_COLORS constant and constant specs

* Move formats to constants

* Rename Hex::Comparer to Color::CompareHex
2021-01-12 11:34:30 -05:00
Alex
dfeccf6c11
Move MailchimpBot to Mailchimp::Bot service (#12205)
* Move MailchimpBot to Mailchimp::Bot service

* Update specs

* Put back old Mailchimp Bot
2021-01-12 10:28:48 -05:00
Ben Halpern
9b5e694e9c
Ben/new branch noindex spam comments (#12210)
* noindex google any comment permalinks with negative score

* Add commentable noindex

* Give dummy score to podcast episodes
2021-01-11 16:17:52 -05:00
Ben Halpern
710a2c1a2e
Use SiteConfig twitter keys before env (#12200)
* Use SiteConfig twitter keys before env

* Add basic regression test
2021-01-11 12:01:37 -05:00
Michael Kohl
2e202b0399
Remove looking for work columns (#12173)
* Remove looking for work columns

* Fix schema.rb

* Undo accidental change

* Update spec
2021-01-11 11:22:39 +07:00
Josh Puetz
8c5b7bacb4
Show comment posting errors (#12184) 2021-01-08 14:29:01 -06:00
rhymes
e7f9735354
Remove RssReader (#12169)
* Add script to remove feature flag

* Remove :feeds_import feature flag and RssReader and related classes

* Change Feeds::ImportArticlesWorker signature to support Sidekiq Cron serialization

* Replace RssReader::Assembler with Feeds::AssembleArticleMarkdown

* Removing Assembler
2021-01-08 11:45:15 -05:00
Alex
a7376ad10d
Move Bufferizer to services (#12171)
* Create Bufferizer::MainTweet service

* Create Bufferizer::SatelliteTweet service

* Rename text to tweet

* Create Bufferizer::FacebookPost service

* Create Bufferizer::ListingsTweet service

* Remove old Bufferizer

* Update spec wording

* Update admin_id argument

* Use constants for size limits
2021-01-08 11:17:20 -05:00
Ridhwana
ebfe0ead2d
Add application deployment information to the admin page (#12149)
* WIP: release footprint in the admin UI

* feat: show the commit ID and the date

* chore: change env optional to empty string

* fix: change the FOREM_BUILD_DATE to RELEASE_FOOTPRINT

* feat: add Not Available as a last option

* test: last deployed time and latest commit id

* feat: update the way we change the env variable!

* fix: we need to set the RELEASE FOOTPRINT so that this clause is not hit - `return path if release_footprint.blank?`
2021-01-08 16:36:12 +02:00
Michael Kohl
45cecc8592
Break StickyArticleCollection into services (#12147)
* Break StickyArticleCollection into services

* Add tests
2021-01-08 09:14:47 +07:00
Ridhwana
100990f7c6
Basic MVP version of data update script page (#12167)
* feat: add a basic table template with the basic info for the data scripts

* feat: add nav element to sidebar

* feat: add twemoji

* feat: success and failed icon

* feat: don't wrap the status title

* feat: make data update scripts accessible only be tech_admin

* chore: add the file name to the table

* test: write tests for the data_update_script_controller

* chore: remove icons and add status
2021-01-07 23:12:51 +02:00
Alex
ce4fe1aaf7
Move CodeBlockParse and MarkdownParser to service (#12112)
* Move remove_nested_linebreak_in_list to service

* Move prefex_all_images to service

* Major refactor :)

- Move MarkdownParser to /services
- Move CodeBlockParser to HtmlParser in /services
- Update specs

* Fix MarkdownParser

* Fix parser again

* Rename HtmlParser to Html::Parser

- Fix Rubocop violations :/
- Fix conflict

* Make html writer private

* Fix codeclimate

* Fix parser
2021-01-07 10:13:01 -05:00
Julianna Tetreault
fd38b77a33
Remove Collective Noun-Related Fields from SiteConfig (#12069) [deploy]
* Removes collective_noun and collective_noun_disabled from SiteConfig

* Adds a data_update script to remove collective_noun fields from Config

* Adds additional guard clauses to collective noun scripts

* Adds an unfinished spec around the removal of collective_noun fields

* Reworks remove_collective_noun_from_site_config_spec test and expectations

* Reverts changes to data_update script and removal of Config fields

* Remove safe navigator from data_update script
2021-01-06 13:24:14 -07:00
C Çağrı Özkan
2b3b31a88e
Add ability to get latest articles on RSS feed (#11956)
* Add query string option for filtering latest articles

* Show last featured articles on /feed/latest

* Add handle_latest_feed method

* Add support for page query

* Use better naming

* Use functionailty of LargeForemExperimental#latest_feed instead of calling the service

* Include 'not featured articles' on feed

* Cleanup
2021-01-06 18:53:06 +01:00
Arit Amana
ad52f7b0f3
Rollback Listing Endorsements implementation (#12136)
* all but schema and mig file

* drop ListingEndorsements table

* actually drop the table (sheesh!)
2021-01-06 11:01:29 -05:00