* 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
* Refactor edge caching logic to live in EdgeCache::Service
* Rename EdgeCache::Service to EdgeCache::Buster
* Reorganize some code, move from Buster to Bust naming
* Add route for fetching a user's followed tags
* Move followed tags route to FollowsController instead of TagsController and add JSON view
* Add missing new line
* Change the dots for our linter
Co-authored-by: rhymes <rhymes@hey.com>
Co-authored-by: Molly Struve <mollylbs@gmail.com>
* Update mapping
* Update user search serializer
* Add data update script for reindexing users
* Only index roles for persisted users
* Add conditional to profile search serialization
* Update data update scripts
* Update spec for data update script
* Add FK between ahoy_messages and feedback_messages
* Add FKs between articles.second_user_id, articles.third_user_id and users
* Fix associations and specs
* Add more validations
* Remove FKs to articles.second_user_id and .third_user_id as they are about to be removed
* Check that nginx is available before pinging it
Currently, we don't have a good way of knowing whether Openresty is available before
we try to bust an Nginx cache via Openresty's server. This means that we can potentially
make a request to Openresty even when it is unavailable, which causes the app to not be
able to boot up when this code path is called.
This adds a check to make sure that openresty is both configured and available before
trying to bust an Nginx cache or before making additional requests to Openresty.
Closes https://github.com/forem/InternalProjectPlanning/issues/38.
* Add DataDog monitor if Openresty is unavailable
* Adds second_user_id and third_user_id to Admin::Articles::Controller and Article model
- Add second_user_id to #update
- Add third_user_id to #update
- Add second_user_id to #article_params
- Add third_user_id to #article_params
- Add second and third user_ids to :limited_columns_internal_select
* Adds a second_user_id and third_user_id form field to _individual_article.html.erb
* Adds tests around adding a co-author and multiple co-authors to an article in articles_spec.rb
* Add ga tracking to config
* Remove empty line
* Remove console.log
* Fix typo
* Update app/assets/javascripts/initializers/initializeBaseTracking.js.erb
* Add google tracking id example
* Fixes a duplicate page title on the /videos page
So the `app/views/videos/index.html.erb` was invoking the `#title`
helper method 3 times.
In each invocation the helper method was calling
`content_for(:title) { derived_title }`. Looking at the `content_for`
documentation
[here](9055156668/actionview/lib/action_view/helpers/capture_helper.rb (L117)),
you can find the following comment:
```
Note that <tt>content_for</tt> concatenates (default) the blocks it is given
for a particular identifier in order. For example:
```
Which basically meant that each time the helper got invoked, the title
was appended to the end of the existing title.
This commit fixes the issue by making sure that the `#title` helper is
only invoked once by the view.
* Empty commit, trigger the build