* Let dev/test blow up if current_user is used erroneously
* Fix logic
* Fix click-to-edit permissions
* Change test to check for new behavior
* linting
* Edit tests
* Change test
* Clean up implementation
* Update comment
* Fix instance vars
* Update app/controllers/concerns/caching_headers.rb
* Merge origin and add request_store gem
* Remove extra character from meta_keywords in /listings/index.html.erb
* Remove meta_keywords from MANDATORY_CONFIGS
* Add and use meta_keywords_tag helper
* Use modern tag syntax instead of deprecated syntax
* Add and use meta_keywords_default helper
* Add and use meta_keywords_article helper
* Remove * from meta_keywords_field.label
* Update meta_keyword specs to account for no keywords being set
* Fix incorrect formatting in admin/configs/show.html.erb
* Only render SiteConfig.tagline if it exists
* Fix typo in _signup_modal.html.erb
* Remove tagline from VerifySetupCompleted::MANDATORY_CONFIGS
* Improve signup_modal tagline specs
* Tiny fixes to address @citizen428's comments
* Showing date in listing tile
* Displaying date in listing tile
1. Sending created_at in listing search API
2. Global util functions for short and long date formatting
3. New date util functions extend timestampToLocalDateTime
4. Converting div to time tag
5. Adding title attribute for date
* originally_published_at column
* Displaying originally_published_at date
* Fixing test in modal
* Fixing all listing test
* Fixing casing of dateTime
* Adding tests for originally_published_at
* Reverting to bumped_at
* Backfilling only published listing
* Removing ReIndexListingWithOriginallyPublishedAt
* Allow initial user to sign up and configure app
* Fix added value unneeded
* Make siteconfig public in tests
* Remove deprecated method and adjust seed default
* Add new controllers not to redirect for public
* Modify tests
* Edit test defaults
* Fix linting
* Add starter mode to seed file
* Replace in Cache-Control header to support Nginx caching
* Add 'X-Accel-Expires' header for Nginx caching
* Remove max-age directive from remaining specs
* Update caching header specs to test against x-accel-expires header
* First draft - all the big changes
* Changing some more references to 'internal'
* Relocate internal request tests to admin
* Relocate internal system tests to admin
* Fix trailing space
* Test fix
* Move queries from internal to admin
* Docs updates
* Rename internal stimuls controllers to admin (plus docs)
* Rename admin layout
* Fix routing after rebase
* Fixes for latest added admin interfaces
* Serviceworker ignore paths
* Rename FastlyHeaders to CachingHeaders, conditionally experiment with removing no-cache
We suspect that it is safe to remove `no-cache` entirely from the Cache-Control headers that are sent
along to Fastly, but there is no great way to confirm this hypothesis. We're testing this by experimenting
on one single article. We will conditionally default to the same headers that we send to Nginx, and send
those headers to Fastly (by removing `no-cache` and adding in `max-age`, which should be ignored since Fastly
also has Surrogate-Control headers added to it, which include a `max-age`, which Fastly should prioritize
over any other `max-age`.
Once we've confirmed that this doesn't cause issues on the Fastly side, we can remove this check and use
the same Cache-Control headers for both Fastly and Nginx.
* Add check for request.env[REQUEST_PATH].present?
* chore: spike
* fix: update doesnt get to symbol
* spelling
* chore: some suggestions
* chore: change name
* chore: content tag and safe join
* chore: keep this open for now
* chore: code climate
* more code climate stuff
* chore: remove commas
* fix: tests
* feat: update the descriptions and placeholders
* chore: update all the variables
* chore: update lines
* feat: update ""
* chore: length line
* feat: content_tag
* chore: disable rubocop:disable Rails/OutputSafety
* feat: collapse the get started section if everything is filled out
* chore: comment
* some cleanup
* codeclimate :(
* Change models and related files
* Update controllers and specs
* More renaming
* Seek and destroy, I mean search and replace
* Round up the stragglers
* Ground control to Major Travis...
* More fixes
* PR feedback
* Various fixes
* Rename view
* Fix list query builder
* Unify request specs
* Fix some API spec errors
* Fix remaining API specs
* Make spec conform to API
* Fix leftover problems
* Fix JS tests
* Fix column name in select
* Fix API specs
* Fix search specs
* Paging Mr. Travis
* Add audit logging for negative reactions
This change saves requests that create negative reactions to the audit
log. We need to be monitoring admin and moderator actions throughout the
app to increase visiblity on how our tools are being used and identify
abuse.
Additionally, this will help east concerns about giving elevated users
more powerful tools.
* Add a basic UI for moderator audit logs
* Log experience level ratings
* Log tag adjustments
* UI tweaks for moderator actions log
* Add logging to internal reactions controller
* Add logging for admin actions on users and articles
* Add searching to the moderator actions table
* Move audit instrumentation out of concern
We are able to use a PORO here instead of using a Rails concern. Moving
this also makes syntax to audit something quite a bit more explicit and
obvious to future developers
* Change moderator logs pagination page length
* Move auditing to after action filters
* Add moderator actions to the internal navbar
* Add request spec for internal moderator actions
* Use request params to populate AuditLog slug
* Fix articles index state param values
* Update Articles API docs
* Fix ClassifiedListing.cost_by_category with invalid category
* Add docs for GET|POST /listings and fix bugs
* Document PUT /api/listings/:id
* Add docs for /listings/category/{category}
* One variable down
* Improve listings update error handling
* Add ApplicationMetalController to relevant controllers
* Add request forgery protection to metal
* Remove logger call
* Add logger keyword and skip protect_from_forgery in test
* Uncomment main_image in test