Go to file
2021-12-17 14:26:41 +01:00
.cargo Fixed native build issues 2021-12-17 14:26:41 +01:00
.github/workflows Try to get ubuntu to build 2021-12-12 09:56:56 +01:00
.vscode Added vscode task for running 2021-10-02 19:44:22 +02:00
postsack Fixed native build issues 2021-12-17 14:26:41 +01:00
postsack-web Fixed native build issues 2021-12-17 14:26:41 +01:00
ps-core Fixed native build issues 2021-12-17 14:26:41 +01:00
ps-database Fixed native build issues 2021-12-17 14:26:41 +01:00
ps-gui Add postsack-web target for wasm 2021-12-17 14:14:13 +01:00
ps-importer Ported tests over, fixed tests 2021-12-16 14:17:27 +01:00
resources Added the sketch file for the app icon 2021-12-11 09:29:11 +01:00
.gitignore Initial Workspace restructuring compiles 2021-12-16 11:58:04 +01:00
Cargo.lock Add postsack-web target for wasm 2021-12-17 14:14:13 +01:00
Cargo.toml Add postsack-web target for wasm 2021-12-17 14:14:13 +01:00
README.md Initial Workspace restructuring compiles 2021-12-16 11:58:04 +01:00

Postsack

What can go into core (web compatible!)?

  • database only as trait
  • importer only as trait

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 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)

./build_mac.sh

Linux Dependencies

In order to build (and or run) on Linux, the following dependencies are needed:

Fedora

# Development
sudo dnf install @development-tools glib cairo-devel pango-devel gdk-pixbux2-devel atk-devel gtk3 gtk3-devel libsqlite3x-devel

Ubuntu

# Development
sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev libsqlite3-dev