discourse/app
Ted Johansson a72dc2f420
DEV: Introduce a problem checks API (#25783)
Previously, problem checks were all added as either class methods or blocks in AdminDashboardData. Another set of class methods were used to add and run problem checks.

As of this PR, problem checks are promoted to first-class citizens. Each problem check receives their own class. This class of course contains the implementation for running the check, but also configuration items like retry strategies (for scheduled checks.)

In addition, the parent class ProblemCheck also serves as a registry for checks. For example we can get a list of all existing check classes through ProblemCheck.checks, or just the ones running on a schedule through ProblemCheck.scheduled.

After this refactor, the task of adding a new check is significantly simplified. You add a class that inherits ProblemCheck, you implement it, add a test, and you're good to go.
2024-02-23 11:20:32 +08:00
..
assets FIX: Do not double-highlight admin plugin links in sidebar (#25808) 2024-02-23 09:56:17 +10:00
controllers FIX: Make /categories/search order deterministic (#25793) 2024-02-21 12:20:40 -06:00
helpers DEV: Memoize CSP nonce placeholder on response (#25724) 2024-02-16 12:15:55 +00:00
jobs DEV: Introduce a problem checks API (#25783) 2024-02-23 11:20:32 +08:00
mailers FIX: Add higher read & open timeouts for group SMTP emails (#24593) 2023-11-28 15:32:59 +10:00
models DEV: Introduce a problem checks API (#25783) 2024-02-23 11:20:32 +08:00
serializers DEV: Reduce duplication with DistributedMutex#clear_regex (#25795) 2024-02-21 14:19:04 -06:00
services DEV: Async category search for sidebar modal (#25686) 2024-02-20 11:24:30 -06:00
views FEATURE: Add experimental option for strict-dynamic CSP (#25664) 2024-02-16 11:16:54 +00:00