jack
16e9271570
Fix UI freeze when receiving voice notes
...
Problem: AVAudioPlayer initialization in VoiceNotePlaybackController.init()
was running synchronously on main thread during view creation, blocking
UI for 50-200ms per voice note.
Solution:
- Remove eager preparePlayer() call from init
- Load duration asynchronously on background queue
- Player is only prepared when playback is actually requested via ensurePlayerReady()
This prevents UI freezes when voice notes appear in the chat.
2025-10-14 22:26:03 +02:00
jack
747551f35a
Fix critical issues from PR #681 review
...
Critical fixes:
- BinaryProtocol: Return nil for unknown versions (prevents buffer underflows)
- Add BinaryProtocol.Offsets struct to centralize magic numbers
- Replace magic offset calculations with named constants
Security/Privacy:
- FileAttachmentView: Use url.lastPathComponent instead of url.path
(prevents exposing full system paths)
Documentation:
- Fix compression algorithm documentation (zlib, not LZ4)
All tests passing.
2025-10-14 22:26:03 +02:00
jack
367addf138
Fix binary protocol test fixtures
2025-10-14 22:25:29 +02:00
jack
aa35200c6f
Reset BLE assembler on stalled fragment trains
2025-10-14 22:25:29 +02:00
jack
e09de446fc
Drop attachment ceilings to 1 MiB and bump release version
2025-10-14 22:25:29 +02:00
jack
0714b09a89
Guard peer map reads on BLE message path
2025-10-14 22:25:29 +02:00
jack
adb2626898
Restore BLE broadcasts when notify buffer is saturated
2025-10-14 22:23:12 +02:00
jack
20435d55e8
Fix cleanupLocalFile lookup
2025-10-14 22:23:12 +02:00
jack
a0187fb430
Resolve image/voice path handling
2025-10-14 22:23:12 +02:00
jack
9c55a2e1fd
Hide absolute paths in media messages
2025-10-14 22:23:12 +02:00
jack
eb37aa8046
Stub file transfer methods in mock
2025-10-14 22:23:12 +02:00
jack
2edf29033f
Stub file transfer methods in mock
2025-10-14 22:22:16 +02:00
jack
b6cb287991
Use unique transfer identifiers
2025-10-14 22:22:16 +02:00
jack
c9be273750
Preserve packet version when signing
2025-10-14 22:21:17 +02:00
jack
c7280284ea
Fix CFMutableData handling
2025-10-14 22:21:17 +02:00
jack
24cc307a0e
Target image byte size across platforms
2025-10-14 22:21:17 +02:00
jack
177642ac4d
Normalize mac JPEG color space
2025-10-14 22:21:17 +02:00
jack
ef6309c08f
Strip metadata in mac image encoding
2025-10-14 22:21:17 +02:00
jack
7ab7fbfd1b
Revert unsupported JPEG option
2025-10-14 22:21:17 +02:00
jack
2b5505a20d
Align mac image JPEG encoding
2025-10-14 22:21:17 +02:00
jack
ccce384a90
Allow user-selected write access
2025-10-14 22:21:17 +02:00
jack
e2da5e2ef9
Fix image attachment detection
2025-10-14 22:21:17 +02:00
jack
a71b8cd545
Use save panel for mac image export
2025-10-14 22:21:17 +02:00
jack
1d4bf96f7a
Keep processed images for outgoing messages
2025-10-14 22:21:17 +02:00
jack
c55c19e738
Lowercase image preview buttons
2025-10-14 22:21:17 +02:00
jack
5cafa4d5b4
Reblur images via swipe
2025-10-14 22:21:17 +02:00
jack
567e1dbbbf
Allow long-press reblur on images
2025-10-14 22:21:17 +02:00
jack
9e0542df73
Use Photos picker on mac
2025-10-14 22:21:17 +02:00
jack
32a8e558ed
Restore mac photo picker access
2025-10-14 22:21:17 +02:00
jack
5209a6cfcf
Display recording milliseconds
2025-10-14 22:21:17 +02:00
jack
d290fd4670
Harden attachment transfer bookkeeping
2025-10-14 22:21:17 +02:00
jack
cb53a3b48e
Describe microphone usage
2025-10-14 22:21:17 +02:00
jack
8001486a2b
Permit mac media library access
2025-10-14 22:21:17 +02:00
jack
0d6c1a0b44
Allow mac microphone access
2025-10-14 22:21:17 +02:00
jack
d8e8703a5f
Enable mac attachment importers
2025-10-14 22:21:17 +02:00
jack
c75f32da2c
Fix compressed BLE file transfers
2025-10-14 22:21:17 +02:00
jack
dcd26c19d7
Stop dropping partial BLE frames while assembling notifications
2025-10-14 22:21:17 +02:00
jack
eccec2f27d
Log incomplete BLE frames for debugging
2025-10-14 22:21:17 +02:00
jack
de7a496af9
Add detailed logging for BLE fragment assembly
2025-10-14 22:21:17 +02:00
jack
ee19d9c948
Let BLE assembler accept large frames up to hard cap
2025-10-14 22:21:17 +02:00
jack
74414c369a
Add guard to drop oversized BLE notification assemblies
2025-10-14 22:21:17 +02:00
jack
7935857dae
Revert "Raise BLE notification buffer cap for large file transfers"
...
This reverts commit b624523af843475db84e4a846db8dcbe824ae408.
2025-10-14 22:21:17 +02:00
jack
d3e32bdbee
Raise BLE notification buffer cap for large file transfers
2025-10-14 22:21:17 +02:00
jack
77aaa3c0d1
Allow file transfers from connected but unverified peers
2025-10-14 22:21:17 +02:00
jack
6183501285
Copy imported files before sending to preserve access
2025-10-14 22:21:17 +02:00
jack
89e20738c8
Restore iOS file importer for attachments
2025-10-14 22:21:17 +02:00
jack
84c89d38d3
Reduce vertical padding between chat rows
2025-10-14 22:21:17 +02:00
jack
4ec6590b23
Tighten spacing above media message bubbles
2025-10-14 22:21:17 +02:00
jack
b619c4259d
Gracefully disable mac attachment pickers in sandbox
2025-10-14 22:21:17 +02:00
jack
f7859f7b04
Add BLE file transfer support and media UX
2025-10-14 22:20:19 +02:00