Skip to content
Snippets Groups Projects
  1. Mar 09, 2021
  2. Mar 08, 2021
  3. Mar 04, 2021
  4. Mar 03, 2021
  5. Mar 01, 2021
  6. Feb 26, 2021
  7. Feb 25, 2021
  8. Feb 24, 2021
    • Erik Johnston's avatar
      Clean up `ShardedWorkerHandlingConfig` (#9466) · 29279219
      Erik Johnston authored
      * Split ShardedWorkerHandlingConfig
      
      This is so that we have a type level understanding of when it is safe to
      call `get_instance(..)` (as opposed to `should_handle(..)`).
      
      * Remove special cases in ShardedWorkerHandlingConfig.
      
      `ShardedWorkerHandlingConfig` tried to handle the various different ways
      it was possible to configure federation senders and pushers. This led to
      special cases that weren't hit during testing.
      
      To fix this the handling of the different cases is moved from there and
      `generic_worker` into the worker config class. This allows us to have
      the logic in one place and allows the rest of the code to ignore the
      different cases.
      Unverified
      29279219
  9. Feb 22, 2021
  10. Feb 19, 2021
    • Erik Johnston's avatar
      Add test · 3a2fe505
      Erik Johnston authored
      3a2fe505
    • Patrick Cloke's avatar
      Fix style checking due to updated black. · c4a55ac4
      Patrick Cloke authored
      c4a55ac4
    • Andrew Morgan's avatar
      Be smarter about which hosts to send presence to when processing room joins (#9402) · 8bcfc2ea
      Andrew Morgan authored
      This PR attempts to eliminate unnecessary presence sending work when your local server joins a room, or when a remote server joins a room your server is participating in by processing state deltas in chunks rather than individually.
      
      ---
      
      When your server joins a room for the first time, it requests the historical state as well. This chunk of new state is passed to the presence handler which, after filtering that state down to only membership joins, will send presence updates to homeservers for each join processed.
      
      It turns out that we were being a bit naive and processing each event individually, and sending out presence updates for every one of those joins. Even if many different joins were users on the same server (hello IRC bridges), we'd send presence to that same homeserver for every remote user join we saw.
      
      This PR attempts to deduplicate all of that by processing the entire batch of state deltas at once, instead of only doing each join individually. We process the joins and note down which servers need which presence:
      
      * If it was a local user join, send that user's latest presence to all servers in the room
      * If it was a remote user join, send the presence for all local users in the room to that homeserver
      
      We deduplicate by inserting all of those pending updates into a dictionary of the form:
      
      ```
      {
        server_name1: {presence_update1, ...},
        server_name2: {presence_update1, presence_update2, ...}
      }
      ```
      
      Only after building this dict do we then start sending out presence updates.
      Unverified
      8bcfc2ea
    • Andrew Morgan's avatar
      Add a config option to prioritise local users in user directory search results (#9383) · 13e9029f
      Andrew Morgan authored
      This PR adds a homeserver config option, `user_directory.prefer_local_users`, that when enabled will show local users higher in user directory search results than remote users. This option is off by default.
      
      Note that turning this on doesn't necessarily mean that remote users will always be put below local users, but they should be assuming all other ranking factors (search query match, profile information present etc) are identical.
      
      This is useful for, say, University networks that are openly federating, but want to prioritise local students and staff in the user directory over other random users.
      Unverified
      13e9029f
    • AndrewFerr's avatar
      Add configs to make profile data more private (#9203) · 9bc74743
      AndrewFerr authored
      
      Add off-by-default configuration settings to:
      - disable putting an invitee's profile info in invite events
      - disable profile lookup via federation
      
      Signed-off-by: default avatarAndrew Ferrazzutti <fair@miscworks.net>
      Unverified
      9bc74743
  11. Feb 18, 2021
  12. Feb 17, 2021
  13. Feb 16, 2021
  14. Feb 11, 2021
  15. Feb 08, 2021
  16. Feb 04, 2021
  17. Feb 03, 2021
  18. Feb 02, 2021
    • Travis Ralston's avatar
      Add an admin API to get the current room state (#9168) · b60bb28b
      Travis Ralston authored
      This could arguably replace the existing admin API for `/members`, however that is out of scope of this change.
      
      This sort of endpoint is ideal for moderation use cases as well as other applications, such as needing to retrieve various bits of information about a room to perform a task (like syncing power levels between two places). This endpoint exposes nothing more than an admin would be able to access with a `select *` query on their database.
      Unverified
      b60bb28b
  19. Feb 01, 2021
Loading