Skip to content

Comments

xftp: implementation of XFTP client as web page#1708

Draft
epoberezkin wants to merge 44 commits intomasterfrom
ep/xftp-web
Draft

xftp: implementation of XFTP client as web page#1708
epoberezkin wants to merge 44 commits intomasterfrom
ep/xftp-web

Conversation

@epoberezkin
Copy link
Member

No description provided.

@epoberezkin epoberezkin marked this pull request as draft January 31, 2026 12:41
shumvgolove and others added 3 commits February 20, 2026 09:08
* fix: await sodium.ready in crypto/keys.ts (+ digest.ts StateAddress cast)

* multi-server parallel upload, remove pickRandomServer

* fix worker message race: wait for ready signal before posting messages

* suppress vite build warnings: emptyOutDir, externals, chunkSizeWarningLimit

* fix Haskell web tests: use agent+server API, wrap server in array, suppress debug logs

* remove dead APIs: un-export connectXFTP, delete closeXFTP
- client.ts: cast globalThis.process to any for browser tsconfig,
  suppress node:http2 import, use any for Buffer/chunks, cast fetch body
- crypto.worker.ts: cast sha512_init() return to StateAddress
async onmessage allows interleaved execution at await points.
When downloadFileRaw fetches chunks from multiple servers in parallel,
concurrent handleDecryptAndStore calls both see downloadWriteHandle
as null and race on createSyncAccessHandle for the same file,
causing intermittent NoModificationAllowedError.

Chain message handlers on a promise queue so each runs to completion
before the next starts.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants