bump melib to version 0.8.7
This also updates attachment.text to pass Text::Rfc822 due to an API change
in melib.
mailpot: make sure inserted headers are properly encoded
Closes #14
Link: <https://git.meli-email.org/meli/mailpot/issues/14>
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Update various dependencies
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Update melib dependency to 0.8.6
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
docs/rfcs: add rfc9057_Email_Author_Header_Field
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Various features lumped together
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Rename workspace dirs to their actual crate names
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Update h2 dependency to 0.3.24
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Update stderrlog, tempfile dependencies
- Update stderrlog dependency to 0.6.0
- Update tempfile dependency to 3.9
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
web: don't use carets (<,>) in URLs
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
web: wrap names with <bdi> to support bidi user names
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bdi
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Cargo.lock: update dependencies
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
web: don't panic when calculating list posts
When going through a list's root messages, use filter_map() instead of
map() to avoid panicking in case the Envelope cannot be parsed or
there's a bug in the thread calculation.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Fix new clippy lints.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
add ability to export lists in mbox format
This adds the ability to export mailing lists, threads, or individual messages
in the mboxcl2 format directly from the database.
bump melib dependency to a modern version
This updates the melib dependency from an old version it was pinned to and
updates the associated code and tests.
add TO_ADDRESS as an environment variable for sendmail command
This fixes a bug where when using the sendmail command the server sends mail
to the mailing list address rather than subscribers of the list. Additionally
if the sendmail command exits with a non-zero exit code mpot will now output
stderr for diagnostic purposes.
move thread listing to core
core: minor fixes
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Add rustfmt.toml symbolic links to each crate
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Fix clippy lints
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
core/templates: add more info to SUBSCRIPTION_REQUEST_NOTICE_OWNER
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Fix warning for rust-lang/rust/issues/115010
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
web: add link anchors to posts
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
web: fix topic tags spacing
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
web: fix invalid html markup
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
.github: replace ~ with /home/runner
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
core/config.rs: add context for I/O errors
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
web: add in-memory ssh sig verification with ssh-key crate
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
core: split commands in their own module
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
web: fix glob re-export clippy lint
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
cli: add command to send subscription confirmation manually
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
web: show active sub requests in edit list page
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
web: add accept sub request option
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
web: fix clippy lints
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
core/tests: fix hardcoded include path
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
core/posts: fix approval_needed in subscription request
Checking if approval is needed for a subscription request was done from
the post policy instead of the subscription policy (ugh...)
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
cli: add possible_values for QueueValueParser
--help did not display possible values for --queue argument, so it was
not possible for the user to figure it out without looking at the source
code.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
cli: add sub req list and accept commands
There was no way to accept subscription requests, which was dumb. So add
one.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
web: fix invalid column name in list edit page
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Update --help output in README.md
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
core: move build module to build/ subdirectory
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
core/build.rs: set user_version PRAGMA in generated schema.sql
The generated schema did not include the `user_version` which tracks
which migration is the latest one. This made the README.md example of
creating a database manually fail because it would be initialized with a
`user_version` of 0 and then `mailpot` would attempt to apply migrations
to it.
```shell
$ sqlite3 /path/to/db < ./core/src/schema.sql
$ cargo run --bin mpot -- [some command]
ERROR - 1 no such table: templates in "
ALTER TABLE templates RENAME TO template;"
[1] Error returned from sqlite3 no such table: templates.
```
Fixes #1
https://git.meli.delivery/meli/mailpot/issues/1
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
core: replace error_chain with thiserror
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
core: Add MimeReject filter stub
workflows: download new sqlite3 version
rustdoc: add unstable features rustdoc-scrape-examples and rustdoc-map
web: Fix some list listing CSS
core: implement message filter settings, use them in ArchivedAtLink filter
core: add data kind of migrations
core,web: move StripCarets trait to core
core: add list_settings_json and settings_json_schema tables
core: add separate message filter for subject list tag prefixes
web: add searching for topic tags
web: fix list tag text padding
web: make list description string safe for html if any owner is an admin
core/schema: add trigger that sorts topics alphabetically
docs: add scratchpad.md for ideas,features,notes
web: show list topics on site
core: Add topics field to MailingList
rest-http: add unit tests
rest-http: add axum-based server
core: add sqlite savepoints
web: make post.html layout more compact
grcov: increase coverage with rustdoc tests
web: add unit tests to utils functions
web: add urlize() and heading() template filters
cli: add import from mailman3 rest api
web: expand list owner edit view
web: add rel="canonical" urls for lists
core: add database migrations
core: reorganise old module hierarchy
core: attach archive databases in transaction
cli: add repair command with some lints
core: add more template replies tests
core: add post rejection tests
CI: Fix release build workflow
web: add entry.html template
web: add SITE_SUBTITLE setting
web: add thread replies to post view
web: css changes for accessibility
web: css menu changes for small viewports
core/db/subscriptions.rs: add subscr ops tests
core/db/queue.rs: add delete_from_queue() test
core/db/policies.rs: test optional policy fetch
README.md: add code coverage badge
core: remove obsolete error_queue module
Replace with generic queue functionality