This commit increases the tag length from 20 to 30 chars and also increases the cached_tag_list length to maintain the limit of 4 tags. Specs were adapted to respect the changes.
* 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
* Add article decorator published_timestamp
* Use time HTML5 element and refactor date in partial
* Add published_timestamp to Article
Adding `published_timestamp` to the homepage we can then use JS to render the full timestamp localized for the user.
We've also added the timestamp to the index and the API
* Display article published timestamp on hover
* Use time also in the article show page
* Add timestamp to bottom articles as well
* Remove published_timestamp from index because it is not used
* Fix broken specs
* Add more article dates specs
* Refactor date initializers
The char "-" in regexp defaults a a separator for a range of character, for example: "a-z", Ruby is smart enough to understand "-_" is no range but it does emit a warning, by properly escaping the char "-" we ensure that no warning or issues can arise in the future.
* Add delayed_job_web to dev environment for debugging
* Add specs for the current Follow callbacks implementation
* Move follower touching to ActiveJob
* Spec for the touch followers job
* Move Follow#create_chat_channel to ActiveJob and make the job safe
* Add ActiveJob to send email notifications about follows
* Enqueue SendEmailNotificationJob after the follow is created
* Specs to wnsure jobs are enqueued on Follow creation
* Make CreateChatChannelJob queue name more specific
* Reaction specs for Reaction after_save callbacks logic
* Touch user job
* Call Users::TouchJob on reaction create
* Move updating reactable to a separate job
* Move busting reactable cache to a separate job
* Bust homepage cache after reaction save in a separate job
* Spec for enqueueing Users::TouchJob on reaction create
* Refactor Reactions::UpdateReactable job
* Fix observer spec
* 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
* fixed `ActiveRecord::NotFound` issue for articles, on article destroy
* extracted ActiveJobs from article callbacks
* added specs for article and reaction deletions
* add myself to the core contributors
* add comment template
* merge upstream
* make sure the template re-appears for top level comments after submission
* make interface admin only
* Adjust comment template form
* Fix merge conflicts
* Remove unnecessary comment template from json
* 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
* Test that async_score_calc only changes ratings if published
* Run async_score_calc only if an article is published
* Turn delaying jobs back on after tests run
before
```
$ bundle exec rspec spec/models/article_spec.rb:431
Run options: include {:locations=>{"./spec/models/article_spec.rb"=>[431]}}
F
Failures:
1) Article does not show year in readable time if not current year
Failure/Error: expect(article.readable_publish_date).to eq(time_now.strftime("%b %e"))
expected: "Aug 15"
got: "Aug 14"
(compared using ==)
# ./spec/models/article_spec.rb:434:in `block (2 levels) in <top (required)>'
# ./spec/rails_helper.rb:84:in `block (3 levels) in <top (required)>'
# ./spec/rails_helper.rb:84:in `block (2 levels) in <top (required)>'
Finished in 0.88093 seconds (files took 15.54 seconds to load)
1 example, 1 failure
```
after
```
$ bundle exec rspec spec/models/article_spec.rb:431
Run options: include {:locations=>{"./spec/models/article_spec.rb"=>[431]}}
.
Finished in 0.86248 seconds (files took 12.44 seconds to load)
1 example, 0 failures
```
* 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
* Modify sample_application.yml and write test
* Add ahrefs verification
* Add some tests around model validations
* Indent an end
* Add a few tests
* Add tests and reserved words
* Fix live articles spec typo
* Modify ga_events_controller