764f016d17
[codex] Refactor app runtime and ownership architecture ( #1104 )
...
* Refactor app runtime and view model architecture
* Move app ownership into stores and coordinators
* Fix smoke test environment injection
* Stabilize fragmentation package tests
* Fix coordinator build warnings
* Clean up chat view model warnings
* Fix Nostr relay startup coalescing
---------
Co-authored-by: jack <jackjackbits@users.noreply.github.com >
2026-05-30 14:13:26 +02:00
Islam and GitHub
4cfcefcda6
BitFoundation module to centralize shared components ( #1089 )
...
* Run local packages’ tests as well on CI
* BitFoundation module to centralize shared components
2026-04-14 14:10:03 -05:00
7d83310bc2
Expand Nostr and identity coverage ( #1059 )
...
Co-authored-by: jack <jackjackbits@users.noreply.github.com >
2026-03-12 19:41:05 -10:00
a136b5b7e9
Expand coverage for relay, identity, and location flows ( #1055 )
...
* Expand coverage for relay, identity, and location flows
* Fix macOS SwiftPM CI failures
---------
Co-authored-by: jack <jackjackbits@users.noreply.github.com >
2026-03-12 12:50:46 -10:00
jack and Claude Opus 4.5
81a6e18d04
Remove dead code and extract helper methods
...
- Delete LocalizationCatalogTests.swift (530 lines entirely commented out)
- Remove unused nilIfEmpty String extension
- Remove backward-compat aliases from CommandProcessor
- Extract reachableTransport/connectedTransport helpers in MessageRouter
- Extract npubToHex/sendWrappedMessage helpers in NostrTransport
- Refactor 7 message sending methods to use shared helpers
Net reduction: ~590 lines
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-14 14:09:58 -10:00
3d914dcf46
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 01:04:01 +02:00
920dc31795
Refactor: Testable Keychain and Identity Manager ( #584 )
...
* Make static functions instance functions to be testable
* Injectable KeychainManager + Mock + updated tests
* Remove `pendingActions` from identity manager (dead code)
* Remove `getHandshakeState` from identity manager (dead code)
* Remove `getAllSocialIdentities` from identity manager (dead code)
* Remove `getCryptographicIdentity` from identity manager (dead code)
* Remove `resolveIdentity` from identity manager (dead code)
* Identity Manager: minor clean up
* Put Identity Manager behind a protocol
* Remove Keychain and Identity Manager singletons
* Tests: include MockKeychain/MockIdentityManager in project; init identityManager in CommandProcessorTests
---------
Co-authored-by: jack <jackjackbits@users.noreply.github.com >
2025-09-12 14:37:34 +02:00
4b0634d1d0
Fix/general queue ( #580 )
...
* Fix emote targeting and grammar; add tests
Prevent 'system' mis-target via peerID-derived display name in actions sheet. Correct /hug and /slap usage/error grammar by passing base command name. Improve geohash nickname resolution to match displayName with #suffix. Add CommandProcessor tests.
* Geohash ordering: strict in-order inserts and timestamp clamp
Use channel-aware late-insert threshold with 0s for geohash to keep strict chronological order. Clamp future Nostr event timestamps to 'now' to avoid future-dated items skewing order in geohash timelines.
* Trim trailing/leading spaces in geohash nicknames and tag emission
Sanitize Nostr 'n' tag values on ingest and emit by trimming whitespace/newlines to prevent trailing spaces in displayed usernames. Local nickname is already trimmed on focus loss and submit.
---------
Co-authored-by: jack <jackjackbits@users.noreply.github.com >
2025-09-11 21:02:48 +02:00