Commit Briefs

a0b828daf8 witcher

Bump version to 0.3.0 (tags/0.3.0)

Release notes can be found at https://git.sr.ht/~witcher/rss-email/refs/0.3.0


dfb712fd57 witcher

Send E-Mails asynchronously

Thanks to the introduction of tokio in the codebase, E-Mails can now be sent asynchronously as well, speeding up the implementation even more. Implements: https://todo.sr.ht/~witcher/rss-email/16


e0de93c713 witcher

Remove feedurl and author from database

This patch removes the columns `feedurl` and `author` from the database schema as they're not used by the program or any feeds I've come across.


8dfc8f4385 witcher

Add Atom support

This patch adds Atom support besides the already existing RSS support. First the feed is trying to be interpreted as RSS, then as Atom if that didn't work. Implements: https://todo.sr.ht/~witcher/rss-email/15


72fbcb51f0 witcher

Acquire author/version info from Cargo.toml


279e15e9e0 witcher

Add `contrib` with `pre-commit` git hook


da4657ddf6 witcher

Update `sqlx-data.json`


61cdb92148 witcher

readme: DATABASE_URL needs to be a valid URL


1e6dd17d6a witcher

Update CLI version


2c4a3239ad witcher

Update mailing list in README.md


7ff982331e witcher

Fix panic on insertion and invalid time stamp (tags/0.2.1)

rss-email would panic when inserting a post that already is inserted (primary key already exists), so the insertion is skipped entirely (`INSERT OR IGNORE`). If a post has an invalid time stamp, the application would also panic, even though the timestamp is not crucial data. Instead, a default is used for the timestamp.


0468e48dcf witcher

Bump version (tags/0.2.0)


34e4e7cd5d witcher

Fix clippy lint



84367b4779 witcher

Build CI in debug mode

Not building CI in release mode will speed up compilation and use less resources on the CI host. Building in release mode is also not needed currently anymore as no build artifacts are generated for download.



7e1e64f5db witcher

Add migrations to use with sqlx

Migrations are embedded into the binary and run on startup with `sqlx::migrate!()`.


b78b84dda4 witcher

Replace diesel with sqlx

This replaces the non-async Diesel with the async sqlx to allow for better performance through parallelising the insertion or updating of posts in the database. Migrations have not yet been implemented. Implements: https://todo.sr.ht/~witcher/rss-email/12 Implements: https://todo.sr.ht/~witcher/rss-email/3


e039dc9be3 witcher

Implement async fetching

This changeset implements fetching of RSS feeds asynchronously. It's still no perfect though: data from feeds is inserted into the database synchronously, and requests are temporarily paused while this happens (since we're doing blocking IO to the database). A potential solution to this is to have one thread that does the networking, and another which inserts into the DB, with something like an mpsc::channel to pass messages between them. This requires further refactor and can be done as a followup. It would also be great to re-use a single reqwest::Client, but that also requires further refactors. Despite imperfections, this patch still provides a noticeable speed bump; networking IO for one feed does not block others. References: https://todo.sr.ht/~witcher/rss-email/3


08360f954b witcher

CI: Use release builds only


a27f194962 witcher

CI: Remove build artifacts

Build artifacts are now removed as diesel does not support dynamic linking. References: https://todo.sr.ht/~witcher/rss-email/11


abe5d044b1 witcher

CI: Remove `openssl-dev` package


914f6070e8 witcher

CI: Remove step verifying signature of commit

This blocked patches from being built in CI.


d26b8a7e11 witcher

Update Cargo.lock


77b985cb61 witcher

Use RustTLS instead of native OpenSSL

Signed-off-by: jman <srht@city17.xyz>