Skip to content
Snippets Groups Projects
  1. Jun 28, 2022
    • Claire's avatar
      Revamp post filtering system (#18058) · 02851848
      Claire authored
      * Add model for custom filter keywords
      
      * Use CustomFilterKeyword internally
      
      Does not change the API
      
      * Fix /filters/edit and /filters/new
      
      * Add migration tests
      
      * Remove whole_word column from custom_filters (covered by custom_filter_keywords)
      
      * Redesign /filters
      
      Instead of a list, present a card that displays more information and handles
      multiple keywords per filter.
      
      * Redesign /filters/new and /filters/edit to add and remove keywords
      
      This adds a new gem dependency: cocoon, as well as a npm dependency:
      cocoon-js-vanilla. Those are used to easily populate and remove form fields
      from the user interface when manipulating multiple keyword filters at once.
      
      * Add /api/v2/filters to edit filter with multiple keywords
      
      Entities:
      - `Filter`: `id`, `title`, `filter_action` (either `hide` or `warn`), `context`
        `keywords`
      - `FilterKeyword`: `id`, `keyword`, `whole_word`
      
      API endpoits:
      - `GET /api/v2/filters` to list filters (including keywords)
      - `POST /api/v2/filters` to create a new filter
        `keywords_attributes` can also be passed to create keywords in one request
      - `GET /api/v2/filters/:id` to read a particular filter
      - `PUT /api/v2/filters/:id` to update a new filter
        `keywords_attributes` can also be passed to edit, delete or add keywords in
         one request
      - `DELETE /api/v2/filters/:id` to delete a particular filter
      - `GET /api/v2/filters/:id/keywords` to list keywords for a filter
      - `POST /api/v2/filters/:filter_id/keywords/:id` to add a new keyword to a
         filter
      - `GET /api/v2/filter_keywords/:id` to read a particular keyword
      - `PUT /api/v2/filter_keywords/:id` to edit a particular keyword
      - `DELETE /api/v2/filter_keywords/:id` to delete a particular keyword
      
      * Change from `irreversible` boolean to `action` enum
      
      * Remove irrelevent `irreversible_must_be_within_context` check
      
      * Fix /filters/new and /filters/edit with update for filter_action
      
      * Fix Rubocop/Codeclimate complaining about task names
      
      * Refactor FeedManager#phrase_filtered?
      
      This moves regexp building and filter caching to the `CustomFilter` class.
      
      This does not change the functional behavior yet, but this changes how the
      cache is built, doing per-custom_filter regexps so that filters can be matched
      independently, while still offering caching.
      
      * Perform server-side filtering and output result in REST API
      
      * Fix numerous filters_changed events being sent when editing multiple keywords at once
      
      * Add some tests
      
      * Use the new API in the WebUI
      
      - use client-side logic for filters we have fetched rules for.
        This is so that filter changes can be retroactively applied without
        reloading the UI.
      - use server-side logic for filters we haven't fetched rules for yet
        (e.g. network error, or initial timeline loading)
      
      * Minor optimizations and refactoring
      
      * Perform server-side filtering on the streaming server
      
      * Change the wording of filter action labels
      
      * Fix issues pointed out by linter
      
      * Change design of “Show anyway” link in accordence to review comments
      
      * Drop “irreversible” filtering behavior
      
      * Move /api/v2/filter_keywords to /api/v1/filters/keywords
      
      * Rename `filter_results` attribute to `filtered`
      
      * Rename REST::LegacyFilterSerializer to REST::V1::FilterSerializer
      
      * Fix systemChannelId value in streaming server
      
      * Simplify code by removing client-side filtering code
      
      The simplifcation comes at a cost though: filters aren't retroactively
      applied anymore.
      Unverified
      02851848
  2. Mar 28, 2022
    • Claire's avatar
      Fix test-related issues (#17888) · 30658924
      Claire authored
      * Remove obsolete RSS::Serializer test
      
      Since #17828, RSS::Serializer no longer has specific code for deleted statuses,
      but it is never called on deleted statuses anyway.
      
      * Rename erroneously-named test files
      
      * Fix failing test
      
      * Fix test deprecation warnings
      
      * Update CircleCI Ruby orb
      
      1.4.0 has a bug that does not match all the test files due to incorrect
      globbing
      Unverified
      30658924
  3. Mar 15, 2022
  4. Mar 07, 2022
    • Claire's avatar
      Add more migration tests (#17710) · 61ae6b35
      Claire authored
      * Add migration tests for hide_network settings migration
      
      * Add tests about suspended/suspended_at
      
      * Add more tests regarding the results of migrations
      
      * Fix migration test regarding stale conflicting remote account
      
      * Add migration tests about AccountConversation
      Unverified
      61ae6b35
  5. Mar 06, 2022
  6. Feb 28, 2022
  7. Feb 14, 2022
  8. Jan 30, 2022
  9. Nov 18, 2021
    • Shlee's avatar
      Ruby 3.0.2 Upgrade (#16982) · c242c1d8
      Shlee authored
      * Update .ruby-version
      
      * Update Gemfile
      
      * Update Gemfile.lock
      
      * Update Dockerfile
      
      * Update check-i18n.yml
      
      * Update config.yml
      
      * Update config.yml
      Unverified
      c242c1d8
  10. Nov 06, 2021
  11. Oct 18, 2021
  12. Aug 10, 2021
  13. May 22, 2021
  14. May 06, 2021
    • Claire's avatar
      Add Ruby 3.0 support (#16046) · 566fc909
      Claire authored
      * Fix issues with POSIX::Spawn, Terrapin and Ruby 3.0
      
      Also improve the Terrapin monkey-patch for the stderr/stdout issue.
      
      * Fix keyword argument handling throughout the codebase
      
      * Monkey-patch Paperclip to fix keyword arguments handling in validators
      
      * Change validation_extensions to please CodeClimate
      
      * Bump microformats from 4.2.1 to 4.3.1
      
      * Allow Ruby 3.0
      
      * Add Ruby 3.0 test target to CircleCI
      
      * Add test for admin dashboard warnings
      
      * Fix admin dashboard warnings on Ruby 3.0
      Unverified
      566fc909
  15. Jul 18, 2020
  16. May 01, 2020
  17. Apr 04, 2020
  18. Mar 08, 2020
  19. Jan 28, 2020
    • ThibG's avatar
      Fix Gemfile.lock (#12995) · 1051de01
      ThibG authored
      * Use bundle install in deployment mode for Continuous Integration to catch Gemfile.lock issues
      
      * Fix deprecation warnings
      
      * Fix Gemfile.lock
      
      * More changes to catch Gemfile.lock issues
      1051de01
  20. Jan 15, 2020
  21. Jan 11, 2020
  22. Jan 10, 2020
  23. Dec 29, 2019
  24. Sep 12, 2019
  25. Aug 30, 2019
  26. Jun 16, 2019
  27. Jan 02, 2019
  28. Dec 29, 2018
  29. Oct 28, 2018
  30. Oct 24, 2018
  31. Oct 20, 2018
  32. Aug 18, 2018
  33. Jul 30, 2018
  34. Jul 03, 2018
  35. May 11, 2018
  36. May 09, 2018
  37. May 06, 2018
Loading