release: v4.8.12 chat notification & file-transfer UI fixes
fix(file-transfer): announce received file once, not many times The per-transfer lock used a single `if` check, so when 3+ chunk operations queued on the same fileId they awaited the same in-flight lock and then ran concurrently, breaking assembly atomicity. The lock now loops until the slot is free (true serialization) and file assembly is idempotent, so `File received` shows exactly once per file. fix(verification): stop duplicate connection-setup system messages handleVerificationBothConfirmed had no guard, so when both peers sent verification_both_confirmed symmetrically one side ran both the local detection path and the peer-notification path, emitting "Both parties confirmed!" and the verified transition (and "Secure connection established") twice. It now bails out if both confirmations are already recorded. fix(ui): wrap long DTLS fingerprint inside the chat bubble The message text column is a flex child with default min-width:auto, so the long unbroken fingerprint overflowed. Added min-w-0 so break-words can wrap it. chore(release): bump version to 4.8.12 in header, init banner, manifest
This commit is contained in:
@@ -11460,6 +11460,14 @@ async processMessage(data) {
|
||||
}
|
||||
|
||||
handleVerificationBothConfirmed(data) {
|
||||
// Both parties can reach the "both confirmed" state independently: this
|
||||
// party may have already detected it locally (_checkBothVerificationsConfirmed)
|
||||
// and now also receives the peer's notification. Without this guard the
|
||||
// "Both parties confirmed" message and the verified transition fire twice.
|
||||
if (this.bothVerificationsConfirmed) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Handle notification that both parties have confirmed
|
||||
this.bothVerificationsConfirmed = true;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user