* figuring things out
* working both ways for issues PRs except disc and PRreview
* working on repo urls
* complete implementation and check specs
* resolve Travis failures
* resolving travis failures
* Fix VCR cassette
* fix regexs
Co-authored-by: Jamie Gaskins <jgaskins@hey.com>
* Initial work to expand detection functionality
* Finish up functionality and tests
* Fix class name
* Fix tests
* Update spec/services/articles/enrich_image_attributes_spec.rb
Co-authored-by: Michael Kohl <citizen428@forem.com>
* Update spec/services/articles/enrich_image_attributes_spec.rb
Co-authored-by: Michael Kohl <citizen428@forem.com>
* Admin-configurable display locale
* Add i18n-js and namespacing
* Basic tests and clean up
* A few test adjustments
* Update vendor cache
* Fix a few tests
* Fix a few tests
* Update app/views/articles/_actions.html.erb
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Update app/views/articles/_comments_actions.html.erb
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Update app/views/articles/_single_story.html.erb
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Update app/views/articles/_single_story.html.erb
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Update app/views/comments/_comment_header.html.erb
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Update app/views/layouts/_sidebar_tags.html.erb
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Update app/views/listings/index.html.erb
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Update spec/system/homepage/user_visits_homepage_articles_spec.rb
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Update spec/system/user/view_user_index_spec.rb
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Alphabetical locale page
* Add activerecord custom validation error translations
* Add i18n to webpacker
* Fix a few tests
* Adjust error messages
* Add i18n-tasks
* Adjust JS to get working with jest
* Adjust the way translations are pulled in
* Adjust jest tests
* Remove time localization
* Remove superfluous public js
* Add basic tests for i18n application controller
* Remove unnecessary content
Co-authored-by: Michael Kohl <citizen428@dev.to>
* fix: github readme liquid tag broken links in HTML
The relative links contained in the README's HTML are replaced by absolute links.
These absolute links have broken URL's: https://raw.githubusercontent.com/forem/forem/main/#what-is-forem
This commit aims to fix the links with a correct URL: https://github.com/forem/forem#what-is-forem
* Add a test for GitHub Readme with relative URLs
* Fix test for GitHub Readme with relative URLs
* Fix test for GitHub Readme with relative URLs
* Revert "Fix test for GitHub Readme with relative URLs"
This reverts commit 1b38da9132baf72f88303316ab6116eb9175909b.
* Use new cassette for for GitHub Readme with relative URLs test
* Add cassette file for GitHub Readme with relative URLs test
* Add inline animated image detection
* Do not detect animation during preview
* Promote FastImage as a dependency
* Add Articles::DetectAnimatedImages service
* Restore previous parsing
* Add and use Articles::DetectAnimatedImagesWorker
* Remove obsolete poc
* Properly detect images in the after commit callback
* Simplify logic
* Use a second guard clause
* Fix parsing of relative paths and add tests
* Have Articles::DetectAnimatedImages correctly detect relative images uploaded locally
* Change Articles::DetectAnimatedImagesWorker priority to medium
* Only one & required
* Remove approvals fixtures
* Remove approvals initializer
* Remove approvals gem
* Remove approvals step from travis.yml
* Remove approvals from dockerignore and gitignore
* Remove references to approvals gem in docs
* Un-approvals spec/liquid_tags/codepen_tag_spec.rb
* Un-approvals spec/liquid_tags/dotnet_fiddle_tag_spec.rb
* Temporarily skip other approvals tests
We will still need to delete files in /spec/fixtures/approvals after this.
* Revert changes to dotnet_fiddle_tag_spec and codepen_tag_spec, skip those tests instead
* Temporarily skip more approvals based tests
* Attempt at moving html doc inline
* Comment out one more approvals spec
* Update dotnet fiddle and codepen liquid tag specs to not use Approvals
* Update liquid tag specs + system specs to not use Approvals
* Un-approval feed import, github issue, and tweet tag specs
* Re-add .approvals to gitignore and dockerignore
* Use Rspec compound expectations
* feat: add an error column to the data update script
* feat: save the error to the error field
* feat: save the error when the script fails
* feat: show the script error on the data update script page
* chore: pass the error to mark_as_failed instead of having its own function
* refactor: use presence
* test: ensure that we test an error case of a data update script
* chore: rename errorneous to failing
* test: update some specs, working on the others
* chore: update tests now that there are two files
* chore: change error from a string to a text to allow for more char
* Add earlier_than to Feeds::Import
* Ignore feeds that have been imported in the last 4 hours
* Make earlier_than mandatory in Feeds::ImportArticlesWorker
* Add gem omniauth-apple
* Integrate omniauth-apple
* Integrate callback
* Add fields
* Add tests, fix bugs and make it all work
* Show only enabled providers for the current user
* Add default profile image for Apple
* Remove localhost patch
* Bring over the changed Apple username if the user changes it
* More specs fixed
* Incorporate feedback from PR
* Fix specs
* Simplify code and fix spec
* Fix Broadcast generators to take into account the new provider
* Fix spec
* Generate a truly unique apple_username
* Fix user specs
* Add omniauth-apple-0.0.2 to vendor cache
* Fix merge conflict and spec
* Update VCR fastly sloan cassette
* Revert "Generate a truly unique apple_username"
This reverts commit 2462875575b0bbd6b3c1d56b25afcd3189671608.
* Fix user specs
* Fix specs
* Fix specs
* Hide Connect Apple button behind a feature flag
* Revert "Hide Connect Apple button behind a feature flag"
This reverts commit 105bde0373389a4eb9b6e948f60734c7e0e99cba.
* Fix line lengths
* Fix spec
* ES tag
* CSRF bypass for Apple callback
* custom user_nickname in Apple provider with small tweaks + omniauth-apple bump
* Fixes username specs
* Makes Apple users default image Users::ProfileImageGenerator
* Fallback to mascot_image_url in test environment to avoid breaking Travis
* Fixes Apple CSRF error + makes default nickname more readable
* Trigger Travis
* Better devise config
* Apple SiteConfig entires in /admin/config
* Fixing specs
* Adds beta_access? to Authentication::Providers::Provider
* Fixes specs
* Codeclimate double quote fix in Gemfile
* Fixes /admin/config allowed params & adds feature flag for provider beta_access?
* Remove Enfile & adds temporary docs
* Adds custom apple auth provider settings
* Fix authenticator spec
* Fix configs spec (use last instead of first to avoid apple special case)
* Remove dangling fields from /admin/config
* updates feature flag
* More test fixes
* Hide config behind feature flag too
* omniauth-apple bump
* Takes care of edge case fallback
* Reverse apple_username update
* Adds auth_time to info hash in apple omniauth mock
* Switch to next instead of nesting for feature flag
* Fixes CVE-2015-9284
* Fixes specs after auth providers initiatior refactor from GET to POST
* Spec fixes
* More spec fixes
* Fix Rails codebase reference link
Co-authored-by: rhymes <rhymesete@gmail.com>
Co-authored-by: rhymes <rhymes@hey.com>
* Add explanatory comment to how RssReaderFetchUserWorker works
* Add Feeds::ImportWorker worker
* Enable Feeds::Import for single user feed fetching behind a feature flag
* Add Feeds::ValidateUrl service
* Add feature flag to user's validate feed URL feature
* Remove todo notices
* Add feature flag to fetch_all_rss task
* Add feature flag to RssReaderWorker
* Bring back short-circuit for Articles::RssReaderWorker
* Add the parallel gem
* Add prototype version of Feeds::Import with parallel URL fetching and parsing
* Tune Feeds::Import and add rake task for local tests
* Add rough measurer tool
* Add specs
* Apply suggestions by @citizen428
* Replace silence with silent
* No need for eager loading
* Add temporary Articles::DevFeedsImportWorker
* Remove temporary rake task
* Add basic error handling, copied from RssReader
* Fix error handling
* Remove temporary measuring rake task
* Remove logging added for development purposes
* Add info and error logging on error level
* new liquid tag - dotnetfiddle
* 1. Moved the hack into controller
2. Use URI to check if Widget keyword doesn't exist, then insert Widget using URI
* 1. Fixed tests
2. Updated code to eliminate xss_attacks
* Update app/liquid_tags/dotnet_fiddle_tag.rb to match pr comment
Co-authored-by: Michael Kohl <me@citizen428.net>
Co-authored-by: Michael Kohl <me@citizen428.net>
* Add TwitterClient::Client
* Use TwitterClient::Client for Tweet
* Test retweets
* Test assignment to user
* Fix TweetTag spec
* Remove TwitterBot
* Fix some specs
* Fix RSS Reader specs
* Introduce Github::OAuthClient and refactor shortcut Github::Client
* Better stubbing and fix specs
* Fix Badge rewarder
* Add dummy values for Travis
* Fix spec?
* Simplify
* Fix spec take 2?
* Is this the right one?
* Hopefully this is the last time, for realz
* Fix spec for the nth time?
* Which deity do I have to offer a sacrifice to?
* This is it
* Fix Honeycomb name
* Fix Runkit tags not being activated when comment is added
* Runkit tag activation was ran once, on page load. I've changed it to
run on on comment preview and submit.
* It was necessary to add a check to skip already activated Runkit
tags. The code didn't take into account that a tag could be already
processed, and would just crash.
* Fix Runkit tags and add tests
* Add test for previewing article with Runkit tag
* "Fix CodeClimate not finding waitForRunkitAndActivateTags()
* Refactor a test for readability
* Make Rubocop happy
* Improve test for previewing article with Runkit tag
* Use one method for determining active Runkit tags
* Defer loading of JS from embed.runkit.com
* Add utility function dynamicallyLoadScript(url)
* Switch to dynamic loading of Runkit
* parsed content code block is also hidden now to avoid displaying <code /> block before runkit iframe loads.
* Fix Runkit test
* Remove Runkit script caching in v2 form
* Use <%== instead of .html_safe in v2 form
* Update app/assets/javascripts/utilities/dynamicallyLoadScript.js
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
* chore: does not look like this file is being used anywhere
* fix: the svg's didn't seem to be resizing because we did not have a viewBox tag on the svg
* chore: update spec file
* add tons of colors
* add tons of colors
* moving cheese around and prepping for new theming system
* documenting
* .
* moving theme code to own files
* replacing some variables
* whitespaces
* replacing another batch of variables
* get rid of another variable
* replace loading animation variable with one-fits-all-sizes
* get rid of theme-anchor-color
* remove code colors variables
* another batch of variables replaced
* mostly bringing in variables for haxor theme
* remove invert-image variable for chat
* remove another inver-image variable
* forgot to remove reaction-background variable
* remove border variable
* series
* .
* remove another variable
* remove another variable..
* another batch of variables
* and more...
* drop comments
* Update approval file for tweet
Co-authored-by: rhymes <rhymesete@gmail.com>
Co-authored-by: benhalpern <bendhalpern@gmail.com>
We have decided enable indented-code-block because it is an expected
markdown feature. The trade-off here is that backticks will cause
rendering issues in codeblock.
* Refactor raise_error(specific_error) expectation
The full RSpec warining is
```
WARNING: Using `expect { }.not_to raise_error(SpecificErrorClass)` risks false positives,
since literally any other error would cause the expectation to pass,
including those raised by Ruby (e.g. NoMethodError, NameError and ArgumentError),
meaning the code you are intending to test may not even get reached.
Instead consider using `expect { }.not_to raise_error` or `expect { }.to raise_error(DifferentSpecificErrorClass)`.
```
* Refactor jsitor tests to test behaviour
As pointed out by @rhymes, the previous tests were not
testing actual behaviour. This is an attempt at improving the tests.
* Redo JSitor
- can now accept full url with params
- added more test
- redo jsitor guide
* Jsitor redo guide
- moved below JSFiddle
- add more instructions
* Refactor JSitor liquid tag
- Change the iframe size to 400
- can accept ID with or without params
- added ID_REGEX to check for id
- add more information on error
- added more test
- test for id with invalid link
- test for id with params
- test for id without params
* Refactor
- simplified regex, removed unnecessary groupings
- changed method name from link_valid? to validate_link
- changed error message
* Request change
- Added specific error message
- changed jsitor to JSitor
- changed JSITOR_URL constant to URL_REGEXP
- added space between URL_REGEXP and initialize method
* created jsitor liquid tag
- created a jsitor_tag.rb for jsitor liquid core
- created partial (_jsitor.html.erb) for jsitor liquid tag
* created test for jsitor liquid tag
- created spec for jsitor liquid tag
- generated jsitor_liquid_tag.approved.html
* added suggestion change
- removed regex
- change the full link to embeddable id
- removed dead code(methods) due to change logic
- removed checking of link since embeddable id will be parse as string
- removed parts of the test
- change the guide explanation
* Added lazy loading on iframe