Skip to content
Snippets Groups Projects
  1. Oct 26, 2022
  2. Oct 22, 2022
  3. Oct 21, 2022
  4. Oct 20, 2022
    • Eugen Rochko's avatar
      Change public accounts pages to mount the web UI (#19319) · 839f8931
      Eugen Rochko authored
      * Change public accounts pages to mount the web UI
      
      * Fix handling of remote usernames in routes
      
      - When logged in, serve web app
      - When logged out, redirect to permalink
      - Fix `app-body` class not being set sometimes due to name conflict
      
      * Fix missing `multiColumn` prop
      
      * Fix failing test
      
      * Use `discoverable` attribute to control indexing directives
      
      * Fix `<ColumnLoading />` not using `multiColumn`
      
      * Add `noindex` to accounts in REST API
      
      * Change noindex directive to not be rendered by default before a route is mounted
      
      * Add loading indicator for detailed status in web UI
      
      * Fix missing indicator appearing while account is loading in web UI
      839f8931
  5. Oct 13, 2022
  6. Oct 12, 2022
  7. Oct 08, 2022
  8. Oct 06, 2022
  9. Oct 05, 2022
  10. Oct 04, 2022
  11. Sep 29, 2022
  12. Sep 27, 2022
  13. Sep 24, 2022
  14. Sep 21, 2022
    • Claire's avatar
      Fix various rspec warnings in ReportService tests (#19189) · 26c51cfa
      Claire authored
      * Fix various rspec warnings in ReportService tests
      
      * Add tests to ReportService
      26c51cfa
    • Claire's avatar
      Refactor ActivityPub handling to prepare for non-Account actors (#19212) · 8cf7006d
      Claire authored
      * Move ActivityPub::FetchRemoteAccountService to ActivityPub::FetchRemoteActorService
      
      ActivityPub::FetchRemoteAccountService is kept as a wrapper for when the actor is
      specifically required to be an Account
      
      * Refactor SignatureVerification to allow non-Account actors
      
      * fixup! Move ActivityPub::FetchRemoteAccountService to ActivityPub::FetchRemoteActorService
      
      * Refactor ActivityPub::FetchRemoteKeyService to potentially return non-Account actors
      
      * Refactor inbound ActivityPub payload processing to accept non-Account actors
      
      * Refactor inbound ActivityPub processing to accept activities relayed through non-Account
      
      * Refactor how Account key URIs are built
      
      * Refactor Request and drop unused key_id_format parameter
      
      * Rename ActivityPub::Dereferencer `signature_account` to `signature_actor`
      8cf7006d
  15. Sep 20, 2022
    • Eugen Rochko's avatar
    • Claire's avatar
      Improve error reporting and logging when processing remote accounts (#15605) · 1145dbd3
      Claire authored
      * Add a more descriptive PrivateNetworkAddressError exception class
      
      * Remove unnecessary exception class to rescue clause
      
      * Remove unnecessary include to JsonLdHelper
      
      * Give more neutral error message when too many webfinger redirects
      
      * Remove unnecessary guard condition
      
      * Rework how “ActivityPub::FetchRemoteAccountService” handles errors
      
      Add “suppress_errors” keyword argument to avoid raising errors in
      ActivityPub::FetchRemoteAccountService#call (default/previous behavior).
      
      * Rework how “ActivityPub::FetchRemoteKeyService” handles errors
      
      Add “suppress_errors” keyword argument to avoid raising errors in
      ActivityPub::FetchRemoteKeyService#call (default/previous behavior).
      
      * Fix Webfinger::RedirectError not being a subclass of Webfinger::Error
      
      * Add suppress_errors option to ResolveAccountService
      
      Defaults to true (to preserve previous behavior). If set to false,
      errors will be raised instead of caught, allowing the caller to be
      informed of what went wrong.
      
      * Return more precise error when failing to fetch account signing AP payloads
      
      * Add tests
      
      * Fixes
      
      * Refactor error handling a bit
      
      * Fix various issues
      
      * Add specific error when provided Digest is not 256 bits of base64-encoded data
      
      * Please CodeClimate
      
      * Improve webfinger error reporting
      1145dbd3
  16. Aug 28, 2022
    • luzpaz's avatar
      Fix typos (#18604) · 4aa3b9bd
      luzpaz authored
      * Fix typos
      
      Found via `codespell -q 3 -S ./CHANGELOG.md,./AUTHORS.md,./config/locales,./app/javascript/mastodon/locales -L ba,keypair,medias,pixelx,ro`
      
      * Follow-up typo fix
      4aa3b9bd
  17. 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
  18. Aug 24, 2022
  19. Aug 17, 2022
  20. Jul 17, 2022
  21. Jul 13, 2022
  22. Jul 05, 2022
  23. Jul 04, 2022
  24. 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
  25. 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
  26. Jun 21, 2022
  27. Jun 09, 2022
Loading