Files
lockbitchat 2468cb495e
CodeQL Analysis / Analyze CodeQL (push) Has been cancelled
Deploy Application / deploy (push) Has been cancelled
Mirror to Codeberg / mirror (push) Has been cancelled
Mirror to PrivacyGuides / mirror (push) Has been cancelled
release: v4.8.7 WebRTC join reliability patch
2026-05-19 09:49:22 -04:00

3.9 KiB

Changelog

v4.8.7 — WebRTC manual join reliability patch

This patch improves manual WebRTC setup across separate devices and restrictive local networks.

Fixed

  • Stabilized the manual offer/answer join flow so verification waits for real transport readiness.
  • Preserved generated response data during manual exchange instead of resetting the joiner screen prematurely.
  • Preserved pending creator-side offer context so responses can be applied after transient ICE failures without false session-salt hijacking errors.
  • Added operator ICE override support through config/ice-servers.js.
  • Added ExpressTURN TURN/STUN configuration for relay fallback in environments where mDNS host candidates cannot connect.
  • Added user-visible warning when a remote peer provides only mDNS host candidates and no srflx or relay route.
  • Added safer ICE diagnostics that report candidate classes without exposing full IP addresses or TURN credentials.

Verification

  • npm test
  • npm run build

v4.8.7 — Security hardening patch release

This patch release strengthens SecureBit.chat across verification, sanitization, privacy, transport abuse resistance, cache safety, and repository hygiene.

Security hardening

  • Bound SAS verification to the actual DTLS fingerprint strings of both peers.
  • Replaced regex-based chat sanitization with DOMPurify-backed sanitization.
  • Made WebRTC privacy mode explicit and kept relay-only state synchronized at runtime.
  • Removed production exposure of internal debug/control hooks.
  • Added receiver-side rate limiting for inbound chat messages.
  • Added receiver-side throttling for inbound file chunks.

Runtime and privacy safety

  • Hardened service-worker caching so only explicitly allowlisted safe assets are cached.
  • Removed an untracked disconnect timer so teardown no longer leaves delayed callbacks behind.
  • Preserved relay-only TURN behavior while making privacy implications clearer when relay-only mode is disabled or TURN is unavailable.

Repository hygiene

  • Stopped tracking node_modules in Git so platform-specific dependency binaries no longer pollute the repository or break cross-platform builds.

Validation

  • Full regression suite passes.
  • Clean install succeeds with npm ci.
  • Production build succeeds with npm run build.

v4.8.7 — Security hardening release

This release consolidates several months of security, privacy, and lifecycle hardening work by the SecureBit.chat team.

Security

  • Added mandatory interactive SAS verification; passive click-through confirmation is no longer sufficient.
  • Made SAS computation deterministic across peers using shared session material.
  • Enforced protocol version 4.1 mismatch handling for incompatible clients.
  • Added TURN relay-only privacy mode and explicit warnings when TURN is unavailable.
  • Encrypted sensitive IndexedDB metadata and added safe lazy migration for legacy plaintext records.
  • Added mandatory consent gating for every incoming file transfer.
  • Replaced broad file acceptance with an explicit file-type allowlist and spoofing checks.
  • Sanitized every incoming decrypted chat message before UI delivery.

Reliability and resource lifecycle

  • Consolidated disconnect behavior into one canonical cleanup path.
  • Added cleanup for tracked timers, deferred retries, peer-disconnect scheduling, and fake/decoy traffic.
  • Rejected pending sender consent promises immediately during cleanup.
  • Bounded retained received-file buffers and added graceful handling for expired download handles.
  • Cleared React file-transfer UI state and detached live callbacks on unmount.
  • Improved reconnect hygiene and stale-session cleanup behavior.

Maintenance

  • Pinned dependency versions.
  • Applied safe transitive patch/minor updates.
  • Verified a clean npm audit result.
  • Expanded regression coverage for SAS, file consent, sanitization, privacy mode, metadata encryption, cleanup, and callback lifecycle behavior.