Permalink
Commits on Feb 18, 2018
  1. AO3-5237 Update work import and tag set help (#3247)

    sarken authored and redsummernight committed Feb 18, 2018
  2. AO3-5336 Fix OTP filter to account for synonymous relationships (#3246)

    redsummernight authored and sarken committed Feb 18, 2018
Commits on Feb 16, 2018
  1. AO3-5337 Update factories to make non-canonical tags by default (#3243)

    redsummernight authored and sarken committed Feb 16, 2018
Commits on Feb 15, 2018
  1. AO3-5237 Fix typo and missing words in help files (#3241)

    sarken authored and redsummernight committed Feb 15, 2018
    * AO3-5237 Help file updates from Docs
    
    * AO3-5237 Help file update from Tag Wrangling
    
    * AO3-5237 Update help file changes from Docs
    
    * AO3-5237 Undo help file changes Docs wants to work on more
    
    * AO3-5237 Restore final new lines
    
    * AO3-5237 Shorten line length in help files
    
    * AO3-5237 Fix typo and missing words in help pop ups
    
    * AO3-5237 Update warning help
    
    * AO3-5237 Fix missing you, unwanted curly quotes, and replace actual em dashes with HTML entity
  2. AO3-5339 Upgrade nokogiri to 1.8.2 (#3242)

    redsummernight authored and sarken committed Feb 15, 2018
  3. AO3-5319 Invitation ownership (#3244)

    de3sw2aq1 authored and sarken committed Feb 15, 2018
    * Check ownership of invitations
    
    Previously any user could access invitations, allowing reading private
    email addresses and stealing invitations.
    
    * Check both params and invitation_params for :id
    
    * Use check_ownership_or_admin
Commits on Feb 5, 2018
  1. AO3-5324 Re-allow hiding of series by admin (#3231)

    sarken authored and redsummernight committed Feb 5, 2018
    * AO3-5324 Allow series to be hidden by added to whitelist
    
    * AO3-5324 Correct text on button for hiding series
    
    * AO3-5324 Add red lock to show page for hidden series because series owner can still see that page
    
    * AO3-5324 That should've been an instance variable
    
    * AO3-5324 Tests for hiding and unhiding a series
    
    * AO3-5324 Update test to reflect the hide 'button' is actually a link styled like a button
    
    * AO3-5324 Send the admin email only if the hidden item is a work
    
    * AO3-5324 Don't call UserMailer.delete_work_notification in user_creations_controller
    
    As the name suggests, that email is only for deleted works. However, there's a code comment saying we notify users of hidden works in the work model. So that code really had no business being there -- the only reason it didn't cause us problems before was a) hiding Series gave a 500 for other reasons and b) hiding Comments, Bookmarks, and External Works were handled by other logic
  2. AO3-5327 Fix the test that hides a series being bookmarked (#3239)

    redsummernight authored and sarken committed Feb 5, 2018
    * AO3-5327 Fix the test that hides a series being bookmarked
    
    Without the reload call, update_attribute fails, with
    bookmarkable.errors containing an error with no messages.
    I don't know why this happens. Years from now, if you figure
    this out, please let me know.
    
    * AO3-5327 Update comment for bookmarkable.reload
    
    Now we know the reason (thanks @tickinginstant).
Commits on Feb 4, 2018
  1. AO3-5237 Update miscellaneous help pop-ups (#3237)

    sarken authored and redsummernight committed Feb 4, 2018
    * AO3-5237 Help file updates from Docs
    
    * AO3-5237 Help file update from Tag Wrangling
    
    * AO3-5237 Update help file changes from Docs
    
    * AO3-5237 Undo help file changes Docs wants to work on more
    
    * AO3-5237 Restore final new lines
    
    * AO3-5237 Shorten line length in help files
  2. AO3-5327 Reindex bookmarker pseuds when bookmarkables change hidden b…

    redsummernight authored and sarken committed Feb 4, 2018
    …y admin status (#3238)
    
    This applies to works, series, and external works.
  3. AO3-5307 update series bookmarks when work is added to series (#3234)

    WendyBeth authored and sarken committed Feb 4, 2018
    * Adds test for bug
    
    * Fixes typos
    
    * Fixes bug where series bookmarks aren't reindexed when required
    
    * Enqueues all Series bookmarks for reindexing and removes unnecessary indexing of work bookmarks
    
    * Indexes the series *bookmarks* when a new work is added to series
    
    * Still ensures series itself is indexed
  4. AO3-5326 Reindex bookmarker pseuds when bookmarkables change restrict…

    redsummernight authored and sarken committed Feb 4, 2018
    …ed status (#3236)
    
    * Remove explicit enqueues in index_queue_spec
    
    After AO3-5286, enqueue callbacks do work in test environment.
    
    * AO3-5326 Reindex bookmarker pseuds when bookmarkables change restricted status
    
    This applies to work and series. External works can't be restricted.
    
    * Refresh indices after indexing jobs instead of adding delays
Commits on Jan 30, 2018
  1. AO3-5225 Fix include_private? for pseuds. (#3233)

    tickinginstant authored and sarken committed Jan 30, 2018
Commits on Jan 29, 2018
  1. AO3-5325 Reindex pseuds when bookmarks are hidden (#3230)

    sarken authored and ariana-paris committed Jan 29, 2018
  2. AO3-5265 Change tag search back to querystring and ensure exact resul…

    ariana-paris authored and sarken committed Jan 29, 2018
    …ts are near top (#3224)
    
    * AO3-5265 Turn requirements from ticket into specs
    
    * AO3-5265 Switch tag search to querystring and add custom analyzers
    
    * AO3-5265 Add tests for tag containing quotes
    
    * AO3-5265 Parametrise shards to ensure consistent results on small data sets
    
    * AO3-5265 Add test for tag containing a unicode character
Commits on Jan 24, 2018
  1. AO3-5321 Update paperclip (#3229)

    zz9pzza authored and sarken committed Jan 24, 2018
Commits on Jan 22, 2018
  1. AO3-5305 Fix bookmark tag counts (#3222)

    WendyBeth authored and sarken committed Jan 22, 2018
    * Fixes filter counting problem on tag/bookmarks page
    
    * Revert "Fixes filter counting problem on tag/bookmarks page"
    
    This reverts commit 7b6ad34.
    
    * Adds failing test for bug
    
    * Fixes count of bookmarks per tag without adding unnecessary attrs to bookmarks
    index
    
    * Fixes failing features - the older aggs style needs to be accomodated
    
    * Removes redundant step definition
Commits on Jan 20, 2018
  1. AO3-5299 Rescue unparseable absolute date filters (#3216)

    redsummernight authored and sarken committed Jan 20, 2018
    For the "Date Updated" filter, the front-end sends date strings
    that may be unparseable for Ruby (e.g. 2017-12-32) or Elasticsearch
    (10000-12-31). Avoid 500s in these cases.
  2. AO3-5304 Filter restricted works in people search by fandoms (#3227)

    redsummernight authored and sarken committed Jan 20, 2018
    For logged out users:
    
    - If a pseud has works in the specified fandom, but all of them are
      restricted, do not include the pseud in search results.
    - Do not include the restricted works in the fandom-specific total.
  3. AO3-5295: Never count a work with one fandom as a crossover (#3220)

    elzj authored and sarken committed Jan 20, 2018
    * AO3-5295: Never count a work with one fandom as a crossover
    
    * AO3-5295: Also update otp filter to only catch single relationships
Commits on Jan 18, 2018
  1. AO3-5303 People search bookmark count should respect bookmarkable pri…

    sarken authored and redsummernight committed Jan 18, 2018
    …vacy (#3225)
    
    * AO3-5303 Correct people search bookmark counts for logged out users
  2. AO3-5302 Only count bookmarks of things that are not hidden by admins (

    sarken authored and redsummernight committed Jan 18, 2018
  3. AO3-5318 Fix for blank bookmarkable_type. (#3226)

    tickinginstant authored and sarken committed Jan 18, 2018
Commits on Jan 14, 2018
  1. AO3-5311 Add user's rollout info to support tickets (#3221)

    sarken committed Jan 14, 2018
    * AO3-5311 Add user's rollout info to support tickets
    
    * AO3-5311 Add rollout and user agent to support emails
    
    * AO3-5311 Refactor feedback admin cmailer
    
    * AO3-5311 Refactor string assignment
    
    * AO3-5311 Remove extra paragraph tags
    
    * AO3-5311 Try use_new_search in determining ES version
    
    * AO3-5311 Simplify logic for determining ES version and move hidden fields to controller
  2. AO3-5309 Remove bookmarkable suffix in IndexSweeper. (#3219)

    tickinginstant authored and sarken committed Jan 14, 2018
    * AO3-5309 Remove bookmarkable suffix in IndexSweeper.
    
    * AO3-5309 Try to make hound happier.
Commits on Jan 5, 2018
  1. AO3-5291 Don't delete false bookmark search terms (#3217)

    tickinginstant authored and redsummernight committed Jan 5, 2018
    * AO3-5291 Don't delete false bookmark search terms.
    
    * AO3-5291 New rspec test for options set to false.
    
    * AO3-5291 Fix for hound.
    
    * AO3-5291 Renamed spec file.
Commits on Jan 4, 2018
  1. AO3-5291 Use options.fetch for include_restricted? (#3214)

    tickinginstant authored and sarken committed Jan 4, 2018
Commits on Jan 3, 2018
  1. AO3-5294 Fix cache key calculation for admins. (#3215)

    tickinginstant authored and sarken committed Jan 3, 2018
Commits on Jan 1, 2018
  1. AO3-5218 Add successful_reindex callback. (#3211)

    tickinginstant authored and ariana-paris committed Jan 1, 2018
  2. AO3-5276 Add total number of works to results when searching for fand…

    sarken authored and redsummernight committed Jan 1, 2018
    …om (#3213)
    
    * AO3-5276 Remove 'shoulds' for brevity
    
    * AO3-5276 Modify authored_item_links to always include work count
    
    * AO3-5276 Put general links before fandom links
    
    * AO3-5276 Remove extra spaces
  3. AO3-5151 Convert remaining people_path to search_people_path (#3212)

    sarken authored and redsummernight committed Jan 1, 2018
Commits on Dec 19, 2017
  1. AO3-5292 - Ensure people search is updated when works are posted, and…

    tickinginstant authored and elzj committed Dec 19, 2017
    … cover more types of work editing. (#3210)
    
    * AO3-5292 Update people search when editing works.
    
    * AO3-5292 Minor fixes for Hound.
  2. AO3-5222 handle indexing failures and ghost records (#3122)

    WendyBeth authored and elzj committed Dec 19, 2017
    * Adds retry to failed document index in bulk indexing
    
    * Adds explanatory comment to seemingly odd choice in indexer
    
    * Removes unnecessary code
    
    Realized that `where(id: ["128-work"])` will automatically call `to_i` on
    "128-work" so no need to map it out. TIL.
    
    * Adds IndexSweeper class to clean up indexes for ghost objects
    
    * Adds tests and fixes bug
    
    * WIP: Works on adding failsafe for index errors that cannot be fixed on retry
    
    * Fixes failing specs & features
    
    * Removes unused code
    
    * Little refactor
    
    * Adds second retry to ES indexing
    
    * Refactors & adds tests to index sweeper
    
    * Fixes typo
    
    * AO3-5205: Prevent sign ups with duplicate emails in the invite queue (#3130)
    
    * AO3-5205: Prevent sign ups with duplicate emails in the invite queue
    
    * AO3-5205: Make plus removal from emails more thorough and satisfy hounding
    
    * AO3-5205: Add condition to validation to avoid false positives on update
    
    * AO3-5205: Fix validation problem and ensure unique emails in tests
    
    * AO3-5236: Change timeframe in test to prevent month-length-related test failures (#3132)
    
    * AO3-4331 Mark works as spam or ham (#3131)
    
    original code by shalott
    
    * allow admins to mark works as spam/not spam
    
    option for admin to mark works as spam or not (and thereby send reports to Akismet which will improve its identification of spam works)
    
    Signed-off-by: shalott <shalott@gmail.com>
    
    * reformatted admin options bit
    
    Reformatted to match sarken's changes in pullreq 2076
    
    Signed-off-by: shalott <shalott@gmail.com>
    
    * added automatic un/hiding to spam settings
    
    Now automatically hides/unhides work when marked as spam or ham.
    
    Signed-off-by: shalott <shalott@gmail.com>
    
    * fixing valid hound issues
    
    Signed-off-by: shalott <shalott@gmail.com>
    
    * squashed update from master to resolve conflicts
    
    Signed-off-by: astolat shalott <shalott@gmail.com>
    
    * fix new ambiguous step match
    
    Signed-off-by: astolat shalott <shalott@gmail.com>
    
    * AO3-4331 Define akismet_attributes in work model
    
    * AO3-4331 Actually finish resolving merge conflicts
    
    * AO3-4331 Tweak whitespace
    
    * AO3-4331 Remove 'hide' from generic error message
    
    * AO3-5235 Block requesting invitations when the queue is disabled (#3136)
    
    * AO3-4222 Improve homepage and invite requests page when queue is off (#3134)
    
    * AO3-4222 Remove broken and unused new invite requests view
    
    * AO3-4222 Give users more information when invite queue is disabled
    
    * Move the form for checking invite request status to a separate page
    * Create separate partials for invite request page depending on whether the queue is on or off
    * Update homepage text
    
    * AO3-4222 Update tests for invitation queue related features
    
    * AO3-4222 Correct a test
    
    * AO3-4222 Update the show page for invitation request statuses
    
    * AO3-4222 Update tests
    
    * AO3-4222 Restore views/invite_requests/new.html.erb so it can be removed in the proper issue
    
    * AO3-4222 Use @admin_setting instead of AdminSetting in invite_request view
    
    * AO3-4222 Correct name of instance variable in views
    
    * AO3-5240 Revert timezone in gift exchange test to Papua New Guinea again (#3140)
    
    * AO3-4200 Add rel=nofollow to links to reduce SEO usefulness for spammers (#3137)
    
    * AO3-4200 Add rel=nofollow to links to reduce SEO usefulness for spammers
    
    * AO3-4200 Add rel=nofollow to StoryParser test
    
    * AO3-4200 Test sanitisation in all the text fields that allow CSS classes
    
    * AO3-4222 Fix links to news post tag and capitalization of spam (#3149)
    
    * AO3-4222 Fix links to 'invitations' news posts and capitalization of 'spam'
    
    * AO3-4222 Update capitalization of spam in tests
    
    * AO3-5243 Use AJAX to delete invitation requests (#3151)
    
    * AO3-5243 Use AJAX to delete invitation requests
    
    * AO3-5243 Remove unnecessary redirect
    
    * AO3-5243 Look in the right place for eerrors
    
    * AO3-4855 Add rspec tests for the gifts exchange controller (#3158)
    
    * AO3-4971 Display notice when deleting non-existent invite requests (#3159)
    
    * AO3-3848 Added Feature test for a locked user account (#3135)
    
    * AO3-3848 Added feature test for brute force lock
    
    * AO3-3848 Remove spaces from line
    
    * AO3-3848 Change for to times
    
    * AO3-3848 Fix multi line block
    
    * AO3-3848 Replace user lock feature test with rspec test
    
    * AO3-3848 hound fixes
    
    * AO3-3848 code review changes
    
    * AO3-3848 Removed superfluous plus one
    
    * AO3-3848 Removed unused parenthesys
    
    * AO3-5247 Use _url helper in spam alert email (#3160)
    
    * AO3-5247 Use _url helper in spam alert email
    
    * AO3-5247 Use _url helper in invitation request decline email too
    
    * AO3-5234 Moderate Works (#3162)
    
    * AO3-5234: Add admin pages for reviewing and updating moderated spam works
    
    * AO3-5234 Frontend tweaks
    
    * AO3-5234: Add admin setting for automatically hiding spam works
    
    * AO3-5234: Testing spam features
    
    * AO3-5234: Unhide ham
    
    * AO3-5234: Add pagination for admin page
    
    * AO3-5234: Send emails about hiding spam works and hide works on review when it isn't happening automatically
    
    * AO3-5243 Use correct finder when destroying invite requests (#3163)
    
    * AO3-5249 Add basic search of invitation queue (#3164)
    
    * AO3-5249 Test for searching emails in the queue
    
    * AO3-5249 Add basic search of invitation queue
    
    * AO3-5249 Remember search query when deleting without JavaScript
    
    * AO3-5249 Put scenario back on one line
    
    * AO3-5249 The word you want for the test is SCENARIO, not Search, jfc
    
    * AO3-5249 Update test to check query field
    
    * AO3-5249 Update test to reflect Delete is a button
    
    * AO3-4971 Add test for deleting the specified invite request (#3174)
    
    * AO3-5251: Add spam-specific hidden work email (#3171)
    
    * AO3-5251: Add spam-specific hidden work email
    
    * AO3-5251: Update specs and rearrange settings
    
    * AO3-5234: Add subnav to view reviewed works and update return statements to prevent false error messages (#3176)
    
    * AO3-5234: Fix for unapproving approved works (#3177)
    
    * AO3-5234: Add subnav to view reviewed works and update return statements to prevent false error messages
    
    * AO3-5234: Make sure you can re-mark approved works as spam
    
    * AO3-5234: More language tweaks
    
    * AO3-4138 make reading history more linguistically accessible (#3081)
    
    * AO3-4138 make reading history more linguistically accessible
    
    * Update _reading_blurb.html.erb
    
    * ✌️
    
    * AO3-5086 Update Spotify subdomain for embeds (#3079)
    
    * AO3-5086 Update Spotify subdomain for embeds
    
    * AO3-5086 Update spec for embed whitelist
    
    * AO3-4187 Fix empty tag dropdown when filtering news posts (#3092)
    
    If a language is selected, the dropdown will have all tags across
    all posts of that language.
    
    * AO3-5203 giving CSS help documentation consistent spacing (#3147)
    
    * AO3-5086: Fix last reference to old Spotify subdomain (#3182)
    
    * Re-merge Elasticsearch branch (#3179)
    
    * AO3-4815 Update Elasticsearch and filter interface (#3104)
    
    * Upgrades faraday (ran bundle update elasticsearch)
    
    * Adds elasticsearch-model to directly replace tire model
    
    Uses rollout to indicate which module to include in the searchable modules
    
    * Allows application to connect to two ES instances
    
    * Switches version of ES in use by Indexer and Query depending on rollout feature
    
    * Fixes feature failure in importing
    
    The image is rendered with https://, not http://
    
    * Adds awesome_print gem, to make inspecting json easier
    
    * Adds class to recreate indices in upgraded ES instance & reindex from remote
    
    * Removes elasticsearch-model
    
    * Removes rollout code from models
    
    * WIP - Making app compatible with ES 5.5
    
    * WIP - Pulls in elasticsearch overhaul code
    
    Starting to debug elasticsearch overhaul code, both in its incompatibilities
    with current ES and its underlying bugs.
    
    * Gets search/works_anonymous feature specs to pass with new ES code
    
    * Gets search/works_tags features to pass with new es code
    
    * Fixes search/works_info spec failures
    
    * Fixes test failures in search/work_stats
    
    * Updates ES version read by Travis
    
    * Updates ES instance to point to the url Travis will recognize
    
    * Fixes some failing feature specs for search
    
    * Fixes admins/admin_works specs
    
    * Fixes bookmark_create and collection_dashboard feature specs
    
    * Fixes importing/archivist feature specs
    
    * Fixes other_a/orphan_work feature specs
    
    Still using Tire, and reindexing with both Tire and elasticsearch will not break
    anything and will be useful when running the test suite twice against the two
    different ES versions
    
    * Fixes all other other_a feature failures
    
    * Fixes works_anonymous feature failures
    
    * Fixes tag_wrangling_relationships feature failures
    
    * Fixes users feature failures
    
    * Fixes works feature failures
    
    * Adds the new ES indexing code wherever Tire is use in test setup
    
    * Fixes works default rails actions spec failures
    
    * Fixes elasticsearch_upgrade_spec failures and refactors ES refresh code
    
    * Fixes work query spec
    
    * Adds some minor refactoring to tests
    
    * Adds bookmark indexing/query code & fixes associated tests
    
    * Updates BookmarkSearch references to BookmarkSearchForm
    
    * Fixes bookmark_create feature failures
    
    * Fixes admin/admin_works feature failures
    
    * Fixes bookmarks feature spec failures
    
    * Fixes collections feature specs
    
    * Fixes other_a and search failures
    
    * Fixes users feature specs
    
    * Removes refrences to tire from tests and specs for now
    
    * Fixes search steps problem when reindexing models with any? false
    
    * Fixes reindexing models without any records in specs
    
    * Removes outdated use of WorkSearch model in works controller
    
    * Fixes typo
    
    * Fixes failing specs caused by fixes to failing features
    
    * Fixes bugs in bookmark query
    
    * Some feature failure cleanup
    
    * Adds code for Tag search using updated ES
    
    * Adds pseud search code
    
    * Small test fixes
    
    * Fixes some failing tests, and attempts to address Travis issues
    
    * Adds fixes for Travis failures that are repeatable locally
    
    * Fixes problem where bookmarks without works can't be searched for
    
    * Reindexes indexes everywhere they are updated in the features directory
    
    This should remove inconsistent, nearly-unrepeatable errors caused by the fact
    that Elasticsearch is asynchronous. Yay!
    
    * Fixes bookmark query spec failure
    
    * Refactors some of the index updating logic in features
    
    * Fixes default rails actions for works spec
    
    * Isolates Tire reindexing to one file in features
    
    * Fixes tags and wrangling test failures
    
    * Distinguishes ES versions in specs
    
    * Fixes some typos
    
    * Updates to catch old ES version no matter the environment
    
    * Attempting a run with old ES version
    
    * Fixes Tire import
    
    * Fixes spec helper method
    
    * Separates ES wrappers based on ES version in controllers
    
    * Fixes use of new ES code in helpers for use_old_search?
    
    * Fixes old ES code usage in bookmarks controller
    
    * Fixes search using old ES for bookmarks
    
    * Removes tests that were catching a bug that is no longer a problem
    
    * Fixes works failures for old es version
    
    * Fixes features failing on Travis
    
    * Fixes spec failures for old ES version
    
    * Sets Travis to dl new version of ES to see how build does
    
    * Attempt with ES 6.0 alpha
    
    * Adds fix for bookmark deletion bug
    
    * Adds missing details to work indexer
    
    * Adds rollout to indexing
    
    * Swaps out 'use_old_search?' with 'use_new_search?'
    
    * Fixes param names in tests
    
    * Adds rollout to application record use_new_search? method
    
    * Fixes small details & removes unused code
    
    * Fixes typo
    
    * Fixes typo
    
    * Fixes typo
    
    * Fixes lack of question mark for rollout.active? method
    
    * Runs Travis build on old ES and sets elasticsearch version with rollout
    
    * Fixes inccorect method invocation
    
    * Fixes incorrect method invocation in people controller
    
    * Fixes works stats feature failures
    
    * Adds fixes for failing specs
    
    * Uses appropriate count method for old es version
    
    * Removes debug line from feature
    
    * Upgrades nokogiri due to security concern
    
    * Makes it so app will respond appropriately to ES version
    
    To run on Travis, all three ES urls need to be the same:
    ENV['ELASTICSEARCH_URL'] &
    ENV['ELASTICSEARCH_1_URL'] &
    ENV['UPGRADED_ELASTICSEARCH_URL']
    
    All need to point to the same thing. Whenever running an instance of the app
    with two versions of ES, ENV['ELASTICSEARCH_URL'] and ENV['ELASTICSEARCH_1_URL']
    need to point to the old version and ENV['UPGRADED_ELASTICSEARCH_URL'] needs to
    point to the new version.
    
    * Second attempt with 6.0.0-alpha1 ES
    
    * For test with ES 6.0.0-alpha1
    
    * Fixes Travis run in 6.0.0-alpha1 ES
    
    * Untar
    
    * Try starting both
    
    * Simple test run
    
    * Differentiate the builds
    
    * Differentiate the builds
    
    * Restore all the tests
    
    * Fixes call to new elasticsearch api perform_request
    
    * Updates to test suite to watch how upgraded es version works on its own
    
    * refactors out index updating methods in feature specs
    
    * Adds rollout specs
    
    * Fixes bug in work search form object
    
    * Matches config to travis
    
    * Removes all but rspec tests from travis for now
    
    * Sets up tests & rollout methods use expected behavior
    
    * Fixes switch from string to text or keyword for index definitions
    
    * Updates index definitions to be compatible with 6.0.0.beta2 ES version
    
    * Changes localhost to home IP for old ES urls
    
    * Does not require old es to work when old es is gone
    
    * Switches ES bool queries to true/false
    
    * Fixes spec failures for ES Group 1
    
    * Adds specific test to ensure old elasticsearch does not index when it's not present
    
    * Moves to new elasticsearch document indexing when old es is gone
    
    * Fixes problem with helper method for specs
    
    * Ensures app never attempts to reindex an old es index in the new es instance
    
    * Makes it so that a user doesn't have to be present if use_new_search is 100% enabled
    
    * Runs ES=1
    
    * Runs ES=2
    
    * Runs ES=3
    
    * Runs ES=4
    
    * Back to rspec
    
    * Removes command to rebuild three times upon failure
    
    * Updates set_rollout script to use global  variable
    
    * Adds rollout definitions to test suite to see if that addresses Travis build problem
    
    * Runs build with ES=1
    
    * Runs all builds
    
    * Adds same assurances to features as specs that ES will work w/ both versions
    
    * Fixes imported image URL in feature spec
    
    * Fixes reference to tire methods when tire is gone in feature support methods
    
    * Runs only ES=4
    
    * Moves es/rollout code for feature specs
    
    * Fixes boolean representation in work search form
    
    * Fixes boolean in ES search in bookmark search form
    
    * Fixes bookmarks feature failures
    
    * Fixes works_restricted feature failures
    
    * Runs all four ES groups
    
    * Runs ES=1 and ES=4
    
    * Comments out test that's breaking due to third-party url bug
    
    * Makes Travis only run 2 trials
    
    1 - With the old Elasticsearch, in which we test that the old Elasticsearch
    continues to work while start_new_indexing is true (individual tests also test
    that the SearchForm classes continue to work as expected, meaning that the new
    Elasticsearch also works in this case when use_new_search is true)
    
    2 - With the new Elasticsearch
    
    * Adds old exlclusion filter code
    
    * Adds tests & code for work filtering with exclusion tags
    
    * Addresses Travis test failures
    
    * Adds bookmark exclusion filters
    
    * Downgrades back to 5.6.1 (latest stable) ES version
    
    * Adds single_mapping => true to ES indices
    
    * Fixes failure to index bookmarks when they do not have a bookmarkable object
    
    * Adds comments to help when removing old code
    
    * Removes rollout manipulation from Travis
    
    This was not actually setting features. All Travis needs to do is install one or
    both versions of ES depending on the test group being run.
    
    * Adds test cases for use_new_search? controller method
    
    * Adds tests & fixes bugs for filtering
    
    * Removes default 'true' from use_new_search method
    
    Reverts old styles and scripts to master
    
    * Fixes typos
    
    * Fixes more typos
    
    * Fixes rollout test for works controller
    
    * Fixes works controller mistake
    
    * Ports over ALL js and css changes that effect filters
    
    * Removes useless method
    
    * Removes file that has nothing to do with new search
    
    * Fixes failing filter tests
    
    * Pulls in fix for autocomplete bug from master
    
    * AO3-4815: Fill out new batch indexing code
    
    * Fixes merge clobbering of css & js files
    
    * AO3-4815: Add new ES to codeship script and use local.yml instead of … (#3110)
    
    * AO3-4815: Add new ES to codeship script and use local.yml instead of editing the regular config
    
    * Fix ES download url and load local config when testing
    
    * AO3-4815: Ensure correct results when browsing bookmarks by user (#3109)
    
    * AO3-5213 Index authors on works correctly for sorting (#3114)
    
    AO3-5213 Index authors on works correctly for sorting
    
    * AO3-5207 Add StatCounterIndexer and fix order of reindexing. (#3111)
    
    * AO3-5207 First go at StatCounter reindexing.
    
    * AO3-5207 Add RSpec tests to make sure it works.
    
    * AO3-5207 Small fixes to pass tests.
    
    * AO3-5207 Make sure to call original when stubbing.
    
    * AO3-5207 Finally fixed.
    
    * AO3-5212 Index correct user ids for works. Also throw in a couple of updated work type tag ids (#3112)
    
    * AO3-5209 Don't change the appearance of non-work & bookmark filters (#3117)
    
    * AO3-5209 Use old JavaScript and views for old Elasticsearch filters (styling fixes to come)
    
    * AO3-5209 Restyle old filters
    
    * AO3-5209 Ensure new work and bookmark filter styling does not conflict with exisiting collection filter styles
    
    * AO3-5216 Fix setting authenticity tokens when cached pages load (#3118)
    
    This was the fix for AO3-5153, which got lost in a merge.
    
    * AO3-5214 Only run the tests on Travis once for now (#3116)
    
    * AO3-5208: Fix filtering behavior (#3113)
    
    * AO3-5208: Fix filtering behavior by drilling down and setting facets appropriately.
    
    * AO3-5208: Don't error when there are no filters
    
    * AO3-5208: Ensure excluded tags are visible in filters
    
    * AO3-5208: Make sure bookmark facet query knows about exclusions. Also don't index filters and other bookmarkable fields on the bookmark itself since that's what we're trying to avoid.
    
    * AO3-5208: Dry up some tag-related query methods, reduce number of db requests, only exclude children of Character tags, and make exclusion work for bookmark tags again
    
    * AO3-5208: Update some tests to match new behavior
    
    * AO3-5208: Put excluded bookmark tags in the right filter bucket
    
    * AO3-5208: Remove sub tag exclusion code, since the meta tag id is already indexed on works
    
    * AO3-5208: Comment out tests for types of exclusion filtering we aren't currently doing for bookmarks
    
    * AO3-5208: Enable querying on both parent and child bookmark fields and reflect queries in bookmark filters
    
    * AO3-5208: Update tests for bookmark search syntax change and bookmarker indexing encompassing user name
    
    * AO3-5208: Make 'other tags' filtering work for noncanonical tags as well
    
    * AO3-5223: Fix id on bookmarks exclude field
    
    * AO3-5208: Remove child exclusion from filters and enable inclusion for noncanonical tags
    
    * AO3-5220 and AO3-5224: Fix searching bookmarks by notes and tag names and index bookmarkable date for sorting
    
    * AO3-5220: Update old bookmark search code for notes fix, fix spacing in module
    
    * AO3-5225 Fix sidebar counts and scope by user id if a user is present (#3119)
    
    * AO3-5225: Fix sidebar counts and scope by user id if a user is present
    
    * AO3-5225: Update user dashboard feature to check counts in multiple places
    
    * AO3-5231: Fix formatting of search text and don't chop up tag searches
    
    * AO3-5231: Remove duplication and add specs
    
    * AO3-5254: Upgrade to Elasticsearch 6 (#3183)
    
    * AO3-4815 Update Elasticsearch and filter interface (#3104)
    
    * Upgrades faraday (ran bundle update elasticsearch)
    
    * Adds elasticsearch-model to directly replace tire model
    
    Uses rollout to indicate which module to include in the searchable modules
    
    * Allows application to connect to two ES instances
    
    * Switches version of ES in use by Indexer and Query depending on rollout feature
    
    * Fixes feature failure in importing
    
    The image is rendered with https://, not http://
    
    * Adds awesome_print gem, to make inspecting json easier
    
    * Adds class to recreate indices in upgraded ES instance & reindex from remote
    
    * Removes elasticsearch-model
    
    * Removes rollout code from models
    
    * WIP - Making app compatible with ES 5.5
    
    * WIP - Pulls in elasticsearch overhaul code
    
    Starting to debug elasticsearch overhaul code, both in its incompatibilities
    with current ES and its underlying bugs.
    
    * Gets search/works_anonymous feature specs to pass with new ES code
    
    * Gets search/works_tags features to pass with new es code
    
    * Fixes search/works_info spec failures
    
    * Fixes test failures in search/work_stats
    
    * Updates ES version read by Travis
    
    * Updates ES instance to point to the url Travis will recognize
    
    * Fixes some failing feature specs for search
    
    * Fixes admins/admin_works specs
    
    * Fixes bookmark_create and collection_dashboard feature specs
    
    * Fixes importing/archivist feature specs
    
    * Fixes other_a/orphan_work feature specs
    
    Still using Tire, and reindexing with both Tire and elasticsearch will not break
    anything and will be useful when running the test suite twice against the two
    different ES versions
    
    * Fixes all other other_a feature failures
    
    * Fixes works_anonymous feature failures
    
    * Fixes tag_wrangling_relationships feature failures
    
    * Fixes users feature failures
    
    * Fixes works feature failures
    
    * Adds the new ES indexing code wherever Tire is use in test setup
    
    * Fixes works default rails actions spec failures
    
    * Fixes elasticsearch_upgrade_spec failures and refactors ES refresh code
    
    * Fixes work query spec
    
    * Adds some minor refactoring to tests
    
    * Adds bookmark indexing/query code & fixes associated tests
    
    * Updates BookmarkSearch references to BookmarkSearchForm
    
    * Fixes bookmark_create feature failures
    
    * Fixes admin/admin_works feature failures
    
    * Fixes bookmarks feature spec failures
    
    * Fixes collections feature specs
    
    * Fixes other_a and search failures
    
    * Fixes users feature specs
    
    * Removes refrences to tire from tests and specs for now
    
    * Fixes search steps problem when reindexing models with any? false
    
    * Fixes reindexing models without any records in specs
    
    * Removes outdated use of WorkSearch model in works controller
    
    * Fixes typo
    
    * Fixes failing specs caused by fixes to failing features
    
    * Fixes bugs in bookmark query
    
    * Some feature failure cleanup
    
    * Adds code for Tag search using updated ES
    
    * Adds pseud search code
    
    * Small test fixes
    
    * Fixes some failing tests, and attempts to address Travis issues
    
    * Adds fixes for Travis failures that are repeatable locally
    
    * Fixes problem where bookmarks without works can't be searched for
    
    * Reindexes indexes everywhere they are updated in the features directory
    
    This should remove inconsistent, nearly-unrepeatable errors caused by the fact
    that Elasticsearch is asynchronous. Yay!
    
    * Fixes bookmark query spec failure
    
    * Refactors some of the index updating logic in features
    
    * Fixes default rails actions for works spec
    
    * Isolates Tire reindexing to one file in features
    
    * Fixes tags and wrangling test failures
    
    * Distinguishes ES versions in specs
    
    * Fixes some typos
    
    * Updates to catch old ES version no matter the environment
    
    * Attempting a run with old ES version
    
    * Fixes Tire import
    
    * Fixes spec helper method
    
    * Separates ES wrappers based on ES version in controllers
    
    * Fixes use of new ES code in helpers for use_old_search?
    
    * Fixes old ES code usage in bookmarks controller
    
    * Fixes search using old ES for bookmarks
    
    * Removes tests that were catching a bug that is no longer a problem
    
    * Fixes works failures for old es version
    
    * Fixes features failing on Travis
    
    * Fixes spec failures for old ES version
    
    * Sets Travis to dl new version of ES to see how build does
    
    * Attempt with ES 6.0 alpha
    
    * Adds fix for bookmark deletion bug
    
    * Adds missing details to work indexer
    
    * Adds rollout to indexing
    
    * Swaps out 'use_old_search?' with 'use_new_search?'
    
    * Fixes param names in tests
    
    * Adds rollout to application record use_new_search? method
    
    * Fixes small details & removes unused code
    
    * Fixes typo
    
    * Fixes typo
    
    * Fixes typo
    
    * Fixes lack of question mark for rollout.active? method
    
    * Runs Travis build on old ES and sets elasticsearch version with rollout
    
    * Fixes inccorect method invocation
    
    * Fixes incorrect method invocation in people controller
    
    * Fixes works stats feature failures
    
    * Adds fixes for failing specs
    
    * Uses appropriate count method for old es version
    
    * Removes debug line from feature
    
    * Upgrades nokogiri due to security concern
    
    * Makes it so app will respond appropriately to ES version
    
    To run on Travis, all three ES urls need to be the same:
    ENV['ELASTICSEARCH_URL'] &
    ENV['ELASTICSEARCH_1_URL'] &
    ENV['UPGRADED_ELASTICSEARCH_URL']
    
    All need to point to the same thing. Whenever running an instance of the app
    with two versions of ES, ENV['ELASTICSEARCH_URL'] and ENV['ELASTICSEARCH_1_URL']
    need to point to the old version and ENV['UPGRADED_ELASTICSEARCH_URL'] needs to
    point to the new version.
    
    * Second attempt with 6.0.0-alpha1 ES
    
    * For test with ES 6.0.0-alpha1
    
    * Fixes Travis run in 6.0.0-alpha1 ES
    
    * Untar
    
    * Try starting both
    
    * Simple test run
    
    * Differentiate the builds
    
    * Differentiate the builds
    
    * Restore all the tests
    
    * Fixes call to new elasticsearch api perform_request
    
    * Updates to test suite to watch how upgraded es version works on its own
    
    * refactors out index updating methods in feature specs
    
    * Adds rollout specs
    
    * Fixes bug in work search form object
    
    * Matches config to travis
    
    * Removes all but rspec tests from travis for now
    
    * Sets up tests & rollout methods use expected behavior
    
    * Fixes switch from string to text or keyword for index definitions
    
    * Updates index definitions to be compatible with 6.0.0.beta2 ES version
    
    * Changes localhost to home IP for old ES urls
    
    * Does not require old es to work when old es is gone
    
    * Switches ES bool queries to true/false
    
    * Fixes spec failures for ES Group 1
    
    * Adds specific test to ensure old elasticsearch does not index when it's not present
    
    * Moves to new elasticsearch document indexing when old es is gone
    
    * Fixes problem with helper method for specs
    
    * Ensures app never attempts to reindex an old es index in the new es instance
    
    * Makes it so that a user doesn't have to be present if use_new_search is 100% enabled
    
    * Runs ES=1
    
    * Runs ES=2
    
    * Runs ES=3
    
    * Runs ES=4
    
    * Back to rspec
    
    * Removes command to rebuild three times upon failure
    
    * Updates set_rollout script to use global  variable
    
    * Adds rollout definitions to test suite to see if that addresses Travis build problem
    
    * Runs build with ES=1
    
    * Runs all builds
    
    * Adds same assurances to features as specs that ES will work w/ both versions
    
    * Fixes imported image URL in feature spec
    
    * Fixes reference to tire methods when tire is gone in feature support methods
    
    * Runs only ES=4
    
    * Moves es/rollout code for feature specs
    
    * Fixes boolean representation in work search form
    
    * Fixes boolean in ES search in bookmark search form
    
    * Fixes bookmarks feature failures
    
    * Fixes works_restricted feature failures
    
    * Runs all four ES groups
    
    * Runs ES=1 and ES=4
    
    * Comments out test that's breaking due to third-party url bug
    
    * Makes Travis only run 2 trials
    
    1 - With the old Elasticsearch, in which we test that the old Elasticsearch
    continues to work while start_new_indexing is true (individual tests also test
    that the SearchForm classes continue to work as expected, meaning that the new
    Elasticsearch also works in this case when use_new_search is true)
    
    2 - With the new Elasticsearch
    
    * Adds old exlclusion filter code
    
    * Adds tests & code for work filtering with exclusion tags
    
    * Addresses Travis test failures
    
    * Adds bookmark exclusion filters
    
    * Downgrades back to 5.6.1 (latest stable) ES version
    
    * Adds single_mapping => true to ES indices
    
    * Fixes failure to index bookmarks when they do not have a bookmarkable object
    
    * Adds comments to help when removing old code
    
    * Removes rollout manipulation from Travis
    
    This was not actually setting features. All Travis needs to do is install one or
    both versions of ES depending on the test group being run.
    
    * Adds test cases for use_new_search? controller method
    
    * Adds tests & fixes bugs for filtering
    
    * Removes default 'true' from use_new_search method
    
    Reverts old styles and scripts to master
    
    * Fixes typos
    
    * Fixes more typos
    
    * Fixes rollout test for works controller
    
    * Fixes works controller mistake
    
    * Ports over ALL js and css changes that effect filters
    
    * Removes useless method
    
    * Removes file that has nothing to do with new search
    
    * Fixes failing filter tests
    
    * Pulls in fix for autocomplete bug from master
    
    * AO3-4815: Fill out new batch indexing code
    
    * Fixes merge clobbering of css & js files
    
    * AO3-4815: Add new ES to codeship script and use local.yml instead of … (#3110)
    
    * AO3-4815: Add new ES to codeship script and use local.yml instead of editing the regular config
    
    * Fix ES download url and load local config when testing
    
    * AO3-4815: Ensure correct results when browsing bookmarks by user (#3109)
    
    * AO3-5213 Index authors on works correctly for sorting (#3114)
    
    AO3-5213 Index authors on works correctly for sorting
    
    * AO3-5207 Add StatCounterIndexer and fix order of reindexing. (#3111)
    
    * AO3-5207 First go at StatCounter reindexing.
    
    * AO3-5207 Add RSpec tests to make sure it works.
    
    * AO3-5207 Small fixes to pass tests.
    
    * AO3-5207 Make sure to call original when stubbing.
    
    * AO3-5207 Finally fixed.
    
    * AO3-5212 Index correct user ids for works. Also throw in a couple of updated work type tag ids (#3112)
    
    * AO3-5209 Don't change the appearance of non-work & bookmark filters (#3117)
    
    * AO3-5209 Use old JavaScript and views for old Elasticsearch filters (styling fixes to come)
    
    * AO3-5209 Restyle old filters
    
    * AO3-5209 Ensure new work and bookmark filter styling does not conflict with exisiting collection filter styles
    
    * AO3-5216 Fix setting authenticity tokens when cached pages load (#3118)
    
    This was the fix for AO3-5153, which got lost in a merge.
    
    * AO3-5214 Only run the tests on Travis once for now (#3116)
    
    * AO3-5208: Fix filtering behavior (#3113)
    
    * AO3-5208: Fix filtering behavior by drilling down and setting facets appropriately.
    
    * AO3-5208: Don't error when there are no filters
    
    * AO3-5208: Ensure excluded tags are visible in filters
    
    * AO3-5208: Make sure bookmark facet query knows about exclusions. Also don't index filters and other bookmarkable fields on the bookmark itself since that's what we're trying to avoid.
    
    * AO3-5208: Dry up some tag-related query methods, reduce number of db requests, only exclude children of Character tags, and make exclusion work for bookmark tags again
    
    * AO3-5208: Update some tests to match new behavior
    
    * AO3-5208: Put excluded bookmark tags in the right filter bucket
    
    * AO3-5208: Remove sub tag exclusion code, since the meta tag id is already indexed on works
    
    * AO3-5208: Comment out tests for types of exclusion filtering we aren't currently doing for bookmarks
    
    * AO3-5208: Enable querying on both parent and child bookmark fields and reflect queries in bookmark filters
    
    * AO3-5208: Update tests for bookmark search syntax change and bookmarker indexing encompassing user name
    
    * AO3-5208: Make 'other tags' filtering work for noncanonical tags as well
    
    * AO3-5223: Fix id on bookmarks exclude field
    
    * AO3-5208: Remove child exclusion from filters and enable inclusion for noncanonical tags
    
    * AO3-5220 and AO3-5224: Fix searching bookmarks by notes and tag names and index bookmarkable date for sorting
    
    * AO3-5220: Update old bookmark search code for notes fix, fix spacing in module
    
    * AO3-5225 Fix sidebar counts and scope by user id if a user is present (#3119)
    
    * AO3-5225: Fix sidebar counts and scope by user id if a user is present
    
    * AO3-5225: Update user dashboard feature to check counts in multiple places
    
    * AO3-5231: Fix formatting of search text and don't chop up tag searches
    
    * AO3-5231: Remove duplication and add specs
    
    * Upgrade elasticsearch version on travis
    
    * Remove single type mapping which is no longer needed
    
    * Update has_parent query syntax
    
    * Update syntax for parent and child filters, which are now only supported as queries
    
    * Update bookmark query spec to match new syntax
    
    * Upgrade codeship
    
    * AO3-5230 Fix range filters in bookmark search (#3184)
    
    - Parse date updated and date bookmarked filters
    - Unescape < and > characters
    - Avoid re-escaping < and > characters in search summary
    - Remove unused references to "bookmarkable_word_count"
    
    * AO3-5254: Upgrade elasticsearch gem to 6.0.0 (#3187)
    
    * AO3-5221: Bookmarkable indexing (#3186)
    
    * AO3-4815 Update Elasticsearch and filter interface (#3104)
    
    * Upgrades faraday (ran bundle update elasticsearch)
    
    * Adds elasticsearch-model to directly replace tire model
    
    Uses rollout to indicate which module to include in the searchable modules
    
    * Allows application to connect to two ES instances
    
    * Switches version of ES in use by Indexer and Query depending on rollout feature
    
    * Fixes feature failure in importing
    
    The image is rendered with https://, not http://
    
    * Adds awesome_print gem, to make inspecting json easier
    
    * Adds class to recreate indices in upgraded ES instance & reindex from remote
    
    * Removes elasticsearch-model
    
    * Removes rollout code from models
    
    * WIP - Making app compatible with ES 5.5
    
    * WIP - Pulls in elasticsearch overhaul code
    
    Starting to debug elasticsearch overhaul code, both in its incompatibilities
    with current ES and its underlying bugs.
    
    * Gets search/works_anonymous feature specs to pass with new ES code
    
    * Gets search/works_tags features to pass with new es code
    
    * Fixes search/works_info spec failures
    
    * Fixes test failures in search/work_stats
    
    * Updates ES version read by Travis
    
    * Updates ES instance to point to the url Travis will recognize
    
    * Fixes some failing feature specs for search
    
    * Fixes admins/admin_works specs
    
    * Fixes bookmark_create and collection_dashboard feature specs
    
    * Fixes importing/archivist feature specs
    
    * Fixes other_a/orphan_work feature specs
    
    Still using Tire, and reindexing with both Tire and elasticsearch will not break
    anything and will be useful when running the test suite twice against the two
    different ES versions
    
    * Fixes all other other_a feature failures
    
    * Fixes works_anonymous feature failures
    
    * Fixes tag_wrangling_relationships feature failures
    
    * Fixes users feature failures
    
    * Fixes works feature failures
    
    * Adds the new ES indexing code wherever Tire is use in test setup
    
    * Fixes works default rails actions spec failures
    
    * Fixes elasticsearch_upgrade_spec failures and refactors ES refresh code
    
    * Fixes work query spec
    
    * Adds some minor refactoring to tests
    
    * Adds bookmark indexing/query code & fixes associated tests
    
    * Updates BookmarkSearch references to BookmarkSearchForm
    
    * Fixes bookmark_create feature failures
    
    * Fixes admin/admin_works feature failures
    
    * Fixes bookmarks feature spec failures
    
    * Fixes collections feature specs
    
    * Fixes other_a and search failures
    
    * Fixes users feature specs
    
    * Removes refrences to tire from tests and specs for now
    
    * Fixes search steps problem when reindexing models with any? false
    
    * Fixes reindexing models without any records in specs
    
    * Removes outdated use of WorkSearch model in works controller
    
    * Fixes typo
    
    * Fixes failing specs caused by fixes to failing features
    
    * Fixes bugs in bookmark query
    
    * Some feature failure cleanup
    
    * Adds code for Tag search using updated ES
    
    * Adds pseud search code
    
    * Small test fixes
    
    * Fixes some failing tests, and attempts to address Travis issues
    
    * Adds fixes for Travis failures that are repeatable locally
    
    * Fixes problem where bookmarks without works can't be searched for
    
    * Reindexes indexes everywhere they are updated in the features directory
    
    This should remove inconsistent, nearly-unrepeatable errors caused by the fact
    that Elasticsearch is asynchronous. Yay!
    
    * Fixes bookmark query spec failure
    
    * Refactors some of the index updating logic in features
    
    * Fixes default rails actions for works spec
    
    * Isolates Tire reindexing to one file in features
    
    * Fixes tags and wrangling test failures
    
    * Distinguishes ES versions in specs
    
    * Fixes some typos
    
    * Updates to catch old ES version no matter the environment
    
    * Attempting a run with old ES version
    
    * Fixes Tire import
    
    * Fixes spec helper method
    
    * Separates ES wrappers based on ES version in controllers
    
    * Fixes use of new ES code in helpers for use_old_search?
    
    * Fixes old ES code usage in bookmarks controller
    
    * Fixes search using old ES for bookmarks
    
    * Removes tests that were catching a bug that is no longer a problem
    
    * Fixes works failures for old es version
    
    * Fixes features failing on Travis
    
    * Fixes spec failures for old ES version
    
    * Sets Travis to dl new version of ES to see how build does
    
    * Attempt with ES 6.0 alpha
    
    * Adds fix for bookmark deletion bug
    
    * Adds missing details to work indexer
    
    * Adds rollout to indexing
    
    * Swaps out 'use_old_search?' with 'use_new_search?'
    
    * Fixes param names in tests
    
    * Adds rollout to application record use_new_search? method
    
    * Fixes small details & removes unused code
    
    * Fixes typo
    
    * Fixes typo
    
    * Fixes typo
    
    * Fixes lack of question mark for rollout.active? method
    
    * Runs Travis build on old ES and sets elasticsearch version with rollout
    
    * Fixes inccorect method invocation
    
    * Fixes incorrect method invocation in people controller
    
    * Fixes works stats feature failures
    
    * Adds fixes for failing specs
    
    * Uses appropriate count method for old es version
    
    * Removes debug line from feature
    
    * Upgrades nokogiri due to security concern
    
    * Makes it so app will respond appropriately to ES version
    
    To run on Travis, all three ES urls need to be the same:
    ENV['ELASTICSEARCH_URL'] &
    ENV['ELASTICSEARCH_1_URL'] &
    ENV['UPGRADED_ELASTICSEARCH_URL']
    
    All need to point to the same thing. Whenever running an instance of the app
    with two versions of ES, ENV['ELASTICSEARCH_URL'] and ENV['ELASTICSEARCH_1_URL']
    need to point to the old version and ENV['UPGRADED_ELASTICSEARCH_URL'] needs to
    point to the new version.
    
    * Second attempt with 6.0.0-alpha1 ES
    
    * For test with ES 6.0.0-alpha1
    
    * Fixes Travis run in 6.0.0-alpha1 ES
    
    * Untar
    
    * Try starting both
    
    * Simple test run
    
    * Differentiate the builds
    
    * Differentiate the builds
    
    * Restore all the tests
    
    * Fixes call to new elasticsearch api perform_request
    
    * Updates to test suite to watch how upgraded es version works on its own
    
    * refactors out index updating methods in feature specs
    
    * Adds rollout specs
    
    * Fixes bug in work search form object
    
    * Matches config to travis
    
    * Removes all but rspec tests from travis for now
    
    * Sets up tests & rollout methods use expected behavior
    
    * Fixes switch from string to text or keyword for index definitions
    
    * Updates index definitions to be compatible with 6.0.0.beta2 ES version
    
    * Changes localhost to home IP for old ES urls
    
    * Does not require old es to work when old es is gone
    
    * Switches ES bool queries to true/false
    
    * Fixes spec failures for ES Group 1
    
    * Adds specific test to ensure old elasticsearch does not index when it's not present
    
    * Moves to new elasticsearch document indexing when old es is gone
    
    * Fixes problem with helper method for specs
    
    * Ensures app never attempts to reindex an old es index in the new es instance
    
    * Makes it so that a user doesn't have to be present if use_new_search is 100% enabled
    
    * Runs ES=1
    
    * Runs ES=2
    
    * Runs ES=3
    
    * Runs ES=4
    
    * Back to rspec
    
    * Removes command to rebuild three times upon failure
    
    * Updates set_rollout script to use global  variable
    
    * Adds rollout definitions to test suite to see if that addresses Travis build problem
    
    * Runs build with ES=1
    
    * Runs all builds
    
    * Adds same assurances to features as specs that ES will work w/ both versions
    
    * Fixes imported image URL in feature spec
    
    * Fixes reference to tire methods when tire is gone in feature support methods
    
    * Runs only ES=4
    
    * Moves es/rollout code for feature specs
    
    * Fixes boolean representation in work search form
    
    * Fixes boolean in ES search in bookmark search form
    
    * Fixes bookmarks feature failures
    
    * Fixes works_restricted feature failures
    
    * Runs all four ES groups
    
    * Runs ES=1 and ES=4
    
    * Comments out test that's breaking due to third-party url bug
    
    * Makes Travis only run 2 trials
    
    1 - With the old Elasticsearch, in which we test that the old Elasticsearch
    continues to work while start_new_indexing is true (individual tests also test
    that the SearchForm classes continue to work as expected, meaning that the new
    Elasticsearch also works in this case when use_new_search is true)
    
    2 - With the new Elasticsearch
    
    * Adds old exlclusion filter code
    
    * Adds tests & code for work filtering with exclusion tags
    
    * Addresses Travis test failures
    
    * Adds bookmark exclusion filters
    
    * Downgrades back to 5.6.1 (latest stable) ES version
    
    * Adds single_mapping => true to ES indices
    
    * Fixes failure to index bookmarks when they do not have a bookmarkable object
    
    * Adds comments to help when removing old code
    
    * Removes rollout manipulation from Travis
    
    This was not actually setting features. All Travis needs to do is install one or
    both versions of ES depending on the test group being run.
    
    * Adds test cases for use_new_search? controller method
    
    * Adds tests & fixes bugs for filtering
    
    * Removes default 'true' from use_new_search method
    
    Reverts old styles and scripts to master
    
    * Fixes typos
    
    * Fixes more typos
    
    * Fixes rollout test for works controller
    
    * Fixes works controller mistake
    
    * Ports over ALL js and css changes that effect filters
    
    * Removes useless method
    
    * Removes file that has nothing to do with new search
    
    * Fixes failing filter tests
    
    * Pulls in fix for autocomplete bug from master
    
    * AO3-4815: Fill out new batch indexing code
    
    * Fixes merge clobbering of css & js files
    
    * AO3-4815: Add new ES to codeship script and use local.yml instead of … (#3110)
    
    * AO3-4815: Add new ES to codeship script and use local.yml instead of editing the regular config
    
    * Fix ES download url and load local config when testing
    
    * AO3-4815: Ensure correct results when browsing bookmarks by user (#3109)
    
    * AO3-5213 Index authors on works correctly for sorting (#3114)
    
    AO3-5213 Index authors on works correctly for sorting
    
    * AO3-5207 Add StatCounterIndexer and fix order of reindexing. (#3111)
    
    * AO3-5207 First go at StatCounter reindexing.
    
    * AO3-5207 Add RSpec tests to make sure it works.
    
    * AO3-5207 Small fixes to pass tests.
    
    * AO3-5207 Make sure to call original when stubbing.
    
    * AO3-5207 Finally fixed.
    
    * AO3-5212 Index correct user ids for works. Also throw in a couple of updated work type tag ids (#3112)
    
    * AO3-5209 Don't change the appearance of non-work & bookmark filters (#3117)
    
    * AO3-5209 Use old JavaScript and views for old Elasticsearch filters (styling fixes to come)
    
    * AO3-5209 Restyle old filters
    
    * AO3-5209 Ensure new work and bookmark filter styling does not conflict with exisiting collection filter styles
    
    * AO3-5216 Fix setting authenticity tokens when cached pages load (#3118)
    
    This was the fix for AO3-5153, which got lost in a merge.
    
    * AO3-5214 Only run the tests on Travis once for now (#3116)
    
    * AO3-5208: Fix filtering behavior (#3113)
    
    * AO3-5208: Fix filtering behavior by drilling down and setting facets appropriately.
    
    * AO3-5208: Don't error when there are no filters
    
    * AO3-5208: Ensure excluded tags are visible in filters
    
    * AO3-5208: Make sure bookmark facet query knows about exclusions. Also don't index filters and other bookmarkable fields on the bookmark itself since that's what we're trying to avoid.
    
    * AO3-5208: Dry up some tag-related query methods, reduce number of db requests, only exclude children of Character tags, and make exclusion work for bookmark tags again
    
    * AO3-5208: Update some tests to match new behavior
    
    * AO3-5208: Put excluded bookmark tags in the right filter bucket
    
    * AO3-5208: Remove sub tag exclusion code, since the meta tag id is already indexed on works
    
    * AO3-5208: Comment out tests for types of exclusion filtering we aren't currently doing for bookmarks
    
    * AO3-5208: Enable querying on both parent and child bookmark fields and reflect queries in bookmark filters
    
    * AO3-5208: Update tests for bookmark search syntax change and bookmarker indexing encompassing user name
    
    * AO3-5208: Make 'other tags' filtering work for noncanonical tags as well
    
    * AO3-5223: Fix id on bookmarks exclude field
    
    * AO3-5208: Remove child exclusion from filters and enable inclusion for noncanonical tags
    
    * AO3-5220 and AO3-5224: Fix searching bookmarks by notes and tag names and index bookmarkable date for sorting
    
    * AO3-5220: Update old bookmark search code for notes fix, fix spacing in module
    
    * AO3-5225 Fix sidebar counts and scope by user id if a user is present (#3119)
    
    * AO3-5225: Fix sidebar counts and scope by user id if a user is present
    
    * AO3-5225: Update user dashboard feature to check counts in multiple places
    
    * AO3-5221: Set up a pathway from bookmarked classes to our indexers
    
    * AO3-5221: Fix code that got re-added on merge
    
    * AO3-5221: Do a little method delegation
    
    * AO3-5221: Make sure stat counter indexing still works
    
    * AO3-5221: Update comments
    
    * AO3-5222: Restore changes that got clobbered by merge
    
    * Removes single_type mapping definition
    
    * Fixes async indexer spec by changing mocked expectations
    
    * AO3-5254: Fix bookmark search (#3188)
    
    * AO3-5254: Upgrade elasticsearch gem to 6.0.0
    
    * AO3-5254: Fix issue with parent key in child queries
    
    * AO3-5280 Add co-creator names to co-creator emails (#3185)
    
    * Add co-creator names to notification email
    
    * Co-author email notifications
    
    * AO3-5262: Move query cleaning out of the works controller (#3189)
    
    * AO3-5262: Move query cleaning out of the works controller
    
    * AO3-5262: Fine-tune category matching regex
    
    * AO3-3576: Update tests for category escaping
    
    * AO3-5229: Simple fix for ancient date errors (#3190)
    
    * AO3-5229: Simple fix for ancient date errors
    
    * AO3-5229: Extend fix to date ranges
    
    * AO3-5265: Switch tag name search back to a query string to allow partial matching (#3196)
    
    * AO3-5264: Set operator for bookmark search (#3195)
    
    * AO3-5263: More filters! (#3194)
    
    * Trying out new work filtering options
    
    * Add new radio buttons to main search form
    
    * Add help page for crossovers
    
    * Fix spec
    
    * AO3-5263 Front end adjustments for additional filter options
    
    * AO3-5263 Update classes on bookmark filters
    
    * AO3-5263 Wording change for work search crossover label
    
    * AO3-5226: People Search (#3191)
    
    * Update people search to include autocompletes and fandom filtering and strip out unused code for people index
    
    * Fix pagination and remove duplicate ids
    
    * AO3-5226: Use decorator to incorporate search results to save on lookups
    
    * AO3-5226: Update pseud index for creations
    
    * AO3-5226: Fix pseuds reference in work callback
    
    * AO3-5226: Missed a collection test
    
    * AO3-5226: Tidy up people page links
    
    * AO3-5226: Reindex when other work visibility attributes change
    
    * AO3-5226: Fine tune the general people query
    
    * AO3-5226: Add to list of fields that should trigger pseud reindex, plus view tweaks
    
    * AO3-5226: Remove colons from labels
    
    * AO3-5273: Fix child queries for bookmark filter data (#3197)
    
    * AO3-5274 Create visual distinction between exclusion and inclusion checkboxes (#3200)
    
    * AO3-5274 Distinguish exclusion filters from inclusion filters
    
    TODO: Update HTML of all other filter partials
    TODO: Better styling for radio buttons
    
    * AO3-5274 Update HTML of filter partials
    
    * AO3-5274 Restyle checkboxes and radios for filters
    
    * AO3-5274 Update radio styling
    
    * AO3-5274 Use helper method for generating label contents
    
    Also put the indicator in a separate span so it can be hidden from screen readers
    
    * AO3-5274 Rename helper method
    
    * AO3-5274 Tidy CSS and add focus style
    
    * AO3-5274 HTML fixes for work filters
    
    * AO3-5274 Adjust colors and add gradient fallbacks
    
    * AO3-5274 Tweak CSS more
    
    * AO3-5274 Remove style that was for a different experiment
    
    * AO3-5269 Fix regex for getting sortable work authors (#3199)
    
    * AO3-5269 Fix regex for getting sortable work authors
    
    The hyphen should be escaped.
    
    * AO3-5269 Move some tests to work_spec
    
    * AO3-5269 Test pseuds starting with numbers and anonymous works
    
    Improve spec names.
    Avoid saving to the database.
    
    * AO3-5277 Shrink "Show" button on collection Fandoms page (#3204)
    
    * AO3-5277 Call the media selecting form on the collection Fandoms page something other than filters
    
    * AO3-5277 Tidy fandom index
    
    * AO3-5279 - Deleting bookmarks causes error in BookmarkIndexer. (#3201)
    
    * AO3-5279 Don't call id on a nil object.
    
    * AO3-5279 Missed one call to parent_id.
    
    * Simplifies line in query_result class
    
    * Fixes index sweeper/stat counter indexer interaction
Commits on Dec 15, 2017
  1. AO3-5289: Fix timezone feature failure (#3209)

    elzj authored and redsummernight committed Dec 15, 2017
  2. AO3-5278: Fix pseud search error when logged out (#3207)

    elzj authored and redsummernight committed Dec 15, 2017
    * AO3-5278: Fix nil error on pseud search when logged out
    
    * AO3-5278: Add scenario to spec