Skip to content
Extraits de code Groupes Projets
  1. avr. 09, 2021
  2. avr. 03, 2021
  3. mars 01, 2021
  4. fév. 21, 2021
  5. fév. 16, 2021
  6. nov. 19, 2020
  7. nov. 04, 2020
  8. oct. 21, 2020
    • ThibG's avatar
      Add follower synchronization mechanism (#14510) · ca565271
      ThibG a rédigé
      * Add support for followers synchronization on the receiving end
      
      Check the `collectionSynchronization` attribute on `Create` and `Announce`
      activities and synchronize followers from provided collection if possible.
      
      * Add tests for followers synchronization on the receiving end
      
      * Add support for follower synchronization on the sender's end
      
      * Add tests for the sending end
      
      * Switch from AS attributes to HTTP header
      
      Replace the custom `collectionSynchronization` ActivityStreams attribute by
      an HTTP header (`X-AS-Collection-Synchronization`) with the same syntax as
      the `Signature` header and the following fields:
      - `collectionId` to specify which collection to synchronize
      - `digest` for the SHA256 hex-digest of the list of followers known on the
         receiving instance (where “receiving instance” is determined by accounts
         sharing the same host name for their ActivityPub actor `id`)
      - `url` of a collection that should be fetched by the instance actor
      
      Internally, move away from the webfinger-based `domain` attribute and use
      account `uri` prefix to group accounts.
      
      * Add environment variable to disable followers synchronization
      
      Since the whole mechanism relies on some new preconditions that, in some
      extremely rare cases, might not be met, add an environment variable
      (DISABLE_FOLLOWERS_SYNCHRONIZATION) to disable the mechanism altogether and
      avoid followers being incorrectly removed.
      
      The current conditions are:
      1. all managed accounts' actor `id` and inbox URL have the same URI scheme and
         netloc.
      2. all accounts whose actor `id` or inbox URL share the same URI scheme and
         netloc as a managed account must be managed by the same Mastodon instance
         as well.
      
      As far as Mastodon is concerned, breaking those preconditions require extensive
      configuration changes in the reverse proxy and might also cause other issues.
      
      Therefore, this environment variable provides a way out for people with highly
      unusual configurations, and can be safely ignored for the overwhelming majority
      of Mastodon administrators.
      
      * Only set follower synchronization header on non-public statuses
      
      This is to avoid unnecessary computations and allow Follow-related
      activities to be handled by the usual codepath instead of going through
      the synchronization mechanism (otherwise, any Follow/Undo/Accept activity
      would trigger the synchronization mechanism even if processing the activity
      itself would be enough to re-introduce synchronization)
      
      * Change how ActivityPub::SynchronizeFollowersService handles follow requests
      
      If the remote lists a local follower which we only know has sent a follow
      request, consider the follow request as accepted instead of sending an Undo.
      
      * Integrate review feeback
      
      - rename X-AS-Collection-Synchronization to Collection-Synchronization
      - various minor refactoring and code style changes
      
      * Only select required fields when computing followers_hash
      
      * Use actor URI rather than webfinger domain in synchronization endpoint
      
      * Change hash computation to be a XOR of individual hashes
      
      Makes it much easier to be memory-efficient, and avoid sorting discrepancy issues.
      
      * Marginally improve followers_hash computation speed
      
      * Further improve hash computation performances by using pluck_each
      ca565271
  9. oct. 12, 2020
  10. sept. 15, 2020
  11. sept. 02, 2020
  12. août 24, 2020
    • santiagorodriguez96's avatar
      Add WebAuthn as an alternative 2FA method (#14466) · e8d41bc2
      santiagorodriguez96 a rédigé
      
      * feat: add possibility of adding WebAuthn security keys to use as 2FA
      
      This adds a basic UI for enabling WebAuthn 2FA. We did a little refactor
      to the Settings page for editing the 2FA methods – now it will list the
      methods that are available to the user (TOTP and WebAuthn) and from
      there they'll be able to add or remove any of them.
      Also, it's worth mentioning that for enabling WebAuthn it's required to
      have TOTP enabled, so the first time that you go to the 2FA Settings
      page, you'll be asked to set it up.
      This work was inspired by the one donde by Github in their platform, and
      despite it could be approached in different ways, we decided to go with
      this one given that we feel that this gives a great UX.
      
      Co-authored-by: default avatarFacundo Padula <facundo.padula@cedarcode.com>
      
      * feat: add request for WebAuthn as second factor at login if enabled
      
      This commits adds the feature for using WebAuthn as a second factor for
      login when enabled.
      If users have WebAuthn enabled, now a page requesting for the use of a
      WebAuthn credential for log in will appear, although a link redirecting
      to the old page for logging in using a two-factor code will also be
      present.
      
      Co-authored-by: default avatarFacundo Padula <facundo.padula@cedarcode.com>
      
      * feat: add possibility of deleting WebAuthn Credentials
      
      Co-authored-by: default avatarFacundo Padula <facundo.padula@cedarcode.com>
      
      * feat: disable WebAuthn when an Admin disables 2FA for a user
      
      Co-authored-by: default avatarFacundo Padula <facundo.padula@cedarcode.com>
      
      * feat: remove ability to disable TOTP leaving only WebAuthn as 2FA
      
      Following examples form other platforms like Github, we decided to make
      Webauthn 2FA secondary to 2FA with TOTP, so that we removed the
      possibility of removing TOTP authentication only, leaving users with
      just WEbAuthn as 2FA. Instead, users will have to click on 'Disable 2FA'
      in order to remove second factor auth.
      The reason for WebAuthn being secondary to TOPT is that in that way,
      users will still be able to log in using their code from their phone's
      application if they don't have their security keys with them – or maybe
      even lost them.
      
      * We had to change a little the flow for setting up TOTP, given that now
        it's possible to setting up again if you already had TOTP, in order to
        let users modify their authenticator app – given that now it's not
        possible for them to disable TOTP and set it up again with another
        authenticator app.
        So, basically, now instead of storing the new `otp_secret` in the
        user, we store it in the session until the process of set up is
        finished.
        This was because, as it was before, when users clicked on 'Edit' in
        the new two-factor methods lists page, but then went back without
        finishing the flow, their `otp_secret` had been changed therefore
        invalidating their previous authenticator app, making them unable to
        log in again using TOTP.
      
      Co-authored-by: default avatarFacundo Padula <facundo.padula@cedarcode.com>
      
      * refactor: fix eslint errors
      
      The PR build was failing given that linting returning some errors.
      This commit attempts to fix them.
      
      * refactor: normalize i18n translations
      
      The build was failing given that i18n translations files were not
      normalized.
      This commits fixes that.
      
      * refactor: avoid having the webauthn gem locked to a specific version
      
      * refactor: use symbols for routes without '/'
      
      * refactor: avoid sending webauthn disabled email when 2FA is disabled
      
      When an admins disable 2FA for users, we were sending two mails
      to them, one notifying that 2FA was disabled and the other to notify
      that WebAuthn was disabled.
      As the second one is redundant since the first email includes it, we can
      remove it and send just one email to users.
      
      * refactor: avoid creating new env variable for webauthn_origin config
      
      * refactor: improve flash error messages for webauthn pages
      
      Co-authored-by: default avatarFacundo Padula <facundo.padula@cedarcode.com>
      e8d41bc2
  13. août 09, 2020
  14. juil. 10, 2020
  15. juin 30, 2020
    • ThibG's avatar
      Add user notes on accounts (#14148) · 65506bac
      ThibG a rédigé
      * Add UserNote model
      
      * Add UI for user notes
      
      * Put comment in relationships entity
      
      * Add API to create user notes
      
      * Copy user notes to new account when receiving a Move activity
      
      * Address some of the review remarks
      
      * Replace modal by inline edition
      
      * Please CodeClimate
      
      * Button design changes
      
      * Change design again
      
      * Cancel note edition when pressing Escape
      
      * Fixes
      
      * Tweak design again
      
      * Move “Add note” item, and allow users to add notes to themselves
      
      * Rename UserNote into AccountNote, rename “comment” Relationship attribute to “note”
      65506bac
  16. juin 02, 2020
  17. mai 10, 2020
  18. avr. 20, 2020
  19. mars 31, 2020
  20. mars 08, 2020
  21. jan. 27, 2020
  22. jan. 23, 2020
    • Eugen Rochko's avatar
      Add announcements (#12662) · f52c988e
      Eugen Rochko a rédigé
      * Add announcements
      
      Fix #11006
      
      * Add reactions to announcements
      
      * Add admin UI for announcements
      
      * Add unit tests
      
      * Fix issues
      
      - Add `with_dismissed` param to announcements API
      - Fix end date not being formatted when time range is given
      - Fix announcement delete causing reactions to send streaming updates
      - Fix announcements container growing too wide and mascot too small
      - Fix `all_day` being settable when no time range is given
      - Change text "Update" to "Announcement"
      
      * Fix scheduler unpublishing announcements before they are due
      
      * Fix filter params not being passed to announcements filter
      f52c988e
    • Eugen Rochko's avatar
      Change followers page to relationships page in admin UI (#12927) · c0006a00
      Eugen Rochko a rédigé
      Allow browsing and filtering all relationships instead of just
      followers, unify the codebase with the user-facing relationship
      manager, add ability to see who the user invited
      c0006a00
  23. jan. 20, 2020
    • Eugen Rochko's avatar
      Various fixes and improvements (#12878) · 6feafb88
      Eugen Rochko a rédigé
      * Fix unused role routes being generated
      
      * Remove unused JavaScript code
      
      * Refactor filters code to be DRYer
      
      * Fix `.count == 0` comparisons to `.empty?` in views
      
      * Fix filters in views
      6feafb88
  24. nov. 13, 2019
    • ThibG's avatar
      Add bookmarks (#7107) · dfea7368
      ThibG a rédigé
      * Add backend support for bookmarks
      
      Bookmarks behave like favourites, except they aren't shared with other
      users and do not have an associated counter.
      
      * Add spec for bookmark endpoints
      
      * Add front-end support for bookmarks
      
      * Introduce OAuth scopes for bookmarks
      
      * Add bookmarks to archive takeout
      
      * Fix migration
      
      * Coding style fixes
      
      * Fix rebase issue
      
      * Update bookmarked_statuses to latest UI changes
      
      * Update bookmark actions to properly reflect status changes in state
      
      * Add bookmarks item to single-column layout
      
      * Make active bookmarks red
      dfea7368
  25. sept. 29, 2019
    • Eugen Rochko's avatar
      Add a nodeinfo endpoint (#12002) · 5f69eb89
      Eugen Rochko a rédigé
      * Add nodeinfo endpoint
      
      * dont commit stuff from my local dev
      
      * consistant naming since we implimented 2.1 schema
      
      * Add some additional node info stuff
      
      * Add nodeinfo endpoint
      
      * dont commit stuff from my local dev
      
      * consistant naming since we implimented 2.1 schema
      
      * expanding this to include federation info
      
      * codeclimate feedback
      
      * CC feedback
      
      * using activeserializers seems like a good idea...
      
      * get rid of draft 2.1 version
      
      * Reimplement 2.1, also fix metaData -> metadata
      
      * Fix metaData -> metadata here too
      
      * Fix nodeinfo 2.1 tests
      
      * Implement cache for monthly user aggregate
      
      * Useless
      
      * Remove ostatus from the list of supported protocols
      
      * Fix nodeinfo's open_registration reading obsolete setting variable
      
      * Only serialize domain blocks with user-facing limitations
      
      * Do not needlessly list noop severity in nodeinfo
      
      * Only serialize domain blocks info in nodeinfo when they are set to be displayed to everyone
      
      * Enable caching for nodeinfo endpoints
      
      * Fix rendering nodeinfo
      
      * CodeClimate fixes
      
      * Please CodeClimate
      
      * Change InstancePresenter#active_user_count_months for clarity
      
      * Refactor NodeInfoSerializer#metadata
      
      * Remove nodeinfo 2.1 support as the schema doesn't exist
      
      * Clean-up
      5f69eb89
    • Eugen Rochko's avatar
  26. sept. 19, 2019
  27. sept. 18, 2019
  28. sept. 13, 2019
  29. sept. 09, 2019
  30. sept. 07, 2019
  31. sept. 06, 2019
  32. août 29, 2019
Chargement en cours