Commit graph

226 commits

Author SHA1 Message Date
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
Ben Halpern
011e267769
Update mentor matching page (#1218)
* Update mentor matching page

* Update mentorship relationship spec
2018-11-28 19:02:47 -05:00
Ben Halpern
6f7e5b875f
Check if article.path in resave articles (#1216) 2018-11-28 15:53:29 -05:00
Ben Halpern
1672098388
Removing clear notifications attempt (#1209)
* Removing clear notifications dealy

* Fix user_id issue
2018-11-27 18:29:50 -05:00
Ben Halpern
db6232adf3
Add initial ios push notifications to server (#1207)
* Add initial push notification logic for iOS

* Adjust notification form css

* Clean up schema.rb

* Add mark-all-as-read functionality for ios notifications

* Update app/models/notification.rb

Fix `find` to `find_by`

Co-Authored-By: benhalpern <bendhalpern@gmail.com>
2018-11-27 17:40:43 -05:00
Ben Halpern
759d7540a7
Add guard to stop negative notifications (#1200) 2018-11-26 12:34:38 -05:00
Jess Lee
e36cf51a9e Refine Banish User (#1168)
* add banish user test

* refactor banish user wip

* banish user wip - bust comment cache synchronously

* add more spec scenarios

* Update Banish#strip_user_profile

* Refactor specs
2018-11-21 16:55:26 -05:00
Ben Halpern
b34ee48c1f
Fix hanging /connect notification issue (#1174)
* Adjust channel opened check to mitigate race conditions maybe

* Add fix to jump user straight to apporpriate unopened channel
2018-11-21 12:08:09 -05:00
Ben Halpern
5ee5c931fc
Fix small details in notification results and add filtering (#1166)
* Fix small details in notification results and add filtering

* Adjust filter styling

* Fix filtering

* Add reaction render to comments
2018-11-20 18:00:11 -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
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
Andy Zhao
2db2dd1e5a WIP Refactor/notifications (#1131)
* Add new columns to notifications table

* Remove stream from notifications and add new methods

* Turn off moderation comment notifications

* Add notifiable_type index to migration

* Stop creation of Stream-based notification model instances

* Add notification model create hooks

* Add badge achievement notification creation hook

* Fix some specs

* Add missing @ symbol

* Fix for tests and rename a few things

* forgot to uncomment code sigh
2018-11-19 16:09:02 -05:00
Ben Halpern
a1be99ebf0
Add reaction confirm/invalidate workflow for admins (#1134) 2018-11-16 18:53:36 -05:00
Ben Halpern
921b5b0d9a
Add sloan as marker of low quality and adjust banishment logic (#1129)
* Add sloan as marker of low quality and adjust banishment logic

* Add s3 stub to rails_helper

* Modify banishment criteria

* Only mess with profile image in prod
2018-11-16 14:11:41 -05:00
sidemt
62d8a33111 Add GitLab URL field to user profile (#1121)
* Add SVG file of GitLab icon

* Add gitlab_url column to users table

* Add gitlab_url to user model, controller and policy

* Add gitlab_url to views

* Add tests for gitlab_url
2018-11-15 16:09:35 -05:00
Ben Halpern
8b1755a2b3
Add organization to feed and adjust page styling (#1089)
* Add organization to feed and adjust page styling

* Add conditional indexing to article agolia

* Early return in algolia org logic

* Make org optional in algolia

* Modify org cta styling
2018-11-12 12:28:51 -05:00