about summary refs log tree commit diff
path: root/app/services/process_mentions_service.rb
AgeCommit message (Collapse)Author
2018-01-22Rename ResolveRemoteAccountService to ResolveAccountService (#6327)Akihiko Odaki
The service used to be named ResolveRemoteAccountService resolves local accounts as well.
2017-12-22Reduce the number of synchronous resolves when posting toots (#6075)ThibG
2017-11-28Fix handling of temporary failures in ProcessMentionsService (#5842)ThibG
* Add test for temporary account resolving failures in ProcessMentionsService * Fix processing of mentions to already-known remote accounts on temporary failures
2017-11-15Use already-known remote user data if resolving temporarily fails in ↵ThibG
mentions (#5702)
2017-11-07Fix process mentions for local users, as local users are considered to use ↵ThibG
OStatus (#5618)
2017-11-07Twidere mention workaround (#5552)ThibG
* Work around Twidere and Tootdon bug Tootdon and Twidere construct @user@domain handles from mentions in toots based solely on the mention text and account URI's domain without performing any webfinger call or retrieving account info from the Mastodon server. As a result, when a remote user has WEB_DOMAIN ≠ LOCAL_DOMAIN, Twidere and Tootdon will construct the mention as @user@WEB_DOMAIN. Now, this will usually resolve to the correct account (since the recommended configuration is to have WEB_DOMAIN perform webfinger redirections to LOCAL_DOMAIN) when processing mentions, but won't do so when displaying them (as it does not go through the whole account resolution at that time). This change rewrites mentions to the resolved account, so that displaying the mentions will work. * Use lookbehind instead of non-capturing group in MENTION_RE Indeed, substitutions with the previous regexp would erroneously eat any preceding whitespace, which would lead to concatenated mentions in the previous commit. Note that users will “lose” up to one character space per mention for their toots, as that regexp is also used to remove the domain-part of mentioned users for character counting purposes, and it also erroneously removed the preceding character if it was a space.
2017-11-07Do not process undeliverable mentions (#5598)ThibG
* Resolve remote accounts when mentioned even if they are already known This commit reduces the risk of not having up-to-date public key or protocol information for a remote account, which is required to deliver toots (especially direct messages). * Do not add mentions in private messages for remote users we cannot deliver to Mastodon does not deliver private and direct toots to OStatus users, as there is no guarantee the remote software understands the toot's privacy. However, users currently do not get any feedback on it (Mastodon won't attempt delivery, but the toot will be displayed exactly the same way to the user). This change introduces *some* feedback by not processing mentions that are not going to be delivered. A long-term solution is still needed to have delivery receipts or at least some better indication of what is going on, but at least an user can see *something* is up.
2017-11-07Resolve remote accounts when mentioned even if they are already known (#5539)ThibG
This commit reduces the risk of not having up-to-date public key or protocol information for a remote account, which is required to deliver toots (especially direct messages).
2017-10-27Instantiate service classes for each call (fixes #5540) (#5543)ThibG
2017-09-26Follow-up to #4582 and #5027, removing dead code (#5101)Eugen Rochko
2017-09-05Fix mentions in direct statuses not being delivered via AP (#4806)Eugen Rochko
2017-09-01Avoid sending some ActivityPub payloads if the receiver will get them ↵Eugen Rochko
through distribution (#4739)
2017-08-26Add handling of Linked Data Signatures in payloads (#4687)Eugen Rochko
* Add handling of Linked Data Signatures in payloads * Add a way to sign JSON, fix canonicalization of signature options * Fix signatureValue encoding, send out signed JSON when distributing * Add missing security context
2017-08-24Add configuration to disable private status federation over PuSH (#4582)Eugen Rochko
2017-08-13ActivityPub delivery (#4566)Eugen Rochko
* Deliver ActivityPub Like * Deliver ActivityPub Undo-Like * Deliver ActivityPub Create/Announce activities * Deliver ActivityPub creates from mentions * Deliver ActivityPub Block/Undo-Block * Deliver ActivityPub Accept/Reject-Follow * Deliver ActivityPub Undo-Follow * Deliver ActivityPub Follow * Deliver ActivityPub Delete activities Incidentally fix #889 * Adjust BatchedRemoveStatusService for ActivityPub * Add tests for ActivityPub workers * Add tests for FollowService * Add tests for FavouriteService, UnfollowService and PostStatusService * Add tests for ReblogService, BlockService, UnblockService, ProcessMentionsService * Add tests for AuthorizeFollowService, RejectFollowService, RemoveStatusService * Add tests for BatchedRemoveStatusService * Deliver updates to a local account to ActivityPub followers * Minor adjustments
2017-06-19Rename FollowRemoteAccountService to ResolveRemoteAccountService (#3847)Eugen Rochko
Rename Activitypub to ActivityPub
2017-05-13Revert HTML CW changes (#3020)beatrix
* selectively Revert "Fix regressions from #2683 (#2970)" This reverts commit 72698bc3b49925a2b2955f32e5a562c1eecd729b. * Revert "Handle hashtags in spoiler_texts (partial fix for #699) (#2683)" This reverts commit e2491680e696d2c285a798ec4c66b26d2748df66.
2017-05-11Fix regressions from #2683 (#2970)Eugen Rochko
* Fix regressions from #2683 Properly format spoiler text HTML, while keeping old logic for blankness intact Process hashtags and mentions in spoiler text Format spoiler text for Atom Change "show more" toggle into a button instead of anchor Fix style regression on dropdowns for detailed statuses * Fix lint issue * Convert spoiler text to plaintext in desktop notifications
2017-03-13Fix casuality of processing remote mentions such that notificationsEugen Rochko
about them would be processed only after the entire status is processed
2017-02-11Mentions in private statuses allow mentioned people to see themEugen Rochko
2017-02-11Make follow requests federateEugen Rochko
2017-01-05Fix undesired delivering of private toot to remote accounts that follow authorEugen Rochko
2016-12-22Private posts mentioning non-followers should not notify them, neither ↵Eugen Rochko
locally nor via Salmon
2016-11-20Adding unified streamable notificationsEugen Rochko
2016-11-15Fix rubocop issues, introduce usage of frozen literal to improve performanceEugen Rochko
2016-10-03Blocking will prevent e-mail notifications from blocked user, blocks in UIEugen Rochko
2016-09-29Improve code styleEugen Rochko
2016-09-18Small rubocop offences removedEugen Rochko
2016-09-17Fix how other services used old FollowRemoteAccountServiceEugen Rochko
2016-09-04Fix wrongful mentions breaking status updateEugen Rochko
2016-09-04Case-insensitive search by usernamesEugen Rochko
2016-03-26Moving Salmon notifications to background processing, fixing mini-profilerEugen Rochko
behaviour with Turbolinks enabled, optimizing Rabl for production
2016-03-25Fix subscriptions:clear task, refactor feeds, refactor streamable activitesEugen Rochko
and atom feed generation to some extent, as well as the way mentions are stored
2016-03-19Adding e-mail notifications about mentions, follows, favourites and reblogs. ↵Eugen Rochko
Fixing another mention recording bug
2016-03-19Fix more subtle bugs with first_or_createEugen Rochko
2016-03-16Fixing small bug with FollowRemoteAccountService usageEugen Rochko
2016-02-28Adding a test for ReblogService, fixing mentions for remote statusesEugen Rochko
2016-02-25Adding a Mention model, test stubsEugen Rochko