You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Verified still open against current source (build 102, 2026-08-10).
"Copy Recent Logs" doesn't capture NSE activity.OSLogStore(scope: .currentProcessIdentifier) only sees the main-app process, but the NSE is where most real signing happens (app closed = most of the time). Have the NSE append structured log entries to a shared app-group file that the main app merges in when exporting. Clave/Views/Settings/LogExporter.swift:27.
LogExporter loose ends from PR feat: hide nostrconnect UI behind dev menu + add log export #4 review:"apns" category declared in allCategories but unused (LogExporter.swift:21); LogExporter/Entry types aren't Sendable (2 Swift 6 warnings at SettingsView.swift:202-203); no round-trip persistence test for DeveloperSettings despite the init already supporting a defaults: override for testing.
LightRelay is a final class @unchecked Sendable, not an actor. Was changed from actor to class for NSE compatibility; worth a thread-safety review to confirm the @unchecked is actually justified. Shared/LightRelay.swift:21.
P256K ECDH result drops the compressed-point prefix byte with no correctness check. No test vector confirms this doesn't affect parity on edge cases. Shared/LightCrypto.swift:180-191.
SharedStorage has no file-level locking for NSE/app concurrency, only an in-process lock that's explicitly commented as intra-process-only. Worth revisiting if cross-process races ever show up in practice. Shared/SharedStorage.swift:596.
Verified still open against current source (build 102, 2026-08-10).
OSLogStore(scope: .currentProcessIdentifier)only sees the main-app process, but the NSE is where most real signing happens (app closed = most of the time). Have the NSE append structured log entries to a shared app-group file that the main app merges in when exporting.Clave/Views/Settings/LogExporter.swift:27."apns"category declared inallCategoriesbut unused (LogExporter.swift:21);LogExporter/Entrytypes aren'tSendable(2 Swift 6 warnings atSettingsView.swift:202-203); no round-trip persistence test forDeveloperSettingsdespite the init already supporting adefaults:override for testing.LightRelayis afinal class @unchecked Sendable, not an actor. Was changed from actor to class for NSE compatibility; worth a thread-safety review to confirm the@uncheckedis actually justified.Shared/LightRelay.swift:21.Shared/LightCrypto.swift:180-191.SharedStoragehas no file-level locking for NSE/app concurrency, only an in-process lock that's explicitly commented as intra-process-only. Worth revisiting if cross-process races ever show up in practice.Shared/SharedStorage.swift:596.Source: internal backlog triage, 2026-08-10.