Commit Graph
631 Commits
Author SHA1 Message Date
jackandislam d28b58ecb2 Fix image attachment detection 2025-10-15 00:37:40 +01:00
jackandislam e17163b3da Use save panel for mac image export 2025-10-15 00:37:40 +01:00
jackandislam 9346e62971 Keep processed images for outgoing messages 2025-10-15 00:37:40 +01:00
jackandislam a89fd153ee Lowercase image preview buttons 2025-10-15 00:37:40 +01:00
jackandislam 25bc737919 Reblur images via swipe 2025-10-15 00:37:40 +01:00
jackandislam 8218c12f69 Allow long-press reblur on images 2025-10-15 00:37:40 +01:00
jackandislam 60c2263a46 Use Photos picker on mac 2025-10-15 00:37:40 +01:00
jackandislam e2fcb44982 Restore mac photo picker access 2025-10-15 00:37:40 +01:00
jackandislam ebbb7b356f Display recording milliseconds 2025-10-15 00:37:40 +01:00
jackandislam 2d0f55ae84 Harden attachment transfer bookkeeping 2025-10-15 00:37:40 +01:00
jackandislam 51e8e4e51a Describe microphone usage 2025-10-15 00:37:40 +01:00
jackandislam fb251a3fa8 Permit mac media library access 2025-10-15 00:37:40 +01:00
jackandislam 4052ba581a Allow mac microphone access 2025-10-15 00:37:40 +01:00
jackandislam 235fefe4ab Enable mac attachment importers 2025-10-15 00:37:40 +01:00
jackandislam 8389961269 Fix compressed BLE file transfers 2025-10-15 00:37:40 +01:00
jackandislam a244c4084f Stop dropping partial BLE frames while assembling notifications 2025-10-15 00:37:40 +01:00
jackandislam ed320fb0ad Log incomplete BLE frames for debugging 2025-10-15 00:37:40 +01:00
jackandislam 2bdc1535c7 Add detailed logging for BLE fragment assembly 2025-10-15 00:37:40 +01:00
jackandislam 60a375469a Let BLE assembler accept large frames up to hard cap 2025-10-15 00:37:40 +01:00
jackandislam 640567b7e4 Add guard to drop oversized BLE notification assemblies 2025-10-15 00:37:40 +01:00
jackandislam f58bcaf615 Revert "Raise BLE notification buffer cap for large file transfers"
This reverts commit b624523af843475db84e4a846db8dcbe824ae408.
2025-10-15 00:37:40 +01:00
jackandislam 6e19995de2 Raise BLE notification buffer cap for large file transfers 2025-10-15 00:37:40 +01:00
jackandislam 78d72f5814 Allow file transfers from connected but unverified peers 2025-10-15 00:37:40 +01:00
jackandislam f145d13992 Copy imported files before sending to preserve access 2025-10-15 00:37:40 +01:00
jackandislam f607413caf Restore iOS file importer for attachments 2025-10-15 00:37:40 +01:00
jackandislam 47db836a22 Reduce vertical padding between chat rows 2025-10-15 00:37:40 +01:00
jackandislam aa7a5efe6a Tighten spacing above media message bubbles 2025-10-15 00:37:40 +01:00
jackandislam c8d196f106 Gracefully disable mac attachment pickers in sandbox 2025-10-15 00:37:40 +01:00
jackandislam 2cd90ff813 Add BLE file transfer support and media UX 2025-10-15 00:37:40 +01:00
Islamandjack 5267489fa2 Convert the remaining tests to Swift Testing (#781)
* SwiftTesting: NoiseProtocolTests + BinaryProtocolPaddingTests

* SwiftTesting: `NotificationStreamAssemblerTests`

* SwiftTesting: `NostrProtocolTests`

* SwiftTesting: `BinaryProtocolTests`

* SwiftTesting: `PeerIDTests`

* SwiftTesting: `BLEServiceTests`

* SwiftTesting: `CommandProcessorTests`

* SwiftTesting: `GCSFilterTests`

* SwiftTesting: `GeohashBookmarksStoreTests`

* Remove `peerID` test constants

* Remove PeerID + String interop from tests

* Refactor IntegrationTests to extract state management

* Refactor global state management of MockBLEService

* NoiseProtocolSwiftTests: `actor` -> `struct`

* Remove measurement tests w/ no benchmark

* `NoiseProtocolSwiftTests` -> `NoiseProtocolTests`

* SwiftTesting: `LocationChannelsTests`

* SwiftTesting: `GossipSyncManagerTests`

* SwiftTesting: `LocationNotesManagerTests`

* Global `sleep` function for tests

* SwiftTesting: `IntegrationTests`

---------

Co-authored-by: jack <jackjackbits@users.noreply.github.com>
2025-10-15 00:33:35 +01:00
Islamandjack 790dcda8e5 Refactor Noise: Extract files and remove dead code (#806)
* Extract each type to a separate file

* NoiseSessionManager: Remove unused functions

---------

Co-authored-by: jack <212554440+jackjackbits@users.noreply.github.com>
2025-10-15 00:33:35 +01:00
3479c7d5df Fix people sheet dismiss gestures (#803)
* Allow closing people sheet from X and swipe

* Swipe right to return from DM to people list

---------

Co-authored-by: jack <jackjackbits@users.noreply.github.com>
2025-10-14 21:11:44 +02:00
8a0727fcf7 Guard BLE link state lookups on BLE queue (#805)
Co-authored-by: jack <jackjackbits@users.noreply.github.com>
2025-10-14 21:11:07 +02:00
6588861e34 Align gossip sync stale cleanup with Android client (#798)
* Align DM sheet toolbar with people list

* Gate stale gossip announcements

* Remove stale peer messages during gossip cleanup

---------

Co-authored-by: jack <jackjackbits@users.noreply.github.com>
2025-10-14 13:54:36 +02:00
a1647901e5 Add Turkish translations for share extension & Add Turkey to knownRegions (#787)
* Add Turkish translations for share extension

* Add Turkey to knownRegions

---------

Co-authored-by: jack <212554440+jackjackbits@users.noreply.github.com>
2025-10-14 12:45:23 +02:00
IslamandGitHub 23249f3e41 PeerID 22/n: PrivateChatManager (#800)
* PrivateChatManager: functions to use `PeerID`

* PrivateChatManager: properties to use `PeerID`
2025-10-14 12:30:18 +02:00
ad4103bacc Refactor Nostr ID Bridge & Keychain Helper (#796)
* Extract each type to a separate file

* Nostr ID Bridge: Convert static func/vars to instance

* `KeychainHelper` behind a protocol to easily mock

* Update tests with ID Bridge and MockKeychainHelper

---------

Co-authored-by: jack <212554440+jackjackbits@users.noreply.github.com>
2025-10-14 12:26:18 +02:00
e3149fa098 Process incoming fragments on message queue (#804)
Co-authored-by: jack <jackjackbits@users.noreply.github.com>
2025-10-14 12:20:39 +02:00
jack 987ba2e694 Fix people sheet close button 2025-10-12 20:18:29 +02:00
615273a63e Align DM sheet toolbar with people list (#795)
Co-authored-by: jack <jackjackbits@users.noreply.github.com>
2025-10-12 19:53:08 +02:00
IslamandGitHub 4563c22d2d Fix hidden source of deadlock (#794) 2025-10-12 12:27:33 +02:00
IslamandGitHub 9f74266527 Centralize repeated queue-checking logic (#791) 2025-10-11 21:38:04 +02:00
IslamandGitHub 239064e4eb Cleanup (#793)
* Remove and ignore `.cache/`

* Optimize debug logo + remove its duplicates
2025-10-11 21:28:28 +02:00
IslamandGitHub d371131ad5 Remove MockBluetoothMeshService (#777) 2025-10-09 23:47:01 +02:00
d994ccf012 Fix send button tap responsiveness and sidebar drag jitter (#783)
Restructured ContentView layout to prevent sidebar from covering input box
and removed gesture conflicts that caused jitter during slow drags.

Changes:
- Moved sidebar overlay to only cover messages area, not input box
- Input box now always accessible below sidebar (not covered by overlay)
- Removed blocking drag gesture from mainChatView
- Changed sidebar gesture from simultaneousGesture to gesture for priority
- Removed animation-disabling transactions that amplified touch noise
- Removed 2pt threshold checks that caused visible jumps

Result: Send button taps immediately, sidebar slides smoothly without jitter.

Co-authored-by: jack <jackjackbits@users.noreply.github.com>
2025-10-09 23:45:05 +02:00
IslamandGitHub 302c741d58 PeerID 21/n: UnifiedPeerService (#772) 2025-10-07 16:37:47 +02:00
IslamandGitHub 7ec84857eb PeerID 20/n: BLEService’s private functions (#771) 2025-10-07 16:26:17 +02:00
IslamandGitHub 68482c67d7 PeerID 19/n: BLEService’s private properties (#770) 2025-10-07 16:17:29 +02:00
IslamandGitHub 551a843691 PeerID 18/n: BitchatDelegate + Tests (#769) 2025-10-07 16:01:53 +02:00
IslamandGitHub fbc15ea08f SwiftTesting: Enable in GitHubActions + peer uuids (#767) 2025-10-07 12:40:20 +02:00