add config toggle for bidirectional-mention-edges
This commit is contained in:
parent
c2f842263c
commit
02dbab3d17
|
@ -10,12 +10,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Add support for logging in via an ActivityPub direct message to the instance admin.
|
- Add support for logging in via an ActivityPub direct message to the instance admin.
|
||||||
|
- Added option to hide edges between instances if there are only mentions in one direction (off by default).
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Edges are no longer shown between instances where one blocks the other (based on the federation list in nodeinfo).
|
- Edges are no longer shown between instances where one blocks the other (based on the federation list in nodeinfo).
|
||||||
- Edges are only shown between timeline-crawlable instance types (Mastodon, Pleroma, Gab, Misskey, and GNU Social)
|
|
||||||
if there's a mention in each direction. This is to avoid edges between instances where one blocks the other.
|
|
||||||
|
|
||||||
### Deprecated
|
### Deprecated
|
||||||
|
|
||||||
|
|
|
@ -68,6 +68,7 @@ config :backend, :crawler,
|
||||||
"pleroma.online"
|
"pleroma.online"
|
||||||
],
|
],
|
||||||
user_agent: "fediverse.space crawler",
|
user_agent: "fediverse.space crawler",
|
||||||
|
require_bidirectional_mentions: false,
|
||||||
admin_phone: System.get_env("ADMIN_PHONE"),
|
admin_phone: System.get_env("ADMIN_PHONE"),
|
||||||
twilio_phone: System.get_env("TWILIO_PHONE"),
|
twilio_phone: System.get_env("TWILIO_PHONE"),
|
||||||
admin_email: System.get_env("ADMIN_EMAIL")
|
admin_email: System.get_env("ADMIN_EMAIL")
|
||||||
|
|
|
@ -308,7 +308,7 @@ defmodule Backend.Scheduler do
|
||||||
|
|
||||||
# Returns true if
|
# Returns true if
|
||||||
# * there's no federation block in either direction between the two instances
|
# * there's no federation block in either direction between the two instances
|
||||||
# * there are mentions in both directions
|
# * there are mentions in both directions (if enabled in configuration)
|
||||||
defp is_eligible_interaction?(
|
defp is_eligible_interaction?(
|
||||||
%{
|
%{
|
||||||
source_domain: source,
|
source_domain: source,
|
||||||
|
@ -322,8 +322,11 @@ defmodule Backend.Scheduler do
|
||||||
) do
|
) do
|
||||||
mentions_were_seen = mention_count > 0
|
mentions_were_seen = mention_count > 0
|
||||||
|
|
||||||
|
# If :require_bidirectional_edges is set to `true` in the config, then an edge is only created if both instances
|
||||||
|
# have mentioned each other
|
||||||
opposite_mention_exists =
|
opposite_mention_exists =
|
||||||
if is_timeline_crawlable_type?(source_type) and is_timeline_crawlable_type?(target_type) do
|
if get_config(:require_bidirectional_mentions) and is_timeline_crawlable_type?(source_type) and
|
||||||
|
is_timeline_crawlable_type?(target_type) do
|
||||||
Map.has_key?(mention_directions, {target, source}) and
|
Map.has_key?(mention_directions, {target, source}) and
|
||||||
Map.get(mention_directions, {target, source}) > 0
|
Map.get(mention_directions, {target, source}) > 0
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue