Commit Graph

12 Commits

Author SHA1 Message Date
121943afa7 state: Properly propagate errors when persisting state 2025-05-15 21:54:30 +00:00
73ee8114ca matrix: login_and_sync does not need to be generic 2025-05-15 21:06:54 +00:00
3fee20f0cf main: Panic explicitely when failing to initialize the state db 2025-05-15 21:01:59 +00:00
e771639856 config: Rework error handling into explicit error types 2025-05-15 19:09:41 +00:00
cdb0277c57 main: Fix silly logic bug in the exponential backoff code 2025-05-03 16:03:01 +00:00
40455f0365 feedreader: format_entry does not need to return a Result 2025-05-03 15:28:18 +00:00
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
6dddbfb1e9 main: Add a randomized delay before fetching feeds 2024-11-26 21:34:21 +00:00
24d824f759 src: Unclutter logs by switching some info messages to debug 2024-11-25 18:54:22 +00:00
d0ac11ea89 main: Improve feed parse error handling 2024-11-25 04:06:53 +00:00
b93f921bcb main: Increase the broadcast channel capacity 2024-11-25 04:06:01 +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