Commit graph

291 commits

Author SHA1 Message Date
Ben Halpern
4465f9a531
Fix mistaken cloudinary_video_url in article (#1813) 2019-02-16 18:49:54 -04:00
Anna Buianova
1cc0fccbf7 Reduce the number of sql queries for articles comments #1606 (#1766)
* Reduce the number of sql queries for articles comments

* Refactor comments tree display

* Refactor retrieving the comments tree

* Remove comments tree view object

* Update score in comments spec for consistent order
2019-02-16 18:14:15 -04:00
Ben Halpern
bce0b4fff6
Remove harsh video restriction and add video duration (#1811)
* Remove harsh video restriction and add video duration

* Fix video meta data and tests

* Modify video tests

* Rescue video duration fetch error

* Change log to puts in test
2019-02-16 17:42:44 -04:00
Anna Buianova
28bac35db2 Remove useless removing algolia indexing on article destroy (#1807) 2019-02-16 12:51:25 -04:00
Glenn Carremans
91633206ee Implement GitHub PR liquid tag support (#1784) 2019-02-15 13:40:15 -05:00
Anna Buianova
5b2d1badf2 Remove Organization#resave_articles (#1802)
This is now unused and replaced with and ActiveJob class
2019-02-14 13:26:04 -05:00
Ali Spittel
7492783964 Add frontmatter error-handling (#1797) 2019-02-13 15:29:53 -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
Anna Buianova
7f6e0cf185 Fix ActiveRecord::RecordNotFound in Delayed::Jobs on article destroy (#1699)
* fixed `ActiveRecord::NotFound` issue for articles, on article destroy
* extracted ActiveJobs from article callbacks
* added specs for article and reaction deletions
2019-02-07 16:57:17 -05: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
Jess Lee
009001272a Allow dashboard view for admins and update permissions in internal/users (#1742)
* allow admins to see dashboards

* add more info to internal users

* add more info to internal users

* add video permission toggle

* specify banished user traits
2019-02-06 13:24:42 -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
152f4a52ea
Remove unnecessary queries (#1717)
* filter unnecessary queries

* Adjust article query in a couple places

* Replace tagged_with in main tag query

* Cache_tagged_with additional queries

* Modify test

* Modify cached_tagged_with to account for single tags

* Add cached_tagged_with in a few more places
2019-02-02 21:40:34 -04:00
Jess Lee
af2915b086 Fix Banisher Updates (#1704)
* delete activity before updating username

* fix linting

* remove unnecssary return
2019-02-01 17:10:17 -04:00
Andy Zhao
21859700c2 Rename notification arguments (#1684)
* Add a comment about notifiable

* Rename argument from notifiable to comment

* Use badge_achievement as argument

* Use reaction instead of notifiable

* Use mention instead of notifiable

* Add a comment for context

* Use tag adjustment instead of notifiable
2019-01-30 11:47:49 -05: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
ea63374408
Add below-article html variant (#1669)
* Add below-article html variant

* Fix tests for variant number

* Fix stories show tests for html_variants
2019-01-28 14:31:43 -05:00
Jess Lee
9d72091f42 add mailchimp unsub when deleting or banishing user (#1644) 2019-01-24 16:14:10 -05:00
Andy Zhao
9f6d00118f Mute notifications for your own article (#1594)
* Use a slightly faster call for user_id

* Remove unused file

* Test receive notifications functionality

* Notify when receive_notifications is true

* Test receiving reaction notifications

* Do not notify if receive_notifications is false

* Fix test for parent comment notification

* Add article mute notifications feature

* Remove deprecated specs

* Prevent email when receive_notification is false

* Update button messaging

* Use RESTful /article_mutes patch request

* Use parent or root article instead
2019-01-22 13:12:48 -05:00
Ben Halpern
cc8eaa1e68
Modify side stickies and comment.rb caching/touching (#1599) 2019-01-20 21:09:27 -05:00
rhymes
dee7429883 Replace each with find_each for AR queries (#1557) 2019-01-15 16:38:03 -05:00
Anna Buianova
53e8490e75 Refactor redirect from the old username or organization slug (#1527) 2019-01-14 18:10:57 -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
Andy Zhao
7726acf157 Update notification's request specs (#1450)
Fixes all the notification request specs that were xited. This should help us feel more comfortable making changes to notifications.

Also made a small (performance?) improvement by using an already defined variable.
2019-01-14 15:20:04 -05:00
Andy Zhao
68807c6df7 Allow Organizations to Update Slug/Username (#1411)
* Close anchor tag typo

* Remove confusing message in profile

* Fix typo in spec

* Add old_slug and old_old_slug fields to org

* Test for check_for_slug_change method

* Add ability for orgs to change slug

* Update copy to match new org language

* Add redirect for organizations with old slugs

* Use less queries for handling org/user redirect

* Use consistent syntax for user creation

* Test for organization slug redirects

* Refactor user article redirect
2019-01-10 14:16:43 -05:00
Jess Lee
5e4508ebe1 Remove callbacks from banisher + specs! (#1501)
* wip remove callbacks from banisher

* remove pry
2019-01-09 15:12:38 -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
Timothy Ng
84bd3a69d7 ApiSecret model for Developer API (#1369)
* Add ApiSecret model scaffold

* Add relationships between ApiSecret, User, Organization

* Add placeholder template to account tab

* Add description column to ApiSecrets

* Add very basic access token generation

* Add basic access token deletion

* Show access token on success flash

* Add placeholder message when user has no secrets

* Use cta style on token generation button

* Add presence validation for ApiSecret description

* Add ApiSecrets factory

* Add pundit policy for ApiSecret

* Nest form field within api_secret hash to allow rails strong params

* Use pundit to authorize ApiSecretController actions

* Add error message flash for ApiSecretsController actions

* Add specs for ApiSecretsController

* Add length validation to api secret description

* Flash model error instead of generic message on save failure

* Truncate ApiSecret factory objects descriptions to prevent validation error

* Remove length restriction on ApiSecret.description

* Use darker font color for token creation date

* Consolidate ApiSecret migrations
2019-01-08 12:30:54 -05:00
Ben Halpern
69b90272a9
Improve caching on article show view (#1467) 2019-01-05 21:42:10 -05:00
Ben Halpern
e79f3bfbc1
Fix linting (#1463) 2019-01-04 21:13:12 -05:00
rhymes
de5b889445 Fix Rubocop Style/MixinUsage and cleanup prefix_all_images (#1451)
* Use sanitizer to strip HTML tags

* Fix Style/MixinUsage

* Cleanup prefix_all_images

* Stay under 25 lines of code
2019-01-04 14:20:53 -05:00
Abraham Williams
67e9ba223d Remove debug line (#1462) [ci skip] 2019-01-04 13:10:09 -05:00
Jess Lee
4214bcbbf6 Add user status to internal/users (#1444)
* wip

* add indiviual user partial

* remove unnecessary attributes

* wip

* add indiviual user partial

* remove unnecessary attributes

* remove mentorship matching from view

* fix linting

* add mentor matching method back and refine test

* remove duplicate mentee descriptions

* Update app/controllers/internal/users_controller.rb

Co-Authored-By: jessleenyc <jessleenyc@gmail.com>
2019-01-03 16:44:43 -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
Andy Zhao
0a8f9ca654 Fix URL Validations and Update Admin Dashboard (#1392)
* Validate for trailing slash instead of strict validation

* Remove unused sign_in_count field

* Add profile URLs to edit view

* Add profile URLs to admin controller params

* Add profile URLs to edit view

* Clean up index and search views for user

* Move around user fields to make more sense

* Display more informative label

* Remove name_of_user field in favor of new display label

* Fix typo

* Remove duplication for website, employer, and Mastodon URLs

* Add score to comment params

* Remove unused name_of_user field views

* Fix typo for medium url
2018-12-26 18:00:02 -05:00
Andy Zhao
cf36025a16 Fix reactions rendering on notifications (#1362)
* Use more specific find for looking for reactions

* Use basic notification tests

* Test for proper reaction button rendering

* Use the proper user for reaction test
2018-12-18 20:58:31 -05:00
Mac Siri
56ec3e55a2 Refactor Reaction (#1320)
* Refactor Reaction's spec

* Create singleton class in Reaction

* Refactor Reaction
2018-12-13 14:24:33 -05:00
Mac Siri
72eb2fc7b6 Revert "Extract background jobs from Reaction (#1312)" [ci skip]
This reverts commit cd54bece92.
2018-12-12 17:10:42 -05:00
Mac Siri
cd54bece92 Extract background jobs from Reaction (#1312)
* Refactor Reaction

* Update reaction_spec

* Extract update_reactable to job class

* Create ApplicationJob

* Rename Engagement::UpdateReactableJob to ReactionCascadeJob

* Rename ReactionCascadeJob to Reaction::UpdateRecordsJob

* Refactor Reaction::UpdateRecordsJob

* Remove unused method

* Change module to class
2018-12-12 16:41:31 -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
Andy Zhao
fbe586497b Synchronously bust cache after save for comments (#1275) 2018-12-07 10:16:46 -05:00
Ben Halpern
e0d1d749fc
Various internal functionality adjustments (#1264) 2018-12-05 13:28:46 -05:00
Ben Halpern
6b96201265
[WIP] Allow mods to remove tags and send user notification (#1252)
* Initial tag adjustments

* Finalize tag adjustments and tag adjustments controller

* Fix schema.rb

* Finalize tag removal logic

* Adjust edge cases/tests for tag adjustment moderation

* Adjust tag adjustments spec
2018-12-04 16:45:32 -05:00
Mario See
c5e9f010d4 /connect channel members profile pic fix (#1255)
* update channelDetails, its test, and snapshots

* spacing

* spacing

* spacing

* label spacing

* label spacing

* label spacing

* snapshot update

* refactor implementation

* spacing fix

* styling and small changes

channelDetails
- added small profile image to channel users
- moved "Recently Active Members" below the channel description and above the channel users

Styling
- mostly in relation to channelDetails
- Leave Channel area styled similar to deleting account (lots of red)
- created connect folder in stylesheets where _channel-detials.scss is located
- chat.scss imports _channel-details.scss

* spacing

* update testing and snapshots

* fixed functionality, tests and styling

* leave button update

* show message for empty group

* limit users in channel and show message for empty group

* remove extra period

* change limit from 12 to 11

* show members header

* hide members h3

* increase channel details user limit, increase user object profile pic index

* remove return

* add members header

* Revert "add members header"

This reverts commit 200c6a7f83e3a958cf4199ee295e6a3809249abe.

* limit to 25
2018-12-04 15:00:49 -05:00
Michael Kohl
ffd24f791e Add Mastodon URL to profile (#1137) 2018-12-04 13:24:53 -05:00
Andy Zhao
92cea23fcd Fix a few notification bugs (#1232)
* Remove notifications synchronously on unpublish and destroy

* Asynchronously remove reaction notifications for article

* Remove all associated notifications when destroyed

* Fix edge case for reaction notifications

* Load new comment_box file instead of old one

* Delete legacy views

* Remove unused private declaration

* Use casecmp.zero? instead of downcase for speed, and use @user

* Add friendly error message for notifications

* Use delete all and not destroy b/c no callbacks
2018-12-03 12:35:35 -05:00
Ben Halpern
651ab3ce35
Add point weights for tag follows (#1229)
* Add point weights for tag follows

* Adjust num articles to initially show up on home page

* Fix schema.rb

* Adjust follow policy spec

* Adjust dashboard styling for follow points form
2018-11-30 15:36:58 -05:00