# Postsack ## Provides a high level visual overview of swaths of email ### Performance It currently parses 632383 emails in ~160 seconds, so roughly `4.000` emails per second. This excludes (for now) attachments. Update: It currently parses 632115 emails in ~56 seconds, so roughly `11.000` emails per second. This excludes (for now) attachments. ## Open Issues - [ ] Edition 2021 - [ ] clippy - [ ] set up CI - [ ] rename repository to postsack - [x] add support for message filters (read etc), the UI is already there, the filters are not applied yet - [x] the filters for tags should allow selecting from the existing tags? - [x] mbox is multiple files, e.g. inbox.mbox, sent.mbox. support this - [x] support mbox - [x] support apple mail - [x] try re-opening a database... - [x] save config into sqlite - [x] store last opened sqlite file - [x] check if we get any values for the to_sender to_domain fields etc (only to_group seemingly has no data for my mails) - [x] update to egui 15 - [x] add more tests - [ ] build static linux binary via docker - [ ] try to build a static windows binary - [ ] update metadata in Cargo.toml - [ ] add app platform icons - [ ] for many mails, the segmentations don't work correctly due to async issues ## Linux Issues - [x] broken background color - [x] can't switch import format - [x] mbox support for selecting a folder of mbox files (inbox etc) - [ ] weird sizing behaviour on startup - [x] background color in startup screen is transparent - [ ] current tests fail under linux ## Future Options - [ ] Add additional UI based on Druid, Iced or Native Cocoa - [ ] maybe add blocking versions of the calls, too (in model) - [ ] abstract over `Fields` and backend to have a generic way to display groupable information - [ ] apply the window changes (no status etc) on startup, not just when loading main - [ ] split up into multiple crates - [ ] action when clicking an email? - [ ] support light theme - [ ] allow diving into splits/segments until there're no gropu bys anymore, but the last split can be opened full (to see the mails) - [ ] remove unneeded dependencies and features - [ ] add support for generating mail deletion rules based on the visible mails - [ ] support more mail formats: - [ ] outlook - [ ] notmuch - [ ] maildir ## Development Generate a macOS bundle via [Cargo Bundle](https://github.com/burtonageo/cargo-bundle): ``` sh cargo bundle --bin gui ``` ### Linux Dependencies In order to build (and or run) on Linux, the following dependencies are needed: #### Fedora ``` sh # Development sudo dnf install @development-tools glib cairo-devel pango-devel gdk-pixbux2-devel atk-devel gtk3 gtk3-devel libsqlite3x-devel ``` #### Ubuntu (currently untested) ``` sh # Development sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev libsqlite3-dev ```