Skip to content
Thomas Schmid edited this page Dec 28, 2024 · 7 revisions

The application is based upon electron. It is standalone and ships with a JavaScript runtime as well as a Chrome browser. This makes it large but also removes all dependencies. It is completely independent from Thunderbird.

App: Secrets/Safe Storage

The app is based on Electron, which is in turn based on Chromium. Thus it uses the so called safeStorage to store passwords. It is basically the very same mechanism used in a chromium browsers.

This means the actual level of security depends on your operating system's wallet configuration, but don't expect it to be overly strong. For in-depth information refer to the safeStorage documentation. It lists well known limitation and corner cases. And don't forget to check your operating system's wallet configuration.

More details how the safe storage is use in the app can be found in Ticket #202

App: Logging and debugging

In case you ran into a glitch or error, check the error console and try to record a log. This is the only option to track down a bug.

Both logging as well as the error console is enabled in the account's settings. Thus go to the desired account and click on the debug button.

image

image

Click on "Show console" and check the console for errors. After fatal errors you normally see a trace of an exception in the console. Such an exception is a great starting point.

In order to get more information you can enable a fine granular logging. The default view focuses on communication related stuff. Those settings are per account and get active after you reconnect. Normally you don't need to activate all options, it will flood the error console with messages and makes debugging unnecessarily hard. Especially "Raw Dump/Dump Byte Stream" as well as "Print full stack trace for log messages" are rarely useful.

In case you run into an UI related issue, click on "More". Similar to the communication related options, it is not very useful to activate all settings this will just flood the logs. Typically there is no need to log full traces as well as i18n messages.

Keep in mind before posting any logs that it does not contain any credentials, secrets or confidential information. So make sure to obfuscate such lines before posting.

App: Change Language

The app uses your operating system language by default.

You can override this via the command line argument "lang".

But keep in mind the language needs to be supported by electron and the sieve application.

In case the language is not supported it will fallback to english.

App: macOS Builds

For the full story why you won't find any official macOS releases refer to Issue #313.

The short story: Unless someone standup and contribute tested releases you have two choices. Either use an untested and unsupported nightly build artifact or build it on your own.

Nightly Build Artifacts

You can find the nightly builds here: https://dev.azure.com/thsmi/sieve/_build

The build artifacts are a bit hard to discover. First select the build pipeline macOS. Then the build you want to download. In the builds summary tab there is a field named "published" as illustrated in the following screenshot. Clicking on this will lead you to the artifacts download page.

image

Building Artifact

Follow the build instructions. Ensure the prerequisites are satisfied and run gulp app:package-macos.