This release fixes issues for SREs watching stability and regressions.
Published 2mo
Secrets & Credentials
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
chat-tool
cli
cross-platform
e2ee
ed25519
encryption
+7 more
forward-secrecy
poly1305
pynacl
secure
secure-chat
self-hosted
xsalsa20
Summary
AI summaryUpdates File transfer not working, Progress display corruption, and FILE: CHANGELOG.md across a mixed release.
Full changelog
FILE: CHANGELOG.md
Changelog
[v0.3.1] — File Transfer Fixes
Bug Fixes
File transfer not working (receiver side)
- Receiver was displaying raw JSON instead of processing file transfer frames.
_handle_privmsgreadsubtypefrom the unencrypted header, but the sender
puts it inside the encrypted body astag. Fixed: receiver now checks
body.get("tag")after decryption as fallback. - Receiver got
filename=unknown, size=0because_handle_file_startwas
reading fields from the outer Fernet body dict instead of the inner JSON
string inbody["text"]. Fixed: inner JSON is now unwrapped before dispatch.
File transfer silently dropped mid-transfer
- Server's privmsg rate limiter (25/15min per pair) was counting binary chunk
frames, causing all chunks beyond the limit to be silently dropped.
Fixed:file_chunk_binframes are now exempt from the per-pair rate limiter.
UI freezing during file send
_send_filewas called directly from the input thread, blocking all input
and output for the entire transfer duration.
Fixed: file sends now run in a background daemon thread.
Progress display corruption
- Bare
print(..., end="\r")calls bypassed the TUI lock, producing garbled
backwards progress numbers racing with animation redraws.
Fixed: progress usesutils.print_msgthrough the output lock.
Double file read on send
- SHA-256 hash for the Ed25519 signature was computed in a second full file
read after all chunks were sent. Fixed: hash is computed inline while
reading chunks, eliminating the redundant disk I/O.
Slower transfers after chunk size change
- Chunk size was incorrectly reduced to 512KB, turning a 1-frame transfer
into 11 frames. Each frame adds bore tunnel relay latency.
Reverted to 32MB chunks — 1 frame for files under 32MB.
TCP latency
- Added
TCP_NODELAYon the client socket to disable Nagle's algorithm and
prevent artificial send delays on the tunnel.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Ymsniper/NoEyes](https:
All releases →Related context
Beta — feedback welcome: [email protected]