jack and islam
073e22e126
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-15 00:39:19 +01:00
jack and islam
6533293f75
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-15 00:39:19 +01:00
jack and islam
757acef8d1
Fix binary protocol test fixtures
2025-10-15 00:39:18 +01:00
jack and islam
db52c9463b
Reset BLE assembler on stalled fragment trains
2025-10-15 00:37:41 +01:00
jack and islam
b179d99cf8
Drop attachment ceilings to 1 MiB and bump release version
2025-10-15 00:37:41 +01:00
jack and islam
73d0867c18
Guard peer map reads on BLE message path
2025-10-15 00:37:41 +01:00
jack and islam
97f822b88d
Restore BLE broadcasts when notify buffer is saturated
2025-10-15 00:37:41 +01:00
jack and islam
3f91d6510b
Fix cleanupLocalFile lookup
2025-10-15 00:37:41 +01:00
jack and islam
2bb55cbe1a
Resolve image/voice path handling
2025-10-15 00:37:41 +01:00
jack and islam
7fb93eb522
Hide absolute paths in media messages
2025-10-15 00:37:41 +01:00
jack and islam
cb8b34f8ea
Stub file transfer methods in mock
2025-10-15 00:37:41 +01:00
jack and islam
b872113a4b
Stub file transfer methods in mock
2025-10-15 00:37:41 +01:00
jack and islam
de3795289d
Use unique transfer identifiers
2025-10-15 00:37:41 +01:00
jack and islam
bd37cc69a0
Preserve packet version when signing
2025-10-15 00:37:41 +01:00
jack and islam
788e21c4ea
Fix CFMutableData handling
2025-10-15 00:37:40 +01:00
jack and islam
c179e34c43
Target image byte size across platforms
2025-10-15 00:37:40 +01:00
jack and islam
aa8b257e68
Normalize mac JPEG color space
2025-10-15 00:37:40 +01:00
jack and islam
7b4aeb506e
Strip metadata in mac image encoding
2025-10-15 00:37:40 +01:00
jack and islam
5d5ed94952
Revert unsupported JPEG option
2025-10-15 00:37:40 +01:00
jack and islam
4945688eca
Align mac image JPEG encoding
2025-10-15 00:37:40 +01:00
jack and islam
22bd975059
Allow user-selected write access
2025-10-15 00:37:40 +01:00
jack and islam
d28b58ecb2
Fix image attachment detection
2025-10-15 00:37:40 +01:00
jack and islam
e17163b3da
Use save panel for mac image export
2025-10-15 00:37:40 +01:00
jack and islam
9346e62971
Keep processed images for outgoing messages
2025-10-15 00:37:40 +01:00
jack and islam
a89fd153ee
Lowercase image preview buttons
2025-10-15 00:37:40 +01:00
jack and islam
25bc737919
Reblur images via swipe
2025-10-15 00:37:40 +01:00
jack and islam
8218c12f69
Allow long-press reblur on images
2025-10-15 00:37:40 +01:00
jack and islam
60c2263a46
Use Photos picker on mac
2025-10-15 00:37:40 +01:00
jack and islam
e2fcb44982
Restore mac photo picker access
2025-10-15 00:37:40 +01:00
jack and islam
ebbb7b356f
Display recording milliseconds
2025-10-15 00:37:40 +01:00
jack and islam
2d0f55ae84
Harden attachment transfer bookkeeping
2025-10-15 00:37:40 +01:00
jack and islam
51e8e4e51a
Describe microphone usage
2025-10-15 00:37:40 +01:00
jack and islam
fb251a3fa8
Permit mac media library access
2025-10-15 00:37:40 +01:00
jack and islam
4052ba581a
Allow mac microphone access
2025-10-15 00:37:40 +01:00
jack and islam
235fefe4ab
Enable mac attachment importers
2025-10-15 00:37:40 +01:00
jack and islam
8389961269
Fix compressed BLE file transfers
2025-10-15 00:37:40 +01:00
jack and islam
a244c4084f
Stop dropping partial BLE frames while assembling notifications
2025-10-15 00:37:40 +01:00
jack and islam
ed320fb0ad
Log incomplete BLE frames for debugging
2025-10-15 00:37:40 +01:00
jack and islam
2bdc1535c7
Add detailed logging for BLE fragment assembly
2025-10-15 00:37:40 +01:00
jack and islam
60a375469a
Let BLE assembler accept large frames up to hard cap
2025-10-15 00:37:40 +01:00
jack and islam
640567b7e4
Add guard to drop oversized BLE notification assemblies
2025-10-15 00:37:40 +01:00
jack and islam
f58bcaf615
Revert "Raise BLE notification buffer cap for large file transfers"
...
This reverts commit b624523af843475db84e4a846db8dcbe824ae408.
2025-10-15 00:37:40 +01:00
jack and islam
6e19995de2
Raise BLE notification buffer cap for large file transfers
2025-10-15 00:37:40 +01:00
jack and islam
78d72f5814
Allow file transfers from connected but unverified peers
2025-10-15 00:37:40 +01:00
jack and islam
f145d13992
Copy imported files before sending to preserve access
2025-10-15 00:37:40 +01:00
jack and islam
f607413caf
Restore iOS file importer for attachments
2025-10-15 00:37:40 +01:00
jack and islam
47db836a22
Reduce vertical padding between chat rows
2025-10-15 00:37:40 +01:00
jack and islam
aa7a5efe6a
Tighten spacing above media message bubbles
2025-10-15 00:37:40 +01:00
jack and islam
c8d196f106
Gracefully disable mac attachment pickers in sandbox
2025-10-15 00:37:40 +01:00
jack and islam
2cd90ff813
Add BLE file transfer support and media UX
2025-10-15 00:37:40 +01:00