mirror of
https://github.com/simplex-chat/simplexmq.git
synced 2026-04-05 13:16:36 +00:00
* xftp-web: use XFTP server domain in share link, verify on download Use a random XFTP server host from the file description as the link origin instead of the current page domain. On download, verify that the hosting domain matches one of the servers in the description. * xftp-web: use first description server as link origin * xftp-web: show wrong server error in download UI instead of blank page
xftp-web
Browser-compatible XFTP file transfer client in TypeScript.
Prerequisites
- Haskell toolchain with
cabal(to buildxftp-server) - Node.js 20+
- Chromium system dependencies (see below)
Setup
# Build the XFTP server binary (from repo root)
cabal build xftp-server
# Install JS dependencies
cd xftp-web
npm install
# Install Chromium for Playwright (browser tests)
npx playwright install chromium
If Chromium fails to launch due to missing system libraries, install them with:
# Requires root
npx playwright install-deps chromium
Running tests
# Browser round-trip test (vitest + Playwright headless Chromium)
npm run test
The browser test automatically starts an xftp-server instance on port 7000 via globalSetup, using certs from tests/fixtures/.
Build
npm run build
Output goes to dist/.