Commit graph

45 commits

Author SHA1 Message Date
Mark Felder
59844d0202 Rename Instance.delete_users_and_activities/1 to Instance.delete/1 2025-06-28 13:37:06 -07:00
Mark Felder
f06f0bedd3 Clean up ReachabilityWorker jobs and delete from Instances table when deleting all users and activities for an instance 2025-06-28 13:14:01 -07:00
Mark Felder
29f7607910 Add Instances.check_all_unreachable/0 and Instance.check_unreachable/1 2025-06-28 12:51:10 -07:00
Mark Felder
ff5f88aae3 Instance.set_reachable/1 should delete any existing ReachabilityWorker jobs for that instance 2025-06-27 18:07:46 -07:00
Mark Felder
e58ecd3234 Merge remote-tracking branch 'origin/develop' into improved-reachability 2025-06-27 15:59:46 -07:00
Mark Felder
56aab905e8 Queue individual jobs for each user that needs to be deleted when deleting an instance. 2025-06-27 11:13:15 -07:00
Mark Felder
83c9756825 Remove unncessary NaiveDateTime call.
Every non-nil entry in the database is considered unreachable.
2025-06-06 17:10:33 -07:00
Mark Felder
3d422ef325 Reachability refactor
The result of Oban jobs determine the reachability status.

Publisher jobs will cancel themselves at execution time if the target server is now unreachable.

Receiving activities does not immediately mark a server as reachable, but creates a ReachabilityWorker job to validate.

A Cron will execute daily to test all unreachable servers.
2025-06-06 12:32:09 -07:00
Mark Felder
52e9bec156 Remove WorkerHelper 2024-07-30 11:34:48 -04:00
Mark Felder
30defb1674 Create a DeleteWorker and change user and instance deletion jobs to use it
These deletion tasks are slow, but the other background jobs are not. This
will allow us to have a lower timeout on the normal background jobs.
2024-07-15 11:58:07 -04:00
Mark Felder
9896b64f54 Elixir 1.15: Chase the Logger.warn deprecation 2023-12-20 20:16:26 +00:00
Mark Felder
1ad0d94d6f Change set_reachable/1 to an upsert 2023-12-06 15:50:00 -05:00
Haelwenn (lanodan) Monnier
9a2523a09a instances: Store some metadata based on NodeInfo 2023-03-16 09:02:20 +01:00
lain
e853cfe7c3 Revert "Merge branch 'copyright-bump' into 'develop'"
This reverts merge request !3825
2023-01-02 20:38:50 +00:00
marcin mikołajczak
10886eeaa2 Bump copyright year
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-01-01 12:13:06 +01:00
Sean King
17aa3644be
Copyright bump for 2022 2022-02-25 23:11:42 -07:00
Alex Gleason
f67d00d12b
Add Instance.delete_users_and_activities/1 to delete all content from a remote instance 2021-07-17 14:06:35 -05:00
Haelwenn (lanodan) Monnier
c4439c630f
Bump Copyright to 2021
grep -rl '# Copyright © .* Pleroma' * | xargs sed -i 's;Copyright © .* Pleroma .*;Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>;'
2021-01-13 07:49:50 +01:00
Haelwenn (lanodan) Monnier
1403798820
instance.reachable?: Limit to binary input 2020-12-07 21:20:44 +01:00
Haelwenn (lanodan) Monnier
e1a2e8b17c
instance: Do not fetch unreachable instances
Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/2346
2020-12-07 20:11:47 +01:00
Haelwenn (lanodan) Monnier
3b5a7a6b14
federation_status: New endpoint showing unreachable instances 2020-10-16 01:14:04 +02:00
Ivan Tashkinov
0bda85857e Merge remote-tracking branch 'remotes/origin/develop' into media-preview-proxy
# Conflicts:
#	lib/pleroma/instances/instance.ex
2020-09-11 17:19:58 +03:00
Haelwenn (lanodan) Monnier
dbc013f24c
instance: Handle not getting a favicon 2020-09-11 11:37:46 +02:00
Ivan Tashkinov
b4860c57a6 [#2497] Formatting fix. 2020-09-09 19:43:36 +03:00
Ivan Tashkinov
68a74d6659 [#2497] Added missing alias, removed legacy :adapter option specification for HTTP.get/_. 2020-09-09 19:30:42 +03:00
Haelwenn (lanodan) Monnier
08aef7dd4e
instance: Log catch favicon errors as warnings 2020-09-07 08:40:52 +02:00
Haelwenn (lanodan) Monnier
0d91f65284
Prevent AccountView and instance.get_or_update_favicon fails 2020-09-05 05:43:50 +02:00
Alexander Strizhakov
79f65b4374
correct pool and uniform headers format 2020-09-02 09:16:51 +03:00
Haelwenn (lanodan) Monnier
8c9df2d2e6
instance: Prevent loop of updates 2020-07-08 06:28:40 +02:00
Haelwenn (lanodan) Monnier
013e2c5057
Use instances table instead of Cachex 2020-07-08 06:28:39 +02:00
Mark Felder
05da5f5cca Update Copyrights 2020-03-03 16:44:49 -06:00
Ivan Tashkinov
33a5fc4a70 [#1149] Fixed failing tests. Ensured Instance.set_unreachable/2 supports ISO 8601 datetime. 2019-08-10 20:38:31 +03:00
feld
93a0eeab16 Add license/copyright to all project files 2019-07-10 05:13:23 +00:00
rinpatch
9a7b817c9a Ecto 3.0.5 migration
kms
2019-03-20 15:59:54 +03:00
Haelwenn (lanodan) Monnier
a3a9cec483
[Credo] fix Credo.Check.Readability.AliasOrder 2019-03-13 04:26:54 +01:00
Haelwenn (lanodan) Monnier
d924dc73ba
de-group import/s 2019-02-09 16:31:17 +01:00
Haelwenn (lanodan) Monnier
6a6a5b3251
de-group alias/es 2019-02-09 16:31:17 +01:00
Haelwenn (lanodan) Monnier
60ea29dfe6
Credo fixes: alias grouping/ordering 2019-02-09 14:59:20 +01:00
Ivan Tashkinov
b40b4bc4e5 [#582] Optimized federation retirement by reducing the number of SQL calls
(calling `Instances.set_reachable/1` only if instance had `unreachable_since`,
calling `Instances.set_unreachable/1` only if instance had nil `unreachable_since`).
2019-02-03 12:41:27 +03:00
Ivan Tashkinov
1d2f41642c [#534] Various tweaks. Tests for Instances and Instance. 2019-01-28 15:25:06 +03:00
Ivan Tashkinov
9560abea10 [#534] Refactoring / tweaks per MR review. 2019-01-28 11:03:52 +03:00
Ivan Tashkinov
656ed7c84a [#534] Configurable outgoing federation reachability timeout. 2019-01-25 15:10:21 +03:00
Ivan Tashkinov
3e9399ec0b [#534] Optimized bulk publish ops to filter on reachability early. Instance refactoring. 2019-01-24 19:15:23 +03:00
Ivan Tashkinov
8654a591f0 [#534] Updating external instances reachability on incoming federation. 2019-01-24 17:37:23 +03:00
Ivan Tashkinov
f161a92cb1 [#534] Initial implementation of unreachable federation targets retirement. 2019-01-23 18:37:25 +03:00