Commit Graph

5 Commits

Author SHA1 Message Date
c8c9021b78 main: Implement exponential backoff in the feed fetcher loop
Backoff with an exponentially increasing delay when feeds can't be
fetched or parsed, with a maximum of 6h (after which retry every 6h)
2025-05-03 15:09:13 +00:00
5c009476d6 matrix: Rework room send error handling
* Use the tracing crate instead of println macros
 * Do not panic on failure to send messages
 * Move the send code to a separate function in preparation for adding
   a proper retry implementation
2025-04-30 15:49:53 +00:00
cacbf4af45 matrix: Handle sync errors more gracefully
* Retry failed sync immediately
 * Trace the underlying error when sync fails
2025-04-28 18:29:40 +00:00
6dddbfb1e9 main: Add a randomized delay before fetching feeds 2024-11-26 21:34:21 +00:00
cd590b73fe Initial code dump: matrix feedbot, aka bender
This is a rewrite of our old feedbot in rust, heavily inspired from
rek2's INN matrix bot and making use of some bits from matrix-rust-sdk

This is an asynchronous tokio-based matrix client using a stateless feed
fetcher implementation based on reqwest, it uses feed_rs for parsing RSS
and Atom feeds. State persistence is achieved using a simple file-backed
datastore with serde_yaml as a serialization format.

Published under the GNU General Public License version 3 or later.
2024-11-22 13:08:34 +00:00