Skip to content

Comments

xftp-web: fixes and multi-server upload#1714

Merged
epoberezkin merged 6 commits intoep/xftp-webfrom
sh/xftp-web-fixes
Feb 20, 2026
Merged

xftp-web: fixes and multi-server upload#1714
epoberezkin merged 6 commits intoep/xftp-webfrom
sh/xftp-web-fixes

Conversation

@shumvgolove
Copy link
Collaborator

@shumvgolove shumvgolove commented Feb 19, 2026

xftp-web fixes

fix: await sodium.ready in crypto/keys.ts (+ digest.ts StateAddress cast) (c89ce1fb)
Add await sodium.ready in crypto/keys.ts. Cast crypto_hash_sha512_init() return to StateAddress in digest.ts.

multi-server parallel upload, remove pickRandomServer (21e32924)
Change uploadFile to accept servers[] instead of single server. Chunks randomly assigned to servers, uploaded in parallel. Remove pickRandomServer from web/servers.ts.

fix worker message race: wait for ready signal before posting messages (f408a701)
Fix production build hang: Vite adds top-level await import(...) in worker bundle, delaying self.onmessage assignment. Worker now posts {type: 'ready'} after init; backend awaits it before sending.

suppress vite build warnings: emptyOutDir, externals, chunkSizeWarningLimit (4956d143)
Add emptyOutDir: true, explicit external: ['node:http2', 'url'] for main and worker builds, raise chunkSizeWarningLimit to 1200 for libsodium WASM.

fix Haskell web tests: use agent+server API, wrap server in array, suppress debug logs (38ef4e9b)
Update XFTPWebTests.hs to use newXFTPAgent/closeXFTPAgent and (agent, server) signatures. Wrap single server in array for uploadFile. Redirect console.log to /dev/null in callNode.

remove dead APIs: un-export connectXFTP, delete closeXFTP (0db74db1)
Make connectXFTP private (used internally by agent). Remove unused closeXFTP.

@epoberezkin epoberezkin merged commit 1aba155 into ep/xftp-web Feb 20, 2026
3 of 6 checks passed
@epoberezkin epoberezkin deleted the sh/xftp-web-fixes branch February 20, 2026 09:08
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.

2 participants