Files
privacy.sexy/docs/desktop-vs-web-features.md
undergroundwires c84a1bb74c Fix script deletion during execution on desktop
This commit fixes an issue seen on certain Windows environments (Windows
10 22H2 and 11 23H2 Pro Azure VMs) where scripts were being deleted
during execution due to temporary directory usage. To resolve this,
scripts are now stored in a persistent directory, enhancing reliability
for long-running scripts and improving auditability along with
troubleshooting.

Key changes:

- Move script execution logic to the `main` process from `preloader` to
  utilize Electron's `app.getPath`.
- Improve runtime environment detection for non-browser environments to
  allow its usage in Electron main process.
- Introduce a secure module to expose IPC channels from the main process
  to the renderer via the preloader process.

Supporting refactorings include:

- Simplify `CodeRunner` interface by removing the `tempScriptFolderName`
  parameter.
- Rename `NodeSystemOperations` to `NodeElectronSystemOperations` as it
  now wraps electron APIs too, and convert it to class for simplicity.
- Rename `TemporaryFileCodeRunner` to `ScriptFileCodeRunner` to reflect
  its new functinoality.
- Rename `SystemOperations` folder to `System` for simplicity.
- Rename `HostRuntimeEnvironment` to `BrowserRuntimeEnvironment` for
  clarity.
- Refactor main Electron process configuration to align with latest
  Electron documentation/recommendations.
- Refactor unit tests `BrowserRuntimeEnvironment` to simplify singleton
  workaround.
- Use alias imports like `electron/main` and `electron/common` for
  better clarity.
2024-01-06 18:47:58 +01:00

2.8 KiB

Desktop vs. Web Features

This table highlights differences between the desktop and web versions of privacy.sexy.

Feature Desktop Web
Usage without installation 🔴 Not available 🟢 Available
Offline usage 🟢 Available 🟡 Partially available
Auto-updates 🟢 Available 🟢 Available
Logging 🟢 Available 🔴 Not available
Script execution 🟢 Available 🔴 Not available

Feature descriptions

Usage without installation

You can use the web version directly in a browser without installation. The desktop version requires download and installation.

Note for Linux users: On Linux, privacy.sexy is available as an AppImage, a portable format that doesn't need traditional installation. This allows Linux users to use the desktop version without full installation, akin to the web version.

Offline usage

The web version, once loaded, supports offline use. Desktop version inherently allows offline usage.

Auto-updates

Both the desktop and web versions of privacy.sexy provide timely access to the latest features and security improvements. The updates are automatically deployed from source code, reflecting the latest changes for enhanced security and reliability. For more details, see CI/CD documentation.

The desktop version ensures secure delivery through cryptographic signatures and version checks.

Security is a top priority at privacy.sexy.

Note for macOS users: On macOS, the desktop version's auto-update process involves manual steps due to Apple's code signing costs. Users get notified about updates but might need to complete the installation manually. Consider donating to help improve this process ❤️.

Logging

The desktop version supports logging of activities to aid in troubleshooting. This feature is not available in the web version.

Log file locations vary by operating system:

  • macOS: $HOME/Library/Logs/privacy.sexy
  • Linux: $HOME/.config/privacy.sexy/logs
  • Windows: %APPDATA%\privacy.sexy\logs

Script execution

The desktop version of privacy.sexy enables direct script execution, providing a seamless and integrated experience. This direct execution capability isn't available in the web version due to inherent browser restrictions.

For enhanced auditability and easier troubleshooting, the desktop version keeps a record of executed scripts in designated directories. These locations vary based on the operating system:

  • macOS: $HOME/Library/Application Support/privacy.sexy/runs
  • Linux: $HOME/.config/privacy.sexy/runs
  • Windows: %APPDATA%\privacy.sexy\runs