Permalink
Commits on Sep 15, 2018
  1. AO3-5482 Avoid saving long paths in session cookie (#3417)

    redsummernight authored and zz9pzza committed Sep 15, 2018
    * AO3-5482 Avoid saving long paths in session cookie
    
    Sessions are stored in cookies, which has a 4KB size limit.
    If we store paths that are too long (e.g. filters with lots of
    exclusions), we will run into CookieOverflow errors.
    
    * AO3-5482 Remove old stored path if not saving a new one
Commits on Sep 5, 2018
  1. AO3-5489 Best match sorting for bookmarks (#3418)

    elzj authored and zz9pzza committed Sep 5, 2018
    * AO3-5456 Remove tests for Elasticsearch 0.90
    
    Start only Elasticsearch 6.0 in test builds.
    
    Update test for AO3-5331: searching by additional tags for a synonym
    of a metatag returns only works using the exact tag.
    
    * AO3-5456 Remove step to activate new search for specific users
    
    * AO3-5456 Update collection test to look for Bookmarked Items
    
    * Clean up remnants of the old search system
    
    * Remove Tire gem
    
    * Restore method that's still needed
    
    * Remove subqueue class and tests
    
    * Remove more checks
    
    * Update travis config and remove old search tests
    
    * Remove upgrade test and mark one needing updates as pending
    
    * Remove more new-search tags
    
    * AO3-5477: Nix search class but retain helper methods
    
    * AO3-5477: Turn work search into a helper class before potentially breaking it down
    
    * AO3-5477: Fix nil errors in search range
    
    * AO3-5477: One more fix for nils
    
    * AO3-5477: Clean up views
    
    * AO3-5477: Remove last remnants of old work search class
    
    * AO3-5477: Add back search option handling methods
    
    * AO3-5477 and AO3-5490: Add boost and fix specs
    
    * AO3-5477: Add sorting check back to work search form, update test syntax, and tweak boosts
    
    * AO3-5477: A couple more tweaks
    
    * AO3-5477: Remove stray reference to new search
    
    * AO3-5477: Remove two more expendable classes
    
    * AO3-5477: Avoid conflicts when updating config by renaming the variable
    
    * AO3-5477: Fix best match sorting on bookmarks
  2. New hosts (#3419)

    zz9pzza authored and elzj committed Sep 5, 2018
Commits on Aug 29, 2018
  1. AO3-5477 Elasticsearch URL config update (#3415)

    elzj authored and redsummernight committed Aug 29, 2018
    * AO3-5477: Avoid conflicts when updating config by renaming the variable
  2. AO3-5515 Remove rubyzip 1.2.1 and selenium-webdriver (#3416)

    redsummernight authored and sarken committed Aug 29, 2018
    rubyzip 1.2.1 is affected by CVE-2018-1000544 and only used by
    selenium-webdriver, a test-only dependency. We can remove both.
Commits on Aug 28, 2018
  1. AO3-5477 AO3-5489 AO3-5490 Remove old search, fix best match sorting …

    elzj authored and sarken committed Aug 28, 2018
    …and creator/title boosting in work search (#3379)
    
    * AO3-5456 Remove tests for Elasticsearch 0.90
    
    Start only Elasticsearch 6.0 in test builds.
    
    Update test for AO3-5331: searching by additional tags for a synonym
    of a metatag returns only works using the exact tag.
    
    * AO3-5456 Remove step to activate new search for specific users
    
    * AO3-5456 Update collection test to look for Bookmarked Items
    
    * Clean up remnants of the old search system
    
    * Remove Tire gem
    
    * Restore method that's still needed
    
    * Remove subqueue class and tests
    
    * Remove more checks
    
    * Update travis config and remove old search tests
    
    * Remove upgrade test and mark one needing updates as pending
    
    * Remove more new-search tags
    
    * AO3-5477: Nix search class but retain helper methods
    
    * AO3-5477: Turn work search into a helper class before potentially breaking it down
    
    * AO3-5477: Fix nil errors in search range
    
    * AO3-5477: One more fix for nils
    
    * AO3-5477: Clean up views
    
    * AO3-5477: Remove last remnants of old work search class
    
    * AO3-5477: Add back search option handling methods
    
    * AO3-5477 and AO3-5490: Add boost and fix specs
    
    * AO3-5477: Add sorting check back to work search form, update test syntax, and tweak boosts
    
    * AO3-5477: A couple more tweaks
    
    * AO3-5477: Remove stray reference to new search
    
    * AO3-5477: Remove two more expendable classes
Commits on Aug 26, 2018
  1. AO3-4625 Make call to potentially missing bookmarkable safer (#3413)

    ariana-paris authored and redsummernight committed Aug 26, 2018
    * AO3-4625 Make call to potentially missing bookmarkable safer
    
    * AO3-4625 Remove redundant variable assignment
  2. AO3-5420 Add more line-height for stats links in blurbs (#3414)

    redsummernight authored and sarken committed Aug 26, 2018
    Use the Archive's em scale: 30px/14px = 2.143.
Commits on Aug 22, 2018
  1. AO3-5323 Disable support form (#3398)

    ariana-paris authored and sarken committed Aug 22, 2018
    * AO3-5323 Add admin setting to disable support form
    
    * AO3-5323 Don't toggle the support textbox
    
    * AO3-5323 Display disabled text instead of support form if it is disabled
    
    * AO3-5323 Add AdminSetting to update controller action
    
    * AO3-5323 Remove unused JS and use new cached AdminSetting
    
    * AO3-5323 Update text on Support form
    
    * AO3-5323 Update migration and link to Abuse
Commits on Aug 18, 2018
  1. AO3-5510: Make tag update transaction size configurable (#3410)

    elzj authored and zz9pzza committed Aug 18, 2018
  2. AO3-5448 Return 404 instead of 500 for nonexistent FAQs (#3412)

    redsummernight authored and sarken committed Aug 18, 2018
Commits on Aug 17, 2018
  1. Revert "AO3-4458 Update mail gem to 2.7.0 (#3408)" (#3411)

    redsummernight authored and sarken committed Aug 17, 2018
    This reverts commit eb352ce.
Commits on Aug 16, 2018
  1. AO3-5453 Really encode deleted work email attachments with base64 (#3409

    redsummernight authored and sarken committed Aug 16, 2018
    )
    
    If we specify an encoding, Mail will assume that the content is
    already encoded and not try to encode it. We'll do it ourselves.
Commits on Aug 14, 2018
  1. AO3-4458 Update mail gem to 2.7.0 (#3408)

    redsummernight authored and sarken committed Aug 14, 2018
Commits on Aug 13, 2018
  1. AO3-5447 Give 404 instead of 500 for works pages for nonexistent users (

    sarken authored and redsummernight committed Aug 13, 2018
    #3345)
    
    * AO3-5447 Raise 404 error for nonexistent users' works pages
    
    * AO3-5447 Owner tests
    
    AO3-5447 Test mergers in collections as long as I'm here
    
    * AO3-5447 Fix test failures
    
    * It thought 'the works page' meant /users/the/works and not just /works
    * Typo in admin tests had us checking a nonexistent user's works page
    
    AO3-5447 Fix tests that were accidentally checking the works pages for nonexistent users
    
    AO3-5447 Update the regex for user work paths
    
    * Thanks zz9pzza
    
    * AO3-5447 Clean up exisiting tests
    
    * Less FactoryGirl.create
    * Less posted: true
    * Less repetition on the includes
    
    AO3-5447 Older tests shouldn't say should
    
    * AO3-5447 Spacing fixes for specs
    
    * AO3-5447 Use find_by! to raise RecordNotFound error
    
    * AO3-5447 Prefer let! over instance variables in new tests
  2. AO3-5509 Wait for ES startup on Codeship (#3407)

    redsummernight authored and sarken committed Aug 13, 2018
    Also fix the find command in check_syntax.
Commits on Aug 12, 2018
  1. AO3-5503: Add caching to subscription emails (#3406)

    elzj authored and sarken committed Aug 12, 2018
    * AO3-5503: Add caching to subscription emails
    
    * AO3-5503: Extract method so we don't have to set it in the mailer view, enable mailer caching in various environments
Commits on Aug 11, 2018
  1. AO3-5369 work previous/next chapter navigation to anchor on main cont…

    DreamSea authored and redsummernight committed Aug 11, 2018
    …ent (#3280)
  2. AO3-5190 Abuse and support form language on error (#3235)

    Meepu authored and redsummernight committed Aug 11, 2018
    * AO3-5190 Abort and support form language on error
    
    * AO3-5190: Add tests
    
    * AO3-5190 Fix faulty test condition, remove unnecessary test scenario
  3. AO3-5019 Fix text overlap in related works section on downloads (#3167)

    tuff authored and redsummernight committed Aug 11, 2018
    * AO3-5019 Fix text overlap in related works section on downloads
    
    * AO3-5019 (review) Restore only_path:false in related works bylines
    
    * AO3-5019 (review) avoid splitting up ts() strings
    
    * AO3-5019 (review) work_url -> url_for
  4. AO3-5185 Strip blank autocomplete words (#3076)

    tickinginstant authored and redsummernight committed Aug 11, 2018
  5. AO3-4559: Languages can be sorted alphabetically by optional sortable…

    cyrilcee authored and sarken committed Aug 11, 2018
    …_name (#3107)
    
    * A03-4559 Add sortable_name column and index to languages
    
    * AO3-4559 Admin can edit language by sortable_name, with specs
    
    * AO3-4559 Language.default_order sorts by sortable_name first, short second
    
    * AO3-4559 Sort languages by default_order everywhere
    
    * Address Houndci-bot comments
    
    * AO3-4559 Sort languages by default_order instead of name
    
    * AO3-4559 Update timestamp on add_sortable_to_languages migration file
Commits on Aug 9, 2018
  1. AO3-5140 Fix date search regex matching whitespace (#3106)

    MaaikeVR authored and redsummernight committed Aug 9, 2018
  2. AO3-5335 Fix dropdown ordering on error pages (#3253)

    digiAlchem authored and redsummernight committed Aug 9, 2018
    * AO3-5335 - fixes dropdown ordering on error pages
    
    - "Search" dropdown now has Bookmarks and People in the correct order
    - "FAQ" in the "About" dropdown now links to the correct FAQ page
    - "About" dropdown now contains Wrangling Guidelines link
    
    * AO3-5335 - updates Search dropdown to use correct ordering, updates nomaintenance.html with new dropdowns
  3. AO3-5420 Increase line-height for stats links in blurbs (#3318)

    cruxicheiros authored and redsummernight committed Aug 9, 2018
    * Set line height in dl.stats blurb to 1.4
    
    Regards AO3-5420. Stops underlined text from touching the top of the next line under it.
    
    * Changed line height to better fit Archive em scale
  4. AO3-5495 Index comments on IP address (#3400)

    sarken authored and redsummernight committed Aug 9, 2018
  5. AO3-5496: Update transaction gems (#3399)

    elzj authored and sarken committed Aug 9, 2018
    * AO3-5496: Update transation gems
    
    * AO3-5496: Uncomment gemfile line
  6. AO3-4625 Mass import API v2 (#3105)

    ariana-paris authored and sarken committed Aug 9, 2018
    * AO3-4625 Version 2 API for new temp site
    
    * AO3-4625 Reorganise code into search, create, error, and hashes
    
    * AO3-4625 Refactor the wording in the tests
    
    * AO3-4625 Use factory to create archivist in spec tests
    
    * AO3-4625 Ruby named parameters are weird
    
    * AO3-4625 Named arguments need to be named everywhere
    
    * AO3-4625 Return 400 when an error has occurred
    
    * AO3-4625 Return a useful error if any chapter is empty
    
    * AO3-4625 Remove commented out debugging messages
    
    * AO3-4625 Amend tests as bookmark errors now return 400 Bad Request
    
    * AO3-4625 Use safe navigation in API work spec
    
    * AO3-4625 DeviantArt gallery now counts as an empty chapter
    
    * AO3-4625 Make claim notifications more functional
    
    * 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-5216 Fix setting authenticity tokens when cached pages load (#3118)
    
    This was the fix for AO3-5153, which got lost in a merge.
    
    * AO3-4625 Make work search more like bookmarks
    
    * AO3-4625 Convert StandardError exceptions to json messages
    
    * AO3-4625 Resolve wording and spacing issues
    
    * AO3-4625 Fix test issues caused by wording changes
    
    * AO3-4625 Use posted_work factory
    
    * AO3-4625 Can't match on double quotes in string in features
    
    * AO3-4625 Reinstate lost changes following merge with master
  7. AO3-5453 Encode deleted work email attachments with base64 (#3401)

    redsummernight authored and sarken committed Aug 9, 2018
    If the plain text attachment is encoded with 7bit, the email can
    have long lines that exceed the SMTP limit (998 octets), causing
    errors. With base64 encoding, attachments have line wrapping by
    default.
    
    HTML attachments are already base64-encoded, this change just
    makes that obvious.
Commits on Aug 7, 2018
  1. AO3-5465 Modify the crossover check. (#3405)

    tickinginstant authored and redsummernight committed Aug 7, 2018
    Currently, two fandoms are considered "related" for the purposes of the
    crossover check if one fandom's first-class meta tags are a subset of
    the other fandom's first-class meta tags. This means that if you have a
    fandom A with meta tags C and D, and a fandom B with meta tags D and E,
    then any work tagged with A and B counts as a crossover (because A has a
    meta tag C that isn't shared by B, and B has a meta tag E that isn't
    shared by A).
    
    This commit modifies the crossover check so that two fandoms count as
    "related" if they share a meta tag, meaning that fandoms A and B would
    count as related, and works tagged with both won't automatically count
    as crossovers.
Commits on Aug 6, 2018
  1. AO3-5500 Use collection syntax for partials (#3404)

    elzj authored and sarken committed Aug 6, 2018
    * AO3-5500: Use collection syntax for rendering partials
    
    * AO3-5500: Update syntax
Commits on Aug 4, 2018
  1. AO3-5486 Make user data output less confusing (#3403)

    sarken authored and redsummernight committed Aug 4, 2018
    * AO3-5486 Add special case for 'Invited' collection role
    
    'Invited to #{collection_url}' is more grammatical than 'Invited of #{collection_url}'
    
    * AO3-5486 List favorite tags by name
    
    * AO3-5486 Don't make a special case for Invited participant status, but do change the wording to someting that works for all statuses
    
    * AO3-5486 Handle audit data better
    
    Audit data only exists after July/August 2015, so we felt it would
    be less confusing if we avoided having an Account Changes section,
    which may give the idea it is a comprehensive list.
    
    * Add relevant IPs from audits table to IP list
    * Add list of previous email addresses based on audits
    * Add list of previous usernames based on audits
    
    * AO3-5486 Use a less roundabout way to get favorite tags
Commits on Aug 3, 2018
  1. AO3-4579 changes to challenge-owner-may-access-your-email notice (#3402)

    niconicosette authored and sarken committed Aug 3, 2018
    * AO3-4579 Challenge signup/creation email address warning (resubmission)
    
    * AO3-4579 add notice class to challenge email warning on new collection page
    
    *  AO3-4579 only make challenge-owner-can-access-ur-email warning show up on gift exchange signups
    
    * AO3-4579 indentations