Commit graph

1610 commits

Author SHA1 Message Date
rhymes
c42c28ae59 Performance: save some queries when pluck is not needed (#3160) 2019-06-14 14:56:33 -04:00
Samyuktha J
74ecf5ca06 Make LinkTag's mininum reading time to 1 min (#3084) [ci skip] 2019-06-14 14:44:48 -04:00
rhymes
272e032997 Remove old Dashboard Pro code (#3161) 2019-06-14 13:31:22 -04:00
rhymes
aa29a5cb55 Fix analytics grouped by day with nil page views average (#3159) 2019-06-14 13:30:04 -04:00
Andy Zhao
b953f17d0c New Feature: Subscribe to posts! (#3149)
* Add MVP of notification subscriptions

* Add rate limiting for notification subscriptions

* Show modal for logged out users on subscribe click

* Add enter key functionality for checkbox

* Add relationships for notification subscriptions

* Add model test for notification subscription

* Deprecated article mutes in favor of notification subscriptions

* Deprecated comment mutes in favor of notification subscriptions

* Move comment muting tests and logic over

* Merge comment and article muting into subscriptions

* Remove redundant check

* Use database to check for rate limit instead of cache

* Test for subscriptions handling notifications properly

* Fix notification model spec for subscriptions

* Fix tests for subscriptions

* Remove rate limiting

* Properly handle logged out users getting subscription status

* Fix test for new pattern

* Update reserved words

* Add config column to notification subscriptions

* Add logic for top level config and move tests

* Test for top level subscribers getting notified

* Fix logic mistake oops

* Add index and refactor comment_user_ids
2019-06-14 12:03:43 -04:00
Ben Halpern
362b9eb663
Remove org notifications count from notifications view (#3158) 2019-06-14 10:09:44 -04:00
rhymes
7f2045b250 Pro Analytics: stats for a single article (#3120)
* Add /stats endpoint for articles, opened only to Pro users

* Add analytics to article stats page

* Add stats button to the article page and test stats page
2019-06-13 19:02:09 -04:00
Anna Buianova
58db43d0d4 Validate usernames and organization slugs against podcast slugs (#3148) 2019-06-13 19:00:25 -04:00
Anna Buianova
2c05bbc0c1 Change notifications unique indexes #2525 (#3012)
* Notifications unique indexes that take null values into account

* Specify import options for reaction notifications according to the indexes

* Fix specs: notifications have either user_id or organization_id

* Create notifications indexes concurrently
2019-06-13 15:17:50 -04:00
Anna Buianova
f476e11be6 Podcasts validations (#3123)
* Podcasts validations

* Added db constraints for podcast_episodes

* Validate podcast slug uniqueness with usernames and org slugs

* Validate podcast slug uniqueness only if it was changed
2019-06-13 12:45:05 -04:00
Anna Buianova
b630fcad0d Removed fetching podcasts from a callback (#3098)
* Removed fetching podcasts from a callback

* Remove hacks that avoid fetching podcasts while seeding and running tests
2019-06-13 12:23:55 -04:00
Mac Siri
0af2a0a7dc Update Service Worker and Favicon (#3142)
* Update favicon

* Update ServiceWorker with error logging
2019-06-13 11:39:03 -04:00
Arun Kumar Mohan
3188ddaa8a Remove dead code (#3146) 2019-06-13 11:10:38 -04:00
Kartikey Tanna
858ce184e5 Implement ActiveJob for Mention (#3055)
* Implemented ActiveJob for Mention#send_email_notification

* Implemented ActiveJob for Mention.create_all

* Fixed args while calling the job

* Changes as per the review
2019-06-13 11:05:22 -04:00
Arun Kumar Mohan
0e06c76819 Fix visibility of unread channel name (#3143) [ci skip] 2019-06-12 17:53:09 -04:00
Arun Kumar Mohan
63a475ca41 Refactor TagAdjustment#user_permissions (#3144) [ci skip] 2019-06-12 17:38:04 -04:00
rhymes
6960b89f28 Dashboard Pro: support InstantClick and show org analytics (#3102)
* Fix JS lint issues

* Do not rely on globals

* Use InstantClick to make transitions work in the pro dashboard

* Fix eager loadings and remove unused queries

* Refactor drawChart

* More consistency in naming

* Display correct analytics for organization
2019-06-12 09:40:42 -04:00
Anna Buianova
18d1300341 Moved SlackBot.delay.ping calls to ActiveJob #3136 (#3139)
* Moved SlackBot.delay.ping calls to ActiveJob

* Removed unused user creation from the spec
2019-06-12 09:23:37 -04:00
Bryan Leighton
fa7079ecab Make Action Space Buttons more mobile friendly (#3110) [ci skip] 2019-06-11 17:13:20 -04:00
Mario See
06ce84c21c make default state of "contact_via_connect" checked (#3128) 2019-06-11 15:55:43 -04:00
Andy Zhao
9832d0cfc1 Destroy organization memberships if user is destroyed (#3125) 2019-06-11 15:54:24 -04:00
rhymes
e48c9668fd Fix access token revoking (#3131)
* Move API secret ID inside the form

* Add tests for unknown and unauthorized API secrets

* Use Rails conventions a little better
2019-06-11 15:53:58 -04:00
Mazen Touati
95ba6608c8 Fix reading list filters input's color in night theme (#3089) [ci skip] 2019-06-11 10:31:58 -04:00
Arun Kumar
c15a2379e7 Refactor Timeframer#datetime (#3117) [ci skip] 2019-06-11 10:29:10 -04:00
Arun Kumar
b34387f384 Refactor Credit's array creation (#3116) [ci skip] 2019-06-11 10:28:25 -04:00
Arun Kumar
9414bb43ac Make AdditionalContentBoxesController#randomize private (#3115) [ci skip] 2019-06-11 10:27:29 -04:00
Wassim Chegham
a8d6d69323 Add DEV API link in the account settings UI (#3119) [ci skip] 2019-06-11 10:23:20 -04:00
Mac Siri
f62bc7faa8 Fix js-breaking webcomponent (#3087)
* Remove webcomponents-loader

* Add unpkg webcomponent-loader

* Update clipboard-copy-element to include @githubscope

* Make WebComponent loading async

* Simplify clipboardCopy
2019-06-10 11:23:42 -04:00
rhymes
a8b7f6eea4 Analytics: refactoring for speed improvements (#3072)
* Use proper auth chain before checking parameters

* Refactor AnalyticsController

* Add a bunch of test and rewrite reactions counts with a single query

* Add tests for follows totals

* Use round and add more refactoring

* Add tests to group by day to fallback during refactoring

* Use group by to calculate comments count by day

* Use group by to calculate follows count by day

* Use group by to calculate reactions stats by day

* Use group by to calculate page_views stats by day

* Move calculations per day back in the cached block

* Add a few comments and a little bit of refactoring

* Add indexes (concurrently) for analytics

* Make tests more time robust

* Use a date range cache related to the requesting user or org

* Freezing time in UTC should help when tests are ran on time zones over the day line

* Remove explicit returns

* Page title is escaped, guard against that

* Move Analytics service spec in the proper place
2019-06-10 09:27:39 -04:00
Daniel Compton
f75aef42f9 Add a space between "Change meta tag" and canonical_url (#3063)
Without the space, this shows up as "Change meta tagcanonical_url".
2019-06-07 21:15:32 -04:00
Ben Halpern
b731df44ca
Add badges to key tags (#3074)
* Add badges to key tags

* Adjust vertical-align

* Fix YouTube tag mistake and refactor map to pluck
2019-06-07 19:09:43 -04:00
Desi Rottman
18d6ff0d74 Adds bug bounty link to console (#3067) [ci skip] 2019-06-07 13:58:07 -04:00
Desi Rottman
6f59431778 Adds bug bounty and security info to contact page (#3066) [ci skip] 2019-06-07 13:47:16 -04:00
Ben Kooiman-Cox
7fe6cd296b Add linuxrocks.online to Mastodon whitelist (#3068) 2019-06-07 10:02:49 -04:00
Ben Halpern
a3a9f51103
Fix improper archive redirect (#3064) 2019-06-06 17:03:59 -04:00
Andy Zhao
141c8f27d2 Clear Rails cache for destroyed comment's ancestors and destroy buffer_updates for articles (#3065)
* Touch all ancestors before destroying comment

* Destroy buffer_updates when article is destroyed
2019-06-06 17:03:39 -04:00
Jess Lee
5ca069f93f Fix listings cache/indexing and add bumping feature to internal (#3053)
* wip utilize concerns

* wip concerns

* refactor listings update
2019-06-06 09:51:32 -04:00
Anna Buianova
9751e84549 Moved Podcast#pull_all_episodes to a separate ActiveJob #2952 #2497 (#3057)
* Use one PodcastFeed instance while fetching podcasts

* Moved Podcast#pull_all_episodes to a separate ActiveJob
2019-06-06 09:49:10 -04:00
Anna Buianova
8b55d32640 Rubocop fixes (#3058) 2019-06-06 09:48:14 -04:00
Anna Buianova
0ecb937875 Added rubocop-rails (#3059)
* Added rubocop-rails

* Update rubocop version in the CodeClimate config
2019-06-06 09:47:57 -04:00
Mac Siri
1ea1a30ca7
Remove js-yaml.js (#3054) 2019-06-05 21:27:39 -04:00
Andy Zhao
982658d3ab Remove switch organizations tab from settings and clear Rails cache for PUT /admin/organizations (#3045)
* Remove switch organization functionality

* Touch profile_updated_at when updating org
2019-06-05 19:01:34 -04:00
Ben Halpern
df44cbd254
Change design of main feed CTA and remove from tag pages (#3050)
* Change design of main feed CTA and remove from tag pages (to prevent complexity)

* Lock Chromedriver to 74.0.3729.6

* Fix tests and modify reserved words (tack on)

* Removed less useful shared examples from rspec

* Remove references to file that no longer exists in test

* Remove unneeded tests
2019-06-05 14:33:22 -04:00
Andy Zhao
a55bce99ac Cache bust banished users' posts after the posts are deleted (#3044)
* Bust article caches after they've been deleted

* Use less instances of cachebuster class
2019-06-04 15:04:30 -04:00
Anna Buianova
f6bb00a26a Add specs for the PodcastFeed #2952 (#3039) [ci skip] 2019-06-04 14:50:25 -04:00
briwa
7c254dc8bf Remove an extra @ in Connect (#3040) [ci skip] 2019-06-04 14:43:37 -04:00
Ben Halpern
119d0f69d6
Finalize multi-org features (#3041)
* Finalize multi-org features

* Fix credits count issues

* Only show org list if multiple orgs on dashboard

* Add check for organizations to JS
2019-06-04 13:56:22 -04:00
Andy Zhao
47d9ec27fb Allow users to belong to multiple orgs (#2583)
* Allow user to have many orgs

* Allow users to handle multi orgs in settings

* Make rounded buttons inline

* Add multi org function to dashboards

* Fix merge conflicts

* Fix mistake in merge conflict fix oops

* Display the correct membership level

* Fix accessibility issues

* Display organizations for article editors

* Handle submitting org id with preact editors

* Make listings work with multiple organizations

* Allow listings to have multiple orgs on create

* Display the correct number of credits for each org

* Move script tag to Webpack

* Allow multi orgs for purchasing and viewing credits

* Use OrganizationMembership as authorization check

* Display multiple organizations for notifications

* Allow dashboard to be viewable under multi-orgs

* Remove unused method

* Add multi-org functionality for article editors

* Show pro dashboard buttons for member+ org levels

* Leave the correct organization

* Allow article API to change org id

* Add left-out authorization method oops

* Make nav buttons a bit more clear

* Fix merge conflict

* Fix adding org id for /api/articles and tests

* Fix tests for org policy

* Use proper logic for displaying org members

* Update org actions with new authorization

* Use correct org when creating a listing

* Remove additional payment charge oops

* Mark org notifications as read with authorization

* Remove deprecated post_as_organization attribute

* Use new org_admin syntax

* Remove deprecated org logic for article create and update

* Default all RSS posts to not belong to any org

* Render org_member page for guest users

* Update org policy spec to work with multi orgs

* Use org_membership for org traits and move identity code

* Use org_member trait

* Update to work with multi-orgs

* Validate article's org_id if param org_id is blank

* Make  a let variable

* Remove unnecessary eager load for credits

* Fix HTML structure and org logic for non-org users

* Update credits spec for multi-org

* Add test for failed payment when purchased by org

* Lint listings_spec

* Test that the listing was created under the user

* Add tests for POST /listings multi-org

* Use double quotes for classes

* Fix /manage and a few other multi-org bugs

* Fix test for multi org

* Use correct method SQL exists? not Rails exist?

* Fix reads spec for multi-org

* Fix org_controller actions to work with multi org

* Test only multi org and not old usage and fix leave_org

* Fix org showing user profile img test for multi-org

* Fix org logic for users with no orgs

* Remove switch org functionality

* Update tests and add hidden param for org id

* Redirect to the specific organization

* Test other org button actions

* Use settings_notice instead of legacy notice and refactor

* Fix weird extra end issue prob from merge conflicts

* Test for with new flash key

* Fix user_views_org tests for multi-org

* Test for new flash message

* Update snapshot with new a11y html

* Move styling to stylesheet

* Add site admins functionality

* Move org_member? method in user model and refactor

* Use unspent_credits_count for organizations

* Add tests for /listings/new and minor bug fixes

* Use .present? in case of empty array

* Fix a lingering deprecated method

* Use greater than 1 for random numbers

* Add tests for counting spent and unspent credits
2019-06-04 09:30:52 -04:00
Mario See
6bbdb73019 adjust spacing and hide scrollbar (#3027) 2019-06-03 15:00:22 -04:00
Charles Stover
f8e31f6865 https URLs by default (#3019)
This was so upsetting I fixed it on mobile.
2019-06-01 10:16:23 -04:00