Commit graph

49 commits

Author SHA1 Message Date
Jess Lee
175569fb97 "/videos" (#2291)
* set up video route

* add video index

* update styling

* fix mobile full width styling

* bust cache when new video is created

* add unlimited scrolling
2019-04-05 14:02:03 -04:00
rhymes
5e9867ec56 Simplify AnalyticsService code (#2308)
* Add basic tests for Analytics service

* User/Organization are always required

* Add some data to the test

* Use queries and date times

* Fix AnalyticsService interface in the controller

* s/HTTP_API_KEY/api-key

* Defend against nils and support datetime objects

* Update app/services/analytics_service.rb

Co-Authored-By: rhymes <rhymesete@gmail.com>

* Use SQL sum, not Rails sum

* Group average_read_time

* Use SQL, not Rails

* Use ISO date

* Fix specs
2019-04-04 16:07:57 -04:00
Andy Zhao
3e89796d9d Add API Analytics Endpoints (#2293)
* Add API endpoints for analytics

* Remove comment and spacing

* Use proper time formatting

* Refactor and clean up some logic

* Add pro and org member traits

* Use shared examples for analytics API spec

* Add analytics authorization specs

* Remove accidental include Pundit

* Raise not_authorized for invalid requests

* Make attributes and time methods private

* Add custom UnauthorizedError

* Raise and use rescue_from to handle 4xx requests

* Enforce date parameters to follow a specific format

* Use current user to allow same origin requests

* Use custom headers and not params for token auth

* Default to current user for same origin requests

* Use correct boolean for choosing user

* Update tests to use request headers and add stricter tests
2019-04-04 10:52:45 -04:00
rhymes
dc2414c174 Add tests to PodcastEpisodesController (#2297)
* Add tests for existing API PodcastEpisodesController

* Generate only index route

There's no need to generate all routes if they are not implemented
2019-04-03 09:57:48 -04:00
rhymes
c99fb27451 Add published in the SQL query to retrieve article (#2248)
Since we're already asking the DB to retrieve an article, we can directly ask it to filter out published articles without checking at runtime.
2019-04-01 06:24:17 -04:00
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
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
James Turner
a9254eac40 Fix typo in surrogate key header (#2013) 2019-03-11 17:40:45 -04:00
Andy Zhao
1fc33cdd10 Add missing argument for reaction notification (#1901) 2019-02-26 09:14:31 -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
a0d90874a9
Move org admin privilege check into controller (#1642) 2019-01-24 13:35:39 -05:00
Ben Halpern
f1e7f12e1d
Reduce queries in bulk follow (#1568) 2019-01-16 12:21:15 -05:00
Arun Kumar
80a23ba403 Fix rubocop offenses (#1452) 2019-01-03 09:23:38 -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
Ben Halpern
fc0175b18d
Refactor articles api controller (#1409)
* Refactor articles api controller

* Modify authorization logic in api
2018-12-27 16:47:04 -05:00
Maksim Litvinov
f2f889af77 Replace long string with array and join (#795) 2018-11-28 09:20:13 -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
Andy Zhao
ebd4b50f3f Use Preact for asynchronous rendering for /settings/integrations (#986)
* Set default styles and move button style out of form

* Add MVP of Preact /settings/integrations

* Change background color on hover and focus

* Remove unused constructor

* Improve optimistic rendering

* Add display name

* Use loading indicator for optimistic rendering

* WIP test

* Add basic snapshot tests
2018-10-31 15:51:07 -04:00
Ben Halpern
1aa8e70a5b
Allow removal of collection element (#1036)
* Allow removal of collection element

* Update tests
2018-10-29 15:14:13 -04:00
Ben Halpern
359cc71b64
Add ability for users to publish series (#1034) 2018-10-29 13:04:42 -04:00
Ben Halpern
90861366df
Add additional config to v2 editor (#980)
* Add additional config to v2 editor

* Fix typo
2018-10-23 12:41:19 -04:00
rhymes
1b60ee5009 Use timezone aware methods (#893)
* Use timezone aware datetime methods

* Use timezone aware date parse for GitHub issue tag

* Introduce a bit of chaos programming using Zonebie

Zonebie uses a random timezone to run tests, it's a really good way to see if the code is timezone dependent or not.

* Convert GitHub issue date as UTC
2018-10-18 16:26:29 -04:00
Ben Halpern
ecb9645775
Make changes to editor (#837)
* Make changes to editor

* Make minor fixes and console log removals

* Fix test in article form

* Adjust rspec test
2018-10-05 16:03:06 -04:00
Araslanov Evgeny
4ba8296298 API: Fix find tags by name (#359) 2018-08-15 17:01:43 -04:00
Kohei Sugi
91c3eef1e1 Fix Layout/EndAlignment lint (#349) [skip ci] 2018-08-15 15:49:38 -04:00
rhymes
e588fa7ece Code cleanups (#659)
* Initial automatic cleanup with rubocop

* Fix syntax error introduced by rubocop

* Cleanup seeds file

* Cleanup lib folder

* Exclude bin folder because it contains auto generated files

* Make Rubocop a little bit more chatty

* Block length should not include comments in the count

* Cleanup config folder

* Cleanup specs

* Updated Rubocop version and generated a todo file

* Fix broken ArticlesApi spec

* Fix tests

* Restored rubocop pre-commit hook
2018-08-07 11:00:13 -04:00
Mac Siri
0f3342bcec [WIP] Implement non front-matter editor (#415)
* Create alternate editor

* Install linkstate (?)

Not sure how it disappear in the first place

* Run yarn install

* Modulize ArticleForm component

* Refactor

* Isolating css WIP

* Implement simplified frontmatter-less editor

* Modulize individual form element

* Ajust props names

* Transform json params to snakecase

* Remove codes

* Update /new, almost there for release

* Fix editor resize issues

* Change defaultvalue to value in article form tag element

* Modify html buttons in article form
2018-07-27 20:12:33 -07:00
Ben Halpern
94e5154668
Add initial invitation framework for chat channels (#528)
* Add initial invitation framework for chat channels

* Update chat_channel specs

* Add DIY concept of accepting invite

* Add some js and fix spec

* Add full invite accept functionality

* Remove console.log from chat
2018-07-02 16:31:20 -04:00
Ben Halpern
03e4f6531f
Add a few tests and fix user tag color bug (#482) 2018-06-22 10:22:53 -04:00
Ben Halpern
fb20b8adf7
Add content sidecar for chat (#413)
* Rearchitect chat channel subscriptions

* Add browser push notifications (attempt)

* Add content sidecar for chat

* Add live code basics

* Add content features to chat

* Fix chat_channels test
2018-06-11 11:00:51 -04:00
Mac Siri
923e1acbda Create Suggester service object (#372)
* Create Suggester::Article::Boosted

* Fix lint & Remove .compact

* Expand Suggester service-object WIP

* Create Suggester::Users

* Remove ClassicArticle

* Replace old refactored classes

* Move Suggester specs into appropriate folder

* Fix broken spec & Fix lint

* Fix lint

* Fix lint

* Fix broken code
2018-06-08 17:17:20 -04:00
Ben Halpern
5a1125d29e
Add badge notifications to settings and dotnet to onboarding (#355) 2018-05-25 14:19:11 -04:00
Andy Zhao
4eb4ac55ce Show only published articles for onboarding (#337) 2018-05-21 18:27:04 -04:00
Ben Halpern
f2101410ea
[WIP] Improve article boosting abilities and insights (#237)
* Update email subjects split test

* Create alternate editor

* Add proof of concept to emails

* Add utm for internal nav

* Add ability to boost in DEV Digest

* Adjust articles.scss

* Adjust article_form.scss

* Remove unnecessary files

* Remove files from PR

* Adjust boosted email settings

* Conditionally include organization in additional box

* Modify schema.rb
2018-05-02 12:24:54 -04:00
Ben Halpern
e713710c4c Fix who to follow issues 2018-05-01 11:36:35 -04:00
Andy Zhao
d6e3344da7 [Updated] Suggested Follows Sidebar (#240)
* MVP of follow sidebar

* Prettier linted stuff

* More prettier lint

* Load only one widget

* fix github issue comment liquid tag (#242)

* Adjust Flatiron school copy/link (#241)

Per Flatiron School request, updating the homepage copy and link

* Add sticky sidebar to article show page (#243)

* Add sidebar sticky elements

* Add sticky sidebar to article show page

* Add saved changes check to user

* Fix missing CSS variable in sticky nav file

* Add date joined as default summary

* Remove accidentally-included file

* Add check for published on article sidebar

*  Fix styling issues on side nav (#244)

* Add sidebar sticky elements

* Add sticky sidebar to article show page

* Add saved changes check to user

* Fix missing CSS variable in sticky nav file

* Add date joined as default summary

* Remove accidentally-included file

* Add check for published on article sidebar

* Fix styling issues on side nav

* Ben/article show redesign (#245)

* Add sidebar sticky elements

* Add sticky sidebar to article show page

* Add saved changes check to user

* Fix missing CSS variable in sticky nav file

* Add date joined as default summary

* Remove accidentally-included file

* Add check for published on article sidebar

* Fix styling issues on side nav

* Modify article order

* Fix issue in side bar

* Fix issue in side bar

* Ben/article show redesign (#246)

* Add sidebar sticky elements

* Add sticky sidebar to article show page

* Add saved changes check to user

* Fix missing CSS variable in sticky nav file

* Add date joined as default summary

* Remove accidentally-included file

* Add check for published on article sidebar

* Fix styling issues on side nav

* Modify article order

* Fix issue in side bar

* Fix issue in side bar

* Not show author image as other images

* Remove current article id from potential queried articles (#247)

* Add optimistic rendering for follow buttons

* Remove redundant line

* Fix inline stylesheet issue (#248)

* Remove current article id from potential queried articles

* Fix inline stylesheet issue

* Modify sticky_articles source to be more similar to post

* Move assign sticky nav around

* Modify sticky articles

* Attempt to fix sticky

* Fix article show to call 404

* Fix

* Conditional

* Add tag_line to org admin and add conditional on hiring post (#250)

* Modify sticky_article criteria (#251)

* Add tag_line to org admin and add conditional on hiring post

* Modify sticky_article criteria

* Move suggestions to single route

* Exclude self and already followed from suggestions

* Update readme with new API key instructions (#252)

* Modify query to be more performant and correct

* Add br instead of hr for last element

* Remove code for development woops

* Add user articles to sidebar (#253)

* Add user articles to sidebar

* Add organization save-all functionality

* Adjust articles that show up in side sticky bar (#254)

* Add user articles to sidebar

* Add organization save-all functionality

* Adjust articles that show up in side sticky bar

* Add conditional for @user_stickies to show up

* Misc change to styles (#255)

* Add user articles to sidebar

* Add organization save-all functionality

* Adjust articles that show up in side sticky bar

* Add conditional for @user_stickies to show up

* Misc change to styles

* Slight change

* Modified footer center show stuff

* Remove current article author from sticky sidebar (#256)

* Fix article preview issue (#257)

* Update blackbox's API endpoint (#259)

* Modify user tag follow suggestions
2018-04-30 17:45:01 -04:00
Zhao-Andy
70e0329f5a Modify query to be more performant and correct 2018-04-27 17:04:09 -04:00
Zhao-Andy
71254cebb7 Move suggestions to single route 2018-04-26 16:51:25 -04:00
Zhao-Andy
be14ed029d MVP of follow sidebar 2018-04-25 13:56:04 -04:00
Ben Halpern
02cff623e4
Adjust non-tag state for onboarding suggestions (#190)
* Change onboarding limit

* Adjust non-tag state for onboarding suggestions
2018-04-06 08:35:05 -07:00
Ben Halpern
61c0a4cdaa
Change onboarding limit (#186) 2018-04-05 14:17:01 -07:00
Andy Zhao
deb63ab643 Add Save Articles Page to Onboarding (#182)
* Add MVP of onboarding articles

* Lint and fix unfollow all button bug

* Update onboarding tests

* Fix typo and adjust when saveAll request gets sent

* Set default to always save all articles

* Fix when request is sent for follows/saves

* Check for article length when for initial request

* Add a loading indicator for follows page

* Prevent multiple follow/save requests

* Update tests

* Add some hover and click effects

* Adjust onboarding test and suggested articles
2018-04-05 11:41:28 -07:00
Andy Zhao
7c843ba354 Prevent Less than 1 day old accounts from Following Other Users (#159)
* Show empty array of users for potential spammers

* Use user columns for better accuracy and perf

* Use user instead of identity for flagging

* Fix boolean

* Add page skipping logic for young accounts

* Fix test and show team to follow for spammers

* Fix broken link

* Remove page skip logic for back button
2018-03-29 17:12:30 -04:00
Ben Halpern
833b9f25d6
Adjust what shows up in onboarding (#127) 2018-03-22 20:02:07 -04:00
Andy Zhao
3e9d6609d7 Fix tag logic and css in onboarding (#125)
* Fix tag container css for small views

* Fix tag comparison logic
2018-03-22 19:04:12 -04:00
Ben Halpern
8a1f9991f1
Add users to signup modal (and other adjustments) (#124)
* Add a missing bounty hunter

* Add a msg about updating social usernames

* Add mailto: link for yo@dev in terms

* Use render partial for help tag

* Lint a file

* Add first draft of onboarding follow users

* WIP onboarding

* Change users api controller

* Create FollowSuggester to return suggested follows for user

* Create initial follow users flow in onboarding

* Move follow user logic to top lvl

* Add follow api end point for onboarding

* Add profile img and update follow action

* Remove checkbox and use a tag instead

* Lint and update tests

* Remove incomplete test for now

* Final adjustments to signup modal

* Update jest snapshot

* Add more jest tests and fix typo
2018-03-22 18:29:22 -04:00
Mac Siri
301c6080e3 Initial commit 2018-02-28 16:11:08 -05:00