Commit graph

159 commits

Author SHA1 Message Date
Abraham Williams
9cb40e546b Enables Rails cops (#2186)
* Enable Rails cops

* Fix Rails/DynamicFindBy

* Fix Rails/HttpStatus

* Fix Rails/Blank

* Fix Rails/RequestReferer

* Fix Rails/ActiveRecordAliases

* Fix Rails/FindBy

* Fix Rails/Presence

* Fix Rails/Delegate

* Fix Rails/Validation

* Fix Rails/PluralizationGrammar

* Fix Rails/Present

* Fix Rails/Output

* Fix Rails/Blank

* Fix Rails/FilePath

* Fix Rails/InverseOf

* Fix Rails/LexicallyScopedActionFilter

* Add Rails/OutputSafety to TODO

* Add Rails/HasManyOrHasOneDependent to TODO

* Add Rails/SkipsModelValidations to TODO
2019-03-25 09:25:55 -04:00
cyrillefr
a2fcbdc4a4 Enable performance rubocop cops (#2140) 2019-03-21 16:01:45 -04:00
rhymes
116d6b3278 Replace puts with proper logging (#2139) 2019-03-21 13:00:21 -04:00
Tim Lange
3494264404 Enabled rubocop/lint (#2130)
* WIP: Enabled rubocop/lint

* FIX: Fixed failing test

* FIX: Small change to return

* FIX: Changed indent
2019-03-21 10:53:44 -04:00
Glenn Carremans
b5eca77d63 Refactor award_yearly_club_badges (#2035) 2019-03-20 13:26:52 -04:00
rhymes
c851953d83 Fix unescaped front matter description in MarkdownFixer (#1989) 2019-03-19 18:19:23 -04:00
Keshav Biswa
8d57d45ecc Rubocop Style cops enabled (#2056)
* Rubocop enabled style/alias

* Enabled Style/ArrayJoin Cop

* Enabled Style/Attr

* Enabled Case Equality

* Enabled CharacterLiteral

*  Enabled ColonMethodCall Cop

* Enabled CommentAnnotation cop

* Enabled PreferredHashMethods Cop

*  Enabled DoubleNegation Cop

* Enabled EachWithObject Cop

* Enabled EmptyLiteral Cop

* Enabled EvenOdd Cop

* Enabled IfWithSemicolon Cop

* Enabled Lambda and LambdaCall Cop

* Enabled LineEndConcatenation Cop

* Enabled ModuleFunction Cop;

* Enable NegatedIf and NegatedWhile Cop

* Enabled NilComparison Cop

* Enabled Not Cop

* Enabled NumericLiterals Cop

* Enabled OneLineConditional Cop

* Enabled PercentLiteralDelimiters Cop

* Excluded internal/users_controller from negated_if cop

* Reverted the double negation change from github_issue_tag and github_issue.rb"

* Enabled PerlBackrefs Cop

* Changed Regexp.last_match(1) to Regexp.last_match(0)

* Enabled proc cop

* Enabled RaiseArgs Cop

* Reverted Regexp.last_match(0) to Regexp.last_match(1)

* Enabled SelfAssignment Cop

* Enabled SingleLineMethods Cop

* Enabled SpecialGlobalVars Cop

* Enabled VariableInterpolation Cop

* Enabled WhenThen Cop

* Enabled WhileUntilModifier Cop

* Enabled WordArray Cop

* Enabled IfUnlessModifier Cop

* Enabled GuardClause Cop
2019-03-15 18:33:54 -04:00
Anna Buianova
343f109c0f Optimize stories (#1988)
* Add db index to articles path

* Slight stories optimizations

* Select only needed fields for the flare tag

* Revert the last commit (to check builds)

* Return selecting only needed fields for tag
2019-03-12 16:38:22 -07:00
Conlin Durbin
14beb68fd3 Add new gifs to random_gif.rb (#1944)
* Add new gifs to random_gif.rb

* Update app/labor/random_gif.rb

Co-Authored-By: wuz <conlindurbin@protonmail.com>
2019-03-05 08:09:06 -08:00
Anna Buianova
0ac8eb1f73 Make less queries when displaying articles flare tags (#1957)
* Make less queries when displaying flare tag

* Make less sql queries to display articles flare tags
2019-03-05 07:27:51 -08:00
Ben Halpern
f280d9e266
Fix a couple things and modify dev digest logic (#1954) 2019-03-03 18:25:39 -08:00
Pavel Sušický
40e6078a32 add gifs to random_gif.rb (#1945) 2019-03-02 07:21:43 -08:00
Ben Halpern
c93bc48010
Fix issue with boosted article in email digest (#1936)
* Adjust email digest

* Fix for missing user.experience_level

* Fix direction of greater than

* Adjust tests for new criteria
2019-03-01 13:51:06 -08:00
Andy Zhao
b157190ef0 Add missing data for org milestone notifications (#1939)
* Remove duplicate line

* Add missing json_data for org notifications
2019-03-01 13:42:38 -08:00
Andy Zhao
8b8dbd0172 Add Milestone Notifications (#1920)
* Test milestone notifications

* Add initial milestone notifications

* Add extra milestone goalposts

* Move send reaction milestone

* Use proper twilio-video package version

* Add random giphys gifs to milestones

* Make images responsive and add addl gifs

* Add guard statement for older articles

* Update app/views/notifications/_milestone.html.erb

Link to Giphy page instead of source page

* Generate gifs via class and factor in aspect ratio

* Add border radius to gifs

Co-Authored-By: Zhao-Andy <andyzhao.zhao@gmail.com>
2019-03-01 12:25:45 -08:00
Andy Zhao
5ace9a5fc9 Organization Notifications (#1762)
* Add spec for org reaction notification

* Add organization_id to notifications

* Add validations for user and org IDs

* Move comment json_data out of loop

* Use actual column names instead

* Add organization filters

* Remove extra text-align

* Add organization filtering

* Refactor to reduce complexity

* Add receiver argument to handle orgs

* Add has_many notifications for orgs

* Add follow notifications for orgs

* Add comment notifications for orgs

* Rename some tests for specificity

* Add mark org notifications as read functionality

* Add radix to parseInt

* Define json_data outside of loop

* Notify org followers of a new post as well

* Move test to proper location

* Add test for aggregated method

* Make send org reaction notification more readable

* Test the rest of the notification model

* Refactor tag adjustment spec

* Fix extra html
2019-02-25 14:25:37 -08:00
Carl Saunders
c1eecd1850 Added <kbd> tag support to markdown editors in article posts and comm… (#1761)
* Added <kbd> tag support to markdown editors in article posts and comments.

* Fixed typo in test.

* Fixed test - now compares against inner html.

* Removed .showpage-signi-cta as dead code was reinstated accidentally via git merge.

* Use sass placeholder as no need to output the .kbd class in the css.

* Reinstated original css as accidentally changed with merge.
2019-02-16 22:30:35 -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
Glenn Carremans
1793956bdb Added 3 year anniversary badge (#1732)
* Added 3 year anniversary badge

* Fix linting error
2019-02-06 11:29:30 -04:00
Jess Lee
54426ea20b Enhance Internal Index Pages (#1747)
* add more info to internal users index

* create tag show page and add tag moderation form

* fix linting

* add tag index view and alias field

* add pagination to tag index

* fix spec
2019-02-06 10:25:19 -04:00
Mac Siri
1137d6fba4 Improve specs (#1693)
* Lock erb_lint

* Refactor moderation spec

* Remove & replace RequestSpecHelper

* Update uid to sequence

* Lower the need for persistence in specs

* Update moderation spec

* Update shoulda-matchers

* Enable backgroundjobs and update commenct spec

* Fix fail specs

* Update comment's validations

* Remove redundent specs

* Actually turn off DJ

* Apply run_background_jobs_immediately

* Remove giveawy specs

* Create Identity spec
2019-02-04 15:56:00 -04:00
Ben Halpern
493e6fe796
Modify cache on home page (#1695) 2019-01-30 17:56:05 -05:00
Mac Siri
2b779d15c6 Fix inconsistent specs (#1674)
* Force test colors in Travis

* Fix inconsistent analytic spec

* Fix local inconsistent specs

* Remove JS

*  Remove JS from spec
2019-01-30 11:50:42 -05:00
Andy Zhao
f5f206e40e Render codespans properly in markdown (#1678)
* Explain test properly

* Add tests for codespan parsing

* Add codespan parsing logic
2019-01-29 11:52:18 -05:00
Juan Manuel Ramallo
49c9b5bc87 [Emojis in Markdown] (#1653)
- Adds the ability to add emojis using colons 😂 🎉
- The emoji conversion is added to the markdown parser labor
- When no emoji is found with the alias, same text is returned
- No assets added (no emoji images), so this will only be supported when the browser supports emojis (https://blog.getemoji.com/post/57054354336/which-browsers-support-emoji)
- Emoji conversion logic is out of markdown parser labor
- Adds its own spec
2019-01-28 16:28:59 -05:00
Ben Halpern
1cdbfe3af1
Remove hardcoded values in streak reward (#1671) 2019-01-28 14:14:45 -05:00
Ben Halpern
561882d9d5
Add writing streak badge rewarding algorithm (#1670)
* Add 4 week streak badge rewarding algorithm

* Modify badge message

* Fix typo
2019-01-28 13:46:00 -05:00
Vinicius Stock
ec2ce5d6e6 Upgrade rubocop and fix offenses (#1635) 2019-01-23 16:12:03 -05:00
Ben Halpern
ff405c0e90
Add occasional random fetches to article page_views_count (#1625) 2019-01-22 14:39:34 -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
Jess Lee
38091ba486 Update twitter validation and internal/articles query (#1571)
* update validation and only show published articles

* update twitter satellite count

Co-Authored-By: jessleenyc <jessleenyc@gmail.com>
2019-01-16 17:15:22 -05:00
rhymes
dee7429883 Replace each with find_each for AR queries (#1557) 2019-01-15 16:38:03 -05:00
Mac Siri
f780e5fbc9 Refactor RssReader (#1537)
* Update RssReader::get_all_articles

* Move RssReader to services

* Create RssReader::Assembler

* Improve RssReader's spec
2019-01-14 14:25:49 -05:00
Mario See
8bb1716935 connect chat message markdown styling (#1487)
* remove inline markdown rule

* broaden evaluate_inline_markdown

basically same as evaluate_markdown but without class attributes

* remove inline markdown parser

* change code block color and background

* even out code padding top/bottom
2019-01-08 17:48:12 -05:00
rhymes
dbf5fc63ad Fix Rubocop Security/Open (#1447)
* Re-run rubocop autogen config

* Fix Layout/* violations

* Fix Security/Open and use HEAD if GET is not needed
2019-01-02 16:35:19 -05:00
rhymes
6553f08d94 Rubocop cleanups (#1415)
* Update rubocop-todo.yml with new violations

* Fix Layout/EmptyLine* rules

* Fix Layout/Indentation* rules

* Fix remaining Layout/* rules

* Fix Lint/DuplicateMethods by removing unused accessor

* Fix Lint/IneffectiveAccessModifier

* Fix Lint/MissingCopEnableDirective

* Re-run rubocop auto gen config

* Fix Layout/RescueEnsureAlignment

* Fix Naming/* rules

* Fix some RSpec/* rules

* Fix typos

* Fix RSpec/LetBeforeExamples

* Series should only be an attr_writer, not an attr_accessor

* Fix RSpec/InstanceVariable

* Fix RSpec/InstanceVariable

* Fix RSpec/RepeatedDescription and RSpec/RepeatedExample

* Fix Style/ClassAndModuleChildren

* Fix Style/ConditionalAssignment

* Fix some Style/* rules

* Trigger Travis CI build because failing tests are not failing locally

* Revert "Fix Style/ClassAndModuleChildren"

This reverts commit 1686801d8a1516ba1894f79e24401a20dea65f99.
2019-01-02 11:20:02 -05:00
Arun Kumar
0f8c08629b Remove superfluous condition (#1441) 2019-01-01 17:05:18 -05:00
Arun Kumar
c859651081 Refactor !empty? calls with any? (#1442) 2019-01-01 17:04:52 -05:00
Ben Halpern
2bb48d27c4
Add two-year-club auto-rewarder (#1383) 2018-12-20 16:53:22 -05:00
Jess Lee
1586d9fd7d Include conditional for adding tag mods to connect channel (#1366)
* fix slug typo

* fix specs

* use blank? instead of nil?
2018-12-19 15:44:36 -05:00
Jess Lee
7ca3d5c542
Fix tag channel query 2018-12-19 13:47:16 -05:00
Jess Lee
d8ff236f69 Fix slug typo (#1364) 2018-12-19 13:39:50 -05:00
Jess Lee
1d2a6def4a Add tag moderation info page (#1360)
* clarifies tag edit form and updates photo

* add better image

* add tag moderation route and page info

* adds labor module for assigning bulk tag moderators

* Apply Peter's changes from code review

Co-Authored-By: jessleenyc <jessleenyc@gmail.com>

* fix typo

Co-Authored-By: jessleenyc <jessleenyc@gmail.com>

* replace with cloudinary image links

* add specs
2018-12-19 09:27:55 -05:00
rhymes
96d01b20a2 Use allow/allowed instead of whitelist (#1296)
* Use allow/allowed instead of whitelist

* Remove duplication in comment
2018-12-10 13:16:16 -05:00
Jibran Kalia
f569f33e4f [WIP] Really simple calculate reading time function (#1283)
* Really simple calculate reading time function

* Move parse_it so that the number of methods in MarkdownParser is at 20

* Added test and default value for reading time
2018-12-09 13:42:32 -05:00
Christine Yen
cff6b5d589 Add Honeycomb gem and initial instrumentation (#695)
* Add basic Honeycomb initializers

* Add some basic instrumentation, capture basic IDs

* Correctly alphabetize Gemfile, embed env in dataset names

* Actually reorder Gemfile because I can read

* Add custom tracing instrumentation to RssReader

* Improve timing/tracing info in RssReader

* Even make sure Errors show up in trace if possible

* Make sure we capture this as Rails traffic

* Swap in dev/test Libhoney::Clients as appropriate

* Move context-snagging bits into lib/instrumentation.rb

* Merging Gemfile lines seems to be my Achilles heel
2018-11-28 10:08:27 -05:00
Ben Halpern
115e52c748
Move follow and reaction aggregation into Notification model to avoid… (#1164)
* Move follow and reaction aggregation into Notification model to avoid re-compute

* Ugh. Fixing schema

* Update tests

* Skip some tests in notifications_spec
2018-11-20 15:00:21 -05:00
Andy Zhao
044de6a8b5 Make reads controller async and sanitize notification titles (#1158) 2018-11-19 19:33:00 -05:00
Andy Zhao
a1010201f2 Notifications part 2 (#1156)
* Remove stream and add new notification views

* Actually remove Stream

* Move followers query to async method

* Remove unused tests and fix query

* Try using without delay instead

* Add without delay and escape HTML

* Make all tests pending for now
2018-11-19 18:14:24 -05:00