• v0.1.0 37561a6a18

    v0.1.0 Stable

    wagesj45 released this 2026-04-20 14:38:04 -05:00 | 0 commits to main since this release

    PsiTransfer Filelink 0.1.0

    0.1.0 is the first working release of PsiTransfer Filelink for Thunderbird. This version focuses on a minimal, source-informed Filelink integration for PsiTransfer: configure a PsiTransfer instance, upload an attachment, lock the resulting bucket, and return a share link to Thunderbird.

    This is intentionally a conservative first release. The goal is to provide a usable upload path without claiming features that PsiTransfer or Thunderbird integration details do not clearly support yet.

    Highlights

    • Adds a Thunderbird Manifest V3 cloudFile provider for PsiTransfer.
    • Adds an account management page for configuring:
      • base PsiTransfer URL
      • optional upload app path
      • optional upload password
      • default retention
      • optional custom SID
    • Implements PsiTransfer uploads using the vendored tus-js-client bundle in vendor/tus.js.
    • Probes GET /config.json before upload so the provider can validate server capabilities instead of guessing.
    • Returns the PsiTransfer bucket share URL to Thunderbird after upload completes.
    • Locks the bucket after upload using PsiTransfer's PATCH /files/:sid?lock=yes flow.
    • Stores account settings and uploaded-file references in Thunderbird local extension storage.
    • Includes build scripts for packaging the add-on as an XPI on Linux/macOS and Windows.

    User-facing behavior

    After configuring a PsiTransfer server in the provider settings, Thunderbird can upload an attachment through Filelink and replace it with a PsiTransfer share URL. The provider validates retention and file-size limits against the server configuration before starting the upload, and it supports Thunderbird upload abort requests for active transfers.

    This release is currently bucket-oriented in the same narrow way as the implementation: each Thunderbird Filelink upload is treated as its own PsiTransfer bucket, and the returned link is the bucket URL rather than a raw upload resource URL.

    Technical notes

    • The upload flow is based on PsiTransfer source inspection, not on an assumed public provider API.
    • The provider fetches config.json, uploads via tus to the PsiTransfer upload mount, then locks the bucket after the transfer finishes.
    • The add-on vendors tus-js-client locally and does not load third-party libraries from a CDN at runtime.
    • Thunderbird templateInfo hints are populated for expiry and one-time downloads where PsiTransfer retention data makes that possible.
    • Account bootstrap and persistence are wired through storage.local, and the provider updates Thunderbird account configuration state based on saved settings.

    Current limits

    This release keeps the scope intentionally small:

    • Upload is implemented.
    • Bucket locking is implemented.
    • Share URL return is implemented.
    • Delete is not supported.
    • Rename is not supported.
    • Upload reuse is not supported.
    • Bucket-password-required servers are detected, but bucket password entry is not exposed in the Thunderbird UI yet.
    • Non-default PsiTransfer upload mounts may require manually setting uploadAppPath because config.json does not expose that path.
    Downloads