Skip to content
Snippets Groups Projects
  1. Jan 04, 2018
  2. Oct 07, 2017
  3. Sep 06, 2017
    • Eugen Rochko's avatar
      Switch to static URIs, new URI format in both protocols for new statuses (#4815) · e7adbf57
      Eugen Rochko authored
      * Decouple Status#local? from uri being nil
      
      * Replace on-the-fly URI generation with stored URIs
      
      - Generate URI in after_save hook for local statuses
      - Use static value in TagManager when available, fallback to tag format
      - Make TagManager use ActivityPub::TagManager to understand new format
      - Adjust tests
      
      * Use other heuristic for locality of old statuses, do not perform long query
      
      * Exclude tombstone stream entries from Atom feed
      
      * Prevent nil statuses from landing in Pubsubhubbub::DistributionWorker
      
      * Fix URI not being saved (#4818)
      
      * Add more specs for Status
      
      * Save generated uri immediately
      
      and also fix method order to minimize diff.
      
      * Fix alternate HTML URL in Atom
      
      * Fix tests
      
      * Remove not-null constraint from statuses migration to speed it up
      e7adbf57
  4. Sep 04, 2017
  5. Aug 25, 2017
  6. Aug 24, 2017
  7. Aug 16, 2017
    • Eugen Rochko's avatar
      Redesign public profiles (#4608) · ca7ea1ab
      Eugen Rochko authored
      * Redesign public profiles
      
      * Responsive design
      
      * Change public profile status filtering defaults and add options
      
      - No longer displays private/direct toots even if you are permitted access
      - By default omits replies
      - "With replies" option
      - "Media only" option
      
      * Redesign account grid cards
      
      * Fix style issues
      ca7ea1ab
  8. Aug 14, 2017
  9. Jul 18, 2017
  10. Jul 15, 2017
    • Eugen Rochko's avatar
      Improve ActivityPub representations (#3844) · 8c45cd0e
      Eugen Rochko authored
      * Improve webfinger templates and make tests more flexible
      
      * Clean up AS2 representation of actor
      
      * Refactor outbox
      
      * Create activities representation
      
      * Add representations of followers/following collections, do not redirect /users/:username route if format is empty
      
      * Remove unused translations
      
      * ActivityPub endpoint for single statuses, add ActivityPub::TagManager for better
      URL/URI generation
      
      * Add ActivityPub::TagManager#to
      
      * Represent all attachments as Document instead of Image/Video specifically
      (Because for remote ones we may not know for sure)
      
      Add mentions and hashtags representation to AP notes
      
      * Add AP-resolvable hashtag URIs
      
      * Use ActiveModelSerializers for ActivityPub
      
      * Clean up unused translations
      
      * Separate route for object and activity
      
      * Adjust cc/to matrices
      
      * Add to/cc to activities, ensure announce activity embeds target status and
      not the wrapper status, add "id" to all collections
      8c45cd0e
  11. Jul 14, 2017
    • Eugen Rochko's avatar
      HTTP signatures (#4146) · 1618b68b
      Eugen Rochko authored
      * Add Request class with HTTP signature generator
      
      Spec: https://tools.ietf.org/html/draft-cavage-http-signatures-06
      
      * Add HTTP signature verification concern
      
      * Add test for SignatureVerification concern
      
      * Add basic test for Request class
      
      * Make PuSH subscribe/unsubscribe requests use new Request class
      
      Accidentally fix lease_seconds not being set and sent properly, and
      change the new minimum subscription duration to 1 day
      
      * Make all PuSH workers use new Request class
      
      * Make Salmon sender use new Request class
      
      * Make FetchLinkService use new Request class
      
      * Make FetchAtomService use the new Request class
      
      * Make Remotable use the new Request class
      
      * Make ResolveRemoteAccountService use the new Request class
      
      * Add more tests
      
      * Allow +-30 seconds window for signed request to remain valid
      
      * Disable time window validation for signed requests, restore 7 days
      as PuSH subscription duration (which was previous default due to a bug)
      1618b68b
  12. May 26, 2017
  13. May 23, 2017
  14. May 16, 2017
  15. Apr 25, 2017
  16. Apr 23, 2017
    • Evan Minto's avatar
      ActivityPub: Add basic, read-only support for Outboxes, Notes, and... · 66fd8e78
      Evan Minto authored
      ActivityPub: Add basic, read-only support for Outboxes, Notes, and Create/Announce Activities (#2197)
      
      * Clean up collapsible components
      
      * Expose user Outboxes and AS2 representations of statuses
      
      * Save work thus far.
      
      * Fix bad merge.
      
      * Save my work
      
      * Clean up pagination.
      
      * First test working.
      
      * Add tests.
      
      * Add Forbidden error template.
      
      * Revert yarn.lock changes.
      
      * Fix code style deviations and use localized instead of hardcoded English text.
      66fd8e78
  17. Apr 19, 2017
    • Matt Jankowski's avatar
      Restful refactor of accounts/ routes (#2133) · 8bac0350
      Matt Jankowski authored
      * Add routing specs for accounts followers and following actions
      
      * Use more restful route naming for public account follow pages
      
      Moves two actions:
      - accounts#followers to accounts/follower_accounts#index
      - accounts#following to accounts/following_accounts#index
      
      Adds routing spec to ensure prior URLs are preserved.
      8bac0350
  18. Apr 10, 2017
    • Matt Jankowski's avatar
      Pagination improvements (#1445) · 4ada5098
      Matt Jankowski authored
      * Replace will_paginate with kaminari
      
      * Use #page instead of #paginate in controllers
      
      * Replace will_paginate.page_gap with pagination.truncate in i18n
      
      * Customize kaminari views to match prior styles
      
      * Set kaminari options to match prior behavior
      
      * Replace will_paginate with paginate in views
      4ada5098
    • Matt Jankowski's avatar
      Clean up generation of account webfinger string (#1477) · 0687ab8a
      Matt Jankowski authored
      * Consolidate webfinger string creation under Account#to_webfinger_s
      
      * Introduce Account#local_username_and_domain for consolidation
      0687ab8a
  19. Apr 07, 2017
    • Eugen's avatar
      Rewrite Atom generation from stream entries to use Ox instead of Nokogiri (#1124) · 6d6a429a
      Eugen authored
      * Rewrite Atom generation from stream entries to use Ox instead of Nokogiri::Builder
      
      StreamEntry is now limited to only statuses, which allows some optimization. Removed
      extra queries on AccountsController#show. AtomSerializer instead of AtomBuilderHelper
      used in AccountsController#show, StreamEntriesController#show, StreamEntryRenderer
      and PubSubHubbub::DistributionWorker
      
      PubSubHubbub::DistributionWorker moves n+1 DomainBlock query to PubSubHubbub::DeliveryWorker
      instead.
      
      All Salmon slaps that aren't based on StreamEntry still use AtomBuilderHelper and Nokogiri
      
      * All Salmon slaps now use Ox instead of Nokogiri. No touch from status on account
      6d6a429a
  20. Mar 19, 2017
  21. Feb 12, 2017
  22. Feb 06, 2017
  23. Dec 21, 2016
    • Eugen Rochko's avatar
      Private visibility on statuses prevents non-followers from seeing those · 80e02b90
      Eugen Rochko authored
      Filters out hidden stream entries from Atom feed
      Blocks now generate hidden stream entries, can be used to federate blocks
      Private statuses cannot be reblogged (generates generic 422 error for now)
      POST /api/v1/statuses now takes visibility=(public|unlisted|private) param instead of unlisted boolean
      Statuses JSON now contains visibility=(public|unlisted|private) field
      80e02b90
  24. Dec 06, 2016
  25. Dec 03, 2016
  26. Dec 01, 2016
  27. Nov 15, 2016
  28. Oct 06, 2016
  29. Oct 02, 2016
  30. Sep 29, 2016
  31. Sep 20, 2016
    • Eugen Rochko's avatar
      Fix #24 - Thread resolving for remote statuses · 4bec6138
      Eugen Rochko authored
      This is a big one, so let me enumerate:
      
      Accounts as well as stream entry pages now contain Link headers that
      reference the Atom feed and Webfinger URL for the former and Atom entry
      for the latter. So you only need to HEAD those resources to get that
      information, no need to download and parse HTML <link>s.
      
      ProcessFeedService will now queue ThreadResolveWorker for each remote
      status that it cannot find otherwise. Furthermore, entries are now
      processed in reverse order (from bottom to top) in case a newer entry
      references a chronologically previous one.
      
      ThreadResolveWorker uses FetchRemoteStatusService to obtain a status
      and attach the child status it was queued for to it.
      
      FetchRemoteStatusService looks up the URL, first with a HEAD, tests
      if it's an Atom feed, in which case it processes it directly. Next
      for Link headers to the Atom feed, in which case that is fetched
      and processed. Lastly if it's HTML, it is checked for <link>s to the Atom
      feed, and if such is found, that is fetched and processed. The account for
      the status is derived from author/name attribute in the XML and the hostname
      in the URL (domain). FollowRemoteAccountService and ProcessFeedService
      are used.
      
      This means that potentially threads are resolved recursively until a dead-end
      is encountered, however it is performed asynchronously over background jobs,
      so it should be ok.
      4bec6138
  32. Sep 08, 2016
  33. Sep 07, 2016
  34. Sep 04, 2016
  35. Mar 25, 2016
  36. Mar 24, 2016
Loading