Skip to content
Snippets Groups Projects
  1. Aug 25, 2022
    • Eugen Rochko's avatar
      Remove digest e-mails (#17985) · 0b3e4fd5
      Eugen Rochko authored
      * Remove digest e-mails
      
      * Remove digest-related code
      0b3e4fd5
    • Eugen Rochko's avatar
      Add audit log entries for user roles (#19040) · 0396acf3
      Eugen Rochko authored
      * Refactor audit log schema
      
      * Add audit log entries for user roles
      0396acf3
    • Claire's avatar
      Add ability to filter individual posts (#18945) · 50487db1
      Claire authored
      * Add database table for status-specific filters
      
      * Add REST endpoints, entities and attributes
      
      * Show status filters in /filters interface
      
      * Perform server-side filtering for individual posts filters
      
      * Fix filtering on context mismatch
      
      * Refactor `toServerSideType` by moving it to its own module
      
      * Move loupe and delete icons to their own module
      
      * Add ability to filter individual posts from WebUI
      
      * Replace keyword list by warnings (expired, context mismatch)
      
      * Refactor server-side filtering code
      
      * Add tests
      50487db1
  2. Aug 24, 2022
  3. Aug 17, 2022
  4. Jul 17, 2022
  5. Jul 13, 2022
  6. Jul 05, 2022
  7. Jul 04, 2022
  8. 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.
      02851848
  9. Jun 23, 2022
    • Claire's avatar
      Add /api/v1/admin/domain_allows (#18668) · 35588d09
      Claire authored
      - `GET /api/v1/admin/domain_allows` lists allowed domains
      - `GET /api/v1/admin/domain_allows/:id` shows one by ID
      - `DELETE /api/v1/admin/domain_allows/:id` deletes a given domain from the list
        of allowed domains
      - `POST /api/v1/admin/domain_allows` to allow a new domain:
        if that domain is already allowed, the existing DomainAllow will be returned
      35588d09
  10. Jun 21, 2022
  11. Jun 09, 2022
  12. Jun 01, 2022
    • Claire's avatar
      Add StatusRelationshipsPresenter specs (#18588) · 3f142605
      Claire authored
      3f142605
    • Claire's avatar
      Add /api/v1/admin/domain_blocks (#18247) · 28329ba6
      Claire authored
      * Add /api/v1/admin/domain_blocks
      
      Fixes #18140
      
      - `GET /api/v1/admin/domain_blocks` lists domain blocks
      - `GET /api/v1/admin/domain_blocks/:id` shows one by ID
      - `DELETE /api/v1/admin/domain_blocks/:id` deletes a given domain block
      - `POST /api/v1/admin/domain_blocks` to create a new domain block:
        if it conflicts with an existing one, returns an error with
        an attribute `existing_domain_block` with the rendered domain block
      
      * Simplify conflict handling as suggested in review
      28329ba6
  13. May 27, 2022
  14. May 26, 2022
    • Claire's avatar
      Change unapproved and unconfirmed account to not be accessible in the REST API (#17530) · 440eb713
      Claire authored
      * Change unapproved and unconfirmed account to not be accessible in the REST API
      
      * Change Account#searchable? to reject unconfirmed and unapproved users
      
      * Disable search for unapproved and unconfirmed users in Account.search_for
      
      * Disable search for unapproved and unconfirmed users in Account.advanced_search_for
      
      * Remove unconfirmed and unapproved accounts from Account.searchable scope
      
      * Prevent mentions to unapproved/unconfirmed accounts
      
      * Fix some old tests for Account.advanced_search_for
      
      * Add some Account.advanced_search_for tests for existing behaviors
      
      * Add some tests for Account.search_for
      
      * Add Account.advanced_search_for tests unconfirmed and unapproved accounts
      
      * Add Account.searchable tests
      
      * Fix Account.without_unapproved scope potentially messing with previously-applied scopes
      
      * Allow lookup of unconfirmed/unapproved accounts through /api/v1/accounts/lookup
      
      This is so that the API can still be used to check whether an username is free
      to use.
      440eb713
  15. May 17, 2022
  16. May 10, 2022
  17. May 09, 2022
    • Eugen Rochko's avatar
      Change RSS feeds (#18356) · 2b8dc58b
      Eugen Rochko authored
      * Change RSS feeds
      
      - Use date and time for titles instead of ellipsized text
      - Use full content in body, even when there is a content warning
      - Use media extensions
      
      * Change feed icons and add width and height attributes to custom emojis
      
      * Fix custom emoji animate on hover breaking
      
      * Fix tests
      2b8dc58b
  18. May 02, 2022
  19. Apr 29, 2022
  20. Apr 28, 2022
  21. Apr 26, 2022
  22. Apr 07, 2022
  23. Apr 06, 2022
  24. Mar 30, 2022
  25. Mar 28, 2022
    • Claire's avatar
      Fix /api/v1/admin/accounts (#17887) · 894956e2
      Claire authored
      
      * Fix /api/v1/admin/accounts
      
      Compatibility was broken since #17009 which changed the underlying filter class
      without changing the controller.
      
      This commits restore support for the old parameters.
      
      * Add /api/v2/admin/accounts with the new parameters
      
      * Add tests
      
      * Add missing filter for `silenced` status
      
      Co-authored-by: default avatarEugen Rochko <eugen@zeonfederated.com>
      
      Co-authored-by: default avatarEugen Rochko <eugen@zeonfederated.com>
      894956e2
    • 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
      30658924
  26. Mar 26, 2022
    • Eugen Rochko's avatar
      Refactor formatter (#17828) · cefa526c
      Eugen Rochko authored
      * Refactor formatter
      
      * Move custom emoji pre-rendering logic to view helpers
      
      * Move more methods out of Formatter
      
      * Fix code style issues
      
      * Remove Formatter
      
      * Add inline poll options to RSS feeds
      
      * Remove unused helper method
      
      * Fix code style issues
      
      * Various fixes and improvements
      
      * Fix test
      cefa526c
  27. Mar 25, 2022
    • Eugen Rochko's avatar
      Fix edits with no actual changes being allowed (#17843) · 71f2b951
      Eugen Rochko authored
      * Fix edits with no actual changes being allowed locally
      
      * Fix edits with no actual changes being allowed through ActivityPub
      
      * Fix false positive changes caused by description processing in model
      
      * Fix not recording poll expiration update
      
      * Fix test
      
      * Revert changes to ProcessStatusUpdateService
      
      * Various fixes and improvements
      
      * Fix code style issues
      
      * Various changes and improvements
      
      * Add guard clause
      71f2b951
    • Eugen Rochko's avatar
      Add workaround for YouTube Shorts links (#17869) · b58db8f1
      Eugen Rochko authored
      * Add workaround for YouTube Shorts links
      
      * Update link_details_extractor_spec.rb
      b58db8f1
  28. Mar 15, 2022
  29. Mar 12, 2022
Loading