postsack/README.md
Benedikt Terhechte 9a35b99971
Cleanup Dependencies (#12)
* Moved deps into ps-core and `pub use` exported them so they're only in one place

* Updated Version Numbers
2021-12-18 22:58:43 +01:00

79 lines
2.5 KiB
Markdown

# 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. (on M1)
## Open Issues
- [ ] check for unused dependencies in each crate
- [ ] `pub use ...` some deps in core so that they don't need to be re-imported
- [ ] check the feature.lru to see if it compiles without LRU
- [ ] build static linux binary via docker: Via Github Actions?
- [ ] try to build a static windows binary: Via Github Actions?
- [ ] try to build a macos binary: Via Github Actions?
- [ ] Demo Video
- [ ] Documentation
- [ ] wasm build?
## Windows Issues
- [ ] No Outlook support
- [ ] The `apple importer` fails
- [ ] Very much untested (it does run though)
## 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 (requires [Cargo Bundle](https://github.com/burtonageo/cargo-bundle))
``` sh
./build_mac.sh
```
### 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
``` sh
# Development
sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev libsqlite3-dev
```
#### Windows
Windows supor is a bit shaky.
- [cargo bundle](https://github.com/burtonageo/cargo-bundle/issues/77) doesn't currently work on Windows
- [cargo wix should work](https://github.com/volks73/cargo-wix), but I could not get it to work
- `cargo build --release` works, but then the binary has no icon.